/*!********************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-5.use[2]!./src/perfecth/assets/styles/style.scss ***!
  \********************************************************************************************************************************************************/
@import url(https://use.typekit.net/tfq2gnp.css);
/*!************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-5.use[2]!./src/perfecth/assets/styles/style.scss (1) ***!
  \************************************************************************************************************************************************************/
/**
 * The structure is based on ITCSS with custom modifications.
 *
 * This is where all of the stylesheets are compiled.
 * They are processed in the order they are imported
 * to ensure the consistent increase of specificity.
 *
 *    ITCSS Methodology: Inverted Triangle CSS
 *
 *    ****************   1. Settings
 *     **************    2. Tools
 *      ************     3. Generic
 *       **********      4. Objects
 *        ********       5. Elements
 *         ******        6. Components
 *          ****         7. Blocks
 *           **          8. Utilities
 *
 * 1. Settings
 *    Global configuration and variables.
 *    Breakpoints, colors, spacing, utilities etc.
 *
 * 2. Tools
 *    Functions and mixins.
 *
 * 3. Generic
 *    Ground zero styles. No classes.
 *
 * 4. Objects
 *    Common non-cosmetic structural design patterns.
 *    Containers, rows, grids, colums etc.
 *
 * 5. Elements
 *    Unclassed (bare) HTML element.b
 *    H1, Ul, A etc.
 *
 * 6. Atoms
 *    Specific cosmetic elements of UI.
 *    Buttons, forms etc.
 *
 * 7. Molecules
 *    Multi-part components. 
 *    Navbar, footer etc. 
 *
 * 8. Organisms 
 *    Template/page specific styles
 */
/**
* Breakpoints
* Based on https://www.freecodecamp.org/news/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862/
*
* Define media query breakpoints
* we're defining a mobile value as 0px to be used as a default value in mixins using the breakpoint list
**/
/** Colors **/
:root {
  --qotsa-white: #D9E4E6;
  --qotsa-black: 0,0,0;
  --qotsa-background: #0f161e;
  --qotsa-bg: #181610;
  --qotsa-primary: #B8A468;
  --qotsa-secondary: #70706C;
  --qotsa-red: #ED1C24;
  --qotsa-fourth: #404040;
  --qotsa-fifth: #A88037;
  --qotsa-sixth: #EFEFEF;
  --qotsa-muted: rgba(240, 240, 240, 0.5);
  --qotsa-input-bg: #E0E0E0;
  --qotsa-teal: #3E7478;
  --header-height: 140px;
}

/**
* Spacing
*
* If we're defining consisten spacing across the website, 
* variables would go into this file
**/
/**
* Typography
*
* For example font and icon variables would go into this file
**/
:root {
  --qotsa-font-main: 'Times New Roman', Times, serif;
  --qotsa-font-second: 'emily-austin', sans-serif;
}

a {
  color: var(--qotsa-white);
  font-family: var(--qotsa-font-main);
  text-decoration: none;
  transition: all 0.25s ease-in-out;
}
@media (min-width: 1000px) {
  a:hover {
    text-decoration: none;
    color: var(--qotsa-secondary);
  }
}

h1 {
  font-family: var(--qotsa-font-second);
  font-size: 28px;
  line-height: 36px;
  margin: 0px;
  font-weight: 400;
}
h1.larger {
  font-size: 32px;
  line-height: 40px;
}

h2 {
  font-family: var(--qotsa-font-main);
  font-size: 24px;
  line-height: 32px;
  margin: 0px;
}

h3 {
  font-family: var(--qotsa-font-main);
  font-size: 20px;
  line-height: 28px;
  margin: 0px;
}

p {
  font-family: var(--qotsa-font-main);
  font-weight: 400;
  font-size: 20px;
  line-height: 28px;
  margin: 0px;
}
p strong {
  font-weight: 900;
}
p a {
  font-family: var(--qotsa-font-main);
  transition: color 0.3s ease-in-out;
}
@media (min-width: 1000px) {
  p a:hover {
    color: var(--qotsa-white);
  }
}

ul {
  font-family: var(--qotsa-font-main);
  font-weight: 400;
  font-size: 20px;
  line-height: 28px;
  margin: 0px;
}

/** Blocks **/
/**
* Breakpoints
*
* use like:
* @include breakpoint(tabletLandscapeUp){
*   ...
* }
**/
/**
* Retina background image
*
* usage:
* background: url('/path/to/image.png');
* @include background-2x( '../path/to/image', 'png', 100%, auto, center center, no-repeat );
**/
/**
* Transitions
*
* define transition(s) to keep it consisten across the site
**/
/** Transitions
*
* Actual transitions and animations go into this file
**/
/** Font Face
*
* Custom fonts or icon specs go into this file, 
* using variables from typography.scss if aplicable
**/
/**
* Print styles.
* Taken from https://github.com/h5bp/html5-boilerplate
**/
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important; /* Black prints faster */
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /*
   * Printing Tables:
   * http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after {
  box-sizing: border-box;
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

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

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

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

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

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

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

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
}

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

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none;
}

/**
 * Remove the border on images within links in IE 10-.
 */
img {
  border-style: none;
  max-width: 100%;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
  border-collapse: collapse;
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

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

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  padding: 0;
}

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

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}

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

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

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

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
      in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation; /* 1 */
  touch-action: manipulation; /* 2 */
}

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

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

body {
  background-color: var(--qotsa-background);
  color: var(--qotsa-white);
  font-family: var(--qotsa-font-main);
  margin: 0px;
  min-height: 100vh;
  overflow: hidden;
  position: relative;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image: url(assets/page-bg-desktop.29a911f4f034bf0ea468.jpg);
  background-size: auto auto;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: filter 0.3s ease-in-out;
}
body.is-home::before {
  background-image: url(assets/home-bg-mobile.d324be6a73255c01cd61.jpg);
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
}
@media (min-width: 1000px) {
  body.is-home::before {
    background-image: url(assets/home-bg-desktop.b0700595ef2e31f858f7.jpg);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
  }
}
body.video-modal-open::before {
  filter: blur(8px);
}
body.home-video-bg::before {
  display: none;
}

