@charset "UTF-8";
/*
Theme Name: icúbica
Author: Manux
Author URI: https://github.com/nuxel
Description: icúbica WordPress Theme
Version: 1.0
*/
/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
::before,
::after {
  box-sizing: border-box;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the line height in all browsers.
3. Prevent adjustments of font size after orientation changes in iOS.
4. Use a more readable tab size (opinionated).
*/
html {
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
  tab-size: 4;
  /* 4 */
}

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

/*
Text-level semantics
====================
*/
/**
Add the correct font weight in Chrome and Safari.
*/
b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, 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;
}

/*
Tabular data
============
*/
/**
Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
  border-color: currentcolor;
}

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

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

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
  padding: 0;
}

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

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-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.
*/
::-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 Chrome and Safari.
*/
summary {
  display: list-item;
}

/*
Modern
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}

p,
li,
figcaption {
  text-wrap: pretty;
}

body > :is(header, main, footer),
section,
article {
  container-type: inline-size;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
  background-repeat: no-repeat;
  background-size: cover;
  shape-margin: 0.75rem;
}

@font-face {
  font-family: Emoji;
  src: local("Apple Color Emoji"), local("Segoe UI Emoji"), local("Segoe UI Symbol"), local("Noto Color Emoji");
  unicode-range: U+1F000-1F644, U+203C-3299;
}
:root {
  --global-font-family: var(--p-font);
  --global-font-size: 16px;
  --global-font-weight: 300;
  --global-line-height: calc(var(--fs-400) * 1.4);
  --header-title-font-family: system-ui, -apple-system, Segoe UI, Roboto, Emoji, Helvetica, Arial, sans-serif;
  --header-title-font-size: 1.5rem;
  --toc-title-font-size: 1.2rem;
  --toc-content-font-size: 1rem;
  --code-font-family: "Source Code Pro", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --code-font-size: 0.875rem;
}

:root {
  --h-font: "Space Mono", monospace;
  --p-font: "Work Sans", sans-serif;
  --fs-100: 0.5rem;
  --fs-200: 0.75rem;
  --fs-300: 1rem;
  --fs-350: 1rem;
  --fs-400: 1.125rem;
  --fs-500: 1.25rem;
  --fs-600: 1.563rem;
  --fs-700: 1.9rem;
  --fs-800: 2.2rem;
  --fs-900: 3rem;
  --padding-100: var(--fs-300);
  --padding-200: calc(var(--padding-100) * 1.5);
  --padding-300: calc(var(--padding-100) * 2);
  --padding-400: calc(var(--padding-100) * 3);
  --padding-500: calc(var(--padding-100) * 4);
  --padding-600: calc(var(--padding-100) * 5);
  --padding-700: calc(var(--padding-100) * 6);
  --padding-800: calc(var(--padding-100) * 7);
  --radius-sm: calc(var(--fs-100) / 2);
  --radius-md: var(--fs-100);
  --radius-lg: calc(var(--fs-100) * 2);
  --skew-angle: 0;
  --b-shadow-400: 0 5px 15px rgba(0, 0, 0, 0.2);
  --b-shadow-500: 0 14px 20px rgba(0, 0, 0, 0.2);
  --clock-bg: url(/img/bg-log_timer.svg);
  --gap: 1.5rem;
  --flow-spacer: 1rem;
  --bg-color-divider: var(--clr-neutral-100);
  --header-height: var(--fs-800) * 1.85;
  --header: calc(var(--header-height) + 0.25rem);
}

@media only screen and (min-width: 768px) {
  :root {
    --fs-300: 1rem;
    --fs-350: 1.25rem;
    --fs-400: 1.5rem;
    --fs-500: 1.85rem;
    --fs-600: 2.25rem;
    --fs-700: 2.5rem;
    --fs-800: 3rem;
    --fs-900: 4rem;
    --skew-angle: -5deg;
  }
}
html {
  color-scheme: dark light;
  font-family: var(--global-font-family);
  font-weight: var(--global-font-weight);
  font-display: swap;
  font-size: 16px;
  line-height: var(--global-line-height);
  width: 100%;
  scroll-behavior: smooth;
}
html main [id] {
  scroll-margin-top: calc(var(--header-height) + 0.5rem);
}
html h1 {
  line-height: 125%;
}

/* scrollbar, only support webkit */
::-webkit-scrollbar {
  width: 0.5rem;
  height: 0.5rem;
}

::-webkit-scrollbar-thumb {
  background-color: #87878d;
}
::-webkit-scrollbar-thumb:hover {
  background-color: #a9a9b3;
}

::selection {
  background-color: rgba(53, 166, 247, 0.25);
}
[theme=dark] ::selection {
  background-color: rgba(50, 112, 194, 0.4);
}

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

* {
  margin: 0;
}

.clearfix {
  zoom: 1;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--h-font);
  line-height: 1.45;
  letter-spacing: 1px;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

b,
strong {
  font-weight: 700;
}

p,
p:not([class]),
ul:not([class]),
li:not([class]) {
  max-width: min(100%, 80ch);
  margin-inline: auto;
}

a:where(:not([class])) {
  color: var(--text);
  text-decoration: underline;
  text-decoration-color: var(--link-hover);
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
a:where(:not([class])):hover {
  color: var(--link-hover);
  text-decoration-color: var(--link-hover);
}

body {
  background-color: var(--base);
  color: var(--text);
  word-wrap: break-word;
  overflow-wrap: break-word;
  scrollbar-color: auto;
  font-size: var(--fs-350);
  overflow-x: hidden;
}
@media screen and (min-width: 767px) {
  body {
    font-size: var(--fs-350);
  }
}

ul {
  padding-inline-start: 1rem;
}

ul {
  padding-inline-start: 1rem;
}
ul.no-bullet {
  list-style: none;
}
ul.list-style-1 {
  list-style-position: inside;
}
ul.list-style-1 li {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
}
ul.list-style-1 li:not(:first-of-type) {
  padding-top: 1rem;
  border-top: 1px solid #eee;
}

table {
  width: 100%;
  background-color: oklch(from var(--clr-primary-700)/0.05);
  border-collapse: collapse;
}
table th,
table td {
  border: 1px solid oklch(from var(--clr-primary-800)/0.05);
  padding: calc(var(--fs-300) * 0.5) calc(var(--fs-300) * 0.75);
  text-align: left;
}
table th {
  background-color: oklch(from var(--clr-primary-600)/0.1);
  font-weight: bold;
}
table tr:nth-child(even) {
  background-color: hsl(from var(--clr-neutral-100) h s l/0.15);
}
table tr:hover {
  background-color: oklch(from var(--clr-primary-400)/0.1);
}

#mask {
  background-repeat: no-repeat;
  background-position: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0);
}

.blur #mask {
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.25);
}

img.lazyload, img.lazyloading {
  -o-object-fit: scale-down;
  object-fit: scale-down;
  font-family: "object-fit: scale-down;";
}

img.lazyloaded {
  -o-object-fit: contain;
  object-fit: contain;
  font-family: "object-fit: contain;";
}

svg.icon {
  display: inline-block;
  max-height: 80px;
  text-align: center;
}

svg.icon.icon-xs {
  width: var(--fs-400);
  height: var(--fs-400);
}

svg.icon.icon-sm {
  width: var(--fs-500);
  height: var(--fs-500);
}

svg.icon.icon-md {
  width: var(--fs-600);
  height: var(--fs-600);
}

svg.icon.icon-lg {
  width: var(--fs-700);
  height: var(--fs-700);
}

svg.icon.icon-xl {
  width: var(--fs-900);
  height: var(--fs-900);
}

svg.icon.icon-xxl {
  width: calc(var(--fs-900) * 1.25);
  height: calc(var(--fs-900) * 1.25);
}

svg.icon path {
  fill: currentColor;
}

img.emoji {
  height: 1em;
  width: 1em;
  margin: 0 0.05em 0 0.1em;
  vertical-align: -0.1em;
}

@font-face {
  font-family: Emoji;
  src: local("Apple Color Emoji"), local("Segoe UI Emoji"), local("Segoe UI Symbol"), local("Noto Color Emoji");
  unicode-range: U+1F000-1F644, U+203C-3299;
}
.details .details-summary:hover {
  cursor: pointer;
}

.details i.details-icon {
  color: #a9a9b3;
  -webkit-transition: transform 0.2s ease;
  -moz-transition: transform 0.2s ease;
  -o-transition: transform 0.2s ease;
  transition: transform 0.2s ease;
}

[theme=dark] .details i.details-icon {
  color: #5d5d5f;
}

.details .details-content {
  max-height: 0;
  overflow-y: hidden;
  -webkit-transition: max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;
  -moz-transition: max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;
  -o-transition: max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;
  transition: max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;
}

.details.open i.details-icon {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}

.details.open .details-content {
  max-height: 10000px;
  -webkit-transition: max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;
  -moz-transition: max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;
  -o-transition: max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;
  transition: max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;
}

@font-face {
  font-family: Emoji;
  src: local("Apple Color Emoji"), local("Segoe UI Emoji"), local("Segoe UI Symbol"), local("Noto Color Emoji");
  unicode-range: U+1F000-1F644, U+203C-3299;
}
#fixed-buttons {
  display: none;
}

.fixed-button {
  display: none;
  z-index: 100;
  position: fixed;
  right: 1.5rem;
  font-size: 1rem;
  line-height: 1.3rem;
  padding: 0.6rem 0.6rem;
  color: var(--clr-neutral-400);
  background: var(--clr-primary-500);
  -webkit-border-radius: 2rem;
  -moz-border-radius: 2rem;
  border-radius: 2rem;
  -webkit-transition: color 0.4s ease;
  -moz-transition: color 0.4s ease;
  -o-transition: color 0.4s ease;
  transition: color 0.4s ease;
}

.blur .fixed-button {
  -webkit-filter: blur(1.5px);
  filter: blur(1.5px);
}

.fixed-button:hover, .fixed-button:active {
  color: #161209;
  cursor: pointer;
}

.fixed-button:active, .fixed-button:focus, .fixed-button:hover {
  outline: none;
}

[theme=dark] .fixed-button {
  color: #5d5d5f;
  background: #252627;
}

[theme=dark] .fixed-button:hover, [theme=dark] .fixed-button:active {
  color: #a9a9b3;
}

#back-to-top {
  display: block;
  bottom: 1.5rem;
}

#view-comments {
  bottom: 4.5rem;
}

@font-face {
  font-family: Emoji;
  src: local("Apple Color Emoji"), local("Segoe UI Emoji"), local("Segoe UI Symbol"), local("Noto Color Emoji");
  unicode-range: U+1F000-1F644, U+203C-3299;
}
.cc-window.cc-banner .cc-btn {
  color: #161209;
}

.cc-window.cc-banner .cc-btn:hover, .cc-window.cc-banner .cc-btn:focus {
  background-color: #ccc;
}

[theme=dark] .cc-window.cc-banner .cc-btn {
  color: #161209;
}

[theme=dark] .cc-window.cc-banner .cc-btn:hover, [theme=dark] .cc-window.cc-banner .cc-btn:focus {
  background-color: #fff;
}

/** Layout **/
.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
}
.wrapper main {
  flex: 1 0 auto;
}
.wrapper main .container {
  padding: 0 1rem;
}

body.admin-bar > * > header,
body.admin-bar > * > * > header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar > * > header,
  body.admin-bar > * > * > header {
    top: 46px;
  }
}

.admin-bar body > * > header,
.admin-bar body > * > * > header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  .admin-bar body > * > header,
  .admin-bar body > * > * > header {
    top: 46px;
  }
}
body > * > header,
body > * > * > header {
  --bg: var(--nav-bg);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  z-index: 150;
  background-color: var(--bg);
  background-image: linear-gradient(to bottom, var(--bg) 40%, oklch(from var(--bg) 35% c h)), linear-gradient(to bottom, oklch(from var(--bg) 25% c h), oklch(from var(--bg) 80% c h) 70%);
  background-color: var(--bg);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  color: var(--clr-neutral-100);
  -webkit-box-shadow: 0 0.2rem 1rem 0 var(--shadow-main);
  box-shadow: 0 0.2rem 1rem 0 var(--shadow-main);
  -webkit-transition: box-shadow 0.3s ease;
  -moz-transition: box-shadow 0.3s ease;
  -o-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  /* border-bottom: 5px solid hsl(from var(--clr-neutral-500) h s l / 0.5); */
  border: 4px solid transparent;
  height: var(--header);
  display: grid;
  align-items: center;
  padding: 0 1.5rem;
}
@media (width >= 600px) {
  body > * > header,
  body > * > * > header {
    /* control the shape (can be percentage) */
    --p: min(3vw, 3rem);
    padding: 0 3rem;
    /* clip-path: polygon(
        var(--p) 100%,
        calc(100% - var(--p)) 100%,
        100% 0,
        0 0
    ); */
    border-radius: 50vw;
    backdrop-filter: blur(5px);
  }
}
body > * > header.hidden,
body > * > * > header.hidden {
  /* When hidden we move header completely outside the viewport upwards */
  transform: translateY(calc(-1 * var(--header-height)));
}
body > * > header.force-visible,
body > * > * > header.force-visible {
  /* A small class to keep header visible (useful when near top) */
  transform: none;
}
body > * > header .logo,
body > * > header #logo,
body > * > header .logo.svg-logo,
body > * > header .wp-block-site-logo,
body > * > * > header .logo,
body > * > * > header #logo,
body > * > * > header .logo.svg-logo,
body > * > * > header .wp-block-site-logo {
  min-height: 1.5em;
  height: calc(var(--header-height) - 1rem);
  vertical-align: text-bottom;
  flex-grow: 1;
}
@media (width > 768px) {
  body > * > header .logo,
  body > * > header #logo,
  body > * > header .logo.svg-logo,
  body > * > header .wp-block-site-logo,
  body > * > * > header .logo,
  body > * > * > header #logo,
  body > * > * > header .logo.svg-logo,
  body > * > * > header .wp-block-site-logo {
    height: 84px;
    height: calc(var(--header-height) - 0.5rem);
    flex-grow: 0;
  }
}
body > * > header .logo a,
body > * > header .logo img,
body > * > header #logo a,
body > * > header #logo img,
body > * > header .logo.svg-logo a,
body > * > header .logo.svg-logo img,
body > * > header .wp-block-site-logo a,
body > * > header .wp-block-site-logo img,
body > * > * > header .logo a,
body > * > * > header .logo img,
body > * > * > header #logo a,
body > * > * > header #logo img,
body > * > * > header .logo.svg-logo a,
body > * > * > header .logo.svg-logo img,
body > * > * > header .wp-block-site-logo a,
body > * > * > header .wp-block-site-logo img {
  height: 100%;
  width: auto;
}
body > * > header .logo,
body > * > header .header-title-pre,
body > * > * > header .logo,
body > * > * > header .header-title-pre {
  padding-right: 0.25rem;
}
body > * > header .header-title-post,
body > * > * > header .header-title-post {
  padding-left: 0.25rem;
}
body > * > header:hover,
body > * > * > header:hover {
  -webkit-box-shadow: 0 0 0.75rem 0 var(--shadow-main);
  box-shadow: 0 0 0.75rem 0 var(--shadow-main);
}
body > * > header svg,
body > * > header nav,
body > * > * > header svg,
body > * > * > header nav {
  color: var(--clr-neutral-100);
}
body > * > header nav,
body > * > * > header nav {
  font-family: var(--h-font);
}
body > * > header nav.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open,
body > * > * > header nav.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open {
  color: var(--text);
}
body > * > header nav.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open,
body > * > * > header nav.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
  background-color: var(--base);
}
body > * > header #nav-toggle,
body > * > * > header #nav-toggle {
  display: none;
}
@media (width < 1024px) {
  body > * > header,
  body > * > * > header {
    padding: 0 0.5rem;
  }
  body > * > header #menu,
  body > * > * > header #menu {
    display: none;
  }
  body > * > header #menu.visible,
  body > * > * > header #menu.visible {
    display: block;
  }
  body > * > header ul,
  body > * > * > header ul {
    flex-direction: column;
  }
  body > * > header #nav-toggle,
  body > * > * > header #nav-toggle {
    display: block;
  }
}

.header-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
}

.header-title {
  font-family: var(--h-font);
  font-weight: bold;
  margin-right: 0.5rem;
  min-width: 10%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  line-height: calc(var(--fs-300) * 0.6);
  -webkit-flex: 10;
  flex: 10;
}
.header-title a {
  color: var(--clr-neutral-900);
  display: inline-block;
  font-size: calc(var(--fs-300) * 1.5);
  line-height: calc(var(--fs-300) * 0.6);
}

.menu .menu-item {
  position: relative;
}

.language-select {
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.language-select:hover {
  cursor: pointer;
}

.search {
  position: relative;
}
.search input {
  color: transparent;
  box-sizing: border-box;
  height: 2.5rem;
  width: 2.5rem;
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
  border-radius: 0.5rem;
  border: none;
  outline: none;
  background-color: #f8f8f8;
  vertical-align: baseline !important;
  -webkit-transition: width 0.3s ease;
  -moz-transition: width 0.3s ease;
  -o-transition: width 0.3s ease;
  transition: width 0.3s ease;
}
[theme=dark] .search input {
  background-color: #252627;
}
.search input::-webkit-input-placeholder {
  color: transparent;
}
.search input:-moz-placeholder {
  color: transparent;
}
.search input::-moz-placeholder {
  color: transparent;
}
.search input:-ms-input-placeholder {
  color: transparent;
}
.search input::placeholder {
  color: transparent;
}
.search .search-button {
  margin: 0;
  position: absolute;
  left: auto;
  right: 1rem;
}
.search .search-toggle {
  left: 0.5rem;
  right: auto;
}
.search .search-loading {
  display: none;
}
.search .search-clear {
  display: none;
}
.open .search input, .search.mobile input {
  color: #161209;
  background-color: #e9e9e9;
  padding: 0 2rem 0 2rem;
}
[theme=dark] .open .search input, [theme=dark] .search.mobile input {
  color: #a9a9b3;
  background-color: #363636;
}
[theme=dark] .open .search input::-webkit-input-placeholder, [theme=dark] .search.mobile input::-webkit-input-placeholder {
  color: #5d5d5f;
}
[theme=dark] .open .search input:-moz-placeholder, [theme=dark] .search.mobile input:-moz-placeholder {
  color: #5d5d5f;
}
[theme=dark] .open .search input::-moz-placeholder, [theme=dark] .search.mobile input::-moz-placeholder {
  color: #5d5d5f;
}
[theme=dark] .open .search input:-ms-input-placeholder, [theme=dark] .search.mobile input:-ms-input-placeholder {
  color: #5d5d5f;
}
[theme=dark] .open .search input::placeholder, [theme=dark] .search.mobile input::placeholder {
  color: #5d5d5f;
}
.open .search input::-webkit-input-placeholder, .search.mobile input::-webkit-input-placeholder {
  color: #a9a9b3;
}
.open .search input:-moz-placeholder, .search.mobile input:-moz-placeholder {
  color: #a9a9b3;
}
.open .search input::-moz-placeholder, .search.mobile input::-moz-placeholder {
  color: #a9a9b3;
}
.open .search input:-ms-input-placeholder, .search.mobile input:-ms-input-placeholder {
  color: #a9a9b3;
}
.open .search input::placeholder, .search.mobile input::placeholder {
  color: #a9a9b3;
}
.open .search .search-button, .search.mobile .search-button {
  color: #a9a9b3;
}
[theme=dark] .open .search .search-button, [theme=dark] .search.mobile .search-button {
  color: #5d5d5f;
}
.open .search .search-clear:hover, .search.mobile .search-clear:hover {
  color: #ff6b6b;
}
.open .search .search-toggle:hover, .search.mobile .search-toggle:hover {
  cursor: default;
}

.theme-switch i {
  -webkit-transform: rotate(225deg);
  -ms-transform: rotate(225deg);
  -o-transform: rotate(225deg);
  transform: rotate(225deg);
}

#header-desktop {
  display: block;
  position: fixed;
  height: var(--header-height);
  line-height: var(--header-height);
}
[data-header-desktop=normal] #header-desktop {
  position: static;
}
#header-desktop .header-wrapper {
  padding: 0 2rem;
}
#header-desktop .header-wrapper .header-title {
  font-size: var(--header-title-font-size);
}
#header-desktop .header-wrapper .menu {
  overflow: hidden;
  white-space: nowrap;
}
#header-desktop .header-wrapper .menu a {
  color: var(--clr-neutral-900);
  text-transform: capitalize;
  height: 1ch;
  display: inline-block;
}
#header-desktop .header-wrapper .menu .menu-inner {
  float: right;
}
#header-desktop .header-wrapper .menu .menu-item {
  margin: 0 0.5rem;
}
@media screen and (min-width: 1080px) {
  #header-desktop .header-wrapper .menu .menu-item {
    margin: 0 0.75rem;
  }
}
#header-desktop .header-wrapper .menu .menu-item.delimiter {
  border-left: 1.5px solid #161209;
}
[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter {
  border-left-color: #363636;
}
#header-desktop .header-wrapper .menu .menu-item.language {
  margin-right: 0;
}
#header-desktop .header-wrapper .menu .menu-item.search {
  margin: 0 -0.5rem 0 0;
}
#header-desktop .header-wrapper .menu a.active {
  font-weight: 900;
  color: #161209;
}
[theme=dark] #header-desktop .header-wrapper .menu a.active {
  color: #fff;
}
#header-desktop.open .header-wrapper .menu .menu-item.search {
  margin: 0 0.25rem 0 0.5rem;
}
#header-desktop.open .header-wrapper .menu .menu-item.search input {
  width: 24rem;
}

