@charset "UTF-8";
/*------------------------------------*\
    #Vendor
\*------------------------------------*/
/*------------------------------------*\
    #SETTINGS
    Global variables, site-wide settings, config switches, etc.
    These are just for SCSS – nothing here gets compiled to CSS directly
\*------------------------------------*/
:root {
  --color-black: rgb(19, 19, 19);
  --color-white: white;
  --color-primary: #ffffff;
  --color-secondary: #242424;
  --color-secondary-light: hsl(0, 0%, 30%);
  --color-text: #242424;
  --color-text-light: hsl(0, 0%, 30%);
  --color-border: hsl(0, 0%, 30%);
}

.theme-base {
  --color-bg: var(--color-primary);
  --color-border: hsl(111, 11%, 66%);
  --color-text: var(--color-secondary);
  --color-text-light: var(--color-secondary-light);
}

.theme-invert {
  --color-bg: var(--color-secondary);
  --color-border: hsl(111, 11%, 66%);
  --color-text: var(--color-primary);
  --color-text-light: var(--color-primary-light);
}

.z {
  z-index: z(logobar);
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*------------------------------------*\
    #TOOLS
    Site-wide mixins and functions.
    These are just for SCSS - nothing here gets directly compiled to CSS.
\*------------------------------------*/
/*
// Vrátí barvu definovanou v poli "colors"
@function color($color-name, $color-variant: null) {
  // Pokud je definovaná i varianta barvy, vrátí odstín
  @if ($color-variant != null) {
    @return map-get(map-get($colors, $color-name), $color-variant);
  }
  // Pokud ne, vrátí základní odstín
  @else {
    @return map-get(map-get($colors, $color-name), "base");
  }
}
*/
/*------------------------------------*\
    #GENERIC
    Low-specificity, far-reaching rulesets (e.g. resets).
    Here we have our basic resets
\*------------------------------------*/
*, ::before, ::after{
  --tw-border-opacity: 1;
  border-color: rgba(229, 231, 235, var(--tw-border-opacity));
  --tw-blur: var(--tw-empty,/*!*/ /*!*/);
  --tw-brightness: var(--tw-empty,/*!*/ /*!*/);
  --tw-contrast: var(--tw-empty,/*!*/ /*!*/);
  --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);
  --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);
  --tw-invert: var(--tw-empty,/*!*/ /*!*/);
  --tw-saturate: var(--tw-empty,/*!*/ /*!*/);
  --tw-sepia: var(--tw-empty,/*!*/ /*!*/);
  --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);
  --tw-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

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

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

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

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

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

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

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

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

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

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

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

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

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

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

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

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

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

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

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

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

/* ==========================================================================
   #RESET
   ========================================================================== */
/**
 * A very simple reset that sits on top of Normalize.css.
 */
body,
h1, h2, h3, h4, h5, h6,
blockquote, p, pre,
dl, dd, ol, ul,
figure,
hr,
fieldset, legend {
  margin: 0;
  padding: 0;
}

/**
 * Remove trailing margins from nested lists.
 */
li > ol,
li > ul {
  margin-bottom: 0;
}

/**
 * Remove default table spacing.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
 * 1. Reset Chrome and Firefox behaviour which sets a `min-width: min-content;`
 *    on fieldsets.
 */
fieldset {
  min-width: 0; /* [1] */
  border: 0;
}

/* ==========================================================================
   #BOX-SIZING
   ========================================================================== */
/**
 * More sensible default box-sizing:
 * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 */
html {
  box-sizing: border-box;
}

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

/*------------------------------------*\
    #ELEMENTS
    Unclassed HTML elements (e.g. a {}, blockquote {}, address {}).
    Here we style all our HTML-elements with the basic styling we want.
\*------------------------------------*/
:root {
  --space-0: 0;
  --space-px: 1px;
  --space-2px: 2px;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-18: 4.5rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-36: 9rem;
  --space-42: 10.5rem;
  --multipler: 0.75;
  --space-2xs: calc(var(--space-1) * var(--multipler));
  --space-xs: calc(var(--space-2) * var(--multipler));
  --space-sm: calc(var(--space-3) * var(--multipler));
  --space-md: calc(var(--space-6) * var(--multipler));
  --space-lg: calc(var(--space-12) * var(--multipler));
  --space-xl: calc(var(--space-18) * var(--multipler));
  --space-2xl: calc(var(--space-20) * var(--multipler));
  --space-3xl: calc(var(--space-36) * var(--multipler));
  --scale: 1.25;
  --text-xs: calc(var(--text-xs) / var(--scale));
  --text-sm: calc(var(--text-base) / var(--scale));
  --text-base: 1rem;
  --text-lg: calc(var(--text-base) * var(--scale));
  --text-xl: calc(var(--text-lg) * var(--scale));
  --text-2xl: calc(var(--text-xl) * var(--scale));
  --text-3xl: calc(var(--text-2xl) * var(--scale));
  --text-4xl: calc(var(--text-3xl) * var(--scale));
  --text-5xl: calc(var(--text-4xl) * var(--scale));
  --text-6xl: calc(var(--text-5xl) * var(--scale));
}
@media (min-width: 48em) {
  :root {
    --scale: 1.33;
    --multipler: 1;
  }
}
:root {
  --container-width: 1000px;
}

html {
  color: var(--color-text);
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 1.5;
  overflow-x: hidden;
}
html.has-active-modal {
  overflow: hidden;
}
@media (min-width: 64em) {
  html {
    font-size: 17px;
  }
}
article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

body {
  background-color: var(--color-bg);
  /*background-image: linear-gradient(rgba(190, 54, 44, 0.4) 0.1em, transparent 1px),
    linear-gradient(90deg, rgba(190, 54, 44, 0.4) 1px, transparent 1px);*/
  background-size: 24px 24px;
  width: 100%;
}
@media (min-width: 48em) {
  body {
    display: grid;
    grid-template-columns: 20rem 1fr;
  }
}
@media (min-width: 80em) {
  body {
    grid-template-columns: 20rem 1fr;
  }
}
body * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