.form {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 1000px) {
  .form {
    flex-direction: row;
    gap: 12px;
    width: 648px;
    margin: 0 auto;
  }
}
.form select,
.form input[type=text],
.form input[type=email] {
  height: 48px;
  width: 100%;
  background: rgba(255, 255, 255, 0.5);
  color: black !important;
  border: none;
  font-size: 18px;
  font-family: var(--qotsa-font-main);
  padding: 12px 16px;
  outline: none;
  transition: all 0.25s ease-in-out;
}
.form select::placeholder,
.form input[type=text]::placeholder,
.form input[type=email]::placeholder {
  color: rgba(0, 0, 0, 0.5);
}
.form select:hover,
.form input[type=text]:hover,
.form input[type=email]:hover {
  background: var(--qotsa-sixth);
  color: black;
  background: rgba(255, 255, 255, 0.75);
}
.form select:focus,
.form input[type=text]:focus,
.form input[type=email]:focus {
  background: rgb(255, 255, 255);
}
.form select:disabled,
.form input[type=text]:disabled,
.form input[type=email]:disabled {
  pointer-events: none;
  opacity: 0.3;
}
.form input[type=text],
.form input[type=email] {
  color: var(--qotsa-fourth);
  position: relative;
}
.form input[type=text]::placeholder,
.form input[type=email]::placeholder {
  color: var(--qotsa-fourth);
}
.form select {
  display: none;
  color: var(--qotsa-primary);
}
.form select.selected {
  color: var(--qotsa-primary);
}
.form__fields {
  flex: 1;
  width: 100%;
}
@media (min-width: 1000px) {
  .form__fields {
    width: auto;
  }
}
.form__error {
  color: var(--qotsa-red);
  font-size: 14px;
  padding: 8px 0;
  display: block;
  text-align: left;
  position: absolute;
  bottom: -20px;
  left: 0;
}
.form__success {
  display: flex;
  flex-direction: column;
  gap: 24px;
  justify-content: center;
  align-items: center;
  margin-top: 24px;
}
.form .button--primary {
  width: 154px;
}

.button {
  transition: all 0.25s ease-in-out;
  background: none;
  box-shadow: none;
  border: none;
  cursor: pointer;
}
.button--primary, .button--secondary {
  max-width: max-content;
  width: 100%;
  min-width: 128px;
  height: auto;
  min-height: 40px;
  padding: 11px 18px;
  position: relative;
  z-index: 1;
  font-family: var(--qotsa-font-main);
  font-size: 16px;
  line-height: 100%;
  font-style: italic;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  word-break: auto-phrase;
}
.button--primary span, .button--secondary span {
  font-size: inherit;
  font-family: inherit;
  color: inherit;
}
.button--primary svg, .button--secondary svg {
  width: 24px;
  transition: all 0.25s ease-in-out;
}
.button--primary.disabled, .button--secondary.disabled {
  pointer-events: none;
  opacity: 0.3;
}
.button--primary {
  color: var(--qotsa-white);
  border: 1px var(--qotsa-red) solid;
  background: none;
}
.button--primary svg path {
  fill: var(--qotsa-red);
}
.button--primary:hover {
  color: white;
  border-color: white;
}
.button--primary:hover svg path {
  fill: white;
}
.button--secondary {
  background: var(--qotsa-red);
}
.button--secondary span {
  margin-left: 6px;
}
.button--secondary:hover {
  color: black;
  border-color: white;
  background: white;
}

.loader {
  position: absolute;
  z-index: 999;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: none;
}
.loader__hanging {
  width: 100%;
  display: flex;
  justify-content: center;
}
.loader__hanging-item {
  width: 52px;
  height: 200px;
  animation: hangmobile infinite linear;
}
@media (min-width: 1000px) {
  .loader__hanging-item {
    width: 128px;
    height: 424px;
    animation: hang infinite linear;
  }
}
.loader__hanging-item:nth-child(1) {
  background-image: url(assets/hand.9b588e685cbd28fd2003.jpg);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  animation-duration: 6s;
}
.loader__hanging-item:nth-child(2) {
  background-image: url(assets/ear.b2e87debde4f2cea3ff6.jpg);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  animation-duration: 4s;
}
.loader__hanging-item:nth-child(3) {
  background-image: url(assets/bottle.5d631d7753467f0872c5.jpg);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  animation-duration: 5s;
}
.loader__hanging-item:nth-child(4) {
  background-image: url(assets/wolf.39fc1a6fba6c00937ee4.jpg);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  animation-duration: 7s;
}
.loader__hanging-item:nth-child(5) {
  background-image: url(assets/heart.634eefa66f2e21c04ab3.jpg);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  animation-duration: 8s;
}
.loader__hanging-item:nth-child(6) {
  background-image: url(assets/mask.58a0777f6f2491d94a30.jpg);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  animation-duration: 4.5s;
}
.loader__hanging-item:nth-child(7) {
  background-image: url(assets/urn.e25244e72cd4eb2c15d7.jpg);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  animation-duration: 6.5s;
}
.loader__title {
  color: var(--qotsa-red);
  font-size: 24px;
  line-height: 24px;
  font-weight: 400;
  position: absolute;
  bottom: 48px;
  left: 0px;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0px 24px;
  text-align: center;
  text-transform: capitalize;
}
.loader__title .dots {
  width: 42px;
  height: 32px;
  text-align: start;
  margin: 0px auto;
}
.loader__title .dots:after {
  animation: dots 2s infinite linear;
  content: "";
}
@media (min-width: 1000px) {
  .loader__title {
    width: auto;
    padding: 0px;
    left: 50%;
    transform: translate(-50%, 0px);
  }
  .loader__title .dots {
    position: absolute;
    right: -50px;
    margin: 0px;
  }
}