#header-mobile {
  display: none;
  position: fixed;
  height: var(--header-height);
  line-height: var(--header-height);
}
[data-header-mobile=normal] #header-mobile {
  position: static;
}
#header-mobile .header-container {
  padding: 0;
  margin: 0;
}
#header-mobile .header-container .header-wrapper {
  height: var(--header-height);
  line-height: var(--header-height);
  padding: 0 1rem;
  font-size: 1.125rem;
  -webkit-transition: margin-top 0.3s ease;
  -moz-transition: margin-top 0.3s ease;
  -o-transition: margin-top 0.3s ease;
  transition: margin-top 0.3s ease;
}
#header-mobile .header-container .header-wrapper .header-title {
  font-size: var(--fs-400);
  max-width: 85%;
}
#header-mobile .header-container .header-wrapper .menu-toggle {
  line-height: 4rem;
  cursor: pointer;
  -webkit-transition: width 0.3s ease;
  -moz-transition: width 0.3s ease;
  -o-transition: width 0.3s ease;
  transition: width 0.3s ease;
}
#header-mobile .header-container .header-wrapper .menu-toggle span {
  display: block;
  background: #161209;
  width: 1.5rem;
  height: 2px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span {
  background: #a9a9b3;
}
#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1) {
  margin-bottom: 0.5rem;
}
#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3) {
  margin-top: 0.5rem;
}
#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1) {
  -webkit-transform: rotate(45deg) translate(0.4rem, 0.5rem);
  -ms-transform: rotate(45deg) translate(0.4rem, 0.5rem);
  -o-transform: rotate(45deg) translate(0.4rem, 0.5rem);
  transform: rotate(45deg) translate(0.4rem, 0.5rem);
}
#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2) {
  opacity: 0;
}
#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3) {
  -webkit-transform: rotate(-45deg) translate(0.4rem, -0.5rem);
  -ms-transform: rotate(-45deg) translate(0.4rem, -0.5rem);
  -o-transform: rotate(-45deg) translate(0.4rem, -0.5rem);
  transform: rotate(-45deg) translate(0.4rem, -0.5rem);
}
#header-mobile .header-container .menu {
  text-align: center;
  text-transform: capitalize;
  background: #f8f8f8;
  border-top: 2px solid #f0f0f0;
  display: none;
  padding-top: 0.5rem;
  -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}
#header-mobile .header-container .menu .search-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  padding: calc((var(--header-height) - 2.5rem) / 2) 1rem;
  line-height: 2.5rem;
}
#header-mobile .header-container .menu .search {
  flex-grow: 10;
}
#header-mobile .header-container .menu .search .algolia-autocomplete,
#header-mobile .header-container .menu .search input {
  width: 100%;
}
#header-mobile .header-container .menu .search-button {
  top: 0;
}
#header-mobile .header-container .menu .search-cancel {
  display: none;
  margin-left: 0.75rem;
}
#header-mobile .header-container .menu .menu-item {
  display: block;
  line-height: 2.5rem;
}
#header-mobile .header-container .menu.active {
  display: block;
}
[theme=dark] #header-mobile .header-container .menu {
  background: #252627;
  border-top-color: #363636;
}
#header-mobile.open .header-wrapper {
  margin-top: -var(--header-height);
}
#header-mobile.open .menu {
  padding-top: 0;
  border-top: none;
}
#header-mobile.open .menu .menu-item {
  display: none;
}
#header-mobile.open .menu .search-cancel {
  display: inline;
}

.search-dropdown {
  position: fixed;
  z-index: 200;
  top: var(--header-height);
  -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}
.search-dropdown.desktop {
  right: 2rem;
  width: 30rem;
}
.search-dropdown.mobile {
  right: 0;
  width: 100%;
}
.search-dropdown .dropdown-menu {
  right: 0 !important;
  background-color: var(--bg-content);
}
.search-dropdown .dropdown-menu .suggestions {
  overflow-y: auto;
  max-height: calc(100vh - var(--header-height));
}
.search-dropdown .dropdown-menu .suggestions .suggestion {
  padding: 0.75rem 1rem;
}
.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1rem;
  font-weight: bold;
  max-width: 75%;
}
.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date {
  font-size: 0.875rem;
  float: right;
  text-align: right;
  color: #a9a9b3;
}
[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date {
  color: #5d5d5f;
}
.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context {
  line-height: 1.25rem;
  display: -moz-box;
  display: -webkit-box;
  display: box;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #a9a9b3;
}
[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context {
  color: #5d5d5f;
}
.search-dropdown .dropdown-menu .suggestions .suggestion em {
  font-style: normal;
  background-color: rgba(53, 166, 247, 0.25);
}
[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em {
  background-color: rgba(50, 112, 194, 0.4);
}
.search-dropdown .dropdown-menu .suggestions .suggestion.cursor {
  background: rgb(91.0784313725%, 91.0784313725%, 91.0784313725%);
}
[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor {
  background: rgb(19.5798319328%, 22.0900667959%, 26.106442577%);
}
.search-dropdown .dropdown-menu .suggestions .suggestion:hover {
  cursor: pointer;
}
.search-dropdown .dropdown-menu .search-empty {
  padding: 1rem;
  text-align: center;
}
.search-dropdown .dropdown-menu .search-empty .search-query {
  font-weight: bold;
}
[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query {
  color: #ddd;
}
.search-dropdown .dropdown-menu .search-footer {
  padding: 0.5rem 1rem;
  float: right;
  font-size: 0.8rem;
  color: #a9a9b3;
}
.search-dropdown .dropdown-menu .search-footer [theme=dark] {
  color: #5d5d5f;
}
.search-dropdown .dropdown-menu .search-footer a {
  font-size: 1rem;
}

footer.footer {
  background-color: var(--clr-neutral-200);
  color: var(--clr-neutral-700);
  font-size: var(--fs-300);
  width: 100%;
}
footer.footer > * {
  --grid-fit-min: 250px;
  max-width: 1280px;
  margin-inline: auto;
}
footer.footer h2, footer.footer h3, footer.footer h4, footer.footer h5, footer.footer h6 {
  color: var(--clr-neutral-100);
}
footer.footer a {
  color: var(--clr-primary-100);
  fill: var(--clr-primary-100);
  font-weight: bold;
}
footer.footer img {
  max-width: 350px;
  mix-blend-mode: darken;
}
footer.footer .menu {
  position: relative;
  list-style: none;
}
footer.footer .menu li::before {
  content: "⮞";
  position: absolute;
  left: -0.5rem;
}
footer.footer .navigation {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media screen and (min-width: 1280px) {
  footer.footer .navigation {
    grid-template-columns: 2fr 3fr;
  }
}
footer.footer .links {
  display: grid;
  gap: 1rem;
  grid-template-columns: 2.2rem 1fr;
  font-size: var(--fs-300);
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}
@media screen and (min-width: 768px) {
  footer.footer .links {
    font-size: var(--fs-400);
  }
}
footer.footer .links > * {
  display: grid;
  grid-column: span 2;
  grid-template-columns: subgrid;
}
footer.footer .links a {
  padding-inline: 0.25rem;
}
footer.footer .footer-line {
  width: 100%;
  text-align: center;
  line-height: 1.3;
}
footer.footer .footer-line a {
  color: var(--clr-neutral-200);
}
footer.footer .footer-line .icp-br {
  display: none;
}
.blur footer.footer {
  -webkit-filter: blur(1.5px);
  filter: blur(1.5px);
}

.btn,
.button,
:root :where(.wp-element-button, .wp-block-button__link),
a.woocommerce-button,
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
  display: inline-block;
  isolation: isolate;
  position: relative;
  background-color: var(--clr-secondary-800);
  color: var(--clr-neutral-100) !important;
  background: linear-gradient(135deg, var(--clr-secondary-200), var(--clr-secondary-400));
  box-shadow: 0 4px 20px var(--clr-secondary-500);
  border: none;
  border-radius: 50vh !important;
  font-family: var(--h-font);
  font-size: var(--fs-350);
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 1.1;
  padding: var(--fs-200) calc(var(--fs-200) * 2);
  margin: 0;
  text-decoration: none;
  transition: all 0.3s ease;
}
.btn:hover,
.button:hover,
:root :where(.wp-element-button, .wp-block-button__link):hover,
a.woocommerce-button:hover,
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:hover {
  filter: brightness(0.75) saturate(175%) contrast(2);
  transform: translateY(-3px);
}

.wc-block-mini-cart__drawer :where(.wp-element-button, .wp-block-button__link) {
  padding: 0.5rem;
}

.btn-xs,
.button-xs {
  font-size: var(--fs-300);
  letter-spacing: 0.5px;
  padding: calc(var(--fs-300) * 0.1) calc(var(--fs-300) * 0.5);
  line-height: 1.75;
}
.btn-sm,
.button-sm {
  font-size: var(--fs-300);
  letter-spacing: 0.5px;
  padding: calc(var(--fs-300) * 0.5) calc(var(--fs-300) * 0.75);
}
.btn-default,
.button-default {
  background-color: var(--clr-secondary-800);
  color: var(--clr-neutral-100);
  background: linear-gradient(135deg, var(--clr-secondary-200), var(--clr-secondary-400));
  box-shadow: 0 4px 20px var(--clr-secondary-500);
}
.btn-secondary,
.button-secondary {
  background-color: var(--clr-secondary-400);
  color: var(--clr-neutral-100);
}
.btn-secondary::before,
.button-secondary::before {
  border: 2px solid var(--clr-secondary-500);
}
.btn-light,
.button-light {
  background-color: var(--clr-neutral-100);
  color: var(--clr-primary-600);
}
.btn-light::before,
.button-light::before {
  border: 2px solid var(--clr-neutral-300);
}
.btn-light-50,
.button-light-50 {
  --background: hsl(from var(--clr-neutral-100) h s l / 50%);
  background-color: var(--background);
}
.btn.disabled,
.button.disabled {
  background-color: grey;
}
.btn.disabled::before,
.button.disabled::before {
  border: 2px solid grey;
}
.btn.disabled:hover,
.button.disabled:hover {
  filter: brightness(1) saturate(100%) contrast(1);
}

:root {
  --clr-primary-100: oklch(90% 0.0897 229);
  --clr-primary-200: oklch(75% 0.0897 229);
  --clr-primary-300: oklch(60% 0.0897 229);
  --clr-primary-400: oklch(46.1% 0.0897 229);
  --clr-primary-500: oklch(40% 0.0897 229);
  --clr-primary-600: oklch(30% 0.0897 229);
  --clr-primary-700: oklch(20% 0.0897 229);
  --clr-primary-800: oklch(15% 0.0897 229);
  --clr-primary-900: oklch(7% 0.0897 229);
  --clr-secondary-100: oklch(95% 0.12 227.5);
  --clr-secondary-200: oklch(85% 0.12 227.5);
  --clr-secondary-300: oklch(75% 0.12 227.5);
  --clr-secondary-400: oklch(55% 0.12 227.5);
  --clr-secondary-500: oklch(40% 0.12 227.5);
  --clr-secondary-600: oklch(30% 0.12 227.5);
  --clr-secondary-700: oklch(20% 0.12 227.5);
  --clr-secondary-800: oklch(15% 0.12 227.5);
  --clr-secondary-900: oklch(7% 0.12 227.5);
  --clr-neutral-100: oklch(97% 0.02 229);
  --clr-neutral-200: oklch(92% 0.02 229);
  --clr-neutral-300: oklch(90% 0.02 229);
  --clr-neutral-400: oklch(80% 0.02 229);
  --clr-neutral-500: oklch(70% 0.02 229);
  --clr-neutral-600: oklch(50% 0.03 229);
  --clr-neutral-700: oklch(27% 0.03 229);
  --clr-neutral-800: oklch(15% 0.03 229);
  --clr-neutral-900: oklch(9% 0.04 229);
  --bg-light-100: var(--clr-neutral-100);
  --bg-dark-100: var(--clr-neutral-900);
  --primary: rgb(4, 97, 128);
  --base: var(--clr-neutral-900);
  --text: var(--clr-neutral-100);
  --link: var(--clr-secondary-300);
  --link-hover: var(--clr-secondary-100);
  --bg-content: oklch(from var(--primary) 100% c h / 0.1);
  /* --bg-content: hsl(from var(--primary) h s 99% / 0.7); */
  --shadow-main: oklch(from var(--clr-secondary-600) l c h / 0.5);
  --nav-bg: oklch(from var(--primary) l c h / 0.8);
}
@media (prefers-color-scheme: light) {
  :root {
    /* @media (prefers-color-scheme: dark) { */
    --base: var(--clr-neutral-200);
    --text: var(--clr-neutral-900);
    --link: var(--clr-secondary-400);
    --link-hover: var(--clr-secondary-600);
    --bg-content: hsl(from var(--primary) h s 99% / 0.7);
    /* --bg-content: oklch(from var(--primary) 100% c h / 0.1); */
  }
}
:root {
  --callout-bg: var(--call-bg, --wa-color-cyan-30);
  --callout-border: var(--call-border, --wa-color-cyan-70);
  --callout-btn: var(--call-btn, --wa-color-cyan-70);
  --callout-icon: var(--call-icon, --wa-color-cyan-80);
  /* @media (prefers-color-scheme: light) { */
}
@media (prefers-color-scheme: dark) {
  :root {
    --callout-bg: var(--call-bg, --wa-color-cyan-95);
    --callout-border: var(--call-border, --wa-color-cyan-80);
    --callout-btn: var(--call-btn, --wa-color-cyan-80);
    --callout-icon: var(--call-icon, --wa-color-cyan-40);
  }
}

:root {
  --wa-color-red-95: #ffefee;
  --wa-color-red-90: #fededd;
  --wa-color-red-80: #fabab8;
  --wa-color-red-70: #f19695;
  --wa-color-red-60: #d47c7e;
  --wa-color-red-50: #af5e5a;
  --wa-color-red-40: #89453f;
  --wa-color-red-30: #6d352f;
  --wa-color-red-20: #522521;
  --wa-color-red-10: #331512;
  --wa-color-red-05: #220b09;
  --wa-color-red: var(--wa-color-red-70);
  --wa-color-red-key: 70;
  --wa-color-orange-95: #ffefe8;
  --wa-color-orange-90: #ffe0d2;
  --wa-color-orange-80: #fbbc9e;
  --wa-color-orange-70: #f3976f;
  --wa-color-orange-60: #d67e59;
  --wa-color-orange-50: #ae6140;
  --wa-color-orange-40: #89472c;
  --wa-color-orange-30: #6f351e;
  --wa-color-orange-20: #542513;
  --wa-color-orange-10: #341408;
  --wa-color-orange-05: #230b04;
  --wa-color-orange: var(--wa-color-orange-70);
  --wa-color-orange-key: 70;
  --wa-color-yellow-95: #faf3e1;
  --wa-color-yellow-90: #f4e5be;
  --wa-color-yellow-80: #eac673;
  --wa-color-yellow-70: #d4a85b;
  --wa-color-yellow-60: #bf8b4a;
  --wa-color-yellow-50: #a06938;
  --wa-color-yellow-40: #7f4d29;
  --wa-color-yellow-30: #663b1e;
  --wa-color-yellow-20: #4c2a14;
  --wa-color-yellow-10: #2f1809;
  --wa-color-yellow-05: #1f0e04;
  --wa-color-yellow: var(--wa-color-yellow-80);
  --wa-color-yellow-key: 80;
  --wa-color-green-95: #ebf6e0;
  --wa-color-green-90: #d3efbe;
  --wa-color-green-80: #96db86;
  --wa-color-green-70: #68c17c;
  --wa-color-green-60: #4aa672;
  --wa-color-green-50: #2e845d;
  --wa-color-green-40: #1b6548;
  --wa-color-green-30: #104f38;
  --wa-color-green-20: #083a29;
  --wa-color-green-10: #032317;
  --wa-color-green-05: #01160d;
  --wa-color-green: var(--wa-color-green-80);
  --wa-color-green-key: 80;
  --wa-color-cyan-95: #cafbfd;
  --wa-color-cyan-90: #97f5f8;
  --wa-color-cyan-80: #3fdee7;
  --wa-color-cyan-70: #00c0d4;
  --wa-color-cyan-60: #00a3bf;
  --wa-color-cyan-50: #007fa2;
  --wa-color-cyan-40: #006082;
  --wa-color-cyan-30: #014a6b;
  --wa-color-cyan-20: #003652;
  --wa-color-cyan-10: #002034;
  --wa-color-cyan-05: #001422;
  --wa-color-cyan: var(--wa-color-cyan-80);
  --wa-color-cyan-key: 80;
  --wa-color-blue-95: #e5f6ff;
  --wa-color-blue-90: #c7ebff;
  --wa-color-blue-80: #8ed2f9;
  --wa-color-blue-70: #5db7f3;
  --wa-color-blue-60: #309aee;
  --wa-color-blue-50: #0774df;
  --wa-color-blue-40: #0152c1;
  --wa-color-blue-30: #003ea2;
  --wa-color-blue-20: #002b7f;
  --wa-color-blue-10: #001853;
  --wa-color-blue-05: #000e39;
  --wa-color-blue: var(--wa-color-blue-40);
  --wa-color-blue-key: 40;
  --wa-color-indigo-95: #f0f2ff;
  --wa-color-indigo-90: #e1e4fe;
  --wa-color-indigo-80: #bfc6fe;
  --wa-color-indigo-70: #9fa8fc;
  --wa-color-indigo-60: #828bf6;
  --wa-color-indigo-50: #6166e8;
  --wa-color-indigo-40: #4743d0;
  --wa-color-indigo-30: #372db3;
  --wa-color-indigo-20: #291b90;
  --wa-color-indigo-10: #170a61;
  --wa-color-indigo-05: #0e0445;
  --wa-color-indigo: var(--wa-color-indigo-40);
  --wa-color-indigo-key: 40;
  --wa-color-purple-95: #fbefff;
  --wa-color-purple-90: #f7ddff;
  --wa-color-purple-80: #edb7ff;
  --wa-color-purple-70: #dc91fe;
  --wa-color-purple-60: #c670f2;
  --wa-color-purple-50: #a34bda;
  --wa-color-purple-40: #802fb6;
  --wa-color-purple-30: #661f96;
  --wa-color-purple-20: #4c1372;
  --wa-color-purple-10: #30074a;
  --wa-color-purple-05: #200333;
  --wa-color-purple: var(--wa-color-purple-50);
  --wa-color-purple-key: 50;
  --wa-color-pink-95: #ffedf6;
  --wa-color-pink-90: #feddee;
  --wa-color-pink-80: #feb2e3;
  --wa-color-pink-70: #f688de;
  --wa-color-pink-60: #e560d6;
  --wa-color-pink-50: #c234bf;
  --wa-color-pink-40: #9b189b;
  --wa-color-pink-30: #7c097e;
  --wa-color-pink-20: #5e0160;
  --wa-color-pink-10: #3c003c;
  --wa-color-pink-05: #280029;
  --wa-color-pink: var(--wa-color-pink-50);
  --wa-color-pink-key: 50;
  --wa-color-gray-95: #f2f2f2;
  --wa-color-gray-90: #e6e6e6;
  --wa-color-gray-80: #cacaca;
  --wa-color-gray-70: #aeafaf;
  --wa-color-gray-60: #959595;
  --wa-color-gray-50: #757575;
  --wa-color-gray-40: #595959;
  --wa-color-gray-30: #454444;
  --wa-color-gray-20: #323232;
  --wa-color-gray-10: #1d1d1d;
  --wa-color-gray-05: #121212;
  --wa-color-gray: var(--wa-color-gray-40);
  --wa-color-gray-key: 40;
}

.is-note {
  --call-bg: var(--wa-color-blue-30);
  --call-border: var(--wa-color-blue-70);
  --call-btn: var(--wa-color-blue-70);
  --call-icon: var(--wa-color-blue-80);
}
@media (prefers-color-scheme: light) {
  .is-note {
    --call-bg: var(--wa-color-blue-95);
    --call-border: var(--wa-color-blue-80);
    --call-btn: var(--wa-color-blue-80);
    --call-icon: var(--wa-color-blue-40);
  }
}

.is-abstract {
  --call-bg: var(--wa-color-cyan-30);
  --call-border: var(--wa-color-cyan-70);
  --call-btn: var(--wa-color-cyan-70);
  --call-icon: var(--wa-color-cyan-80);
}
@media (prefers-color-scheme: light) {
  .is-abstract {
    --call-bg: var(--wa-color-cyan-95);
    --call-border: var(--wa-color-cyan-80);
    --call-btn: var(--wa-color-cyan-80);
    --call-icon: var(--wa-color-cyan-40);
  }
}

.is-info {
  --call-bg: var(--wa-color-cyan-30);
  --call-border: var(--wa-color-cyan-70);
  --call-btn: var(--wa-color-cyan-70);
  --call-icon: var(--wa-color-cyan-80);
}
@media (prefers-color-scheme: light) {
  .is-info {
    --call-bg: var(--wa-color-cyan-95);
    --call-border: var(--wa-color-cyan-80);
    --call-btn: var(--wa-color-cyan-80);
    --call-icon: var(--wa-color-cyan-40);
  }
}

.is-tip {
  --call-bg: var(--wa-color-cyan-30);
  --call-border: var(--wa-color-cyan-70);
  --call-btn: var(--wa-color-cyan-70);
  --call-icon: var(--wa-color-cyan-80);
}
@media (prefers-color-scheme: light) {
  .is-tip {
    --call-bg: var(--wa-color-cyan-95);
    --call-border: var(--wa-color-cyan-80);
    --call-btn: var(--wa-color-cyan-80);
    --call-icon: var(--wa-color-cyan-40);
  }
}

.is-success {
  --call-bg: var(--wa-color-green-30);
  --call-border: var(--wa-color-green-70);
  --call-btn: var(--wa-color-green-70);
  --call-icon: var(--wa-color-green-80);
}
@media (prefers-color-scheme: light) {
  .is-success {
    --call-bg: var(--wa-color-green-95);
    --call-border: var(--wa-color-green-80);
    --call-btn: var(--wa-color-green-80);
    --call-icon: var(--wa-color-green-40);
  }
}

.is-question {
  --call-bg: var(--wa-color-orange-30);
  --call-border: var(--wa-color-orange-70);
  --call-btn: var(--wa-color-orange-70);
  --call-icon: var(--wa-color-orange-80);
}
@media (prefers-color-scheme: light) {
  .is-question {
    --call-bg: var(--wa-color-orange-95);
    --call-border: var(--wa-color-orange-80);
    --call-btn: var(--wa-color-orange-80);
    --call-icon: var(--wa-color-orange-40);
  }
}

.is-warning {
  --call-bg: var(--wa-color-yellow-30);
  --call-border: var(--wa-color-yellow-70);
  --call-btn: var(--wa-color-yellow-70);
  --call-icon: var(--wa-color-yellow-80);
}
@media (prefers-color-scheme: light) {
  .is-warning {
    --call-bg: var(--wa-color-yellow-95);
    --call-border: var(--wa-color-yellow-80);
    --call-btn: var(--wa-color-yellow-80);
    --call-icon: var(--wa-color-yellow-40);
  }
}

.is-failure {
  --call-bg: var(--wa-color-red-30);
  --call-border: var(--wa-color-red-70);
  --call-btn: var(--wa-color-red-70);
  --call-icon: var(--wa-color-red-80);
}
@media (prefers-color-scheme: light) {
  .is-failure {
    --call-bg: var(--wa-color-red-95);
    --call-border: var(--wa-color-red-80);
    --call-btn: var(--wa-color-red-80);
    --call-icon: var(--wa-color-red-40);
  }
}

.is-danger {
  --call-bg: var(--wa-color-red-30);
  --call-border: var(--wa-color-red-70);
  --call-btn: var(--wa-color-red-70);
  --call-icon: var(--wa-color-red-80);
}
@media (prefers-color-scheme: light) {
  .is-danger {
    --call-bg: var(--wa-color-red-95);
    --call-border: var(--wa-color-red-80);
    --call-btn: var(--wa-color-red-80);
    --call-icon: var(--wa-color-red-40);
  }
}

.is-error {
  --call-bg: var(--wa-color-red-30);
  --call-border: var(--wa-color-red-70);
  --call-btn: var(--wa-color-red-70);
  --call-icon: var(--wa-color-red-80);
}
@media (prefers-color-scheme: light) {
  .is-error {
    --call-bg: var(--wa-color-red-95);
    --call-border: var(--wa-color-red-80);
    --call-btn: var(--wa-color-red-80);
    --call-icon: var(--wa-color-red-40);
  }
}

.is-example {
  --call-bg: var(--wa-color-purple-30);
  --call-border: var(--wa-color-purple-70);
  --call-btn: var(--wa-color-purple-70);
  --call-icon: var(--wa-color-purple-80);
}
@media (prefers-color-scheme: light) {
  .is-example {
    --call-bg: var(--wa-color-purple-95);
    --call-border: var(--wa-color-purple-80);
    --call-btn: var(--wa-color-purple-80);
    --call-icon: var(--wa-color-purple-40);
  }
}

.is-quote {
  --call-bg: var(--wa-color-gray-30);
  --call-border: var(--wa-color-gray-70);
  --call-btn: var(--wa-color-gray-70);
  --call-icon: var(--wa-color-gray-80);
}
@media (prefers-color-scheme: light) {
  .is-quote {
    --call-bg: var(--wa-color-gray-95);
    --call-border: var(--wa-color-gray-80);
    --call-btn: var(--wa-color-gray-80);
    --call-icon: var(--wa-color-gray-40);
  }
}

.bg-pattern-stripes-45 {
  --pattern-opacity-01: 0.15;
  --pattern-opacity-02: 0.015;
  --bg-size: 7px;
  /* background-color: var(--base); */
  background-image: repeating-linear-gradient(45deg, oklch(from var(--base) 75% c h/var(--pattern-opacity-01)) 0, oklch(from var(--base) 75% c h/var(--pattern-opacity-01)) 4%, oklch(from var(--base) 35% c h/var(--pattern-opacity-02)) 4%, oklch(from var(--base) 35% c h/var(--pattern-opacity-02)) 20%);
  /* Defines the size of the repeating tile/pattern unit */
  background-size: calc(var(--bg-size) * 2) calc(var(--bg-size) * 3);
}

input,
optgroup,
select,
textarea,
label {
  color: var(--text) !important;
}
input svg,
optgroup svg,
select svg,
textarea svg,
label svg {
  fill: var(--primary) !important;
  width: auto !important;
  height: 100% !important;
  aspect-ratio: 1/1;
  margin: 0 !important;
}

input,
optgroup,
select,
textarea,
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url] {
  --bg: oklch(from var(--primary) 100% c h / 0.1);
  background-color: var(--bg) !important;
  width: 100%;
  min-width: 300px;
  line-height: 1.5;
  padding: 0.75rem 1rem;
  border: 1px solid var(--text);
  border-color: oklch(from var(--text) l c h/0.5) !important;
  border-radius: var(--radius-sm) !important;
}

input[type=checkbox],
input[type=radio] {
  min-width: auto !important;
  width: auto !important;
  height: auto !important;
  aspect-ratio: 1/1;
}
input[type=checkbox]:checked:before,
input[type=radio]:checked:before {
  color: var(--text) !important;
  background-color: var(--primary) !important;
}

select option {
  color: var(--clr-primary-500);
}

.wc-block-components-checkbox label,
.wc-block-components-radio-control label {
  align-items: center;
  cursor: pointer;
  display: grid;
  grid-template-columns: auto 1fr;
  font-size: var(--wp--preset--font-size--small, 14px);
  gap: 12px;
  line-height: 20px;
  margin-bottom: 0 !important;
  position: relative;
}

.wc-block-components-radio-control__option,
.wc-block-components-address-card {
  --bg: oklch(from var(--primary) 100% c h / 0.1);
  background-color: var(--bg) !important;
  border-color: oklch(from var(--text) l c h/0.5) !important;
  padding: 1rem;
}
.wc-block-components-radio-control__option *,
.wc-block-components-address-card * {
  color: var(--text) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control .wc-block-components-radio-control__input {
  position: relative;
  top: auto;
  left: auto;
}

.pagination {
  display: flex;
  flex-direction: row;
  justify-content: center;
  list-style: none;
  white-space: nowrap;
  width: 100%;
  padding: 1rem 0 0;
}
.pagination a {
  font-size: 0.8rem;
  color: #bfbfbf;
  letter-spacing: 0.1rem;
  font-weight: 700;
  padding: 5px 5px;
  text-decoration: none;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.pagination li {
  padding-bottom: 3px;
  margin: 0 20px;
  box-sizing: border-box;
  position: relative;
  display: inline;
}
.pagination li.disabled {
  display: none;
}
.pagination li:hover a {
  color: #000;
}
[theme=dark] .pagination li:hover a {
  color: #fff;
}
.pagination li:before, .pagination li:after {
  position: absolute;
  content: "";
  width: 0;
  height: 3px;
  background: #000;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  bottom: 0px;
}
[theme=dark] .pagination li:before, [theme=dark] .pagination li:after {
  background: #fff;
}
.pagination li:before .active, .pagination li:after .active {
  width: 100%;
}
.pagination li:before {
  left: 50%;
}
.pagination li:after {
  right: 50%;
}
.pagination li:hover:before, .pagination li:hover:after {
  width: 50%;
}
.pagination li.active a {
  color: #000;
}
[theme=dark] .pagination li.active a {
  color: #fff;
}
.pagination li.active:before, .pagination li.active:after {
  width: 60%;
}

@media only screen and (max-width: 1200px) {
  #header-desktop .header-wrapper {
    padding-right: 1rem;
  }
  .search-dropdown.desktop {
    right: 1rem;
  }
}
@media only screen and (max-width: 960px) {
  #toc-auto {
    display: none;
  }
  #toc-static {
    display: block;
  }
  #header-desktop .header-wrapper {
    padding-left: 1rem;
  }
}
@media only screen and (max-width: 768px) {
  #header-desktop {
    display: none;
  }
  #header-mobile {
    display: block;
  }
  body.blur {
    overflow: hidden;
  }
  .page {
    width: 100%;
  }
  [data-header-mobile] .page {
    padding-top: var(--header-height);
  }
  [data-header-mobile=normal] .page {
    padding-top: 0;
  }
  .page .categories-card .card-item {
    width: 100%;
  }
  .copyright .copyright-line .icp-splitter {
    display: none;
  }
  .copyright .copyright-line .icp-br {
    display: block;
  }
}
#blog .grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-fit-min, 300px), var(--grid-fit-max, 1fr)));
  gap: var(--gap);
  justify-content: space-around;
  justify-items: center;
}
#blog .grid article {
  max-width: 500px;
}