main {
  min-height: 100vh;
  transition: opacity ease-out 0.6s;
  transition-delay: 0.5s;
}
main.has-active-modal {
  opacity: 0.4;
  transition-delay: 0.1s;
}

img {
  max-width: 100%;
}

.c-kitchensink > * + * {
  border-top: 1px solid var(--color-border);
  margin-top: 2rem;
  padding-top: 2rem;
}
.c-kitchensink h5 {
  margin-bottom: 2rem;
}

main h1 {
  font-size: 1.7rem;
  padding-top: 0.3rem;
}

.home-text {
  max-width: 80ch;
}

p {
  max-width: 80ch;
}

.subpages:first-child {
  display: none;
}

@media (min-width: 48em) {
  .subpages:first-child {
    display: grid;
  }
  .subpages:last-child {
    display: none;
  }
}
:root {
  --text-h1: var(--text-xl);
  --text-h2: var(--text-lg);
  --text-h3: var(--text-md);
  --text-h4: var(--text-md);
  --text-h5: var(--text-md);
  --text-h6: var(--text-md);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}

h1,
.h1 {
  line-height: 1;
  margin-bottom: var(--space-lg);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

h2,
.h2 {
  font-size: var(--text-h2);
  line-height: 1.1;
  margin-bottom: var(--space-xl);
}

h3,
.h3 {
  font-size: var(--text-h3);
  margin-bottom: var(--space-lg);
}

h4,
.h4 {
  font-size: var(--text-h4);
  margin-bottom: var(--space-lg);
}

h5,
.h5 {
  font-size: var(--text-h5);
  margin-bottom: var(--space-md);
}

h6,
.h6 {
  font-size: var(--text-h6);
  margin-bottom: var(--space-sm);
}

a {
  color: inherit;
}

li {
  margin-left: 1rem;
}

/*------------------------------------*\
    #Objects(o-prefix)
Objects, abstractions, and design patterns (e.g. `.o-layout {}`
\*------------------------------------*/
.o-box {
  border: var(--box-border, 0px transparent) solid;
  color: var(--color-text);
  padding: var(--o-box-padding, 0);
}
.o-box * {
  color: inherit;
}
.o-box--padding-xs {
  padding: var(--space-xs) 0;
}
.o-box--padding-sm {
  padding: var(--space-sm);
}
.o-box--padding {
  --o-box-padding: var(--space-md);
}
.o-box--padding-lg {
  --o-box-padding: var(--space-lg);
}
.o-box--padding-xl {
  --o-box-padding: var(--space-xl);
}
.o-box--border {
  --box-border: 1px var(--color-border);
}
.o-box--border-2 {
  --box-border: 2px var(--color-border);
}

.o-center {
  box-sizing: content-box;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--o-center-max-width, 60ch);
  padding-left: 1rem;
  padding-right: 1rem;
}

.o-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--o-cluster-gap, 1rem);
  justify-content: flex-start;
  align-items: center;
}

.o-stack {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.o-stack > * {
  margin-top: 0;
  margin-bottom: 0;
}
.o-stack > * + * {
  margin-top: var(--o-stack-space, var(--space-md));
}
.o-stack--sm {
  --o-stack-space: var(--space-sm);
}
.o-stack--lg {
  --o-stack-space: var(--space-lg);
}
.o-stack--xl {
  --o-stack-space: var(--space-xl);
}

.o-switcher {
  --threshold: 30rem;
  display: flex;
  flex-wrap: wrap;
  gap: var(--s1, 0);
}
.o-switcher > * {
  flex-grow: 1;
  flex-basis: calc((var(--threshold) - 100%) * 999);
}

.o-frame {
  --n: 9;
  --d: 16;
  padding-bottom: calc(var(--n) / var(--d) * 100%);
  position: relative;
}
.o-frame > * {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.o-frame > img,
.o-frame > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.o-grid {
  display: grid;
  grid-gap: var(--o-grid-gap, var(--space-md));
}
.o-grid--gap-lg {
  --o-grid-gap: var(--space-lg);
}
.o-grid--gap-sm {
  --o-grid-gap: var(--space-sm);
}
.o-grid--gap-xl {
  --o-grid-gap: var(--space-xl);
}
@supports (width: min(30ch, 100%)) {
  .o-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--o-grid-min-content, 40ch), 100%), 1fr));
  }
}

.o-sidebar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s1, 1rem);
}
.o-sidebar--classic > :first-child {
  flex-grow: 2;
  min-width: 200px;
}
.o-sidebar--classic > :last-child {
  flex-basis: 0;
  flex-grow: 9999;
  min-width: 55%;
}
.o-sidebar--revert > :last-child {
  flex-grow: 1;
}
.o-sidebar--revert > :first-child {
  flex-basis: 0;
  flex-grow: 999;
  min-width: 50%;
}

.o-reel {
  display: flex;
  height: auto;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 1rem;
}

.o-reel::-webkit-scrollbar {
  height: 1rem;
}

.o-reel > * {
  flex: 0 0 20%;
}

.o-reel > img {
  height: 100%;
  flex-basis: auto;
  width: auto;
}

.o-reel > * + * {
  margin-left: 1rem;
}

.o-reel.overflowing {
  padding-bottom: 1rem;
}

.o-cover {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 1rem;
}