@keyframes dots {
  0% {
    content: ".";
  }
  40% {
    content: "..";
  }
  60% {
    content: "...";
  }
  100% {
    content: "";
  }
}
@keyframes hang {
  0% {
    margin-top: -400px;
  }
  50% {
    margin-top: 0px;
  }
  100% {
    margin-top: -400px;
  }
}
@keyframes hangmobile {
  0% {
    margin-top: -200px;
  }
  50% {
    margin-top: 0px;
  }
  100% {
    margin-top: -200px;
  }
}
.overlay {
  transition: all 0.25s ease-in-out;
  opacity: 0;
  background: var(--qotsa-red);
  color: var(--qotsa-black);
  font-size: 24px;
  line-height: 36px;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.event {
  width: 100%;
  margin-bottom: 24px;
}
@media (min-width: 800px) {
  .event {
    display: grid;
    grid-template-columns: 128px 2fr 1fr;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 40px;
  }
}
@media (max-width: 768px) {
  .event {
    margin-bottom: 35px;
  }
}
.event__date {
  color: var(--qotsa-red);
  display: block;
  width: 100%;
  font-size: 18px;
  line-height: 100%;
  margin-bottom: 12px;
  text-transform: uppercase;
  min-width: max-content;
  font-style: italic;
}
@media (min-width: 1200px) {
  .event__date {
    margin: 0;
  }
}
@media (max-width: 768px) {
  .event__date {
    margin-bottom: 8px;
  }
}
.event__tickets {
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 220px;
  width: 100%;
  margin-top: 8px;
  justify-content: flex-end;
}
@media (min-width: 1200px) {
  .event__tickets {
    justify-content: flex-end;
  }
}
@media (max-width: 768px) {
  .event__tickets {
    margin-top: 13px;
    flex-direction: row-reverse;
  }
}
.event__tickets .sold-out {
  color: var(--qotsa-red);
  font-weight: 500;
  font-size: 16px;
  font-style: italic;
  line-height: 100%;
  text-transform: uppercase;
  min-width: max-content;
}
.event__tickets .button--primary:hover {
  background: rgba(237, 28, 36, 0.15);
  color: var(--qotsa-red);
  border-color: var(--qotsa-red);
}
.event__tickets .button--primary:hover svg path {
  fill: var(--qotsa-red);
}
.event__tickets .button--primary:active {
  background: rgba(237, 28, 36, 0.3);
}
.event__tickets .button--primary.disabled {
  opacity: 0.3;
}
.event__tickets .button--secondary {
  position: relative;
  overflow: hidden;
  background: var(--qotsa-red);
  border: 1px solid var(--qotsa-red);
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.event__tickets .button--secondary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.event__tickets .button--secondary:hover {
  color: #D8D4D0;
  border-color: var(--qotsa-red);
  background: var(--qotsa-red);
}
.event__tickets .button--secondary:hover::before {
  opacity: 0.15;
}
.event__tickets .button--secondary:active::before {
  opacity: 0.3;
}
.event__tickets .button--secondary:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}
.event__tickets .button--secondary span {
  position: relative;
  z-index: 1;
}
.event__location h3 {
  color: var(--qotsa-red);
  font-size: 18px;
  font-weight: 400;
  line-height: 100%;
  margin-bottom: 8px;
  font-style: italic;
}
.event__location p {
  font-size: 14px;
  line-height: 100%;
  margin-top: 4px;
  color: var(--qotsa-white);
}
@media (min-width: 1200px) {
  .event__location p {
    margin: 0;
  }
}
.event__location p.event__support-band {
  margin-top: 8px;
}

.news__item {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 48px;
}
@media (min-width: 1000px) {
  .news__item {
    flex-direction: row;
    gap: 24px;
  }
  .news__item:hover .overlay {
    opacity: 1;
  }
}
.news__labels {
  flex: 1;
  width: 100%;
  text-transform: uppercase;
}
.news__labels h2 {
  margin-bottom: 28px;
}
.news__labels p {
  font-size: 14px;
  line-height: 20px;
}
.news__image {
  position: relative;
  width: 100%;
  height: 232px;
  background-image: url(assets/news-default.b756224279a3666e48f6.jpg);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 1000px) {
  .news__image {
    width: 424px;
    height: 312px;
  }
}
.news__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.privacy-policy {
  z-index: 201;
  bottom: 0px;
  width: 100%;
  text-align: left;
  margin-top: auto;
  flex-shrink: 0;
}
@media (min-width: 1000px) {
  .privacy-policy {
    position: fixed;
  }
}
.privacy-policy p {
  color: var(--qotsa-white);
  line-height: 16px;
  font-size: 14px;
  display: flex;
  justify-content: space-between;
}
@media (min-width: 1000px) {
  .privacy-policy p {
    flex-direction: column;
  }
  .privacy-policy p > span {
    display: flex;
    flex-direction: column;
  }
}
.privacy-policy a {
  color: var(--qotsa-white);
  line-height: 16px;
  font-size: 12px;
}
.privacy-policy--intro {
  display: none;
}
@media (min-width: 1000px) {
  .privacy-policy--intro {
    display: block;
  }
}

.product-card {
  display: flex;
  width: 100%;
  gap: 24px;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 1000px) {
  .product-card {
    width: 240px;
  }
}
.product-card__heading {
  color: var(--qotsa-red);
  font-size: 18px;
  line-height: 100%;
  text-align: center;
  font-style: italic;
  transition: all 0.25s ease-in-out;
}
.product-card__heading:active {
  color: #903828;
}
.product-card__heading:disabled {
  opacity: 0.3;
}
.product-card__heading.disabled {
  opacity: 0.3;
}
.product-card__image {
  position: relative;
  width: 100%;
  overflow: hidden;
  transition: all 0.25s ease-in-out;
}
@media (min-width: 1000px) {
  .product-card__image {
    width: 240px;
  }
}
.product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.5s;
}
.product-card__content {
  width: 50%;
}
@media (min-width: 1000px) {
  .product-card__content {
    width: 100%;
  }
}
.product-card:hover .product-card__image img {
  transform: scale(1.25);
}
.product-card:hover .product-card__content h3 {
  color: #9C2820;
}