.container {
  margin: auto;
  max-width: 1280px;
  width: auto;
}

@media screen and (max-width: 768px) {
  .wrapper main.main .container {
    padding: 0;
  }
}
section,
footer > * {
  padding: var(--padding-500) var(--padding-100);
}
@media screen and (min-width: 1280px) {
  section,
  footer > * {
    padding: var(--padding-700) var(--padding-300);
  }
}

.flow > * + * {
  margin-top: var(--flow-spacer, 1em);
}

[data-spacing=xs] .flow,
.flow [data-spacing=xs],
[data-spacing=xs] .flex-group,
.flex-group [data-spacing=xs] {
  --flow-spacer: 0.5rem;
  --gap: 0.5rem;
}
[data-spacing=large] > .flow[data-spacing=small], [data-spacing=small] > .flow, .flow[data-spacing=small],
[data-spacing=large] > .flex-group[data-spacing=small],
[data-spacing=small] > .flex-group,
.flex-group[data-spacing=small] {
  --flow-spacer: 0.75rem;
  --gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  [data-spacing=large] > .flow[data-spacing=small], [data-spacing=small] > .flow, .flow[data-spacing=small],
  [data-spacing=large] > .flex-group[data-spacing=small],
  [data-spacing=small] > .flex-group,
  .flex-group[data-spacing=small] {
    --flow-spacer: 1.5rem;
    --gap: 1.5rem;
  }
  [data-spacing=large] > .flow[data-spacing=xs], [data-spacing=xs] > .flow, .flow[data-spacing=xs],
  [data-spacing=large] > .flex-group[data-spacing=xs],
  [data-spacing=xs] > .flex-group,
  .flex-group[data-spacing=xs] {
    --flow-spacer: 0.75rem;
    --gap: 0.75rem;
  }
}
[data-spacing=medium] > .flow, .flow[data-spacing=medium],
[data-spacing=medium] > .flex-group,
.flex-group[data-spacing=medium] {
  --flow-spacer: 1.5rem;
  --gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  [data-spacing=medium] > .flow, .flow[data-spacing=medium],
  [data-spacing=medium] > .flex-group,
  .flex-group[data-spacing=medium] {
    --flow-spacer: 2rem;
    --gap: 2rem;
  }
}
[data-spacing=large] > .flow, .flow[data-spacing=large],
[data-spacing=large] > .flex-group,
.flex-group[data-spacing=large] {
  --flow-spacer: 2rem;
}
@media screen and (min-width: 768px) {
  [data-spacing=large] > .flow, .flow[data-spacing=large],
  [data-spacing=large] > .flex-group,
  .flex-group[data-spacing=large] {
    --flow-spacer: 3rem;
    --gap: 3rem;
  }
}
.flow[data-spacing=large] > * .flow,
.flow[data-spacing=large] > * .flex-group,
.flex-group[data-spacing=large] > * .flow,
.flex-group[data-spacing=large] > * .flex-group {
  --flow-spacer: 1rem;
}

.flex-group {
  --gap: var(--flow-spacer, 0.5rem);
  display: flex;
  align-items: center;
  gap: var(--gap);
  flex-wrap: wrap;
}

.flex-3-col > * {
  flex: 0 1 calc(33.3333333333% - var(--gap));
}
@media screen and (max-width: 768px) {
  .flex-3-col > * {
    flex: 0 1 100%;
  }
}

.text-wrap {
  text-wrap: wrap;
}

.flex-column {
  flex-flow: column;
}

.flex-grow {
  flex-grow: 1;
}

.grid-auto-col {
  --grid-fit-min: 250px;
  --grid-fit-max: 1fr;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-fit-min, 200px), var(--grid-fit-max, 1fr)));
  gap: var(--gap);
  justify-content: center;
}
@media screen and (min-width: 600px) {
  .grid-auto-col {
    grid-template-columns: repeat(auto-fit, minmax(var(--grid-fit-min, 250px), var(--grid-fit-max, 1fr)));
  }
}

.grid-auto-col[data-gap=large],
.grid-centered[data-gap=large],
.grid-flow[data-gap=large],
.grid-2-3[data-gap=large],
.grid-3-2[data-gap=large],
.grid-1-2-2[data-gap=large] {
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .grid-auto-col[data-order=inverted] > *:nth-child(1),
  .grid-centered[data-order=inverted] > *:nth-child(1),
  .grid-flow[data-order=inverted] > *:nth-child(1),
  .grid-2-3[data-order=inverted] > *:nth-child(1),
  .grid-3-2[data-order=inverted] > *:nth-child(1),
  .grid-1-2-2[data-order=inverted] > *:nth-child(1) {
    order: 4;
  }
  .grid-auto-col[data-order=inverted] > *:nth-child(2),
  .grid-centered[data-order=inverted] > *:nth-child(2),
  .grid-flow[data-order=inverted] > *:nth-child(2),
  .grid-2-3[data-order=inverted] > *:nth-child(2),
  .grid-3-2[data-order=inverted] > *:nth-child(2),
  .grid-1-2-2[data-order=inverted] > *:nth-child(2) {
    order: 3;
  }
  .grid-auto-col[data-order=inverted] > *:nth-child(3),
  .grid-centered[data-order=inverted] > *:nth-child(3),
  .grid-flow[data-order=inverted] > *:nth-child(3),
  .grid-2-3[data-order=inverted] > *:nth-child(3),
  .grid-3-2[data-order=inverted] > *:nth-child(3),
  .grid-1-2-2[data-order=inverted] > *:nth-child(3) {
    order: 2;
  }
  .grid-auto-col[data-order=inverted] > *:nth-child(4),
  .grid-centered[data-order=inverted] > *:nth-child(4),
  .grid-flow[data-order=inverted] > *:nth-child(4),
  .grid-2-3[data-order=inverted] > *:nth-child(4),
  .grid-3-2[data-order=inverted] > *:nth-child(4),
  .grid-1-2-2[data-order=inverted] > *:nth-child(4) {
    order: 1;
  }
}
@media screen and (min-width: 1280px) {
  .grid-auto-col[data-gap=large],
  .grid-centered[data-gap=large],
  .grid-flow[data-gap=large],
  .grid-2-3[data-gap=large],
  .grid-3-2[data-gap=large],
  .grid-1-2-2[data-gap=large] {
    gap: 3rem;
  }
}

.grid-centered {
  display: grid;
  justify-content: center;
  align-content: center;
}

.grid-flow {
  display: grid;
  align-content: start;
  gap: 1rem;
}

.grid-2-3 {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: var(--gap, 1rem);
}
@media screen and (min-width: 768px) {
  .grid-2-3 {
    grid-template-columns: 2fr 3fr;
  }
}

.grid-3-2 {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: var(--gap, 1rem);
}
@media screen and (min-width: 768px) {
  .grid-3-2 {
    grid-template-columns: 3fr 2fr;
  }
}

.grid-1-2-2 {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: var(--gap, 1rem);
}
@media screen and (min-width: 768px) {
  .grid-1-2-2 {
    grid-template-columns: 1fr 2fr 2fr;
  }
}

.gallery {
  --grid-fit-min: 150px;
  --gap: 1rem;
}
@media screen and (min-width: 768px) {
  .gallery {
    --grid-fit-min: 200px;
    --gap: 1rem;
  }
}
.gallery img {
  margin-inline: auto;
}

.bg {
  background: var(--background);
}

.bg-style-01 {
  background-image: var(--bg-01);
  background-size: cover;
  background-position: top center;
  background-blend-mode: darken;
}

.bg-style-02 {
  background-color: var(--clr-neutral-200);
  background-image: var(--bg-01);
  background-size: cover;
  background-position: top center;
  background-blend-mode: darken;
}

.bg-style-03 {
  background: var(--background), var(--bg-03);
  background-size: cover;
  background-blend-mode: color;
  background-attachment: fixed;
}

.bg-style-04 {
  background-color: var(--clr-secondary-500);
  background-image: var(--bg-01);
  background-size: cover;
  background-position: top center;
  background-blend-mode: darken;
}

.bg-light {
  --background: var(--clr-neutral-100);
}