.o-cover > * {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.o-cover > :first-child:not(.o-cover__center) {
  margin-top: 0;
}

.o-cover > :last-child:not(.o-cover__center) {
  margin-bottom: 0;
}

.o-cover > .o-cover__center {
  margin-top: auto;
  margin-bottom: auto;
}

.o-imposter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.o-imposter.contain {
  --margin: 1rem;
  overflow: auto;
  max-width: calc(100% - var(--margin) * 2);
  max-height: calc(100% - var(--margin) * 2);
}

.o-icon {
  width: 0.75em;
  width: 1cap;
  height: 0.75em;
  height: 1cap;
}

.with-icon {
  display: inline-flex;
  align-items: baseline;
}

.with-icon .o-icon {
  margin-inline-end: 1rem;
}

/*------------------------------------*\
    #COMPONENTS (c-prefix)
    Discrete, complete chunks of UI (e.g. `.c-carousel {}`).
\*------------------------------------*/
.columns {
  --columns: 12;
  --columns-sm: 1;
  --columns-md: 1;
  --columns-lg: 1;
  --gap: 8px;
  --column-gap: var(--gap);
  --row-gap: var(--gap);
  grid-column-gap: var(--column-gap);
  grid-row-gap: var(--row-gap);
  display: grid;
  grid-template-columns: repeat(var(--columns-sm), 1fr);
}

.columns > * {
  --span: 1;
  --span-sm: 1;
  grid-column: span var(--span-sm);
  min-width: 0;
}

.columns--reverse {
  direction: rtl;
}

.columns--reverse > * {
  direction: ltr;
}

@media (min-width: 48em) {
  .columns {
    --columns-md: var(--columns);
    grid-template-columns: repeat(var(--columns-md), 1fr);
  }
  .columns > * {
    --span-md: var(--span);
    grid-column: span var(--span-md);
  }
}
@media (min-width: 64em) {
  .columns {
    --columns-lg: var(--columns);
    grid-template-columns: repeat(var(--columns-lg), 1fr);
  }
  .columns > * {
    --span-lg: var(--span);
    grid-column: span var(--span-lg);
  }
}
.auto-fill,
.auto-fit {
  --min: 30rem;
  --max: 1fr;
  --gap: 2rem;
  --column-gap: var(--gap);
  --row-gap: var(--gap);
  max-width: 100%;
  grid-column-gap: var(--column-gap);
  grid-row-gap: var(--row-gap);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--min), var(--max)));
}
@media (max-width: 47.99em) {
  .auto-fill,
  .auto-fit {
    grid-template-columns: 1fr;
  }
}

.auto-fit {
  grid-template-columns: repeat(auto-fit, minmax(var(--min), var(--max)));
}

.col-1 {
  --columns: 1;
}

.col-2 {
  --columns: 2;
}

.col-3 {
  --columns: 3;
}

.col-4 {
  --columns: 4;
}

.col-5 {
  --columns: 5;
}

.col-6 {
  --columns: 6;
}

.col-7 {
  --columns: 7;
}

.col-8 {
  --columns: 8;
}

.col-9 {
  --columns: 9;
}

.col-10 {
  --columns: 10;
}

.col-11 {
  --columns: 11;
}

.col-12 {
  --columns: 12;
}

@media (min-width: 40em) {
  .col-sm-1 {
    --columns: 1;
  }
  .col-sm-2 {
    --columns: 2;
  }
  .col-sm-3 {
    --columns: 3;
  }
  .col-sm-4 {
    --columns: 4;
  }
  .col-sm-5 {
    --columns: 5;
  }
  .col-sm-6 {
    --columns: 6;
  }
  .col-sm-7 {
    --columns: 7;
  }
  .col-sm-8 {
    --columns: 8;
  }
  .col-sm-9 {
    --columns: 9;
  }
  .col-sm-10 {
    --columns: 10;
  }
  .col-sm-11 {
    --columns: 11;
  }
  .col-sm-12 {
    --columns: 12;
  }
}
@media (min-width: 48em) {
  .col-md-1 {
    --columns: 1;
  }
  .col-md-2 {
    --columns: 2;
  }
  .col-md-3 {
    --columns: 3;
  }
  .col-md-4 {
    --columns: 4;
  }
  .col-md-5 {
    --columns: 5;
  }
  .col-md-6 {
    --columns: 6;
  }
  .col-md-7 {
    --columns: 7;
  }
  .col-md-8 {
    --columns: 8;
  }
  .col-md-9 {
    --columns: 9;
  }
  .col-md-10 {
    --columns: 10;
  }
  .col-md-11 {
    --columns: 11;
  }
  .col-md-12 {
    --columns: 12;
  }
}
@media (min-width: 64em) {
  .col-lg-1 {
    --columns: 1;
  }
  .col-lg-2 {
    --columns: 2;
  }
  .col-lg-3 {
    --columns: 3;
  }
  .col-lg-4 {
    --columns: 4;
  }
  .col-lg-5 {
    --columns: 5;
  }
  .col-lg-6 {
    --columns: 6;
  }
  .col-lg-7 {
    --columns: 7;
  }
  .col-lg-8 {
    --columns: 8;
  }
  .col-lg-9 {
    --columns: 9;
  }
  .col-lg-10 {
    --columns: 10;
  }
  .col-lg-11 {
    --columns: 11;
  }
  .col-lg-12 {
    --columns: 12;
  }
}
@media (min-width: 80em) {
  .col-xl-1 {
    --columns: 1;
  }
  .col-xl-2 {
    --columns: 2;
  }
  .col-xl-3 {
    --columns: 3;
  }
  .col-xl-4 {
    --columns: 4;
  }
  .col-xl-5 {
    --columns: 5;
  }
  .col-xl-6 {
    --columns: 6;
  }
  .col-xl-7 {
    --columns: 7;
  }
  .col-xl-8 {
    --columns: 8;
  }
  .col-xl-9 {
    --columns: 9;
  }
  .col-xl-10 {
    --columns: 10;
  }
  .col-xl-11 {
    --columns: 11;
  }
  .col-xl-12 {
    --columns: 12;
  }
}
@media (min-width: 96em) {
  .col-xxl-1 {
    --columns: 1;
  }
  .col-xxl-2 {
    --columns: 2;
  }
  .col-xxl-3 {
    --columns: 3;
  }
  .col-xxl-4 {
    --columns: 4;
  }
  .col-xxl-5 {
    --columns: 5;
  }
  .col-xxl-6 {
    --columns: 6;
  }
  .col-xxl-7 {
    --columns: 7;
  }
  .col-xxl-8 {
    --columns: 8;
  }
  .col-xxl-9 {
    --columns: 9;
  }
  .col-xxl-10 {
    --columns: 10;
  }
  .col-xxl-11 {
    --columns: 11;
  }
  .col-xxl-12 {
    --columns: 12;
  }
}
@media (min-width: 64em) {
  .col-start-1 {
    grid-column-start: 1;
  }
  .col-end-2 {
    grid-column-end: 2;
  }
  .col-start-2 {
    grid-column-start: 2;
  }
  .col-end-3 {
    grid-column-end: 3;
  }
  .col-start-3 {
    grid-column-start: 3;
  }
  .col-end-4 {
    grid-column-end: 4;
  }
  .col-start-4 {
    grid-column-start: 4;
  }
  .col-end-5 {
    grid-column-end: 5;
  }
  .col-start-5 {
    grid-column-start: 5;
  }
  .col-end-6 {
    grid-column-end: 6;
  }
  .col-start-6 {
    grid-column-start: 6;
  }
  .col-end-7 {
    grid-column-end: 7;
  }
  .col-start-7 {
    grid-column-start: 7;
  }
  .col-end-8 {
    grid-column-end: 8;
  }
  .col-start-8 {
    grid-column-start: 8;
  }
  .col-end-9 {
    grid-column-end: 9;
  }
  .col-start-9 {
    grid-column-start: 9;
  }
  .col-end-10 {
    grid-column-end: 10;
  }
  .col-start-10 {
    grid-column-start: 10;
  }
  .col-end-11 {
    grid-column-end: 11;
  }
  .col-start-11 {
    grid-column-start: 11;
  }
  .col-end-12 {
    grid-column-end: 12;
  }
  .col-start-12 {
    grid-column-start: 12;
  }
  .col-end-13 {
    grid-column-end: 13;
  }
}
.c-btn {
  background-color: var(--color-text);
  border: 2px solid var(--color-text);
  display: inline-block;
  cursor: pointer;
  color: var(--color-bg);
  font-size: 16px;
  padding: var(--space-xs) var(--space-md);
  text-decoration: none;
  transition: all 200ms cubic-bezier(0.445, 0.05, 0.655, 0.76);
  line-height: 1.2;
  text-transform: uppercase;
}
.c-btn:hover, .c-btn:focus {
  background-color: transparent;
  color: var(--color-dark);
}
.c-btn--inverse {
  background-color: transparent;
  color: var(--color-dark);
}
.c-btn--inverse:hover, .c-btn--inverse:focus {
  background-color: var(--color-text);
  color: white;
}
.c-btn--simple {
  background-color: transparent;
  color: var(--color-text);
  border: 2px solid var(--color-text);
}
.c-btn--simple:hover, .c-btn--simple:focus {
  background-color: var(--color-text);
  color: white;
}
.c-btn--small {
  font-size: 15px;
  padding: var(--space-2xs) var(--space-sm);
}
.c-btn--big {
  font-size: 18px;
  padding: var(--space-sm) var(--space-md);
}