.release-card {
  display: flex;
  flex-direction: row;
  width: 100%;
  gap: 12px;
}
@media (min-width: 1000px) {
  .release-card {
    flex-direction: column;
    width: 272px;
    margin-bottom: 24px;
  }
  .release-card a:hover {
    text-decoration: none;
  }
}
.release-card__image {
  height: auto;
  width: 120px;
}
@media (min-width: 1000px) {
  .release-card__image {
    width: 100%;
  }
}
.release-card__content {
  flex-grow: 1;
}
.release-card__release-date {
  margin-top: 0;
  margin-bottom: 0;
}

.sharing {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.sharing__item {
  cursor: pointer;
  transition: all 0.25s ease-in-out;
}
.sharing__item:hover svg path:last-child {
  fill: var(--qotsa-white);
}
.sharing .url-copied {
  position: fixed;
  left: 50%;
  transform: translate(-50%, 0px);
  bottom: -48px;
  opacity: 0;
  background: var(--qotsa-black);
  color: var(--qotsa-red);
  border: 3px solid var(--qotsa-red);
  width: 200px;
  height: 48px;
  font-family: var(--qotsa-font-second);
  font-size: 48px;
  line-height: 32px;
  text-transform: uppercase;
  padding-top: 2px;
  text-align: center;
  transition: all 0.3s ease-in-out;
}
.sharing .url-copied.active {
  opacity: 1;
  bottom: 24px;
}

.video-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 1000px) {
  .video-card {
    gap: 48px;
  }
}
.video-card__container {
  width: 100%;
  position: relative;
}
.video-card__container::after {
  padding-top: 56.25%;
  content: "";
  width: 100%;
  display: block;
}
.video-card__container > div,
.video-card__container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  max-width: 100%;
}
.video-card__container-overlay {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.video-card__container-overlay .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 20;
  transition: all 0.25s ease-in-out;
}
.video-card__container-overlay .icon-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10%;
  height: auto;
  z-index: 25;
  opacity: 0.5;
  transition: all 0.25s ease-in-out;
}
.video-card__container-overlay .video-player {
  opacity: 0;
  z-index: 10;
}
.video-card__container-overlay .video-player.active {
  opacity: 1;
}
@media (min-width: 1000px) {
  .video-card__container-overlay:hover .image {
    opacity: 0.7;
  }
  .video-card__container-overlay:hover .icon-play {
    opacity: 1;
  }
}