.bg-gradient-light {
  --angle: 45deg;
  --background: linear-gradient(var(--angle),
          var(--clr-neutral-100),
          #efefef,
          #e3e3e3);
  --background: linear-gradient(var(--angle),
          var(--clr-neutral-100) 0%,
          var(--clr-neutral-100) 30%,
          var(--clr-neutral-200) 60%,
          var(--clr-neutral-300) 100%);
}
.bg-gradient-light[data-background=inverted] {
  --angle: 225deg;
}

.bg-gradient-light2 {
  --angle: 45deg;
  --background: linear-gradient(var(--angle),
          var(--clr-neutral-200),
          var(--clr-neutral-300),
          var(--clr-neutral-400));
}
.bg-gradient-light2[data-background=inverted] {
  --angle: 225deg;
}

.bg-gray {
  --background: var(--clr-neutral-200);
}
.bg-gray .layout-shape-divider-wrap svg {
  fill: var(--background);
}
.bg-gray .layout-shape-divider-wrap.layout-pos-bottom svg {
  fill: var(--clr-neutral-100);
}

.bg-light h1,
.bg-light h2,
.bg-light h3,
.bg-light h4,
.bg-light h5,
.bg-light h6,
.bg-gradient-light h1,
.bg-gradient-light h2,
.bg-gradient-light h3,
.bg-gradient-light h4,
.bg-gradient-light h5,
.bg-gradient-light h6 {
  fill: var(--clr-primary-500);
}

.bg-gradient-green {
  --angle: 45deg;
  --background: linear-gradient(var(--angle), #639e57, #5f9c2d, #147d19);
  --background: linear-gradient(var(--angle),
          var(--clr-secondary-500),
          var(--clr-secondary-700),
          var(--clr-primary-400));
  color: var(--clr-neutral-100);
  background: var(--bg-01), var(--background);
  background-size: cover;
  background-position: top center;
  background-blend-mode: multiply;
}
.bg-gradient-green p a {
  color: var(--clr-neutral-100);
}

.bg-gradient-blue {
  --angle: 45deg;
  --background: linear-gradient(45deg,
          var(--clr-primary-500),
          var(--clr-primary-400));
}
.bg-gradient-blue, .bg-gradient-blue a {
  color: var(--clr-neutral-100);
}

.bg-gradient-black {
  --angle: 45deg;
  --background: linear-gradient(var(--angle),
          hsl(110, 0%, 15%),
          hsl(93, 0%, 10%) 30%,
          hsl(142, 0%, 0%));
  color: var(--clr-neutral-100);
  fill: var(--clr-neutral-500);
}

.bg-gradient-purple {
  --angle: 45deg;
  --background: linear-gradient(var(--angle),
          var(--clr-primary-500),
          var(--clr-secondary-800));
  color: var(--clr-neutral-100);
  fill: var(--clr-neutral-500);
}

[data-background=inverted] {
  --angle: 225deg;
}

.overlay {
  color: var(--clr-neutral-100);
  position: relative;
  overflow: hidden;
}
.overlay > * {
  grid-area: -1/-1;
  grid-area: 1/1;
}
.overlay-70 {
  --angle: 45deg;
  --background: linear-gradient(var(--angle),
          oklch(from var(--clr-primary-100) / 0.7),
          oklch(from var(--clr-primary-100) / 0.7));
}
.overlay-70::before {
  background-image: var(--background);
  content: "";
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: -1;
}
.overlay > img {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  top: 50%;
  translate: 0 -50%;
  z-index: -2;
}

.diagonal {
  --skew: var(--skew-angle);
  position: relative;
  isolation: isolate;
}
.diagonal[data-background=inverted] {
  --skew: calc(var(--skew-angle) * -1);
}

.diagonal::after {
  content: "";
  background: var(--background);
  position: absolute;
  z-index: -1;
  inset: 0;
  transform: skewY(var(--skew));
}

.bg-grid {
  background: linear-gradient(-90deg, rgba(0, 0, 0, 0.05) 1px, transparent 1px), linear-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px), linear-gradient(-90deg, rgba(0, 0, 0, 0.04) 1px, transparent 1px), linear-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px), linear-gradient(transparent 3px, #f2f2f2 3px, #f2f2f2 78px, transparent 78px), linear-gradient(-90deg, #aaa 1px, transparent 1px), linear-gradient(-90deg, transparent 3px, #f2f2f2 3px, #f2f2f2 78px, transparent 78px), linear-gradient(#aaa 1px, transparent 1px), #f2f2f2 !important;
  background-size: 4px 4px, 4px 4px, 80px 80px, 80px 80px, 80px 80px, 80px 80px, 80px 80px, 80px 80px !important;
}

.title-underline {
  display: table;
  color: var(--clr-secondary-800);
  margin-inline: auto;
  letter-spacing: 2px;
  margin-block: calc(var(--fs-700) * 1);
  padding-bottom: 0.75rem;
  position: relative;
}
.title-underline::after {
  content: "";
  position: absolute;
  border-bottom: 5px solid var(--clr-primary-500);
  width: 40%;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}
.title-underline-lg {
  font-size: clamp(var(--fs-800), 4.5vw, var(--fs-900) * 1.5);
}

hr {
  border-color: hsl(from var(--clr-neutral-400) h s l/0.4);
}
hr.divider-vertical {
  height: 50px;
  border: none;
}
hr.divider-vertical::after {
  content: "";
  width: 3px;
  height: 50px;
  background: var(--clr-primary-500);
  position: absolute;
  left: 50%;
}

.layout-shape-divider-wrap {
  overflow: hidden;
  line-height: 0;
  position: absolute;
  width: 120%;
  right: 50%;
}
.layout-shape-divider-wrap svg {
  width: 125%;
  left: 50%;
  position: relative;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  fill: var(--bg-color-divider);
}
.hero .layout-shape-divider-wrap svg {
  height: 65px;
}
.layout-pos-bottom {
  bottom: -2px;
  -webkit-transform: translateX(50%);
  -ms-transform: translateX(50%);
  transform: translateX(50%);
}
.layout-pos-top {
  top: -2px;
  -webkit-transform: translateX(50%);
  -ms-transform: translateX(50%);
  transform: translateX(50%);
}
.layout-inverted {
  -webkit-transform: translateX(50%) rotate(180deg);
  -ms-transform: translateX(50%) rotate(180deg);
  transform: translateX(50%) rotate(180deg);
}

.border-radius-50 {
  border-radius: 50vw;
}

.d-block {
  display: block;
}

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

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

.d-initial {
  display: initial;
}

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

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

.bold {
  font-variation-settings: "wght" 600;
  font-weight: 600;
}

.pos-relative {
  position: relative;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-visible {
  overflow: visible;
}

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

.align-items-start {
  align-items: start;
}

.align-items-end {
  align-items: end;
}

.align-items-stretch {
  align-items: stretch;
}

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

.align-self-start {
  align-self: start;
}

.align-self-end {
  align-self: end;
}

.align-self-stretch {
  align-self: stretch;
}

.justify-center {
  justify-content: center;
  justify-items: center;
}

.justify-space-between {
  justify-content: space-between;
}

.justify-stretch {
  justify-content: stretch;
}

.justify-self-end {
  justify-self: end;
}

.no-wrap {
  flex-wrap: nowrap;
}

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

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

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

.margin-center {
  margin-inline: auto;
}

.w-100-forced {
  width: 100% !important;
}

.w-100 {
  max-width: 100% !important;
}

.w-200 {
  max-width: 200px;
}

.w-250 {
  max-width: 250px;
}

.w-300 {
  max-width: 300px;
}

.w-600 {
  max-width: 600px;
}

.w-800 {
  max-width: 800px;
}

.w-1000 {
  max-width: 1000px;
}

.w-1200 {
  max-width: 1280px;
}

.w-1400 {
  max-width: 100%;
  width: 1440px;
}

.w-1600 {
  max-width: 100%;
  width: 1680px;
}

.skew {
  transform: skewY(var(--skew));
}

.shadow-400 {
  box-shadow: var(--b-shadow-400);
}

.shadow-pseudo-400::before,
.shadow-pseudo-400::after {
  box-shadow: var(--b-shadow-400);
}

.prevnext ul {
  list-style: none;
  display: flex;
  justify-content: space-between;
  padding: 0;
}

ul.timeline {
  list-style: none;
}
ul.timeline li {
  position: relative;
  margin: 0;
  padding-bottom: 1rem;
  padding-left: 2rem;
  line-height: 1.6;
  min-height: 5rem;
}
ul.timeline li:before {
  content: "";
  background-color: var(--clr-secondary-800);
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  width: 0.25rem;
}
ul.timeline li:after {
  content: "";
  position: absolute;
  width: 2rem;
  aspect-ratio: 1;
  background: white;
  border: 0.3rem solid var(--clr-secondary-800);
  border-radius: 50%;
  top: 0;
  left: -0.875rem;
}

.timeline {
  counter-reset: timeline-count;
  list-style: none;
  margin-left: 11rem;
}
@media screen and (max-width: 768px) {
  .timeline {
    margin-left: 4rem;
  }
}
.timeline .timeline-item {
  counter-increment: timeline-count;
  display: grid;
  grid-template-columns: 3fr 4fr;
  gap: 2rem;
  align-items: center;
  position: relative;
}
.timeline .timeline-item::before {
  content: "";
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  left: -6rem;
  top: 50%;
  height: 100%;
  width: 2px;
  background-color: var(--clr-neutral-600);
}
.timeline .timeline-item:last-of-type::before {
  content: none;
}
.timeline .timeline-item::after {
  content: counter(timeline-count, decimal-leading-zero);
  background-color: var(--clr-secondary-800);
  color: var(--clr-secondary-200);
  font-size: var(--fs-600);
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: -8rem;
  top: 50%;
  height: 4.5rem;
  width: 4.5rem;
  border-radius: 50%;
  outline: 1rem solid var(--clr-secondary-900);
  transform: translateY(-50%);
}
.timeline .timeline-item:first-of-type::after {
  background-color: var(--clr-secondary-200);
  color: var(--clr-neutral-900);
}
@media screen and (max-width: 768px) {
  .timeline .timeline-item {
    grid-template-columns: 1fr;
  }
  .timeline .timeline-item::before {
    left: -2.25rem;
  }
  .timeline .timeline-item::after {
    font-size: var(--fs-500);
    left: -3.25rem;
    top: 50%;
    height: 2.5rem;
    width: 2.5rem;
    outline: 0.75rem solid var(--clr-secondary-900);
  }
}

.people-single {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}
@media (width > 768px) {
  .people-single {
    grid-template-columns: max-content auto;
  }
  .people-single.reverse {
    grid-template-columns: auto max-content;
  }
  .people-single.reverse > img {
    order: 1;
  }
  .people-single.reverse > div {
    order: 0;
  }
}
.people-single p {
  max-width: 100%;
}

.page h1 {
  text-align: center;
}
.page {
  margin-inline: auto;
}
.page .home {
  margin-top: 56px;
}
.page.container, .page.single {
  padding-top: var(--header-height) !important;
}
.page.single {
  max-width: 100ch;
}
.page.single .details {
  padding: 1rem;
}
.page.single .content > * + * {
  margin-top: var(--flow-spacer, 1em);
}

.social {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.social a {
  --background: hsl(from var(--clr-neutral-300) h s l / 50%);
  display: inline-flex;
  min-height: 2.5rem;
  min-width: 2.5rem;
  background-color: var(--background);
  border-radius: 100px;
}
.social a svg {
  fill: var(--clr-neutral-900);
  max-height: 1.5rem;
  margin: auto;
}
.social a:hover {
  --background: oklch(from var(--clr-secondary-100) / 100%);
  background-color: var(--background);
}

section {
  background: var(--background);
  overflow: hidden;
}
section h2 {
  font-size: var(--fs-700);
  max-width: 38ch;
}
section .image {
  isolation: isolate;
  position: relative;
  margin-block: var(--padding-200);
  width: fit-content;
}
section .image img {
  background-size: cover;
}
section .image:before {
  content: "";
  left: 0;
  top: 0;
  height: calc(100% - 15px);
  width: calc(100% - 50px);
  width: calc(100% - 15px);
  opacity: 1;
  border: 5px dotted var(--clr-neutral-500);
  position: absolute;
  z-index: -1;
  transition: 0.5s 0.05s;
  transform: translateY(-1.5rem) translateX(-1.5rem);
}
section [data-order=inverted] .image:before {
  transform: translateY(-1.5rem) translateX(calc(1.5rem + 15px));
}
@media screen and (min-width: 768px) {
  section .image {
    margin-block: var(--padding-300);
  }
  section .image:before {
    transform: translateY(-1.95rem) translateX(-1.95rem);
  }
  section [data-order=inverted] .image:before {
    transform: translateY(-1.95rem) translateX(calc(1.95rem + 15px));
  }
}

.home-about {
  background: var(--background);
  position: relative;
  margin-top: -50px;
}
@media screen and (min-width: 768px) {
  .home-about {
    margin-top: -120px;
    padding: 0px 0px 100px 0px;
    padding-bottom: 120px;
  }
}
.home-about > .home-about-message {
  background-color: var(--clr-secondary-500);
  display: grid;
}
.home-about > .home-about-message, .home-about > .home-about-message h2 {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .home-about > .home-about-message, .home-about > .home-about-message h2 {
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .home-about > .home-about-message {
    grid-template-columns: 4fr 5fr;
    gap: 0;
  }
  .home-about > .home-about-message::before {
    content: "";
    background-image: var(--home-about-bg);
    background-color: var(--clr-secondary-500);
    background-repeat: no-repeat;
    background-position: top center;
    background-position: bottom center;
    background-blend-mode: darken;
    position: absolute;
    display: block;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin-top: 60px;
    overflow: hidden;
    z-index: -2;
    transition: border-color 300ms, border-width 100ms;
    -moz-transition: border-color 300ms, border-width 100ms;
    -o-transition: border-color 300ms, border-width 100ms;
    -webkit-transition: border-color 300ms, border-width 100ms;
  }
}

.floating-section {
  color: var(--clr-neutral-100);
}
.floating-section-title {
  --background: oklch(from var(--clr-secondary-600) / 0.5);
  --background: oklch(from var(--clr-secondary-500) / 1);
  padding: 2rem 1rem;
  border: 4px solid var(--clr-neutral-100);
  background-color: var(--background);
  font-size: var(--fs-400);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .floating-section-title {
    padding: 2rem 3rem;
  }
}
.floating-section h2 span {
  display: block;
  text-align: center;
  font-family: var(--p-font);
  margin-top: var(--fs-500);
}

[class*=-single] p {
  overflow-wrap: anywhere;
}

/* ==================
   TEXT
   ================== */
.screen-reader-text {
  position: absolute;
  top: -9999px;
  left: -9999px;
}

/* === FONT SIZES GENERATORS === */
h1 {
  font-family: var(--h-font);
  font-size: var(--fs-800);
}

h1, h1.h1 {
  line-height: calc(var(--fs-800) * 1.4);
}

h2 {
  font-family: var(--h-font);
  font-size: var(--fs-700);
}

h2, h2.h2 {
  line-height: calc(var(--fs-700) * 1.4);
}

h3 {
  font-family: var(--h-font);
  font-size: var(--fs-600);
}

h3, h3.h3 {
  line-height: calc(var(--fs-600) * 1.4);
}

h4 {
  font-family: var(--h-font);
  font-size: var(--fs-500);
}

h4, h4.h4 {
  line-height: calc(var(--fs-500) * 1.4);
}

h5 {
  font-family: var(--h-font);
  font-size: var(--fs-400);
}

h5, h5.h5 {
  line-height: calc(var(--fs-400) * 1.4);
}

h6 {
  font-family: var(--h-font);
  font-size: var(--fs-300);
}

h6, h6.h6 {
  line-height: calc(var(--fs-300) * 1.4);
}

h1,
.h1 {
  font-family: var(--h-font);
  letter-spacing: -0.045em;
  font-size: var(--fs-800);
  line-height: 100%;
}

.p1 {
  font-size: var(--fs-800);
  line-height: calc(var(--fs-800) * 1.4);
}

h2,
.h2 {
  font-family: var(--h-font);
  letter-spacing: -0.04em;
  font-size: var(--fs-700);
  line-height: 105%;
}

.p2 {
  font-size: var(--fs-700);
  line-height: calc(var(--fs-700) * 1.4);
}

h3,
.h3 {
  font-family: var(--h-font);
  letter-spacing: -0.035em;
  font-size: var(--fs-600);
  line-height: 110%;
}

.p3 {
  font-size: var(--fs-600);
  line-height: calc(var(--fs-600) * 1.4);
}

h4,
.h4 {
  font-family: var(--h-font);
  letter-spacing: -0.03em;
  font-size: var(--fs-500);
  line-height: 115%;
}

.p4 {
  font-size: var(--fs-500);
  line-height: calc(var(--fs-500) * 1.4);
}

h5,
.h5 {
  font-family: var(--h-font);
  letter-spacing: -0.025em;
  font-size: var(--fs-400);
  line-height: 120%;
}

.p5 {
  font-size: var(--fs-400);
  line-height: calc(var(--fs-400) * 1.4);
}

h6,
.h6 {
  font-family: var(--h-font);
  letter-spacing: -0.02em;
  font-size: var(--fs-300);
  line-height: 125%;
}

.p6 {
  font-size: var(--fs-300);
  line-height: calc(var(--fs-300) * 1.4);
}

.h7 {
  font-family: var(--h-font);
  letter-spacing: -0.015em;
  font-size: var(--fs-200);
  line-height: 130%;
}

.p7 {
  font-size: var(--fs-200);
  line-height: calc(var(--fs-200) * 1.4);
}

.h8 {
  font-family: var(--h-font);
  letter-spacing: -0.01em;
  font-size: var(--fs-100);
  line-height: 135%;
}

.p8 {
  font-size: var(--fs-100);
  line-height: calc(var(--fs-100) * 1.4);
}

.h9 {
  font-family: var(--h-font);
  letter-spacing: -0.005em;
  font-size: var(--fs-0);
  line-height: 140%;
}

.p9 {
  font-size: var(--fs-0);
  line-height: calc(var(--fs-0) * 1.4);
}

/* === FONT WEIGHT GENERATOR === */
.fw-100 {
  font-weight: 100;
}

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

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

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

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

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

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

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

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

.text-xs {
  font-size: 0.75rem; /* 12px */
  line-height: var(--fs-200); /* 16px */
}

.text-sm {
  font-size: var(--fs-100); /* 14px */
  line-height: var(--fs-400); /* 20px */
}

.text-base {
  font-size: var(--fs-200); /* 16px */
  line-height: var(--fs-500); /* 24px */
}

.text-lg {
  font-size: var(--fs-300); /* 18px */
  line-height: 1.75rem; /* 28px */
}

.text-xl {
  font-size: var(--fs-400); /* 20px */
  line-height: 1.75rem; /* 28px */
}

.text-2xl {
  font-size: var(--fs-500); /* 24px */
  line-height: 2rem; /* 32px */
}

.text-3xl {
  font-size: var(--fs-600); /* 30px */
  line-height: var(--fs-700); /* 36px */
}

.text-4xl {
  font-size: var(--fs-700); /* 36px */
  line-height: 2.5rem; /* 40px */
}

.text-5xl {
  font-size: var(--fs-800); /* 48px */
  line-height: 1;
}

.text-6xl {
  font-size: 3.75rem; /* 60px */
  line-height: 1;
}

.text-7xl {
  font-size: 4.5rem; /* 72px */
  line-height: 1;
}

.text-8xl {
  font-size: 6rem; /* 96px */
  line-height: 1;
}

.text-9xl {
  font-size: 8rem; /* 128px */
  line-height: 1;
}

/* === TEXT STYLES === */
.caps {
  text-transform: uppercase;
}

/* ==================
   COLORS
   ================== */
.clr-primary-100 {
  color: var(--clr-primary-100);
  fill: var(--clr-primary-100);
}

.fill-clr-primary-100 {
  fill: var(--clr-primary-100);
}

.bg-primary-100 {
  background-color: var(--clr-primary-100);
}

.--bg-primary-100 {
  --background: var(--clr-primary-100);
}

.clr-primary-200 {
  color: var(--clr-primary-200);
  fill: var(--clr-primary-200);
}

.fill-clr-primary-200 {
  fill: var(--clr-primary-200);
}

.bg-primary-200 {
  background-color: var(--clr-primary-200);
}

.--bg-primary-200 {
  --background: var(--clr-primary-200);
}

.clr-primary-300 {
  color: var(--clr-primary-300);
  fill: var(--clr-primary-300);
}

.fill-clr-primary-300 {
  fill: var(--clr-primary-300);
}

.bg-primary-300 {
  background-color: var(--clr-primary-300);
}

.--bg-primary-300 {
  --background: var(--clr-primary-300);
}

.clr-primary-400 {
  color: var(--clr-primary-400);
  fill: var(--clr-primary-400);
}

.fill-clr-primary-400 {
  fill: var(--clr-primary-400);
}

.bg-primary-400 {
  background-color: var(--clr-primary-400);
}

.--bg-primary-400 {
  --background: var(--clr-primary-400);
}

.clr-primary-500 {
  color: var(--clr-primary-500);
  fill: var(--clr-primary-500);
}

.fill-clr-primary-500 {
  fill: var(--clr-primary-500);
}

.bg-primary-500 {
  background-color: var(--clr-primary-500);
}

.--bg-primary-500 {
  --background: var(--clr-primary-500);
}

.clr-primary-600 {
  color: var(--clr-primary-600);
  fill: var(--clr-primary-600);
}

.fill-clr-primary-600 {
  fill: var(--clr-primary-600);
}

.bg-primary-600 {
  background-color: var(--clr-primary-600);
}

.--bg-primary-600 {
  --background: var(--clr-primary-600);
}

.clr-primary-700 {
  color: var(--clr-primary-700);
  fill: var(--clr-primary-700);
}

.fill-clr-primary-700 {
  fill: var(--clr-primary-700);
}

.bg-primary-700 {
  background-color: var(--clr-primary-700);
}

.--bg-primary-700 {
  --background: var(--clr-primary-700);
}

.clr-primary-800 {
  color: var(--clr-primary-800);
  fill: var(--clr-primary-800);
}

.fill-clr-primary-800 {
  fill: var(--clr-primary-800);
}

.bg-primary-800 {
  background-color: var(--clr-primary-800);
}

.--bg-primary-800 {
  --background: var(--clr-primary-800);
}

.clr-primary-900 {
  color: var(--clr-primary-900);
  fill: var(--clr-primary-900);
}

.fill-clr-primary-900 {
  fill: var(--clr-primary-900);
}

.bg-primary-900 {
  background-color: var(--clr-primary-900);
}

.--bg-primary-900 {
  --background: var(--clr-primary-900);
}

.clr-neutral-100 {
  color: var(--clr-neutral-100);
  fill: var(--clr-neutral-100);
}

.fill-clr-neutral-100 {
  fill: var(--clr-neutral-100);
}

.bg-neutral-100 {
  background-color: var(--clr-neutral-100);
}

.--bg-neutral-100 {
  --background: var(--clr-neutral-100);
}

.clr-neutral-200 {
  color: var(--clr-neutral-200);
  fill: var(--clr-neutral-200);
}

.fill-clr-neutral-200 {
  fill: var(--clr-neutral-200);
}

.bg-neutral-200 {
  background-color: var(--clr-neutral-200);
}

.--bg-neutral-200 {
  --background: var(--clr-neutral-200);
}

.clr-neutral-300 {
  color: var(--clr-neutral-300);
  fill: var(--clr-neutral-300);
}

.fill-clr-neutral-300 {
  fill: var(--clr-neutral-300);
}

.bg-neutral-300 {
  background-color: var(--clr-neutral-300);
}

.--bg-neutral-300 {
  --background: var(--clr-neutral-300);
}

.clr-neutral-400 {
  color: var(--clr-neutral-400);
  fill: var(--clr-neutral-400);
}

.fill-clr-neutral-400 {
  fill: var(--clr-neutral-400);
}

.bg-neutral-400 {
  background-color: var(--clr-neutral-400);
}

.--bg-neutral-400 {
  --background: var(--clr-neutral-400);
}

.clr-neutral-500 {
  color: var(--clr-neutral-500);
  fill: var(--clr-neutral-500);
}

.fill-clr-neutral-500 {
  fill: var(--clr-neutral-500);
}

.bg-neutral-500 {
  background-color: var(--clr-neutral-500);
}

.--bg-neutral-500 {
  --background: var(--clr-neutral-500);
}

.clr-neutral-600 {
  color: var(--clr-neutral-600);
  fill: var(--clr-neutral-600);
}

.fill-clr-neutral-600 {
  fill: var(--clr-neutral-600);
}

.bg-neutral-600 {
  background-color: var(--clr-neutral-600);
}

.--bg-neutral-600 {
  --background: var(--clr-neutral-600);
}

.clr-neutral-700 {
  color: var(--clr-neutral-700);
  fill: var(--clr-neutral-700);
}

.fill-clr-neutral-700 {
  fill: var(--clr-neutral-700);
}

.bg-neutral-700 {
  background-color: var(--clr-neutral-700);
}

.--bg-neutral-700 {
  --background: var(--clr-neutral-700);
}

.clr-neutral-800 {
  color: var(--clr-neutral-800);
  fill: var(--clr-neutral-800);
}

.fill-clr-neutral-800 {
  fill: var(--clr-neutral-800);
}

.bg-neutral-800 {
  background-color: var(--clr-neutral-800);
}

.--bg-neutral-800 {
  --background: var(--clr-neutral-800);
}

.clr-neutral-900 {
  color: var(--clr-neutral-900);
  fill: var(--clr-neutral-900);
}

.fill-clr-neutral-900 {
  fill: var(--clr-neutral-900);
}

.bg-neutral-900 {
  background-color: var(--clr-neutral-900);
}

.--bg-neutral-900 {
  --background: var(--clr-neutral-900);
}

.clr-secondary-100 {
  color: var(--clr-secondary-100);
  fill: var(--clr-secondary-100);
}

.fill-clr-secondary-100 {
  fill: var(--clr-secondary-100);
}

.bg-secondary-100 {
  background-color: var(--clr-secondary-100);
}

.--bg-secondary-100 {
  --background: var(--clr-secondary-100);
}

.clr-secondary-200 {
  color: var(--clr-secondary-200);
  fill: var(--clr-secondary-200);
}

.fill-clr-secondary-200 {
  fill: var(--clr-secondary-200);
}

.bg-secondary-200 {
  background-color: var(--clr-secondary-200);
}

.--bg-secondary-200 {
  --background: var(--clr-secondary-200);
}

.clr-secondary-300 {
  color: var(--clr-secondary-300);
  fill: var(--clr-secondary-300);
}

.fill-clr-secondary-300 {
  fill: var(--clr-secondary-300);
}

.bg-secondary-300 {
  background-color: var(--clr-secondary-300);
}

.--bg-secondary-300 {
  --background: var(--clr-secondary-300);
}

.clr-secondary-400 {
  color: var(--clr-secondary-400);
  fill: var(--clr-secondary-400);
}

.fill-clr-secondary-400 {
  fill: var(--clr-secondary-400);
}

.bg-secondary-400 {
  background-color: var(--clr-secondary-400);
}

.--bg-secondary-400 {
  --background: var(--clr-secondary-400);
}

.clr-secondary-500 {
  color: var(--clr-secondary-500);
  fill: var(--clr-secondary-500);
}

.fill-clr-secondary-500 {
  fill: var(--clr-secondary-500);
}

.bg-secondary-500 {
  background-color: var(--clr-secondary-500);
}

.--bg-secondary-500 {
  --background: var(--clr-secondary-500);
}

.clr-secondary-600 {
  color: var(--clr-secondary-600);
  fill: var(--clr-secondary-600);
}

.fill-clr-secondary-600 {
  fill: var(--clr-secondary-600);
}

.bg-secondary-600 {
  background-color: var(--clr-secondary-600);
}

.--bg-secondary-600 {
  --background: var(--clr-secondary-600);
}

.clr-secondary-700 {
  color: var(--clr-secondary-700);
  fill: var(--clr-secondary-700);
}

.fill-clr-secondary-700 {
  fill: var(--clr-secondary-700);
}

.bg-secondary-700 {
  background-color: var(--clr-secondary-700);
}

.--bg-secondary-700 {
  --background: var(--clr-secondary-700);
}

.clr-secondary-800 {
  color: var(--clr-secondary-800);
  fill: var(--clr-secondary-800);
}

.fill-clr-secondary-800 {
  fill: var(--clr-secondary-800);
}

.bg-secondary-800 {
  background-color: var(--clr-secondary-800);
}

.--bg-secondary-800 {
  --background: var(--clr-secondary-800);
}

.clr-secondary-900 {
  color: var(--clr-secondary-900);
  fill: var(--clr-secondary-900);
}

.fill-clr-secondary-900 {
  fill: var(--clr-secondary-900);
}

.bg-secondary-900 {
  background-color: var(--clr-secondary-900);
}

.--bg-secondary-900 {
  --background: var(--clr-secondary-900);
}

/* === OTHER BACKGROUNDS === */
.bg-dark-100 {
  --background: hsla(0, 0%, 0%, 0.1);
}

.bg-light-100 {
  --background: hsla(0, 0%, 100%, 0.1);
}

.bg-dark-200 {
  --background: hsla(0, 0%, 0%, 0.2);
}

.bg-light-200 {
  --background: hsla(0, 0%, 100%, 0.2);
}

.bg-dark-300 {
  --background: hsla(0, 0%, 0%, 0.3);
}

.bg-light-300 {
  --background: hsla(0, 0%, 100%, 0.3);
}

.bg-dark-400 {
  --background: hsla(0, 0%, 0%, 0.4);
}

.bg-light-400 {
  --background: hsla(0, 0%, 100%, 0.4);
}

.bg-dark-500 {
  --background: hsla(0, 0%, 0%, 0.5);
}

.bg-light-500 {
  --background: hsla(0, 0%, 100%, 0.5);
}

.bg-dark-600 {
  --background: hsla(0, 0%, 0%, 0.6);
}

.bg-light-600 {
  --background: hsla(0, 0%, 100%, 0.6);
}

.bg-dark-700 {
  --background: hsla(0, 0%, 0%, 0.7);
}

.bg-light-700 {
  --background: hsla(0, 0%, 100%, 0.7);
}

.bg-dark-800 {
  --background: hsla(0, 0%, 0%, 0.8);
}

.bg-light-800 {
  --background: hsla(0, 0%, 100%, 0.8);
}

.bg-dark-900 {
  --background: hsla(0, 0%, 0%, 0.9);
}

.bg-light-900 {
  --background: hsla(0, 0%, 100%, 0.9);
}

/* ==================
   SPACING GENERATORS 
   ================== */
/* === GAP === */
.gap-1 {
  gap: calc(var(--fs-100) * 1);
}

.gap-2 {
  gap: calc(var(--fs-200) * 1);
}

.gap-3 {
  gap: calc(var(--fs-300) * 1);
}

.gap-4 {
  gap: calc(var(--fs-400) * 1);
}

.gap-5 {
  gap: calc(var(--fs-500) * 1);
}

.gap-6 {
  gap: calc(var(--fs-600) * 1);
}

.gap-7 {
  gap: calc(var(--fs-700) * 1);
}

.gap-8 {
  gap: calc(var(--fs-800) * 1);
}

.gap-9 {
  gap: calc(var(--fs-900) * 1);
}

/* === SINGLE MARGINS AND PADDINGS === */
.m-0 {
  margin: 0rem !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-6 {
  margin: 4rem !important;
}

.m-7 {
  margin: 5rem !important;
}

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

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-6 {
  margin-top: 4rem !important;
}

.mt-7 {
  margin-top: 5rem !important;
}

.me-0 {
  margin-right: 0rem !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.5rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-6 {
  margin-right: 4rem !important;
}

.me-7 {
  margin-right: 5rem !important;
}

.mb-0 {
  margin-bottom: 0rem !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-6 {
  margin-bottom: 4rem !important;
}

.mb-7 {
  margin-bottom: 5rem !important;
}

.ms-0 {
  margin-left: 0rem !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.5rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-6 {
  margin-left: 4rem !important;
}

.ms-7 {
  margin-left: 5rem !important;
}

.mx-0 {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.mx-6 {
  margin-right: 4rem !important;
  margin-left: 4rem !important;
}

.mx-7 {
  margin-right: 5rem !important;
  margin-left: 5rem !important;
}

.my-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-6 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.my-7 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.p-0 {
  padding: 0rem !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.p-6 {
  padding: 4rem !important;
}

.p-7 {
  padding: 5rem !important;
}

.pt-0 {
  padding-top: 0rem !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pt-6 {
  padding-top: 4rem !important;
}

.pt-7 {
  padding-top: 5rem !important;
}

.pe-0 {
  padding-right: 0rem !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 1rem !important;
}

.pe-4 {
  padding-right: 1.5rem !important;
}

.pe-5 {
  padding-right: 3rem !important;
}

.pe-6 {
  padding-right: 4rem !important;
}

.pe-7 {
  padding-right: 5rem !important;
}

.pb-0 {
  padding-bottom: 0rem !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.pb-6 {
  padding-bottom: 4rem !important;
}

.pb-7 {
  padding-bottom: 5rem !important;
}

.ps-0 {
  padding-left: 0rem !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 1rem !important;
}

.ps-4 {
  padding-left: 1.5rem !important;
}

.ps-5 {
  padding-left: 3rem !important;
}

.ps-6 {
  padding-left: 4rem !important;
}

.ps-7 {
  padding-left: 5rem !important;
}

.px-0 {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.px-6 {
  padding-right: 4rem !important;
  padding-left: 4rem !important;
}

.px-7 {
  padding-right: 5rem !important;
  padding-left: 5rem !important;
}

.py-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.py-6 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.py-7 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

@media screen and (max-width: 1024px) {
  .m-0 {
    margin: 0rem !important;
  }
  .m-1 {
    margin: 0.15rem !important;
  }
  .m-2 {
    margin: 0.35rem !important;
  }
  .m-3 {
    margin: 0.75rem !important;
  }
  .m-4 {
    margin: 1rem !important;
  }
  .m-5 {
    margin: 1.5rem !important;
  }
  .m-6 {
    margin: 2rem !important;
  }
  .m-7 {
    margin: 3rem !important;
  }
  .mt-0 {
    margin-top: 0rem !important;
  }
  .mt-1 {
    margin-top: 0.15rem !important;
  }
  .mt-2 {
    margin-top: 0.35rem !important;
  }
  .mt-3 {
    margin-top: 0.75rem !important;
  }
  .mt-4 {
    margin-top: 1rem !important;
  }
  .mt-5 {
    margin-top: 1.5rem !important;
  }
  .mt-6 {
    margin-top: 2rem !important;
  }
  .mt-7 {
    margin-top: 3rem !important;
  }
  .me-0 {
    margin-right: 0rem !important;
  }
  .me-1 {
    margin-right: 0.15rem !important;
  }
  .me-2 {
    margin-right: 0.35rem !important;
  }
  .me-3 {
    margin-right: 0.75rem !important;
  }
  .me-4 {
    margin-right: 1rem !important;
  }
  .me-5 {
    margin-right: 1.5rem !important;
  }
  .me-6 {
    margin-right: 2rem !important;
  }
  .me-7 {
    margin-right: 3rem !important;
  }
  .mb-0 {
    margin-bottom: 0rem !important;
  }
  .mb-1 {
    margin-bottom: 0.15rem !important;
  }
  .mb-2 {
    margin-bottom: 0.35rem !important;
  }
  .mb-3 {
    margin-bottom: 0.75rem !important;
  }
  .mb-4 {
    margin-bottom: 1rem !important;
  }
  .mb-5 {
    margin-bottom: 1.5rem !important;
  }
  .mb-6 {
    margin-bottom: 2rem !important;
  }
  .mb-7 {
    margin-bottom: 3rem !important;
  }
  .ms-0 {
    margin-left: 0rem !important;
  }
  .ms-1 {
    margin-left: 0.15rem !important;
  }
  .ms-2 {
    margin-left: 0.35rem !important;
  }
  .ms-3 {
    margin-left: 0.75rem !important;
  }
  .ms-4 {
    margin-left: 1rem !important;
  }
  .ms-5 {
    margin-left: 1.5rem !important;
  }
  .ms-6 {
    margin-left: 2rem !important;
  }
  .ms-7 {
    margin-left: 3rem !important;
  }
  .mx-0 {
    margin-right: 0rem !important;
    margin-left: 0rem !important;
  }
  .mx-1 {
    margin-right: 0.15rem !important;
    margin-left: 0.15rem !important;
  }
  .mx-2 {
    margin-right: 0.35rem !important;
    margin-left: 0.35rem !important;
  }
  .mx-3 {
    margin-right: 0.75rem !important;
    margin-left: 0.75rem !important;
  }
  .mx-4 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-5 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-6 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .mx-7 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .my-0 {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
  .my-1 {
    margin-top: 0.15rem !important;
    margin-bottom: 0.15rem !important;
  }
  .my-2 {
    margin-top: 0.35rem !important;
    margin-bottom: 0.35rem !important;
  }
  .my-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  .my-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-5 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-6 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .my-7 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .p-0 {
    padding: 0rem !important;
  }
  .p-1 {
    padding: 0.15rem !important;
  }
  .p-2 {
    padding: 0.35rem !important;
  }
  .p-3 {
    padding: 0.75rem !important;
  }
  .p-4 {
    padding: 1rem !important;
  }
  .p-5 {
    padding: 1.5rem !important;
  }
  .p-6 {
    padding: 2rem !important;
  }
  .p-7 {
    padding: 3rem !important;
  }
  .pt-0 {
    padding-top: 0rem !important;
  }
  .pt-1 {
    padding-top: 0.15rem !important;
  }
  .pt-2 {
    padding-top: 0.35rem !important;
  }
  .pt-3 {
    padding-top: 0.75rem !important;
  }
  .pt-4 {
    padding-top: 1rem !important;
  }
  .pt-5 {
    padding-top: 1.5rem !important;
  }
  .pt-6 {
    padding-top: 2rem !important;
  }
  .pt-7 {
    padding-top: 3rem !important;
  }
  .pe-0 {
    padding-right: 0rem !important;
  }
  .pe-1 {
    padding-right: 0.15rem !important;
  }
  .pe-2 {
    padding-right: 0.35rem !important;
  }
  .pe-3 {
    padding-right: 0.75rem !important;
  }
  .pe-4 {
    padding-right: 1rem !important;
  }
  .pe-5 {
    padding-right: 1.5rem !important;
  }
  .pe-6 {
    padding-right: 2rem !important;
  }
  .pe-7 {
    padding-right: 3rem !important;
  }
  .pb-0 {
    padding-bottom: 0rem !important;
  }
  .pb-1 {
    padding-bottom: 0.15rem !important;
  }
  .pb-2 {
    padding-bottom: 0.35rem !important;
  }
  .pb-3 {
    padding-bottom: 0.75rem !important;
  }
  .pb-4 {
    padding-bottom: 1rem !important;
  }
  .pb-5 {
    padding-bottom: 1.5rem !important;
  }
  .pb-6 {
    padding-bottom: 2rem !important;
  }
  .pb-7 {
    padding-bottom: 3rem !important;
  }
  .ps-0 {
    padding-left: 0rem !important;
  }
  .ps-1 {
    padding-left: 0.15rem !important;
  }
  .ps-2 {
    padding-left: 0.35rem !important;
  }
  .ps-3 {
    padding-left: 0.75rem !important;
  }
  .ps-4 {
    padding-left: 1rem !important;
  }
  .ps-5 {
    padding-left: 1.5rem !important;
  }
  .ps-6 {
    padding-left: 2rem !important;
  }
  .ps-7 {
    padding-left: 3rem !important;
  }
  .px-0 {
    padding-right: 0rem !important;
    padding-left: 0rem !important;
  }
  .px-1 {
    padding-right: 0.15rem !important;
    padding-left: 0.15rem !important;
  }
  .px-2 {
    padding-right: 0.35rem !important;
    padding-left: 0.35rem !important;
  }
  .px-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }
  .px-4 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-5 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-6 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .px-7 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-0 {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
  .py-1 {
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
  }
  .py-2 {
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
  }
  .py-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  .py-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-6 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .py-7 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}
/* === NEGATIVE MARGINS === */
.m-n1 {
  margin: -0.25rem !important;
}

.m-n2 {
  margin: -0.5rem !important;
}

.m-n3 {
  margin: -1rem !important;
}

.m-n4 {
  margin: -1.5rem !important;
}

.m-n5 {
  margin: -3rem !important;
}

.m-n6 {
  margin: -4rem !important;
}

.m-n7 {
  margin: -5rem !important;
}

.mt-n1 {
  margin-top: -0.25rem !important;
}

.mt-n2 {
  margin-top: -0.5rem !important;
}

.mt-n3 {
  margin-top: -1rem !important;
}

.mt-n4 {
  margin-top: -1.5rem !important;
}

.mt-n5 {
  margin-top: -3rem !important;
}

.mt-n6 {
  margin-top: -4rem !important;
}

.mt-n7 {
  margin-top: -5rem !important;
}

.me-n1 {
  margin-right: -0.25rem !important;
}

.me-n2 {
  margin-right: -0.5rem !important;
}

.me-n3 {
  margin-right: -1rem !important;
}

.me-n4 {
  margin-right: -1.5rem !important;
}

.me-n5 {
  margin-right: -3rem !important;
}

.me-n6 {
  margin-right: -4rem !important;
}

.me-n7 {
  margin-right: -5rem !important;
}

.mb-n1 {
  margin-bottom: -0.25rem !important;
}

.mb-n2 {
  margin-bottom: -0.5rem !important;
}

.mb-n3 {
  margin-bottom: -1rem !important;
}

.mb-n4 {
  margin-bottom: -1.5rem !important;
}

.mb-n5 {
  margin-bottom: -3rem !important;
}

.mb-n6 {
  margin-bottom: -4rem !important;
}

.mb-n7 {
  margin-bottom: -5rem !important;
}

.ms-n1 {
  margin-left: -0.25rem !important;
}

.ms-n2 {
  margin-left: -0.5rem !important;
}

.ms-n3 {
  margin-left: -1rem !important;
}

.ms-n4 {
  margin-left: -1.5rem !important;
}

.ms-n5 {
  margin-left: -3rem !important;
}

.ms-n6 {
  margin-left: -4rem !important;
}

.ms-n7 {
  margin-left: -5rem !important;
}

.mx-n1 {
  margin-right: -0.25rem !important;
  margin-left: -0.25rem !important;
}

.mx-n2 {
  margin-right: -0.5rem !important;
  margin-left: -0.5rem !important;
}

.mx-n3 {
  margin-right: -1rem !important;
  margin-left: -1rem !important;
}

.mx-n4 {
  margin-right: -1.5rem !important;
  margin-left: -1.5rem !important;
}

.mx-n5 {
  margin-right: -3rem !important;
  margin-left: -3rem !important;
}

.mx-n6 {
  margin-right: -4rem !important;
  margin-left: -4rem !important;
}

.mx-n7 {
  margin-right: -5rem !important;
  margin-left: -5rem !important;
}

.my-n1 {
  margin-top: -0.25rem !important;
  margin-bottom: -0.25rem !important;
}

.my-n2 {
  margin-top: -0.5rem !important;
  margin-bottom: -0.5rem !important;
}

.my-n3 {
  margin-top: -1rem !important;
  margin-bottom: -1rem !important;
}

.my-n4 {
  margin-top: -1.5rem !important;
  margin-bottom: -1.5rem !important;
}

.my-n5 {
  margin-top: -3rem !important;
  margin-bottom: -3rem !important;
}

.my-n6 {
  margin-top: -4rem !important;
  margin-bottom: -4rem !important;
}

.my-n7 {
  margin-top: -5rem !important;
  margin-bottom: -5rem !important;
}

@media screen and (max-width: 1024px) {
  .m-n1 {
    margin: -0.15rem !important;
  }
  .m-n2 {
    margin: -0.35rem !important;
  }
  .m-n3 {
    margin: -0.75rem !important;
  }
  .m-n4 {
    margin: -1rem !important;
  }
  .m-n5 {
    margin: -1.5rem !important;
  }
  .m-n6 {
    margin: -2rem !important;
  }
  .m-n7 {
    margin: -3rem !important;
  }
  .mt-n1 {
    margin-top: -0.15rem !important;
  }
  .mt-n2 {
    margin-top: -0.35rem !important;
  }
  .mt-n3 {
    margin-top: -0.75rem !important;
  }
  .mt-n4 {
    margin-top: -1rem !important;
  }
  .mt-n5 {
    margin-top: -1.5rem !important;
  }
  .mt-n6 {
    margin-top: -2rem !important;
  }
  .mt-n7 {
    margin-top: -3rem !important;
  }
  .me-n1 {
    margin-right: -0.15rem !important;
  }
  .me-n2 {
    margin-right: -0.35rem !important;
  }
  .me-n3 {
    margin-right: -0.75rem !important;
  }
  .me-n4 {
    margin-right: -1rem !important;
  }
  .me-n5 {
    margin-right: -1.5rem !important;
  }
  .me-n6 {
    margin-right: -2rem !important;
  }
  .me-n7 {
    margin-right: -3rem !important;
  }
  .mb-n1 {
    margin-bottom: -0.15rem !important;
  }
  .mb-n2 {
    margin-bottom: -0.35rem !important;
  }
  .mb-n3 {
    margin-bottom: -0.75rem !important;
  }
  .mb-n4 {
    margin-bottom: -1rem !important;
  }
  .mb-n5 {
    margin-bottom: -1.5rem !important;
  }
  .mb-n6 {
    margin-bottom: -2rem !important;
  }
  .mb-n7 {
    margin-bottom: -3rem !important;
  }
  .ms-n1 {
    margin-left: -0.15rem !important;
  }
  .ms-n2 {
    margin-left: -0.35rem !important;
  }
  .ms-n3 {
    margin-left: -0.75rem !important;
  }
  .ms-n4 {
    margin-left: -1rem !important;
  }
  .ms-n5 {
    margin-left: -1.5rem !important;
  }
  .ms-n6 {
    margin-left: -2rem !important;
  }
  .ms-n7 {
    margin-left: -3rem !important;
  }
  .mx-n1 {
    margin-right: -0.15rem !important;
    margin-left: -0.15rem !important;
  }
  .mx-n2 {
    margin-right: -0.35rem !important;
    margin-left: -0.35rem !important;
  }
  .mx-n3 {
    margin-right: -0.75rem !important;
    margin-left: -0.75rem !important;
  }
  .mx-n4 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-n5 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-n6 {
    margin-right: -2rem !important;
    margin-left: -2rem !important;
  }
  .mx-n7 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .my-n1 {
    margin-top: -0.15rem !important;
    margin-bottom: -0.15rem !important;
  }
  .my-n2 {
    margin-top: -0.35rem !important;
    margin-bottom: -0.35rem !important;
  }
  .my-n3 {
    margin-top: -0.75rem !important;
    margin-bottom: -0.75rem !important;
  }
  .my-n4 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-n5 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-n6 {
    margin-top: -2rem !important;
    margin-bottom: -2rem !important;
  }
  .my-n7 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
}
/* === AUTO MARGINS === */
@media (width < 768px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
}
.m-auto {
  margin: auto !important;
}

.mx-auto,
.aligncenter {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

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

.me-auto {
  margin-right: auto !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-auto {
  margin-left: auto !important;
}

/* ==================
   TRANSFORMATIONS 
   ================== */
/* === TRANSLATES === */
/* === positive translate === */
.tr-0 {
  transform: translateX(0rem) !important;
}

.tr-1 {
  transform: translateX(0.25rem) !important;
}

.tr-2 {
  transform: translateX(0.5rem) !important;
}

.tr-3 {
  transform: translateX(1rem) !important;
}

.tr-4 {
  transform: translateX(1.5rem) !important;
}

.tr-5 {
  transform: translateX(3rem) !important;
}

.tr-6 {
  transform: translateX(4rem) !important;
}

.tr-7 {
  transform: translateX(5rem) !important;
}

.tb-0 {
  transform: translateY(0rem) !important;
}

.tb-1 {
  transform: translateY(0.25rem) !important;
}

.tb-2 {
  transform: translateY(0.5rem) !important;
}

.tb-3 {
  transform: translateY(1rem) !important;
}

.tb-4 {
  transform: translateY(1.5rem) !important;
}

.tb-5 {
  transform: translateY(3rem) !important;
}

.tb-6 {
  transform: translateY(4rem) !important;
}

.tb-7 {
  transform: translateY(5rem) !important;
}

@media screen and (max-width: 1024px) {
  .tr-0 {
    transform: translateX(0rem) !important;
  }
  .tr-1 {
    transform: translateX(0.15rem) !important;
  }
  .tr-2 {
    transform: translateX(0.25rem) !important;
  }
  .tr-3 {
    transform: translateX(0.5rem) !important;
  }
  .tr-4 {
    transform: translateX(0.75rem) !important;
  }
  .tr-5 {
    transform: translateX(1rem) !important;
  }
  .tr-6 {
    transform: translateX(1.5rem) !important;
  }
  .tr-7 {
    transform: translateX(2rem) !important;
  }
  .tb-0 {
    transform: translateY(0rem) !important;
  }
  .tb-1 {
    transform: translateY(0.15rem) !important;
  }
  .tb-2 {
    transform: translateY(0.25rem) !important;
  }
  .tb-3 {
    transform: translateY(0.5rem) !important;
  }
  .tb-4 {
    transform: translateY(0.75rem) !important;
  }
  .tb-5 {
    transform: translateY(1rem) !important;
  }
  .tb-6 {
    transform: translateY(1.5rem) !important;
  }
  .tb-7 {
    transform: translateY(2rem) !important;
  }
}
/* === negative translate === */
.tl-0 {
  transform: translateX(0rem) !important;
}

.tl-1 {
  transform: translateX(-0.25rem) !important;
}

.tl-2 {
  transform: translateX(-0.5rem) !important;
}

.tl-3 {
  transform: translateX(-1rem) !important;
}

.tl-4 {
  transform: translateX(-1.5rem) !important;
}

.tl-5 {
  transform: translateX(-3rem) !important;
}

.tl-6 {
  transform: translateX(-4rem) !important;
}

.tl-7 {
  transform: translateX(-5rem) !important;
}

.tt-0 {
  transform: translateY(0rem) !important;
}

.tt-1 {
  transform: translateY(-0.25rem) !important;
}

.tt-2 {
  transform: translateY(-0.5rem) !important;
}

.tt-3 {
  transform: translateY(-1rem) !important;
}

.tt-4 {
  transform: translateY(-1.5rem) !important;
}

.tt-5 {
  transform: translateY(-3rem) !important;
}

.tt-6 {
  transform: translateY(-4rem) !important;
}

.tt-7 {
  transform: translateY(-5rem) !important;
}

@media screen and (max-width: 1024px) {
  .tl-0 {
    transform: translateX(0rem) !important;
  }
  .tl-1 {
    transform: translateX(-0.15rem) !important;
  }
  .tl-2 {
    transform: translateX(-0.25rem) !important;
  }
  .tl-3 {
    transform: translateX(-0.5rem) !important;
  }
  .tl-4 {
    transform: translateX(-0.75rem) !important;
  }
  .tl-5 {
    transform: translateX(-1rem) !important;
  }
  .tl-6 {
    transform: translateX(-1.5rem) !important;
  }
  .tl-7 {
    transform: translateX(-2rem) !important;
  }
  .tt-0 {
    transform: translateY(0rem) !important;
  }
  .tt-1 {
    transform: translateY(-0.15rem) !important;
  }
  .tt-2 {
    transform: translateY(-0.25rem) !important;
  }
  .tt-3 {
    transform: translateY(-0.5rem) !important;
  }
  .tt-4 {
    transform: translateY(-0.75rem) !important;
  }
  .tt-5 {
    transform: translateY(-1rem) !important;
  }
  .tt-6 {
    transform: translateY(-1.5rem) !important;
  }
  .tt-7 {
    transform: translateY(-2rem) !important;
  }
}
/* ==================
   VISIBILITY
   ================== */
/* === OPACITY === */
.opacity-0 {
  opacity: 0;
}

.opacity-10 {
  opacity: 0.1;
}

.opacity-100 {
  opacity: 1;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-5 {
  opacity: 0.05;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-\[\.67\] {
  opacity: 0.67;
}

/* ==================
   EFFECTS 
   ================== */
/* === BLEND === */
.bg-blend-multiply {
  background-blend-mode: multiply;
}

.bg-blend-darken {
  background-blend-mode: darken;
}

.bg-blend-lighten {
  background-blend-mode: lighten;
}

.mix-blend-multiply {
  mix-blend-mode: multiply;
}

.mix-blend-overlay {
  mix-blend-mode: overlay;
}

/* ==================
   BORDERS AND SHADOWS 
   ================== */
/* === BORDER RADIUS === */
/* === FONT WEIGHT GENERATOR === */
.radius-0 {
  border-radius: 0rem !important;
}

.radius-1 {
  border-radius: 0.25rem !important;
}

.radius-2 {
  border-radius: 0.5rem !important;
}

.radius-3 {
  border-radius: 1rem !important;
}

.radius-4 {
  border-radius: 1.5rem !important;
}

.radius-5 {
  border-radius: 3rem !important;
}

.radius-6 {
  border-radius: 4rem !important;
}

.radius-7 {
  border-radius: 5rem !important;
}

/* === BOX SHADOW === */
.shadow {
  --tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
}

.shadow,
.shadow-2xl {
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);
}

.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px #00000040;
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
}

.shadow-\[0_2px_8px_rgba\(15\,23\,42\,0\.08\)\] {
  --tw-shadow: 0 2px 8px #0f172a14;
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);
}

.shadow-\[0_35px_60px_-15px_rgba\(0\,0\,0\,0\.3\)\] {
  --tw-shadow: 0 35px 60px -15px #0000004d;
  --tw-shadow-colored: 0 35px 60px -15px var(--tw-shadow-color);
}

.shadow-\[0_35px_60px_-15px_rgba\(0\,0\,0\,0\.3\)\],
.shadow-inner {
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);
}

.shadow-inner {
  --tw-shadow: inset 0 2px 4px 0 #0000000d;
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
}

.shadow-lg,
.shadow-md {
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);
}

.shadow-md {
  --tw-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
}

.shadow-none {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
}

.shadow-none,
.shadow-sm {
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);
}

.shadow-sm {
  --tw-shadow: 0 1px 2px 0 #0000000d;
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
}

.shadow-xl {
  --tw-shadow: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);
}

.blurb-list {
  list-style: none;
}
.blurb-list > * {
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center;
}
.blurb-list > * > * + * {
  margin-top: 1.5rem;
}
.blurb-list-side > * {
  display: flex;
  gap: var(--fs-300);
  align-items: center;
  text-align: left;
  text-wrap: wrap;
  overflow-wrap: anywhere;
}

.blurb-ladder {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
}
.blurb-ladder .blurb {
  display: grid;
  grid-column: span 3;
  grid-template-columns: subgrid;
  align-items: center;
}
.blurb-ladder .blurb:nth-of-type(even) {
  grid-column: 2/span 3;
}
.blurb-ladder .blurb .image {
  grid-column: 1;
  justify-self: center;
}
.blurb-ladder .blurb[data-order=inverted] .image {
  grid-column: -1;
}
.blurb-ladder .blurb[data-order=inverted] .content {
  grid-row: 1;
  text-align: right;
}
.blurb-ladder .blurb .content {
  grid-column: span 2;
}
@media screen and (max-width: 1024px) {
  .blurb-ladder {
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
  }
  .blurb-ladder .blurb {
    grid-column: span 4;
  }
  .blurb-ladder .blurb:nth-of-type(even) {
    grid-column: 2/span 4;
  }
  .blurb-ladder .blurb[data-order=inverted] .image {
    grid-column: -1;
  }
  .blurb-ladder .blurb[data-order=inverted] .content {
    grid-row: 1;
    text-align: right;
  }
  .blurb-ladder .blurb .content {
    grid-column: span 3;
  }
}

.cc-window.cc-banner .cc-btn {
  color: #161209;
}
.cc-window.cc-banner .cc-btn:hover, .cc-window.cc-banner .cc-btn:focus {
  background-color: #ccc;
}
[theme=dark] .cc-window.cc-banner .cc-btn {
  color: #161209;
}
[theme=dark] .cc-window.cc-banner .cc-btn:hover, [theme=dark] .cc-window.cc-banner .cc-btn:focus {
  background-color: #fff;
}

.timer {
  --background: var(--clr-primary-800);
  background: var(--background);
  overflow: visible;
  margin-bottom: calc(var(--padding-500) * -1);
  padding: 0.5rem;
}
@media screen and (min-width: 768px) {
  .timer {
    padding: 1rem;
  }
}

#timer, #timer-alt {
  color: var(--clr-primary-500);
  text-align: center;
  text-transform: uppercase;
  font-family: var(--p-font);
  font-size: var(--fs-500);
  margin: calc(var(--fs-500) * 0.5) auto;
  max-width: 320px;
  min-height: 142px;
  padding: 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(var(--fs-600) * 1.25);
  align-items: center;
  justify-items: center;
  position: relative;
  isolation: isolate;
}
@media screen and (min-width: 768px) {
  #timer, #timer-alt {
    max-width: 960px;
    grid-template-columns: repeat(4, 1fr);
    gap: calc(var(--fs-600) * 1.25);
    padding: 0 1.5rem;
  }
}

#timer-alt {
  grid-template-columns: 1fr;
  gap: calc(var(--fs-600) * 0.75);
  padding: 1.5rem;
  width: 100%;
  display: none;
}

.days, .hours, .minutes, .seconds {
  --multiple: 4;
  --size: calc(var(--fs-400) * var(--multiple));
  display: grid;
  align-content: center;
  justify-content: center;
  width: var(--size);
  height: var(--size);
  aspect-ratio: 1;
  padding: 0rem;
  border-radius: 50vw;
  position: relative;
  margin-top: -10px;
  margin-bottom: -10px;
}
.days::before, .hours::before, .minutes::before, .seconds::before {
  content: "";
  background-color: var(--clr-primary-700);
  position: absolute;
  top: 15%;
  left: 15%;
  width: 70%;
  height: 50%;
  z-index: -2;
  border-radius: 50% 0 50% 0;
}
@media screen and (min-width: 768px) {
  .days, .hours, .minutes, .seconds {
    --multiple: 5;
  }
}
.days .numbers, .hours .numbers, .minutes .numbers, .seconds .numbers {
  color: var(--clr-primary-100);
  font-size: calc(var(--fs-900) * 1.2);
  height: 1.5ch;
  line-height: 1.5ch;
  font-variation-settings: "wght" 900;
  text-align: center;
}
.days span, .hours span, .minutes span, .seconds span {
  letter-spacing: 5px;
}

.details .details-summary:hover {
  cursor: pointer;
}
.details i.details-icon {
  color: #a9a9b3;
  -webkit-transition: transform 0.2s ease;
  -moz-transition: transform 0.2s ease;
  -o-transition: transform 0.2s ease;
  transition: transform 0.2s ease;
}
[theme=dark] .details i.details-icon {
  color: #5d5d5f;
}
.details .details-content {
  max-height: 0;
  overflow-y: hidden;
  -webkit-transition: max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;
  -moz-transition: max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;
  -o-transition: max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;
  transition: max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;
}
.details.open i.details-icon {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}
.details.open .details-content {
  max-height: 10000px;
  -webkit-transition: max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;
  -moz-transition: max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;
  -o-transition: max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;
  transition: max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;
}

#fixed-buttons {
  display: none;
}

.fixed-button {
  display: none;
  z-index: 100;
  position: fixed;
  right: 1.5rem;
  font-size: 1rem;
  line-height: 1.3rem;
  padding: 0.6rem 0.6rem;
  color: var(--clr-neutral-400);
  background: var(--clr-primary-500);
  -webkit-border-radius: 2rem;
  -moz-border-radius: 2rem;
  border-radius: 2rem;
  -webkit-transition: color 0.4s ease;
  -moz-transition: color 0.4s ease;
  -o-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.blur .fixed-button {
  -webkit-filter: blur(1.5px);
  filter: blur(1.5px);
}
.fixed-button:hover, .fixed-button:active {
  color: #161209;
  cursor: pointer;
}
.fixed-button:active, .fixed-button:focus, .fixed-button:hover {
  outline: none;
}
[theme=dark] .fixed-button {
  color: #5d5d5f;
  background: #252627;
}
[theme=dark] .fixed-button:hover, [theme=dark] .fixed-button:active {
  color: #a9a9b3;
}

#back-to-top {
  display: block;
  bottom: 1.5rem;
}

#view-comments {
  bottom: 4.5rem;
}

@media screen and (min-width: 768px) {
  .col-auto {
    grid-column: auto;
  }
  .col-span-1 {
    grid-column: span 1/span 1;
  }
  .col-start-1 {
    grid-column-start: 1;
  }
  .col-start-1 {
    grid-column-start: 1;
  }
  .col-end-1 {
    grid-column-end: 1;
  }
  .col-span-2 {
    grid-column: span 2/span 2;
  }
  .col-start-2 {
    grid-column-start: 2;
  }
  .col-start-2 {
    grid-column-start: 2;
  }
  .col-end-2 {
    grid-column-end: 2;
  }
  .col-span-3 {
    grid-column: span 3/span 3;
  }
  .col-start-3 {
    grid-column-start: 3;
  }
  .col-start-3 {
    grid-column-start: 3;
  }
  .col-end-3 {
    grid-column-end: 3;
  }
  .col-span-4 {
    grid-column: span 4/span 4;
  }
  .col-start-4 {
    grid-column-start: 4;
  }
  .col-start-4 {
    grid-column-start: 4;
  }
  .col-end-4 {
    grid-column-end: 4;
  }
  .col-span-5 {
    grid-column: span 5/span 5;
  }
  .col-start-5 {
    grid-column-start: 5;
  }
  .col-start-5 {
    grid-column-start: 5;
  }
  .col-end-5 {
    grid-column-end: 5;
  }
  .col-span-6 {
    grid-column: span 6/span 6;
  }
  .col-start-6 {
    grid-column-start: 6;
  }
  .col-start-6 {
    grid-column-start: 6;
  }
  .col-end-6 {
    grid-column-end: 6;
  }
  .col-span-7 {
    grid-column: span 7/span 7;
  }
  .col-start-7 {
    grid-column-start: 7;
  }
  .col-start-7 {
    grid-column-start: 7;
  }
  .col-end-7 {
    grid-column-end: 7;
  }
  .col-span-8 {
    grid-column: span 8/span 8;
  }
  .col-start-8 {
    grid-column-start: 8;
  }
  .col-start-8 {
    grid-column-start: 8;
  }
  .col-end-8 {
    grid-column-end: 8;
  }
  .col-span-9 {
    grid-column: span 9/span 9;
  }
  .col-start-9 {
    grid-column-start: 9;
  }
  .col-start-9 {
    grid-column-start: 9;
  }
  .col-end-9 {
    grid-column-end: 9;
  }
  .col-span-10 {
    grid-column: span 10/span 10;
  }
  .col-start-10 {
    grid-column-start: 10;
  }
  .col-start-10 {
    grid-column-start: 10;
  }
  .col-end-10 {
    grid-column-end: 10;
  }
  .col-span-11 {
    grid-column: span 11/span 11;
  }
  .col-start-11 {
    grid-column-start: 11;
  }
  .col-start-11 {
    grid-column-start: 11;
  }
  .col-end-11 {
    grid-column-end: 11;
  }
  .col-span-12 {
    grid-column: span 12/span 12;
  }
  .col-start-12 {
    grid-column-start: 12;
  }
  .col-start-12 {
    grid-column-start: 12;
  }
  .col-end-12 {
    grid-column-end: 12;
  }
  .col-span-13 {
    grid-column: span 13/span 13;
  }
  .col-start-13 {
    grid-column-start: 13;
  }
  .col-start-13 {
    grid-column-start: 13;
  }
  .col-end-13 {
    grid-column-end: 13;
  }
  .col-span-full {
    grid-column: 1/-1;
  }
  .col-start-auto {
    grid-column-start: auto;
  }
  .col-end-auto {
    grid-column-end: auto;
  }
}
.hero {
  --background: var(--hero-bg);
  --bg-clr-2: var(--clr-secondary-300);
  --bg-clr-1: var(--clr-primary-100);
  --bggradient: linear-gradient(
      -75deg,
      hsla(var(--bg-clr-2), 0.05) 10%,
      hsla(var(--bg-clr-2), 0.25) 20%,
      hsla(var(--bg-clr-1), 0.7) 70%,
      hsla(var(--bg-clr-1), 0.6) 100%
  );
  background: var(--bggradient), var(--background);
  background-position: 90% 50%;
  background-repeat: unset;
  background-size: 180%;
  background-blend-mode: hard-light;
  background-blend-mode: multiply;
  color: var(--clr-neutral-100);
  font-size: var(--fs-400);
  padding: 7rem 0 3rem;
  position: relative;
  isolation: isolate;
  text-align: center;
}
.hero .hero-image img {
  min-width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-desc {
  display: none;
}
.hero-desc-mobile {
  display: block;
}
.hero .container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 1024px) {
  .hero .container {
    align-items: flex-start;
  }
}
.hero > div {
  z-index: 2;
}
.hero .logos-main {
  --grid-fit-min: 120px;
  display: flex;
  max-width: 85%;
  margin-inline: auto;
  justify-content: space-between;
  flex-flow: column;
  flex-wrap: wrap;
}
.hero .logos-sub {
  --grid-fit-min: 120px;
  display: flex;
  max-width: 50%;
  margin-inline: auto;
  justify-content: space-between;
  flex-flow: column;
  flex-wrap: wrap;
}
.hero .logos-sub img {
  max-height: 90px;
  filter: contrast(0) brightness(10);
}
.hero .layout-shape-divider-wrap {
  display: none;
}
@media screen and (min-width: 1024px) {
  .hero {
    padding: var(--header-height) 0 9rem;
    text-align: left;
    background-size: cover;
    background-position: 100% 40%;
  }
  .hero-desc {
    display: block;
  }
  .hero-desc-mobile {
    display: none;
  }
  .hero .layout-shape-divider-wrap {
    display: block;
  }
  .hero .layout-shape-divider-wrap svg {
    fill: var(--clr-secondary-500);
  }
  .hero .logos-main {
    max-width: 800px;
  }
  .hero .logos-sub {
    display: grid;
  }
}
.hero .date {
  --fs: var(--fs-600);
  font-size: var(--fs);
}

svg.icon {
  display: inline-block;
  max-height: 80px;
  text-align: center;
}
svg.icon.icon-xs {
  width: var(--fs-400);
  height: var(--fs-400);
}
svg.icon.icon-sm {
  width: var(--fs-500);
  height: var(--fs-500);
}
svg.icon.icon-md {
  width: var(--fs-600);
  height: var(--fs-600);
}
svg.icon.icon-lg {
  width: var(--fs-700);
  height: var(--fs-700);
}
svg.icon.icon-xl {
  width: var(--fs-900);
  height: var(--fs-900);
}
svg.icon.icon-xxl {
  width: calc(var(--fs-900) * 1.25);
  height: calc(var(--fs-900) * 1.25);
}
svg.icon path {
  fill: currentColor;
}

img.emoji {
  height: 1em;
  width: 1em;
  margin: 0 0.05em 0 0.1em;
  vertical-align: -0.1em;
}

img.lazyload, img.lazyloading {
  -o-object-fit: scale-down;
  object-fit: scale-down;
  font-family: "object-fit: scale-down;";
}
img.lazyloaded {
  -o-object-fit: contain;
  object-fit: contain;
  font-family: "object-fit: contain;";
}

#mask {
  background-repeat: no-repeat;
  background-position: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0);
}
.blur #mask {
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.25);
}

.modal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal.open {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
  z-index: 150;
}
.modal-bg {
  --background-color: hsl(from var(--clr-neutral-800) h s l / 0.65);
  content: "";
  position: absolute;
  background: teal;
  background: var(--background-color);
  width: 100%;
  height: 130%;
}
.modal-container {
  border-radius: 10px;
  background: #fff;
  position: relative;
  padding: 30px;
}
.modal-close {
  right: 15px;
  top: 15px;
  z-index: 152;
  position: fixed;
  /* right: 15px; */
  /* top: 15px; */
  margin: 1rem 1rem 0 auto;
  outline: none;
  appearance: none;
  background: none;
  border: 0px;
  font-weight: bold;
  padding: 0;
  width: auto;
  cursor: pointer;
}
.modal-close.open {
  display: block;
}
.modal-close svg.icon {
  width: calc(var(--fs-500) * 1.25);
  height: calc(var(--fs-500) * 1.25);
  fill: var(--clr-neutral-600);
}

.speaker-popup {
  visibility: visible;
  animation-name: fadeInUp;
  position: fixed;
  inset: 0;
  top: calc(var(--header-height) * 1.5);
  isolation: isolate;
  /* top: 0; */
  width: 95%;
  max-width: 1000px;
  /* min-height: 50vh; */
  margin-inline: auto;
  background: white;
  box-shadow: var(--b-shadow-400);
  z-index: 149;
  max-height: calc(90% - var(--header-height) * 1);
  height: fit-content;
  z-index: 151;
  overflow-y: auto;
}
.speaker-popup .d-none {
  display: block !important;
}
.speaker-popup.speaker-2 {
  font-size: var(--fs-350);
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
}
.speaker-popup.speaker-2 .inner-box {
  display: grid;
  grid-template-areas: "img" "info" "extend";
  gap: 3rem;
  padding: var(--fs-500);
}
.speaker-popup.speaker-2 .photo-box {
  grid-area: img;
  box-shadow: none;
}
.speaker-popup.speaker-2 .info-box {
  grid-area: info;
  padding: 0;
  box-shadow: none;
}
.speaker-popup.speaker-2 .info-extended {
  grid-area: extend;
  font-size: var(--fs-300);
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .speaker-popup.speaker-2 .inner-box {
    grid-template-columns: 1fr 2fr;
    grid-template-areas: "img extend" "info extend" "- extend";
    gap: 3rem;
    padding: var(--fs-700) var(--fs-700) var(--fs-700) var(--fs-300);
    padding: var(--fs-700);
  }
}

.pricing-table {
  --grid-fit-min: 350px;
  --grid-fit-max: 1fr;
}
.pricing-table_item {
  display: grid;
  gap: 2rem;
  border: 1rem solid rgba(0, 0, 0, 0);
  border-radius: 2.5rem;
  background: linear-gradient(45deg, var(--clr-neutral-100), var(--clr-neutral-200)) padding-box, linear-gradient(45deg, var(--clr-primary-400), var(--clr-secondary-700)) border-box;
  padding: 2.5rem 2rem;
  text-align: center;
}
.pricing-table_item ul {
  list-style: none;
}
.pricing-table_item .btn {
  align-self: end;
}

.schedule {
  --border-color: hsl(from var(--clr-neutral-500) h s l / 0.5);
}
.schedule.grid-auto-col {
  --grid-fit-min: 95%;
}
@media screen and (min-width: 768px) {
  .schedule.grid-auto-col {
    --grid-fit-min: 600px;
  }
}
.schedule-tab {
  color: var(--clr-neutral-700);
}
.schedule-tab-links {
  --grid-fit-min: 140px;
  --gap: 1.5rem;
}
.schedule-tab-link {
  color: var(--clr-neutral-700);
  background-color: var(--clr-secondary-300);
  padding: 0;
  margin: 0;
  text-align: center;
  border-radius: 5px;
  min-width: auto;
}
.schedule-tab-link.tab-active {
  background-color: var(--clr-secondary-700);
  color: var(--clr-neutral-100);
}
.schedule-tab-link > div {
  padding: var(--fs-100);
  border-radius: 5px;
}
.schedule-tab > ul.schedule-list {
  list-style: none;
  padding: 0;
  max-width: 1000px;
  margin-inline: auto;
}
.schedule-tab > ul.schedule-list li {
  --background-color: hsl(
      from var(--clr-neutral-100) h s l / 0.85
  );
  background: var(--background-color);
}
.schedule-tab > ul.schedule-list li:nth-of-type(even) {
  --background-color: hsla(
      var(--clr-neutral-200) h s l / 0.85
  );
}
.schedule-tab > ul.schedule-list li,
.schedule-tab > ul.schedule-list li.schedule-item {
  --flow-spacer: var(--fs-350);
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: var(--fs-400);
  padding: var(--flow-spacer, 1em);
  align-items: center;
}
.schedule-tab > ul.schedule-list li:not(:first-of-type),
.schedule-tab > ul.schedule-list li.schedule-item:not(:first-of-type) {
  padding-top: var(--flow-spacer, 1em);
  border-top: 2px dashed var(--border-color);
}
@media screen and (min-width: 768px) {
  .schedule-tab > ul.schedule-list li,
  .schedule-tab > ul.schedule-list li.schedule-item {
    grid-template-columns: minmax(13ch, 1fr) 6fr;
  }
  .schedule-tab > ul.schedule-list li.with-speaker,
  .schedule-tab > ul.schedule-list li.schedule-item.with-speaker {
    grid-template-columns: 180px 5fr minmax(auto, 330px);
  }
}
.schedule-tab > ul.schedule-list li.schedule-section,
.schedule-tab > ul.schedule-list li.schedule-item.schedule-section {
  --background-color: hsla(
      var(--clr-neutral-600) h s l / 0.5
  );
  color: var(--clr-neutral-100);
}
.schedule-tab > ul.schedule-list li.schedule-item .schedule-item__time {
  font-weight: bold;
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-self: center;
}
.schedule-tab > ul.schedule-list li.schedule-item.with-speaker .schedule-item__info {
  font-weight: bold;
}
.schedule-speaker {
  width: min(4rem, 14vw);
  flex-shrink: 0;
}
.schedule .schedule-speaker .schedule-thumbnail {
  max-width: 60px;
  overflow: hidden;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
}
.schedule-speaker__title {
  line-height: 1.2;
}
.speaker .photo-box {
  position: relative;
  padding: 1rem 0 0 1rem;
}
.speaker .photo-box .photo {
  position: relative;
  border: 5px solid var(--clr-neutral-100);
  -webkit-box-shadow: 0 14px 20px rgba(0, 0, 0, 0.2);
  box-shadow: 0 14px 20px rgba(0, 0, 0, 0.2);
  border-radius: 100%;
  overflow: hidden;
  margin-bottom: 0;
  max-width: 300px;
  max-height: 400px;
}
.speaker .photo-box .photo img {
  width: 100%;
  -webkit-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease;
}
.speaker .photo-box figure {
  margin: 0 0 1rem;
}
.speaker .inner-box:hover .photo-box:before {
  border: 3px solid #081245;
  border-color: #fdb900;
  opacity: 1;
}
.speaker .inner-box:hover .photo img {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
.speaker .inner-box:hover .social-links {
  -webkit-transform: scaleY(1);
  -ms-transform: scaleY(1);
  transform: scaleY(1);
  opacity: 1;
  visibility: visible;
}
.speaker .plus-icon {
  position: absolute;
  right: 25px;
  bottom: 20px;
  height: 50px;
  width: 50px;
  line-height: 50px;
  text-align: center;
  font-size: 20px;
  color: var(--clr-neutral-100);
  border-radius: 50%;
  background-color: #008f27;
  -webkit-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.speaker .social-links {
  position: absolute;
  right: 30px;
  bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: #008f27;
  border-radius: 50px;
  -webkit-transform: scaleY(0);
  -ms-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: bottom;
  -ms-transform-origin: bottom;
  transform-origin: bottom;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease;
}
.speaker .social-links a {
  position: relative;
  margin: 5px 0;
  height: 40px;
  width: 40px;
  display: block;
  font-size: 18px;
  line-height: 40px;
  text-align: center;
  border-radius: 50%;
  background-color: #008f27;
  color: var(--clr-neutral-100);
  -webkit-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.speaker .social-links a:hover {
  color: var(--clr-neutral-100);
  background-color: #004212;
}
.speaker .info-box {
  background: var(--clr-neutral-100);
  color: #292a2d;
  padding: 4rem 1.5rem 2rem;
  margin-top: -3rem;
  box-shadow: 0 -10px 20px -10px rgba(0, 0, 0, 0.2);
}
.speaker .info-box .company {
  color: var(--clr-secondary-700);
}

.speaker-2 {
  font-size: var(--fs-300);
  --grid-fit-min: 220px;
  --grid-fit-max: 320px;
}
.speaker-2 .inner-box {
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
}
.speaker-2 .photo-box {
  position: relative;
  padding: var(--fs-400) 0;
}
.speaker-2 .photo-box:before {
  position: absolute;
  left: 0;
  right: 1rem;
  top: 0;
  bottom: 1rem;
  border: 10px solid var(--clr-primary-300);
  border-style: double;
  border-radius: 50vw;
  content: "";
  margin: 0 auto 0;
  max-width: calc(var(--fs-300) * 12);
  max-height: calc(var(--fs-300) * 12);
  -webkit-transition: all 100ms linear;
  -o-transition: all 100ms linear;
  transition: all 100ms linear;
}
.speaker-2 .photo-box .photo {
  position: relative;
  border: 7px solid var(--clr-neutral-100);
  -webkit-box-shadow: 0 14px 20px rgba(0, 0, 0, 0.2);
  box-shadow: 0 14px 20px rgba(0, 0, 0, 0.2);
  border-radius: 50vw;
  overflow: hidden;
  margin: 0 auto 0;
  max-width: calc(var(--fs-300) * 11);
  max-height: calc(var(--fs-300) * 11);
}
.speaker-2 .photo-box .photo img {
  width: 100%;
  -webkit-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease;
}
.speaker-2 .photo-box figure {
  margin: 0 0 1rem;
}
.speaker-2 .inner-box:hover .photo-box:before {
  border: 3px solid #081245;
  border-color: var(--clr-primary-500);
  opacity: 1;
  -webkit-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease-out;
}
.speaker-2 .inner-box:hover .photo img {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
.speaker-2 .inner-box:hover .social-links {
  -webkit-transform: scaleY(1);
  -ms-transform: scaleY(1);
  transform: scaleY(1);
  opacity: 1;
  visibility: visible;
}
.speaker-2 .info-box {
  background: var(--clr-neutral-100);
  color: #292a2d;
  line-height: 1.5;
  padding: 2.5rem 1.125rem 1.25rem;
  margin-top: -3rem;
  box-shadow: 0 14px 20px rgba(0, 0, 0, 0.2);
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
}
.speaker-2 .info-box .company {
  color: #004212;
}
.speaker-2 ul {
  list-style: none;
  padding: 0;
}
.speaker-2 ul li {
  border-bottom: 2px dashed var(--clr-neutral-400);
  padding-block: var(--fs-300);
}

.sponsors {
  display: flex;
  gap: 0.3rem;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .sponsors {
    gap: var(--fs-400);
  }
}

.sponsors .sponsor, .providers .sponsor {
  --width: min(48%, 220px);
  border-radius: 5px;
  padding: 0.35rem;
  flex: 0 1 var(--width);
}
.sponsors .sponsor figure, .providers .sponsor figure {
  background: hsl(0, 0%, 100%);
  box-shadow: 0 0 10px hsla(0, 0%, 0%, 0.2);
  border-radius: 5px;
  aspect-ratio: 3/2;
}
.sponsors .sponsor figure img, .providers .sponsor figure img {
  aspect-ratio: 3/2;
}

.providers .sponsor {
  display: flex;
  aspect-ratio: 3/2;
}
.providers .sponsor figure {
  padding: 0.75rem;
  width: 100%;
  height: 100%;
}
.providers .sponsor figure img {
  max-height: 100%;
  overflow: hidden;
}

.tab-content {
  display: none;
  -webkit-animation: fadeEffect 1s;
  animation: fadeEffect 500ms;
}
.tab-content:first-of-type {
  display: block;
}

/* Fade in tabs */
@-webkit-keyframes fadeEffect {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeEffect {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
#content-404 {
  font-size: 1.8rem;
  line-height: 3rem;
  -webkit-transform: translateY(30vh);
  -ms-transform: translateY(30vh);
  -o-transform: translateY(30vh);
  transform: translateY(30vh);
  text-align: center;
}

.archive .single-title {
  text-align: center;
}
.archive .group-title {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

.home .home-profile {
  -webkit-transform: translateY(16vh);
  -ms-transform: translateY(16vh);
  -o-transform: translateY(16vh);
  transform: translateY(16vh);
  padding: 0 0 0.5rem;
  text-align: center;
}
.home .home-profile .home-avatar {
  padding: 0.5rem;
}
.home .home-profile .home-avatar img {
  display: inline-block;
  width: 8rem;
  height: auto;
  margin: 0 auto;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  border-radius: 100%;
  -webkit-box-shadow: 0 0 0 0.3618em rgba(0, 0, 0, 0.05);
  box-shadow: 0 0 0 0.3618em rgba(0, 0, 0, 0.05);
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.home .home-profile .home-avatar img:hover {
  position: relative;
  -webkit-transform: translateY(-0.75rem);
  -ms-transform: translateY(-0.75rem);
  -o-transform: translateY(-0.75rem);
  transform: translateY(-0.75rem);
}
.home .home-profile .home-title {
  font-size: 1.25rem;
  font-weight: bold;
  margin: 0;
  padding: 0.5rem;
}
.home .home-profile .home-subtitle {
  font-size: 1rem;
  font-weight: normal;
  margin: 0;
  padding: 0.5rem;
}
.home .home-profile .links {
  padding: 0.5rem;
  font-size: 1.5rem;
}
.home .home-profile .links a * {
  vertical-align: text-bottom;
}
.home .home-profile .links img {
  height: 1.5rem;
  padding: 0 0.25rem;
}
.home .home-profile .home-disclaimer {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: normal;
  margin: 0;
  padding: 0.5rem;
  color: #a9a9b3;
}
[theme=dark] .home .home-profile .home-disclaimer {
  color: #5d5d5f;
}

.home[data-home=posts] .home-profile {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
  padding-top: 2rem;
}
.home[data-home=posts] .home-avatar img {
  width: 6rem;
}
.home[data-home=posts] .summary {
  padding-top: 1rem;
  padding-bottom: 0.8rem;
  color: #161209;
  border-bottom: 1px dashed #f0f0f0;
}
[theme=dark] .home[data-home=posts] .summary {
  color: #a9a9b3;
  border-bottom: 1px dashed #363636;
}
.home[data-home=posts] .summary .featured-image-preview {
  width: 100%;
  padding: 30% 0 0;
  position: relative;
  margin: 0.6rem auto;
  -webkit-transition: transform 0.4s ease;
  -moz-transition: transform 0.4s ease;
  -o-transition: transform 0.4s ease;
  transition: transform 0.4s ease;
}
.home[data-home=posts] .summary .featured-image-preview img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.home[data-home=posts] .summary .featured-image-preview img.lazyloaded {
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
.home[data-home=posts] .summary .featured-image-preview:hover {
  -webkit-transform: scale(1.01);
  -ms-transform: scale(1.01);
  -o-transform: scale(1.01);
  transform: scale(1.01);
}
.home[data-home=posts] .summary .single-title {
  font-size: 1.25rem;
  line-height: 140%;
  margin: 0.4rem 0;
}
.home[data-home=posts] .summary .content {
  display: -moz-box;
  display: -webkit-box;
  display: box;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -webkit-line-clamp: 3;
  margin-top: 0.3rem;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #a9a9b3;
}
[theme=dark] .home[data-home=posts] .summary .content {
  color: #5d5d5f;
}
.home[data-home=posts] .summary .content h2,
.home[data-home=posts] .summary .content h3,
.home[data-home=posts] .summary .content h4,
.home[data-home=posts] .summary .content h5,
.home[data-home=posts] .summary .content h6,
.home[data-home=posts] .summary .content p {
  font-size: 1rem;
  line-height: 1.5;
  display: inline;
}
.home[data-home=posts] .summary .content h2::after,
.home[data-home=posts] .summary .content h3::after,
.home[data-home=posts] .summary .content h4::after,
.home[data-home=posts] .summary .content h5::after,
.home[data-home=posts] .summary .content h6::after,
.home[data-home=posts] .summary .content p::after {
  content: "\a";
  white-space: pre;
}
.home[data-home=posts] .summary .content h2 {
  font-size: 1.125rem;
}
.home[data-home=posts] .summary .content b, .home[data-home=posts] .summary .content strong {
  color: #a9a9b3;
}
[theme=dark] .home[data-home=posts] .summary .content b, [theme=dark] .home[data-home=posts] .summary .content strong {
  color: #5d5d5f;
}
.home[data-home=posts] .summary .post-footer {
  margin-top: 0.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
}
.home[data-home=posts] .summary .post-footer .post-tags {
  padding: 0;
}

.single .single-title {
  margin: 2rem 0 0.5rem;
  font-weight: bold;
  line-height: 140%;
}
.single .single-subtitle {
  margin: 0.5rem 0;
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 100%;
}
.single .post-meta {
  font-size: 0.875rem;
  color: #a9a9b3;
}
.single .post-meta span {
  display: inline-block;
}
[theme=dark] .single .post-meta {
  color: #5d5d5f;
}
.single .post-meta .author {
  font-size: 1.05rem;
}
.single .featured-image {
  margin: 0.5rem 0 1rem 0;
}
.single .featured-image img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  overflow: hidden;
}
.single .featured-image img.lazyloaded {
  width: 100%;
}
.single .content > h2 {
  font-size: 1.5rem;
}
.single .content > h2 code {
  font-size: 1.25rem;
}
.single .content > h3 {
  font-size: 1.375rem;
}
.single .content > h3 code {
  font-size: 1.125rem;
}
.single .content > h4 {
  font-size: 1.25rem;
}
.single .content > h4 code {
  font-size: 1rem;
}
.single .content > h5 {
  font-size: 1.125rem;
}
.single .content > h6 {
  font-size: 1rem;
}
.single .content h2,
.single .content h3,
.single .content h4,
.single .content h5,
.single .content h6 {
  font-weight: bold;
  margin: 1.2rem 0;
}
[theme=dark] .single .content h2,
[theme=dark] .single .content h3,
[theme=dark] .single .content h4,
[theme=dark] .single .content h5,
[theme=dark] .single .content h6 {
  font-weight: bolder;
}
.single .content > h2 > .header-mark::before,
.single .content > h3 > .header-mark::before,
.single .content > h4 > .header-mark::before,
.single .content > h5 > .header-mark::before,
.single .content > h6 > .header-mark::before {
  content: "|";
  margin-right: 0.3125rem;
  color: #2d96bd;
}
[theme=dark] .single .content > h2 > .header-mark::before,
[theme=dark] .single .content > h3 > .header-mark::before,
[theme=dark] .single .content > h4 > .header-mark::before,
[theme=dark] .single .content > h5 > .header-mark::before,
[theme=dark] .single .content > h6 > .header-mark::before {
  color: #55bde2;
}
.single .content > h2 > .header-mark::before {
  content: "#";
}
.single .content p {
  margin: 0.5rem 0;
}
.single .content b,
.single .content strong {
  font-weight: bold;
}
[theme=dark] .single .content b,
[theme=dark] .single .content strong {
  color: #ddd;
}
.single .content a {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
[theme=dark] .single .content a b, [theme=dark] .single .content a strong {
  color: #55bde2;
}
.single .content [theme=dark] a:hover b,
.single .content [theme=dark] a:hover strong {
  color: #bdebfc;
}
.single .content ul,
.single .content ol {
  margin: 0.5rem 0;
  padding-left: 2.5rem;
}
.single .content ul {
  list-style-type: disc;
}
.single .content ruby {
  background: #f5f5f5;
}
.single .content ruby rt {
  color: #a9a9b3;
}
[theme=dark] .single .content ruby {
  background: #272C34;
}
[theme=dark] .single .content ruby rt {
  color: #5d5d5f;
}
.single .content .table-wrapper {
  overflow-x: auto;
}
.single .content .table-wrapper::-webkit-scrollbar {
  background-color: #fff;
}
[theme=dark] .single .content .table-wrapper::-webkit-scrollbar {
  background-color: #272c34;
}
.single .content .table-wrapper > table {
  width: 100%;
  max-width: 100%;
  margin: 0.625rem 0;
  border-spacing: 0;
  background: #fff;
  border-collapse: collapse;
}
[theme=dark] .single .content .table-wrapper > table {
  background: #272c34;
}
.single .content .table-wrapper > table thead {
  background: #ededed;
}
[theme=dark] .single .content .table-wrapper > table thead {
  background-color: #20252b;
}
.single .content .table-wrapper > table th,
.single .content .table-wrapper > table td {
  padding: 0.3rem 1rem;
  border: 1px solid rgb(90.9411764706%, 90.9411764706%, 90.9411764706%);
}
[theme=dark] .single .content .table-wrapper > table th,
[theme=dark] .single .content .table-wrapper > table td {
  border-color: rgb(10.8423529412%, 12.5364705882%, 14.5694117647%);
}
.single .content img {
  max-width: 100%;
  min-height: 1em;
}
.single .content figure {
  margin: 0.5rem;
  text-align: center;
}
.single .content figure .image-caption:not(:empty) {
  min-width: 20%;
  max-width: 80%;
  display: inline-block;
  padding: 0.5rem;
  margin: 0 auto;
  font-size: 0.875rem;
  color: #969696;
}
.single .content figure img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  overflow: hidden;
}
.single .content blockquote {
  display: block;
  border-left: 0.5rem solid #6bd6fd;
  background-color: rgba(107, 214, 253, 0.2);
  padding: 0.25rem 0.75rem;
  margin: 1rem 0;
}
[theme=dark] .single .content blockquote {
  border-left-color: #59c5ec;
  background-color: rgba(89, 197, 236, 0.2);
}
.single .content .footnotes {
  color: #a9a9b3;
}
[theme=dark] .single .content .footnotes {
  color: #5d5d5f;
}
.single .content .footnotes p {
  margin: 0.25rem 0;
}
.single .content hr {
  margin: 1rem 0;
  position: relative;
  border-top: 1px dashed #f0f0f0;
  border-bottom: none;
}
.single .content kbd {
  display: inline-block;
  padding: 0.25rem;
  background-color: var(--bg-content);
  border: 1px solid #f0f0f0;
  border-bottom-color: #f0f0f0;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 -1px 0 #f0f0f0;
  box-shadow: inset 0 -1px 0 #f0f0f0;
  font-size: 0.8rem;
  font-family: var(--code-font-family);
  color: #E74C3C;
}
.single .content .version {
  height: 1.25em;
  vertical-align: text-bottom;
}
.single .content .person-mention.h-card {
  display: inline-block;
}
.single .content .person-mention.h-card img {
  vertical-align: -12%;
  max-height: 1.1em;
  margin-right: 0ex;
  border-radius: 50%;
}

.typeit .highlight {
  padding: 0.375rem;
  font-size: 0.875rem;
  font-family: var(--code-font-family);
  font-weight: bold;
  word-break: break-all;
  white-space: pre-wrap;
}
.typeit {
  --ti-cursor-font-family: var(--global-font-family);
  --ti-cursor-font-size: var(--global-font-size);
  --ti-cursor-font-weight: var(--global-font-weight);
  --ti-cursor-line-height: var(--global-line-height);
  --ti-cursor-color: variables.$global-font-secondary-color;
  --ti-cursor-margin-left: 0;
}
[theme=dark] .typeit {
  --ti-cursor-color: variables.$global-font-secondary-color-dark;
}

.lg-toolbar .lg-icon::after {
  color: #999;
}

.special .single-title, .special .single-subtitle {
  text-align: center;
}

.page {
  position: relative;
}
[data-header-desktop] .page {
  padding-top: var(--header-height);
}
[data-header-desktop=normal] .page {
  padding-top: 0;
}

:root {
  --wp--style--global--content-size: 80ch;
  --wp--style--global--wide-size: 1080px;
}

header + *,
header + figure + * {
  padding-top: calc(var(--header) + 2.5rem);
}

header + .wp-block-post-featured-image {
  position: absolute;
  top: 0;
  padding: 0;
  width: 100%;
  filter: blur(8px);
  mix-blend-mode: multiply;
  mix-blend-mode: luminosity;
  opacity: 0.3;
  overflow: hidden;
}
header + .wp-block-post-featured-image img {
  scale: 1.1;
}

.is-layout-constrained > .alignwide {
  max-width: var(--wp--style--global--wide-size);
  padding: 0;
  margin: 0;
}

.entry-content.alignwide {
  padding: 3rem 0;
}

.single-bdydic_course article,
.single-bdydic_unit article {
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
  position: relative;
}
.single-bdydic_course article > *,
.single-bdydic_unit article > * {
  width: 100%;
}
.single-bdydic_course article > div,
.single-bdydic_course article :where(.wp-block-group.wp-block-group-is-layout-constrained.alignwide),
.single-bdydic_unit article > div,
.single-bdydic_unit article :where(.wp-block-group.wp-block-group-is-layout-constrained.alignwide) {
  background-color: var(--bg-content);
  border: 1px solid hsl(from var(--clr-neutral-500) h s l/0.5);
  padding: 1rem;
}
.single-bdydic_course article > div p,
.single-bdydic_course article :where(.wp-block-group.wp-block-group-is-layout-constrained.alignwide) p,
.single-bdydic_unit article > div p,
.single-bdydic_unit article :where(.wp-block-group.wp-block-group-is-layout-constrained.alignwide) p {
  margin-inline: auto;
}
.single-bdydic_course .metadata,
.single-bdydic_unit .metadata {
  padding: 0;
}
.single-bdydic_course .metadata > *,
.single-bdydic_unit .metadata > * {
  padding: 1rem;
}
.single-bdydic_course .metadata > *:not(:last-child),
.single-bdydic_unit .metadata > *:not(:last-child) {
  border-right: 2px dashed hsl(from var(--clr-neutral-500) h s l/0.5);
}

.single-bdydic_course article:has(figure + h1) figure,
.single-bdydic_unit article:has(figure + h1) figure {
  grid-row: 1/2;
  grid-column: 1/2;
  max-width: 100%;
}
.single-bdydic_course article:has(figure + h1) h1,
.single-bdydic_unit article:has(figure + h1) h1 {
  grid-row: 1/2;
  grid-column: 1/2;
  background-image: linear-gradient(to bottom, oklch(from var(--primary) 20% c h/0) 0%, oklch(from var(--primary) 20% c h/0.5) 20%, oklch(from var(--primary) 20% c h/0.7) 60%);
  padding: 1.5rem;
  z-index: 1;
}
.single-bdydic_course h1,
.single-bdydic_unit h1 {
  font-size: var(--fs-800) !important;
  line-height: 1.1;
  color: var(--clr-neutral-100);
  text-shadow: -2px -2px 4px oklch(from var(--primary) 20% c h/0.7), 2px 2px 8px oklch(from var(--primary) 20% c h/0.7), 0 0 10px var(--clr-secondary-400), 0 0 20px var(--clr-secondary-400);
}

.wp-block-comments {
  padding: 3rem 0;
}

.wc-block-mini-cart__drawer img {
  display: none;
}
.wc-block-mini-cart__drawer a > img {
  display: block;
}

/* COURSES LIST */
.post-type-archive-bdydic_course .bdydic_course figure {
  aspect-ratio: 16/9;
}

/*
==================================================
  WOOCOMMERCE CUSTOM STYLES
==================================================
*/
.woocommerce-account .woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a {
  font-size: var(--fs-300);
  margin-bottom: 0;
}

.wc-block-components-notice-banner {
  color: var(--text);
}
.wc-block-components-notice-banner .wc-block-components-notice-banner__content {
  font-size: var(--fs-350);
}
.wc-block-components-notice-banner .wc-block-components-notice-banner__content .button {
  color: var(--text) !important;
  text-decoration: none;
  padding: 0.25rem 0.5rem !important;
  opacity: 1;
}
.wc-block-components-notice-banner .wc-block-components-notice-banner__content .button::before {
  border-color: var(--call-icon);
}
.wc-block-components-notice-banner.is-info, .wc-block-components-notice-banner.is-success, .wc-block-components-notice-banner.is-error, .wc-block-components-notice-banner.is-warning {
  background-color: var(--call-bg);
  border-color: var(--call-border);
}
.wc-block-components-notice-banner.is-info > svg, .wc-block-components-notice-banner.is-success > svg, .wc-block-components-notice-banner.is-error > svg, .wc-block-components-notice-banner.is-warning > svg {
  background-color: var(--call-icon);
}
.wc-block-components-notice-banner.is-info > .wc-block-components-notice-banner__content .button, .wc-block-components-notice-banner.is-success > .wc-block-components-notice-banner__content .button, .wc-block-components-notice-banner.is-error > .wc-block-components-notice-banner__content .button, .wc-block-components-notice-banner.is-warning > .wc-block-components-notice-banner__content .button {
  background-color: var(--call-btn) !important;
}

body main .woocommerce, body.woocommerce-account main .woocommerce {
  max-width: var(--wp--style--global--wide-size);
}
body:not(.logged-in).woocommerce-account::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image: url("assets/img/icubica-Screen_V4.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  opacity: 0.5;
}
body:not(.logged-in).woocommerce-account main .woocommerce {
  background-color: var(--bg-content);
  padding: var(--padding-300);
  border: 1px solid oklch(from var(--clr-neutral-500) l c h/0.5);
  backdrop-filter: blur(8px);
  --pattern-opacity-01: 0.45;
  --pattern-opacity-02: 0.015;
  --bg-size: 7px;
  background-image: repeating-linear-gradient(45deg, oklch(from var(--base) 75% c h/var(--pattern-opacity-01)) 0, oklch(from var(--base) 75% c h/var(--pattern-opacity-01)) 4%, oklch(from var(--base) 35% c h/var(--pattern-opacity-02)) 4%, oklch(from var(--base) 35% c h/var(--pattern-opacity-02)) 20%);
  background-size: calc(var(--bg-size) * 2) calc(var(--bg-size) * 3);
}
body:not(.logged-in).woocommerce-account main .woocommerce .woocommerce-form {
  background-color: oklch(from var(--bg-content) l c h/0.5);
  padding: var(--padding-300);
}
@media (prefers-color-scheme: dark) {
  body:not(.logged-in).woocommerce-account main .woocommerce .woocommerce-form {
    background-color: oklch(from var(--bg-content) 20% c h/0.85);
  }
}
body.logged-in.woocommerce-account main .woocommerce {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}
@media (width >= 700px) {
  body.logged-in.woocommerce-account main .woocommerce {
    grid-template-columns: 2fr 7fr;
  }
}
body.logged-in.woocommerce-account main .woocommerce::before, body.logged-in.woocommerce-account main .woocommerce::after {
  content: none;
}
body.logged-in.woocommerce-account main .woocommerce .woocommerce-MyAccount-navigation,
body.logged-in.woocommerce-account main .woocommerce .woocommerce-MyAccount-content {
  background-color: var(--bg-content);
  width: 100%;
}
body.logged-in.woocommerce-account main .woocommerce .woocommerce-MyAccount-navigation {
  display: grid;
  align-items: center;
  background-image: linear-gradient(to bottom, var(--nav-bg) 40%, oklch(from var(--nav-bg) 15% c h)), linear-gradient(to bottom, oklch(from var(--nav-bg) 25% c h), oklch(from var(--nav-bg) 80% c h) 70%);
  background-color: var(--nav-bg);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  color: var(--clr-neutral-100);
  -webkit-box-shadow: 0 0.2rem 1rem 0 var(--shadow-main);
  box-shadow: 0 0.2rem 1rem 0 var(--shadow-main);
  -webkit-transition: box-shadow 0.3s ease;
  -moz-transition: box-shadow 0.3s ease;
  -o-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  border: 4px solid transparent;
  /* border-bottom: 15px solid hsl(from var(--clr-primary-500) h s l / 0.5); */
  border-radius: 0.5rem;
  padding: 0;
}
body.logged-in.woocommerce-account main .woocommerce .woocommerce-MyAccount-navigation ul {
  max-width: 100%;
  margin: 0;
}
body.logged-in.woocommerce-account main .woocommerce .woocommerce-MyAccount-navigation ul li {
  position: relative;
  background: transparent;
  color: var(--clr-neutral-100);
  border: 0.5rem solid transparent;
  border-top-width: 1px;
  border-bottom: 1px dashed oklch(from var(--clr-neutral-300) l c h/0.5);
  padding: 0.5rem 0.5rem 1rem !important;
}
body.logged-in.woocommerce-account main .woocommerce .woocommerce-MyAccount-navigation ul li:nth-last-of-type {
  border-bottom: none;
}
body.logged-in.woocommerce-account main .woocommerce .woocommerce-MyAccount-navigation ul li a {
  color: var(--clr-neutral-100);
}
body.logged-in.woocommerce-account main .woocommerce .woocommerce-MyAccount-navigation ul li a::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: transparent;
  width: 100%;
}
body.logged-in.woocommerce-account main .woocommerce .woocommerce-MyAccount-navigation ul li.is-active {
  background: var(--clr-secondary-800);
}
body.logged-in.woocommerce-account main .woocommerce .woocommerce-MyAccount-navigation ul li:hover {
  background: var(--clr-primary-600);
}
body.logged-in.woocommerce-account main .woocommerce .woocommerce-MyAccount-content {
  border: 1px solid oklch(from var(--clr-neutral-500) l c h/0.5);
  padding: 2rem;
}

/* CHECKOUT */
.wc-block-components-order-summary .wc-block-components-order-summary-item {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: 1fr auto;
  gap: 0.5rem;
  align-items: center;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-order-summary-item__image {
  grid-column: 1/2;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-order-summary-item__description {
  font-size: 0.9em;
  grid-column: 2/5;
  padding: 0;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font-size: 0.9em;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-order-summary-item__description .wc-block-components-product-metadata .wc-block-components-product-metadata__description > p {
  font-size: 0.8rem;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-order-summary-item__description .wc-block-cart-item__prices {
  display: none;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-order-summary-item__total-price {
  grid-column: 5/6;
  justify-self: end;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-order-summary-item__total-price .wc-block-components-product-badge.wc-block-components-sale-badge {
  white-space: normal;
  font-size: 0.7em;
}

/*
==================================================
  WORDFENCE CUSTOM STYLES
==================================================
*/
.woocommerce #wfls-prompt-overlay {
  background-color: oklch(from var(--bg-content) l c h/0.95);
  padding: var(--padding-300);
}
@media (prefers-color-scheme: dark) {
  .woocommerce #wfls-prompt-overlay {
    background-color: oklch(from var(--bg-content) 20% c h/0.9);
  }
}
.woocommerce #wfls-prompt-overlay .submit {
  margin-top: var(--padding-100);
}

.wp-theme-icubica .stacked > * + * {
  margin-top: var(--padding-300);
}
.wp-theme-icubica .wfls-flex-row {
  gap: var(--padding-100);
}
.wp-theme-icubica .wfls-block {
  background-color: var(--bg-content);
}
.wp-theme-icubica .wfls-block .wfls-block-footer {
  background-color: var(--bg-content);
}
.wp-theme-icubica .wfls-block .wfls-block-footer a {
  color: var(--link);
}
.wp-theme-icubica #wfls-notices {
  margin-top: 15px;
}
.wp-theme-icubica #wfls-notices.wfls-admin-notice {
  margin-left: 0;
  margin-right: 0;
}
.wp-theme-icubica .wfls-success-text,
.wp-theme-icubica .wfls-notice-text {
  color: var(--text);
  vertical-align: middle;
  font-size: 16px;
  font-style: italic;
  font-weight: 700;
  line-height: 1.3;
  display: inline-block;
}
.wp-theme-icubica .wfls-success {
  background-color: var(--wa-color-green-30);
  border: 1px solid var(--wa-color-green-70);
  border-left-width: 10px;
  margin: 12px 0;
  padding: 8px;
}
@media (prefers-color-scheme: light) {
  .wp-theme-icubica .wfls-success {
    background-color: var(--wa-color-green-95);
    border-color: var(--wa-color-green-80);
  }
}
.wp-theme-icubica .wfls-notice {
  background-color: var(--wa-color-yellow-30);
  border: 1px solid var(--wa-color-yellow-70);
  border-left-width: 10px;
  margin: 12px 0;
  padding: 8px;
}
@media (prefers-color-scheme: light) {
  .wp-theme-icubica .wfls-notice {
    background-color: var(--wa-color-yellow-95);
    border-color: var(--wa-color-yellow-80);
  }
}
.wp-theme-icubica .wrap.wordfence-ls .wfls-notice.wfls-notice-small {
  font-size: 0.75rem;
}

/*# sourceMappingURL=style.css.map */