.c-footer {
  margin-top: auto;
  font-size: var(--text-sm) !important;
  color: var(--color-light);
}
.c-footer__layout {
  margin-top: 16px;
  text-align: center;
  width: 100%;
}
@media (max-width: 47.99em) {
  .c-footer__layout > * + * {
    margin-top: 16px;
  }
}
@media (min-width: 48em) {
  .c-footer__layout {
    display: flex;
    justify-content: space-between;
  }
}
.c-footer * {
  font-size: var(--text-sm) !important;
}

.c-header__layout {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
}

.c-nav {
  padding-top: var(--space-md);
  display: flex;
  flex-direction: column;
  align-items: start;
}
@media (min-width: 48em) {
  .c-nav {
    padding: var(--space-lg) 0;
    border-bottom: 1px solid var(--color-dark-light);
  }
}
.c-nav__link {
  border: 2px solid transparent;
  color: var(--color-light);
  display: inline-block;
  font-family: "Outfit", sans-serif;
  font-size: var(--text-md);
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  width: auto;
  padding: 0.2rem 0.4rem;
  transform: translateX(-0.4rem);
  letter-spacing: 0.02em;
}
.c-nav__link:not(:first-child) {
  margin-top: var(--space-sm);
}
@media (min-width: 48em) {
  .c-nav__link {
    transition: all 200ms cubic-bezier(0.445, 0.05, 0.655, 0.76);
    font-size: var(--text-base);
  }
  .c-nav__link:not(:first-child) {
    margin-top: var(--space-xs);
  }
}
.c-nav [aria-current] {
  position: relative;
  border: 2px solid var(--color-text);
  background: none;
  box-shadow: none;
  padding: 0.2rem 0.4rem;
}
.c-nav [aria-current]::after {
  content: "";
  display: none;
}

.c-logo {
  align-items: center;
  color: var(--color-light);
  display: inline-flex;
  font-size: 2rem;
  font-weight: 400;
  justify-content: flex-start;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  z-index: 30;
}

.c-image {
  display: block;
  text-align: center;
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
}
.c-image__link {
  cursor: zoom-in;
}
.c-image::after {
  background-color: white;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: " ";
  z-index: 1;
  display: block;
  opacity: 0;
  transition: opacity ease-in-out 0.2s;
  pointer-events: none;
}
.c-image:hover::after {
  opacity: 0.2;
}
.c-image:hover img {
  transform: scale(1.05);
}
.c-image--defined-ratio {
  --w: 1;
  --h: 1;
}
.c-image--defined-ratio .c-image__picture {
  padding-bottom: calc(100% / var(--w) * var(--h));
  position: relative;
  height: 0;
  transition: transform ease-in-out 0.2s;
  display: block;
}
.c-image--defined-ratio .c-image__img {
  transition: transform ease-in-out 0.3s;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border: 0;
}
.c-image--defined-ratio .c-image__img--contain {
  -o-object-fit: contain;
  object-fit: contain;
}
.c-image__img {
  max-width: 100%;
  height: auto;
}
.c-image__caption {
  position: absolute;
  bottom: 8px;
  left: 8px;
  background-color: var(--color-secondary);
  padding: 4px 8px 8px 8px;
  color: white;
  text-align: center;
  font-size: 0.9em;
  line-height: 1.1;
  font-style: italic;
}