.announcement-banner {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: 0px;
  width: 100%;
  max-width: 808px;
  z-index: 1000;
  padding: 16px 24px;
  background: var(--qotsa-bg);
  border: 3px solid var(--qotsa-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
}
@media (min-width: 1000px) {
  .announcement-banner {
    flex-direction: row;
  }
}
.announcement-banner a {
  font-size: 24px;
  line-height: 1;
  color: var(--qotsa-primary);
  transition: all 0.25s ease-in-out;
}
@media (min-width: 1000px) {
  .announcement-banner a {
    font-size: 48px;
  }
  .announcement-banner a:hover {
    color: var(--qotsa-white);
  }
}

.article {
  min-height: var(--svh, 100vh);
}
.article__image {
  width: 100%;
  height: 43.9367311072vw;
  background-image: url(assets/news-default.b756224279a3666e48f6.jpg);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.article__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article__content {
  padding: 24px;
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 1000px) {
  .article__content {
    padding: 72px 0px;
    width: 872px;
  }
}
.article__title {
  margin: 24px 0px 28px;
}
@media (min-width: 1000px) {
  .article__title {
    margin: 48px 0px 24px;
  }
}
.article__sharing {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 26px;
}
.article__sharing.bottom {
  flex-direction: column-reverse;
}
@media (min-width: 1000px) {
  .article__sharing {
    gap: auto;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
  }
  .article__sharing.bottom {
    flex-direction: row;
  }
}
.article__sharing p {
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  text-transform: uppercase;
}
.article .page-content {
  min-height: auto;
  padding: 36px 24px;
}
@media (min-width: 1000px) {
  .article .page-content {
    padding: 0px;
  }
}
.article .page-content .button-block {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.article .page-content .button-block .button--primary,
.article .page-content .button-block .button--secondary {
  width: 100%;
  padding: 2px 8px;
}
.article .page-content .heading--center,
.article .page-content .heading--left,
.article .page-content .heading--right {
  max-width: 100%;
}

.block--page-follow {
  max-width: 312px;
}
@media (min-width: 1000px) {
  .block--page-follow {
    max-width: 616px;
  }
}
.block--page-follow .heading--center {
  margin-bottom: 24px;
  max-width: 100%;
  font-size: 36px;
  line-height: 36px;
  font-weight: 400;
}
.block--page-follow .sign-up {
  max-width: 312px;
  margin: 0 auto 72px auto;
}
@media (min-width: 1000px) {
  .block--page-follow .sign-up {
    max-width: initial;
  }
}
.block--page-follow .sign-up .form {
  gap: 8px;
  width: 100%;
}
.block--page-follow .sign-up button {
  width: 100%;
  border-width: 1px;
  padding: 12px 32px;
}
@media (min-width: 1000px) {
  .block--page-follow .sign-up button {
    max-width: max-content;
  }
}
.block--page-follow a {
  width: 312px;
}
@media (min-width: 1000px) {
  .block--page-follow a {
    width: 100%;
  }
}

.block {
  width: 100%;
}
.block--image {
  width: 872px;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}
.block--image img {
  height: auto;
  margin: 0 auto;
}
.block--heading h1, .block--heading h2 {
  max-width: 200px;
  margin: 0 auto;
}
@media (min-width: 1000px) {
  .block--heading h1, .block--heading h2 {
    max-width: 100%;
    margin: 0;
  }
}
.block--paragraph a {
  color: var(--qotsa-primary);
}
.block--paragraph > div {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 1000px) {
  .block--paragraph > div {
    gap: 48px;
  }
}
.block--videos {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 1000px) {
  .block--videos {
    gap: 48px;
  }
}

.button-block {
  max-width: 648px;
  margin: 0 auto;
  display: grid;
  justify-content: center;
  column-gap: 8px;
  row-gap: 12px;
  grid-template-columns: auto;
}
@media (min-width: 1000px) {
  .button-block {
    grid-template-columns: repeat(auto-fill, 200px);
  }
}
.button-block .button--primary {
  width: 200px;
  place-self: center;
}
.button-block.single-button {
  grid-template-columns: auto;
  justify-content: center;
}

.cookie-banner {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 32px;
  width: 100%;
  max-width: 808px;
  z-index: 1000;
  padding: 16px 24px;
  background-color: rgba(var(--qotsa-black), 0.75);
  border: 1px solid var(--qotsa-white);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  gap: 12px;
}
@media (min-width: 1000px) {
  .cookie-banner {
    flex-direction: row;
  }
}
.cookie-banner p {
  max-width: 496px;
  font-size: 14px;
  line-height: 1.5;
  font-style: italic;
}
.cookie-banner p a {
  text-decoration: underline;
}
.cookie-banner p a:hover {
  text-decoration: none;
}
.cookie-banner .button--primary:hover {
  background: rgba(237, 28, 36, 0.15);
  color: var(--qotsa-red);
  border-color: var(--qotsa-red);
}
.cookie-banner .button--primary:hover svg path {
  fill: var(--qotsa-red);
}
.cookie-banner .button--primary:active {
  background: rgba(237, 28, 36, 0.3);
}
.cookie-banner .button--primary.disabled {
  opacity: 0.3;
}

.error {
  min-height: initial;
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.error h1 {
  font-size: 72px;
  max-width: 100%;
  line-height: 36px;
  text-transform: capitalize;
  margin-bottom: 12px;
}
@media (min-width: 1000px) {
  .error h1 {
    font-size: 100px;
  }
}
.error p {
  font-size: 20px;
  margin-top: 20px;
  margin-bottom: 16px;
  text-align: center;
}
@media (min-width: 1000px) {
  .error p {
    font-size: 28px;
  }
}
.error a {
  min-width: 200px;
}
.error .button--secondary {
  position: relative;
  overflow: hidden;
  background: var(--qotsa-red);
  border: 1px solid var(--qotsa-red);
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.error .button--secondary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.error .button--secondary:hover {
  color: #D8D4D0;
  border-color: var(--qotsa-red);
  background: var(--qotsa-red);
}
.error .button--secondary:hover::before {
  opacity: 0.15;
}
.error .button--secondary:active::before {
  opacity: 0.3;
}
.error .button--secondary:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}
.error .button--secondary span {
  position: relative;
  z-index: 1;
}

.site-header {
  pointer-events: none;
  position: relative;
  z-index: 210;
  top: 0;
  left: 0;
  right: 0;
  height: var(--header-height);
}
@media (min-width: 1000px) {
  .site-header {
    top: 40px;
    right: 40px;
    left: initial;
    position: fixed;
    height: 100%;
  }
}
.site-header__logo {
  position: fixed;
  left: 24px;
  top: 24px;
  z-index: 999;
  cursor: pointer;
  max-width: 80px;
}
.site-header__logo video {
  width: 100%;
}
@media (min-width: 1200px) {
  .site-header__logo {
    max-width: 120px;
    left: 40px;
    top: 40px;
  }
}
.site-header__menu {
  display: none;
  position: fixed;
  width: 100%;
  height: calc(var(--svh, 100vh) - 120px);
  z-index: 200;
  background-color: var(--qotsa-background);
}
.site-header__menu::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: url(assets/logo-mobile-menu.a7405bd378118c884d38.png);
  background-size: 90% auto;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0.2;
}
@media (max-width: 999px) {
  .site-header__menu {
    height: 100%;
  }
}
.site-header__menu a {
  color: var(--qotsa-white);
  font-size: 16px;
  line-height: 100%;
  text-align: right;
  position: relative;
}
@media (min-width: 1000px) {
  .site-header__menu {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    pointer-events: none;
    background: transparent;
    position: relative;
  }
  .site-header__menu::before {
    content: none;
  }
  .site-header__menu a {
    display: block;
    max-width: max-content;
    pointer-events: auto;
    padding: 0;
    z-index: 5;
    text-decoration: none;
    transition: all 0.25s ease-in-out;
  }
  .site-header__menu a:hover {
    color: var(--qotsa-white);
    text-decoration: underline;
  }
  .site-header__menu a:active {
    color: var(--qotsa-sixth);
  }
}
.site-header__menu-link {
  width: 100%;
  z-index: 200;
}
.site-header__menu-link a {
  color: var(--qotsa-white);
  font-size: 16px;
  line-height: 100%;
  text-align: right;
  font-style: italic;
  position: relative;
}
.site-header__menu-link a.router-link-exact-active {
  text-decoration: underline;
}
@media (max-width: 1000px) {
  .site-header__menu-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
}
@media (min-width: 1000px) {
  .site-header__menu-link {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 16px;
    pointer-events: none;
    background: transparent;
    position: relative;
  }
  .site-header__menu-link a {
    display: block;
    max-width: max-content;
    pointer-events: auto;
    padding: 0;
    z-index: 5;
    transition: all 0.25s ease-in-out;
  }
  .site-header__menu-link a:hover {
    text-decoration: underline;
  }
  .site-header__menu-link a:active {
    color: #903828;
  }
  .site-header__menu-link a:disabled {
    opacity: 0.3;
  }
  .site-header__menu-link a.disable {
    opacity: 0.3;
  }
}

@media (min-width: 1000px) {
  body.is-home:not(.home-video-bg) .site-header__menu-link a {
    color: var(--qotsa-red);
  }
}

.site-header__mobile {
  pointer-events: all;
  z-index: 250;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (min-width: 1000px) {
  .site-header__mobile {
    display: none;
  }
}
.site-header__button {
  position: fixed;
  top: 24px;
  right: 24px;
  color: var(--qotsa-white);
  font-size: 16px;
  line-height: 18px;
  font-style: italic;
  cursor: pointer;
  transition: all 0.25s ease-in-out;
}
@media (min-width: 1000px) {
  .site-header__button:hover {
    color: var(--qotsa-white);
  }
  .site-header__button:active {
    color: var(--qotsa-sixth);
  }
}
@media (max-width: 768px) {
  .site-header__button {
    font-size: 16px;
    line-height: 100%;
    top: 30px;
  }
}
.site-header__socials {
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 32px;
  margin-bottom: 30px;
  left: 0;
  right: 0;
}
@media (max-width: 1000px) {
  .site-header__socials {
    bottom: 0px;
  }
}
@media (min-width: 1000px) {
  .site-header__socials {
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: flex-end;
    margin-top: 18px;
    max-width: 96px;
    pointer-events: auto;
  }
}
.site-header__social-link {
  color: var(--qotsa-white);
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  transition: none;
}
.site-header__social-link:hover {
  text-decoration: none;
}
.site-header__social-link:hover svg path,
.site-header__social-link:hover svg circle,
.site-header__social-link:hover svg rect,
.site-header__social-link:hover svg polygon,
.site-header__social-link:hover svg ellipse {
  fill: var(--qotsa-white);
}
.site-header__social-link:active {
  color: var(--qotsa-sixth);
}
.site-header__social-link svg {
  display: block;
  width: 24px;
  height: auto;
}
.site-header__social-link svg path,
.site-header__social-link svg circle,
.site-header__social-link svg rect,
.site-header__social-link svg polygon,
.site-header__social-link svg ellipse {
  fill: var(--qotsa-white);
  transition: none;
}
.site-header.menu-visible {
  pointer-events: all;
}
.site-header.menu-visible .site-header__menu {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
}

.site-header--blurred,
.site-header__logo--blurred {
  filter: blur(8px);
  pointer-events: none;
  transition: filter 0.3s ease-in-out;
}

.site-header--blurred .site-header__menu,
.site-header--blurred .site-header__menu-link {
  pointer-events: none;
}
.site-header--blurred .site-header__menu a,
.site-header--blurred .site-header__menu-link a {
  pointer-events: none;
}

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

.hero {
  width: 100%;
  position: relative;
}
.hero__image {
  width: 100%;
  height: auto;
}
.hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 24px;
  gap: 24px;
  position: absolute;
  z-index: 5;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}
.hero__heading {
  margin: 0;
  font-size: 12px;
  color: var(--qotsa-primary);
}
@media (min-width: 1000px) {
  .hero__heading {
    font-size: 15px;
  }
}
.hero__buttons {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (min-width: 1000px) {
  .hero__buttons {
    gap: 24px;
    flex-direction: row;
  }
}

.intro {
  width: 100vw;
  height: var(--svh, 100vh);
  position: relative;
  overflow: hidden;
  display: none;
}
.intro__canvas {
  position: relative;
  width: 100%;
  height: 100%;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  transition: background-position 0.3s ease-out;
  background-size: auto 110%, auto 120%, auto 140%;
}
@media (min-width: 1000px) {
  .intro__canvas {
    background-size: auto 105%, auto 110%, auto 120%;
  }
}
.intro__mobile {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 50%;
  z-index: 999;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: flex-end;
}
@media (min-width: 1000px) {
  .intro__mobile {
    display: none;
  }
}
.intro__mobile-label {
  width: 100%;
  padding: 160px 24px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(to top, rgb(24, 22, 16), rgba(22, 22, 16, 0));
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.intro__mobile-label.hidden {
  opacity: 0;
}
.intro__mobile-label h1 {
  color: var(--qotsa-red);
  font-family: var(--qotsa-font-second);
  font-size: 48px;
  line-height: 32px;
  font-weight: 400;
  text-align: center;
}
.intro__mobile-label svg {
  transform: scale(2);
}
.intro__mobile-label svg path {
  fill: var(--qotsa-red);
}
.intro__mobile-label svg:last-of-type {
  transform: scale(2) rotate(180deg);
}

.content {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  height: calc(var(--svh, 100vh) - var(--header-height));
  overflow-x: hidden;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media (min-width: 1000px) {
  .content {
    height: var(--svh, 100vh);
  }
}
.content::-webkit-scrollbar {
  display: none;
}
.content.top-layer {
  z-index: 211;
}
.content > * {
  flex-shrink: 0;
}

.privacy-policy {
  display: block;
  color: var(--qotsa-white);
  padding: 20px;
  font-size: 13px;
  font-style: italic;
  z-index: 9999;
}
.privacy-policy p, .privacy-policy a {
  color: inherit !important;
  opacity: 1;
}
@media (min-width: 1000px) {
  .privacy-policy {
    max-width: max-content;
    text-align: right;
    padding: 40px;
    left: auto;
    right: 0;
  }
}

.page {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: var(--svh, 100vh);
  padding: 7px 24px 96px 24px;
}
@media (max-width: 768px) {
  .page {
    padding: 7px 32px 96px 32px;
  }
}
.page-content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  width: 100%;
  margin: 0px auto;
}
@media (min-width: 1000px) {
  .page-content {
    padding: 96px 0px;
    width: 800px;
    max-width: calc(100vw - 240px);
  }
}

.error.page {
  padding: 7px 24px 16px 24px;
}

.block--page-home .heading--center,
.block--page-tour .heading--center,
.block--page-music .heading--center,
.block--page-news .heading--center {
  max-width: 100%;
  font-size: 72px;
  line-height: 100%;
}

.block--page-privacy-policy .heading--center {
  max-width: 100%;
  font-size: 72px;
  line-height: 100%;
  text-align: center;
  margin-bottom: 51px !important;
}
@media (max-width: 768px) {
  .block--page-privacy-policy .heading--center {
    margin-bottom: 41px !important;
  }
}

.block--page-privacy-policy p {
  font-family: var(--qotsa-font-main);
  line-height: 125%;
}

.block--paragraph.block--page-privacy-policy a {
  text-transform: none;
  font-family: var(--qotsa-font-main);
  text-decoration: underline;
  color: var(--qotsa-white);
}
.block--paragraph.block--page-privacy-policy a:hover {
  text-decoration: none;
}

.block--page-privacy-policy h3 {
  font-family: var(--qotsa-font-main);
  font-size: 14px;
}

.page-content.page-privacy-policy {
  padding: 86px 0px;
  max-width: 600px;
}
@media (max-width: 768px) {
  .page-content.page-privacy-policy {
    padding: 0;
  }
}

.modal-close-button {
  position: fixed;
  top: 24px;
  right: 24px;
  color: var(--qotsa-white);
  font-size: 16px;
  line-height: 18px;
  font-style: italic;
  cursor: pointer;
  z-index: 1100;
  transition: color 0.3s ease;
}
@media (min-width: 1000px) {
  .modal-close-button {
    top: 38px;
    right: 40px;
  }
}
.modal-close-button:hover {
  text-decoration: underline;
}
.modal-close-button:active {
  color: var(--qotsa-sixth);
}
@media (max-width: 768px) {
  .modal-close-button {
    top: 30px;
  }
}

.page-home {
  padding: 0;
  position: fixed;
  bottom: 40px;
  left: 24px;
  right: 24px;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  gap: 8px;
  width: initial;
  justify-content: flex-end;
  z-index: 202;
}
@media (min-width: 600px) {
  .page-home {
    bottom: 40px;
    left: 40px;
    right: 40px;
    max-width: 450px;
    margin: 0;
  }
}
.page-home .block--paragraph:first-child p {
  color: var(--qotsa-red);
  font-size: 22px;
  font-family: var(--qotsa-font-main);
  font-style: italic;
  text-transform: uppercase;
}
.page-home .block--heading h1 {
  color: var(--qotsa-white);
  font-size: 22px;
  line-height: 100%;
  text-align: center;
  max-width: 100%;
  margin-top: 20px;
  font-family: var(--qotsa-font-main);
  font-style: italic;
  text-transform: uppercase;
}
.page-home .block--paragraph:nth-child(3) p {
  color: var(--qotsa-red);
  font-size: 16px;
  line-height: 100%;
  text-align: center;
}
.page-home .block--videos {
  display: none;
}
.page-home .custom-home-button {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  position: relative;
}
.page-home .custom-home-button button,
.page-home .custom-home-button a {
  max-width: 100%;
  width: 100%;
  min-width: max-content;
}
.page-home .custom-home-button .button--primary {
  background: rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.page-home .custom-home-button .button--primary:hover {
  background: rgba(237, 28, 36, 0.15);
  color: var(--qotsa-red);
  border-color: var(--qotsa-red);
}
.page-home .custom-home-button .button--primary:hover svg path {
  fill: var(--qotsa-red);
}
.page-home .custom-home-button .button--primary:active {
  background: rgba(237, 28, 36, 0.3);
}
.page-home .custom-home-button .button--primary.disabled {
  opacity: 0.3;
}
.page-home .custom-home-button .button--secondary {
  position: relative;
  overflow: hidden;
  background: var(--qotsa-red);
  border: 1px solid var(--qotsa-red);
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.page-home .custom-home-button .button--secondary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.page-home .custom-home-button .button--secondary:hover {
  color: #D8D4D0;
  border-color: var(--qotsa-red);
  background: var(--qotsa-red);
}
.page-home .custom-home-button .button--secondary:hover::before {
  opacity: 0.15;
}
.page-home .custom-home-button .button--secondary:active::before {
  opacity: 0.3;
}
.page-home .custom-home-button .button--secondary:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}
.page-home .custom-home-button .button--secondary span {
  position: relative;
  z-index: 1;
}
@media (min-width: 600px) {
  .page-home .custom-home-button {
    flex-direction: row;
    max-width: 100%;
    margin-right: auto;
  }
}

.video-card__container-overlay:hover .image {
  opacity: 1;
}

.video-modal {
  position: fixed;
  top: 0;
  left: 16px;
  right: 16px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  background: transparent;
}

.video-modal__content {
  position: relative;
  max-width: 964px;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .video-modal__content {
    width: 97%;
  }
}
.video-card--modal .video-card__container {
  width: 100%;
  height: 100%;
}

.video-card--modal .video-player {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.video-card--modal .video-player iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.video-card--modal .video-card__container-overlay {
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: none;
}

.video-card--modal .video-card__container-overlay:hover {
  opacity: 1;
}

.video-card--modal .play-icon {
  display: none;
}

.block--page-tour .heading--center {
  margin-bottom: 36px;
}
@media (min-width: 1000px) {
  .block--page-tour .heading--center {
    margin-bottom: 48px;
  }
}
@media (max-width: 768px) {
  .block--page-tour .heading--center {
    margin-bottom: 41px;
  }
}

.block--page-music .heading--center {
  margin-bottom: 48px;
}

.block--page-news .heading--center {
  margin-bottom: 48px;
}

.block--page-privacy-policy .heading--center {
  margin-bottom: 48px;
}
.block--page-privacy-policy div {
  gap: 24px;
}
.block--page-privacy-policy p {
  font-size: 14px;
}

.block--page-newsletter .heading--center, .block--page-newsletter .form {
  margin-bottom: 48px;
}
.block--page-newsletter .single-button button {
  background: transparent;
  max-width: max-content;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.block--page-newsletter .single-button button:hover, .block--page-newsletter .single-button button:active {
  background: initial;
  color: initial;
  border: none;
}
.block--page-newsletter .single-button button:hover svg, .block--page-newsletter .single-button button:active svg {
  transform: scale(1.2);
}
.block--page-newsletter .single-button button svg path {
  fill: var(--qotsa-red);
}

.product-list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 40px;
}
@media (min-width: 1000px) {
  .product-list {
    flex-direction: row;
    justify-content: center;
    gap: 56px 40px;
  }
}

.release-list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 24px;
}
@media (min-width: 1000px) {
  .release-list {
    flex-direction: row;
    gap: 28px;
  }
}

.side-piece {
  position: fixed;
  top: 0;
  left: 0;
  height: var(--svh, 100vh);
  width: 16px;
  background: rgb(var(--qotsa-black));
  z-index: 150;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 56px;
  pointer-events: none;
}
@media (min-width: 1000px) {
  .side-piece {
    width: 20px;
  }
}
.side-piece--blurred {
  filter: blur(8px);
  transition: filter 0.3s ease-in-out;
}
.side-piece__item {
  writing-mode: vertical-rl;
  white-space: nowrap;
  font-family: var(--qotsa-font-main);
  font-style: italic;
  font-size: 12px;
  line-height: 1;
}
@media (min-width: 1000px) {
  .side-piece__item {
    font-size: 15px;
  }
}
.side-piece__item--red {
  color: var(--qotsa-red);
}
.side-piece__item--teal {
  color: var(--qotsa-teal);
}
.side-piece__item--white {
  color: var(--qotsa-white);
}

.sign-up__heading {
  text-align: center;
  margin-bottom: 24px;
}
.sign-up .form {
  position: relative;
}
.sign-up .error__wrapper {
  max-width: 648px;
  margin: 10px auto 0 auto;
  text-align: center;
}
@media (min-width: 1000px) {
  .sign-up .error__wrapper {
    text-align: left;
  }
}
.sign-up .success__wrapper {
  font-size: 18px;
  text-transform: uppercase;
  text-align: center;
}
.sign-up .input__error {
  color: var(--qotsa-red);
  font-size: 14px;
  line-height: 1.2;
  display: block;
  text-transform: uppercase;
}

.splash-page {
  background-image: url(assets/mobile.3dcff5ad789c6213c9ae.jpg);
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
}
@media (min-width: 1000px) {
  .splash-page {
    background-image: url(assets/desktop.4493d7ef131052f599d4.jpg);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
  }
}

/**
 * Shame file
 *
 * This is a place for hacky, nasty code that should be replaced
 * and moved to the correct partial. Ideally, this is empty.
 */
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-5.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/perfecth/pages/Home.vue?vue&type=style&index=0&id=349353b5&lang=scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************/
.home-bg-video {
  position: fixed;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: filter 0.3s ease-in-out;
}
.home-bg-video--blurred {
  filter: blur(8px);
}
.page-content.page-home {
  justify-content: center;
  max-height: calc(var(--svh, 100vh) - 180px);
  overflow: auto;
  transition: filter 0.3s ease-in-out;
}
@media (max-width: 999px) {
.page-content.page-home {
    position: static;
    margin-top: auto;
    height: auto;
    max-height: none;
    padding: 0 16px;
}
}
@media (max-width: 599px) {
.page-content.page-home {
    max-width: none;
    margin-left: 16px;
    margin-right: 0;
    width: calc(100% - 16px);
}
}
@media (min-width: 600px) and (max-width: 999px) {
.page-content.page-home {
    padding: 0 40px;
}
}
@media (min-width: 1000px) {
.page-content.page-home {
    justify-content: safe flex-end;
}
}
.page-content.page-home.page-content--blurred {
  filter: blur(8px);
  pointer-events: none;
}
@media (max-width: 999px) {
body.is-home .privacy-policy {
    margin-top: 0;
}
}
@media (max-width: 599px) {
body.is-home .privacy-policy {
    margin-left: 16px;
    width: calc(100% - 16px);
    padding-right: 16px;
    padding-left: 16px;
}
}
.home-featured-image {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  justify-content: center;
}
@media (min-width: 1000px) {
.home-featured-image {
    display: flex;
}
}
.home-featured-image__img {
  max-width: 280px;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
}
@media (min-width: 1000px) {
.home-featured-image__img {
    max-width: 390px;
}
}
.home-featured-image__stripe {
  position: absolute;
  top: 41%;
  left: 50%;
  width: calc(100vw - 32px);
  transform: translate(-50%, -50%);
  z-index: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.home-featured-image__stripe-line {
  width: 100%;
  height: 2px;
  background: var(--qotsa-red);
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-5.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/perfecth/components/atoms/Logo.vue?vue&type=style&index=0&id=6a7b8cd4&lang=scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************/
.logo__image {
  width: 69px;
  height: auto;
}
@media (min-width: 768px) {
.logo__image {
    width: 140px;
}
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-5.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/perfecth/components/molecules/TruncatedText.vue?vue&type=style&index=0&id=7612e15b&lang=scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.truncated-text {
  position: relative;
  gap: 8px !important;
}
.truncated-text__content {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.truncated-text__content--expanded {
  -webkit-line-clamp: unset;
  display: block;
}
.truncated-text__toggle {
  color: var(--qotsa-red) !important;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.truncated-text__toggle:hover {
  text-decoration: none;
}
@media (max-width: 768px) {
.truncated-text__toggle {
    font-size: 12px;
}
}