.gslide-description.description-bottom {
  position: fixed;
  bottom: 2rem !important;
  max-width: 60% !important;
  transform: translateX(-50%);
  left: 50%;
  background: rgba(255, 255, 255, 0) !important;
  color: rgb(0, 0, 0) !important;
  text-align: center !important;
}
.gslide-description.description-bottom .gslide-title {
  color: white !important;
  text-align: center;
  font-family: "Outfit", sans-serif;
  font-weight: 700;
}

.glightbox-clean .gdesc-inner {
  padding: 2px 20px;
}

.gslide-image img {
  padding-bottom: 5rem;
  padding-top: 3rem;
}

.goverlay {
  background: rgb(255, 255, 255);
}

.container {
  margin: 0 auto;
  width: 100%;
  padding-left: var(--space-md);
  padding-right: var(--space-md);
  max-width: calc(1400px - 2rem);
}
@media (min-width: 48em) {
  .container {
    padding-left: var(--space-xl);
    padding-right: var(--space-xl);
  }
}

.container--small {
  max-width: 860px;
}

.container--fluid {
  max-width: none;
}

.c-form__label {
  padding-right: 8px;
  display: inline-block;
  width: 60px;
  text-align: right;
}

.c-hamburger {
  align-items: flex-end;
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font-size: 14px;
  margin: 0;
  margin-left: auto;
  padding: 0 2px 0 0;
  text-align: center;
  width: 40px;
  z-index: 30;
}
@media (min-width: 64em) {
  .c-hamburger {
    display: none;
  }
}
.c-hamburger__line {
  background: black;
  border-radius: 10px;
  height: 4px;
  margin: 3px 0;
  transition: 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
.c-hamburger span:nth-of-type(1) {
  width: 50%;
}
.c-hamburger span:nth-of-type(2) {
  width: 100%;
}
.c-hamburger span:nth-of-type(3) {
  width: 75%;
}
.c-hamburger span:last-child {
  color: black;
  margin-top: 3px;
}
.c-hamburger[aria-expanded=true] span:nth-of-type(1) {
  transform: rotatez(-45deg) translate(2px, 5px);
  transform-origin: bottom;
}
.c-hamburger[aria-expanded=true] span:nth-of-type(2) {
  transform: rotatez(45deg) translate(5px, -5px);
  transform-origin: top;
}
.c-hamburger[aria-expanded=true] span:nth-of-type(3) {
  transform: translate(-8px, -5px) rotatez(-45deg);
  transform-origin: bottom;
  width: 50%;
}

.c-component {
  margin-bottom: 4rem;
}
.c-component__title {
  margin-bottom: 2rem;
}
.c-component__variants {
  gap: 2rem;
}
.c-component__variant {
  padding: 1rem;
  border: 1px solid gray;
}
.c-component__variant-title {
  margin-bottom: 1rem;
  font-weight: 300;
  font-style: italic;
}
.c-component__variant-html {
  margin-bottom: 1rem;
  position: relative;
}
.c-component__variant-html-code {
  font-size: 12px;
}

.c-card {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
.c-card--with-shadow {
  box-shadow: var(--shadow-elevation-high);
}
.c-card--linkable {
  transition: all 200ms cubic-bezier(0.445, 0.05, 0.655, 0.76);
  box-shadow: 6px 6px 0 0 var(--color-text);
}
.c-card--linkable:hover, .c-card--linkable:focus {
  box-shadow: 2px 2px 0 0 var(--color-text);
  transform: translate(2px, 2px);
}
.c-card--image-background {
  transition: all 200ms cubic-bezier(0.445, 0.05, 0.655, 0.76);
  overflow: hidden;
}
.c-card--image-background:hover .c-card__overlay, .c-card--image-background:focus .c-card__overlay {
  transform: translateY(-50px);
}
.c-card--image-background:hover .c-card__image, .c-card--image-background:focus .c-card__image {
  transform: scale(1.2);
}
.c-card--image-background .c-card__image {
  position: absolute;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 500ms cubic-bezier(0.445, 0.05, 0.655, 0.76);
}
.c-card--image-background .c-card__overlay {
  transition: all 500ms cubic-bezier(0.445, 0.05, 0.655, 0.76);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: calc(100% + 50px);
  background: rgb(0, 0, 0);
  background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(238, 247, 255, 0) 100%);
}
.c-card--image-background .c-card__content {
  margin-top: auto;
  position: relative;
  z-index: 2;
}
@media (max-width: 47.99em) {
  .c-card__image {
    aspect-ratio: 2/1;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.c-card__title {
  color: var(--color-text);
}
.c-card__subtitle {
  color: var(--color-text-light);
}
.c-card__text {
  color: var(--color-text-light);
}

.c-sidebar {
  position: fixed;
  z-index: 10;
}
.c-sidebar:before, .c-sidebar:after {
  content: "";
  position: fixed;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.05);
  transition: transform cubic-bezier(0.77, 0, 0.175, 1) 1s;
  transform: translateX(0%) translateY(-100%);
}
.c-sidebar:after {
  background-color: #d2d8d6;
  background-image: linear-gradient(315deg, #d2d8d6 0%, #dce8e0 74%);
  transition-delay: 0s;
}
.c-sidebar:before {
  transition-delay: 0.06s;
}
.c-sidebar__content {
  z-index: 10;
  position: fixed;
  top: 50%;
  transform: translate(0%, -50%);
  width: 100%;
  text-align: center;
  font-size: calc(1vh + 12px);
  font-weight: 200;
  cursor: pointer;
}
.c-sidebar__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.c-sidebar__list-item {
  position: relative;
  display: inline-block;
  transition-delay: 1s;
  opacity: 0;
  transform: translate(0%, 100%);
  transition: opacity 0.2s ease, transform 0.3s ease;
  margin-right: 25px;
}
.c-sidebar__link {
  display: inline-block;
  color: inherit;
  text-decoration: none;
  text-transform: uppercase;
  padding: 0.5rem;
  font-weight: 600;
}

body.has-active-sidebar .c-sidebar {
  visibility: visible;
}
body.has-active-sidebar .c-sidebar:before, body.has-active-sidebar .c-sidebar:after {
  transform: translateX(0%) translateY(0%);
}
body.has-active-sidebar .c-sidebar:after {
  transition-delay: 0.06s;
}
body.has-active-sidebar .c-sidebar:before {
  transition-delay: 0s;
}
body.has-active-sidebar .c-sidebar__list-item {
  opacity: 1;
  transform: translateX(0%);
  transition: opacity 0.3s ease, transform 0.3s ease, color 0.3s ease;
}
body.has-active-sidebar .c-sidebar__list-item:nth-child(0) {
  transition-delay: 0.5s;
}
body.has-active-sidebar .c-sidebar__list-item:nth-child(1) {
  transition-delay: 0.625s;
}
body.has-active-sidebar .c-sidebar__list-item:nth-child(2) {
  transition-delay: 0.75s;
}
body.has-active-sidebar .c-sidebar__list-item:nth-child(3) {
  transition-delay: 0.875s;
}
body.has-active-sidebar .c-sidebar__list-item:nth-child(4) {
  transition-delay: 1s;
}
body.has-active-sidebar .c-sidebar__list-item:nth-child(5) {
  transition-delay: 1.125s;
}
body.has-active-sidebar .c-sidebar__list-item:nth-child(6) {
  transition-delay: 1.25s;
}
body.has-active-sidebar .c-sidebar__list-item:nth-child(7) {
  transition-delay: 1.375s;
}
body.has-active-sidebar .c-sidebar__list-item:nth-child(8) {
  transition-delay: 1.5s;
}
body.has-active-sidebar .c-sidebar__list-item:nth-child(9) {
  transition-delay: 1.625s;
}
body.has-active-sidebar .c-sidebar__list-item:nth-child(10) {
  transition-delay: 1.75s;
}

.c-logobar {
  color: var(--color-text);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.c-logobar .c-footer {
  display: none;
}
@media (min-width: 48em) {
  .c-logobar {
    height: 100vh;
    position: sticky;
    top: 0;
  }
  .c-logobar .c-footer {
    display: flex;
  }
}

.c-home-grid {
  display: grid;
  width: 100%;
  height: calc(100vh - var(--space-lg) - var(--space-lg));
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(12, 1fr);
  gap: var(--space-lg);
}
.c-home-grid__item {
  grid-area: var(--rowStart)/var(--colStart)/var(--rowEnd)/var(--colEnd);
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.columns {
  --columns: 12;
  --columns-sm: 1;
  --columns-md: 1;
  --columns-lg: 1;
  --gap: 8px;
  --column-gap: var(--gap);
  --row-gap: var(--gap);
  grid-column-gap: var(--column-gap);
  grid-row-gap: var(--row-gap);
  display: grid;
  grid-template-columns: repeat(var(--columns-sm), 1fr);
}

.columns > * {
  --span: 1;
  --span-sm: 1;
  grid-column: span var(--span-sm);
  min-width: 0;
}

.columns--reverse {
  direction: rtl;
}

.columns--reverse > * {
  direction: ltr;
}

@media (min-width: 48em) {
  .columns {
    --columns-md: var(--columns);
    grid-template-columns: repeat(var(--columns-md), 1fr);
  }
  .columns > * {
    --span-md: var(--span);
    grid-column: span var(--span-md);
  }
}
@media (min-width: 64em) {
  .columns {
    --columns-lg: var(--columns);
    grid-template-columns: repeat(var(--columns-lg), 1fr);
  }
  .columns > * {
    --span-lg: var(--span);
    grid-column: span var(--span-lg);
  }
}
.auto-fill,
.auto-fit {
  --min: 30rem;
  --max: 1fr;
  --gap: 2rem;
  --column-gap: var(--gap);
  --row-gap: var(--gap);
  max-width: 100%;
  grid-column-gap: var(--column-gap);
  grid-row-gap: var(--row-gap);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--min), var(--max)));
}
@media (max-width: 47.99em) {
  .auto-fill,
  .auto-fit {
    grid-template-columns: 1fr;
  }
}

.auto-fit {
  grid-template-columns: repeat(auto-fit, minmax(var(--min), var(--max)));
}

.col-1 {
  --columns: 1;
}

.col-2 {
  --columns: 2;
}

.col-3 {
  --columns: 3;
}

.col-4 {
  --columns: 4;
}

.col-5 {
  --columns: 5;
}

.col-6 {
  --columns: 6;
}

.col-7 {
  --columns: 7;
}

.col-8 {
  --columns: 8;
}

.col-9 {
  --columns: 9;
}

.col-10 {
  --columns: 10;
}

.col-11 {
  --columns: 11;
}

.col-12 {
  --columns: 12;
}

@media (min-width: 40em) {
  .col-sm-1 {
    --columns: 1;
  }
  .col-sm-2 {
    --columns: 2;
  }
  .col-sm-3 {
    --columns: 3;
  }
  .col-sm-4 {
    --columns: 4;
  }
  .col-sm-5 {
    --columns: 5;
  }
  .col-sm-6 {
    --columns: 6;
  }
  .col-sm-7 {
    --columns: 7;
  }
  .col-sm-8 {
    --columns: 8;
  }
  .col-sm-9 {
    --columns: 9;
  }
  .col-sm-10 {
    --columns: 10;
  }
  .col-sm-11 {
    --columns: 11;
  }
  .col-sm-12 {
    --columns: 12;
  }
}
@media (min-width: 48em) {
  .col-md-1 {
    --columns: 1;
  }
  .col-md-2 {
    --columns: 2;
  }
  .col-md-3 {
    --columns: 3;
  }
  .col-md-4 {
    --columns: 4;
  }
  .col-md-5 {
    --columns: 5;
  }
  .col-md-6 {
    --columns: 6;
  }
  .col-md-7 {
    --columns: 7;
  }
  .col-md-8 {
    --columns: 8;
  }
  .col-md-9 {
    --columns: 9;
  }
  .col-md-10 {
    --columns: 10;
  }
  .col-md-11 {
    --columns: 11;
  }
  .col-md-12 {
    --columns: 12;
  }
}
@media (min-width: 64em) {
  .col-lg-1 {
    --columns: 1;
  }
  .col-lg-2 {
    --columns: 2;
  }
  .col-lg-3 {
    --columns: 3;
  }
  .col-lg-4 {
    --columns: 4;
  }
  .col-lg-5 {
    --columns: 5;
  }
  .col-lg-6 {
    --columns: 6;
  }
  .col-lg-7 {
    --columns: 7;
  }
  .col-lg-8 {
    --columns: 8;
  }
  .col-lg-9 {
    --columns: 9;
  }
  .col-lg-10 {
    --columns: 10;
  }
  .col-lg-11 {
    --columns: 11;
  }
  .col-lg-12 {
    --columns: 12;
  }
}
@media (min-width: 80em) {
  .col-xl-1 {
    --columns: 1;
  }
  .col-xl-2 {
    --columns: 2;
  }
  .col-xl-3 {
    --columns: 3;
  }
  .col-xl-4 {
    --columns: 4;
  }
  .col-xl-5 {
    --columns: 5;
  }
  .col-xl-6 {
    --columns: 6;
  }
  .col-xl-7 {
    --columns: 7;
  }
  .col-xl-8 {
    --columns: 8;
  }
  .col-xl-9 {
    --columns: 9;
  }
  .col-xl-10 {
    --columns: 10;
  }
  .col-xl-11 {
    --columns: 11;
  }
  .col-xl-12 {
    --columns: 12;
  }
}
@media (min-width: 96em) {
  .col-xxl-1 {
    --columns: 1;
  }
  .col-xxl-2 {
    --columns: 2;
  }
  .col-xxl-3 {
    --columns: 3;
  }
  .col-xxl-4 {
    --columns: 4;
  }
  .col-xxl-5 {
    --columns: 5;
  }
  .col-xxl-6 {
    --columns: 6;
  }
  .col-xxl-7 {
    --columns: 7;
  }
  .col-xxl-8 {
    --columns: 8;
  }
  .col-xxl-9 {
    --columns: 9;
  }
  .col-xxl-10 {
    --columns: 10;
  }
  .col-xxl-11 {
    --columns: 11;
  }
  .col-xxl-12 {
    --columns: 12;
  }
}
@media (min-width: 64em) {
  .col-start-1 {
    grid-column-start: 1;
  }
  .col-end-2 {
    grid-column-end: 2;
  }
  .col-start-2 {
    grid-column-start: 2;
  }
  .col-end-3 {
    grid-column-end: 3;
  }
  .col-start-3 {
    grid-column-start: 3;
  }
  .col-end-4 {
    grid-column-end: 4;
  }
  .col-start-4 {
    grid-column-start: 4;
  }
  .col-end-5 {
    grid-column-end: 5;
  }
  .col-start-5 {
    grid-column-start: 5;
  }
  .col-end-6 {
    grid-column-end: 6;
  }
  .col-start-6 {
    grid-column-start: 6;
  }
  .col-end-7 {
    grid-column-end: 7;
  }
  .col-start-7 {
    grid-column-start: 7;
  }
  .col-end-8 {
    grid-column-end: 8;
  }
  .col-start-8 {
    grid-column-start: 8;
  }
  .col-end-9 {
    grid-column-end: 9;
  }
  .col-start-9 {
    grid-column-start: 9;
  }
  .col-end-10 {
    grid-column-end: 10;
  }
  .col-start-10 {
    grid-column-start: 10;
  }
  .col-end-11 {
    grid-column-end: 11;
  }
  .col-start-11 {
    grid-column-start: 11;
  }
  .col-end-12 {
    grid-column-end: 12;
  }
  .col-start-12 {
    grid-column-start: 12;
  }
  .col-end-13 {
    grid-column-end: 13;
  }
}
.c-grid-table {
  --o-y-gap: 1rem;
  --o-y-gap-md: var(--o-y-gap);
  --o-y-gap-lg: var(--o-y-gap-md);
  --o-y-gap-xl: var(--o-y-gap-lg);
  --o-layout: 1fr;
  --o-layout-md: var(--o-layout);
  --o-layout-lg: var(--o-layout-md);
  --o-layout-xl: var(--o-layout-lg);
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
.c-grid-table > * + * {
  margin-top: var(--o-y-gap);
}
@media (min-width: 48em) {
  .c-grid-table > * + * {
    margin-top: var(--o-y-gap-md);
  }
}
@media (min-width: 64em) {
  .c-grid-table > * + * {
    margin-top: var(--o-y-gap-lg);
  }
}
@media (min-width: 80em) {
  .c-grid-table > * + * {
    margin-top: var(--o-y-gap-xl);
  }
}
.c-grid-table .c-grid-table__row {
  display: grid;
  grid-auto-columns: min-content;
  grid-template-columns: var(--o-layout);
  margin-left: 0;
}
@media (min-width: 48em) {
  .c-grid-table .c-grid-table__row {
    grid-template-columns: var(--o-layout-md);
  }
}
@media (min-width: 64em) {
  .c-grid-table .c-grid-table__row {
    grid-template-columns: var(--o-layout-lg);
  }
}
@media (min-width: 80em) {
  .c-grid-table .c-grid-table__row {
    grid-template-columns: var(--o-layout-xl);
  }
}

.c-spacer {
  height: 0;
  margin-top: var(--c-spacer-size, 0);
}
.c-spacer + * {
  margin-top: 0;
}
.c-spacer--sm {
  --c-spacer-size: var(--space-sm);
}
.c-spacer--md {
  --c-spacer-size: var(--space-md);
}
.c-spacer--lg {
  --c-spacer-size: var(--space-lg);
}
.c-spacer--xl {
  --c-spacer-size: var(--space-xl);
}
.c-spacer--2xl {
  --c-spacer-size: var(--space-2xl);
}

.c-album {
  text-decoration: none;
  position: relative;
  transition: all 200ms cubic-bezier(0.445, 0.05, 0.655, 0.76);
}
.c-album:hover, .c-album:focus {
  text-decoration: underline;
}
.c-album img {
  width: 100%;
  height: auto;
}
.c-album .c-album__title {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 0.5rem 1rem;
  text-transform: uppercase;
  background-color: rgba(255, 255, 255, 0);
  color: white;
  z-index: 2;
  text-align: center;
  width: 140px;
  height: 140px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
}
.c-album::after {
  background-color: rgb(0, 0, 0);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: " ";
  z-index: 1;
  display: block;
  opacity: 0;
  transition: opacity ease-in-out 0.2s;
}
@media (max-width: 47.99em) {
  .c-album::after {
    opacity: 0.35;
  }
}
.c-album:hover::after {
  opacity: 0.35;
}

/*------------------------------------*\
    #Project (p-prefix)
    Set of scss to individual pages
\*------------------------------------*/
/*------------------------------------*\
    #UTILITIES (u-prefix)
    Set of utility classes geretators. (e.g. u-mt-4.)
\*------------------------------------*/
.static{
  position: static;
}
.mt-16{
  margin-top: 4rem;
}
.mb-32{
  margin-bottom: 8rem;
}
.mt-0{
  margin-top: 0px;
}
.block{
  display: block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.hidden{
  display: none;
}
.h-auto{
  height: auto;
}
.h-full{
  height: 100%;
}
.w-full{
  width: 100%;
}
.w-auto{
  width: auto;
}
.max-w-\[60ch\]{
  max-width: 60ch;
}
.flex-1{
  flex: 1 1 0%;
}
.resize{
  resize: both;
}
.flex-col{
  flex-direction: column;
}
.justify-center{
  justify-content: center;
}
.border{
  border-width: 1px;
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.p-8{
  padding: 2rem;
}
.filter{
  filter: var(--tw-filter);
}
.transition{
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
/* ==========================================================================
   # Display utility
   ========================================================================== */
/* ==========================================================================
   # Display utility
   ========================================================================== */
.js .u-js-hidden {
  display: none;
}

.no-js .u-no-js-hidden {
  display: none;
}

/* ==========================================================================
   # Position utility
   ========================================================================== */
/* ==========================================================================
   #SPACINGS
   ========================================================================== */
/* ==========================================================================
   #RESPONSIVE-SPACINGS
   ========================================================================== */
/**
 * Utility classes enhancing the normal spacing classes by adding responsiveness
 * to them. By default, there are not responsive spacings defined. You can
 * generate responsive spacings by adding entries to the following three Sass
 * maps, e.g.:
 *
 *   $responsive-spacing-directions: (
 *     null: null,
 *     "-bottom": "-bottom",
 *   );
 *
 *   $responsive-spacing-properties: (
 *     "margin": "margin",
 *   );
 *
 *   $responsive-spacing-sizes: (
 *     "-small": $global-spacing-unit-small,
 *   );
 *
 * This would bring us the following classes:
 *
 *   .u-margin-small@mobile {}
 *   .u-margin-small@tablet {}
 *   .u-margin-small@desktop {}
 *   .u-margin-small@wide {}
 *   .u-margin-bottom-small@mobile {}
 *   .u-margin-bottom-small@tablet {}
 *   .u-margin-bottom-small@desktop {}
 *   .u-margin-bottom-small@wide {}
 *
 * You can change the generated CSS classes by further extending the Sass maps.
 * If you want every ‘normal’ spacing (those from `utilities.spacings`) also as
 * a responsive version, you can just mirror the ‘normal’ spacings:
 *
 *   $responsive-spacing-directions: $spacing-directions !default;
 *
 *   $responsive-spacing-properties: $spacing-properties !default;
 *
 *   $responsive-spacing-sizes: $spacing-sizes !default;
 *
 * BUT BE AWARE: This can generate a huge chunk of extra CSS, depending on the
 * amount of breakpoints you defined. So please check your CSS’ output and
 * filesize!
 */
/* ==========================================================================
   # Text utility
   ========================================================================== */
@media (min-width: 640px){
  *, ::before, ::after{
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, var(--tw-border-opacity));
  }
  *, ::before, ::after{
    --tw-blur: var(--tw-empty,/*!*/ /*!*/);
    --tw-brightness: var(--tw-empty,/*!*/ /*!*/);
    --tw-contrast: var(--tw-empty,/*!*/ /*!*/);
    --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);
    --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);
    --tw-invert: var(--tw-empty,/*!*/ /*!*/);
    --tw-saturate: var(--tw-empty,/*!*/ /*!*/);
    --tw-sepia: var(--tw-empty,/*!*/ /*!*/);
    --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);
    --tw-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
}
@media (min-width: 768px){
  .md\:p-16{
    padding: 4rem;
  }
  .md\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .md\:pr-24{
    padding-right: 6rem;
  }
  .md\:pl-0{
    padding-left: 0px;
  }
}
@media (min-width: 1024px){
  .lg\:h-screen{
    height: 100vh;
  }
  .lg\:w-2\/5{
    width: 40%;
  }
  .lg\:flex-row{
    flex-direction: row;
  }
}