/**
 * 1. SETTINGS
 */
/**
 * SETTINGS.BASE
 *
 * @description : Key application variables and settings
 *
 */
@media all and (max-width: 650px) {
  body,
  html {
    overflow-x: hidden; } }

body {
  background: white; }

.app {
  transition: all 0.4s ease-out; }

.app {
  max-width: 100vw; }
  @media all and (max-width: 650px) {
    .app {
      overflow-x: hidden; } }
  .app-container--open .app {
    opacity: 0.1; }

canvas {
  background: black !important; }

.app-container {
  position: relative;
  overflow: hidden;
  transition: height 0.5s ease-in-out, min-height 0.5s ease-in-out;
  min-height: none;
  margin-top: 68px; }
  @media all and (min-width: 766px) {
    .app-container {
      min-height: calc(100vh - 147px) !important; } }
  @media all and (min-width: 1921px) {
    .app-container {
      min-height: calc(100vh - 366px) !important; } }
  @media all and (min-width: 2400px) {
    .app-container {
      height: calc(100vh - 366px) !important; } }

.app-container--black {
  background: black; }

.app--menu-open {
  max-height: calc(100vh - 305px); }
  .home .app--menu-open {
    max-height: calc(100vh - 80px); }

/**
 * SETTINGS.BREAKPOINTS
 *
 * @description : Define major breakpoints
 *
 */
/**
    e.g.
    .thing {
        background: green;

        @include breakpoint($md){
            background: blue;
        }
    }
*/
/**
 * SETTINGS.COLORS
 *
 * @description : Color variable definitions
 *
 */
/**
 * Main Colours
 */
@font-face {
  font-family: GTSpectra;
  font-weight: bold;
  font-display: swap;
  src: url("/assets/fonts/GTSectra/GT-Sectra-Display-Regular.eot");
  /* IE9 Compat Modes */
  src: url("/assets/fonts/GTSectra/GT-Sectra-Display-Regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/GTSectra/GT-Sectra-Display-Regular.woff2") format("woff2"), url("/assets/fonts/GTSectra/GT-Sectra-Display-Regular.woff") format("woff"), url("/assets/fonts/GTSectra/GT-Sectra-Display-Regular.ttf") format("truetype"); }

/*
* C-ERROR
*/
/*
* O-SLIDER-FILTER
*/
/*
* O-SHOP-ITEM
*/
/*
* C-CART
*/
/*
*   C-MENU
*/
/*
*   C-FOOTER
*/
/*
*   C-HERO-BTN
*/
/*
*   C-PRODUCT
*/
/*
*   C-HERO
*/
/*
*   C-HERO
*/
/*
*   C-BTN
*/
/*
*   C-FIELD
*/
/*
*   C-TEXT-SECTION
*/
/**
 *  2. TOOLS
 */
.t-flex-grid {
  display: flex;
  background: black;
  height: calc(100vh - 150px); }
  @media all and (min-width: 2400px) {
    .t-flex-grid {
      height: calc(100vh - 310px); } }

.t-flex-grid__item {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: opacity 2.2s ease-out, transform 3s ease;
  opacity: 0; }
  .all-loaded .t-flex-grid__item {
    opacity: 1; }
  @media all and (min-width: 1921px) {
    .t-flex-grid__item {
      max-height: 1440px; } }

@media all and (max-width: 860px) {
  .t-flex-grid__basic--contact {
    flex-direction: column; } }

.t-flex-grid__btn-mask {
  width: 520px;
  margin: 0 auto;
  left: 0;
  right: 0;
  position: absolute;
  display: inline-block;
  height: 52px;
  transform: scaleY(0);
  transition: transform 0.2s ease;
  z-index: 1;
  background: white;
  opacity: 1;
  transform-origin: bottom;
  bottom: 14%; }
  @media all and (min-height: 850px) {
    .t-flex-grid__btn-mask {
      bottom: 20%; } }
  .t-flex-grid__title:hover + .t-flex-grid__btn-mask {
    transform: scaleY(1); }

.t-flex-grid__title {
  color: white;
  position: absolute;
  text-align: center;
  left: 0;
  right: 0;
  opacity: 0;
  transition: all 0.8s ease-out;
  text-decoration: none;
  padding: 6px 0;
  border: 1px solid white;
  z-index: 2;
  bottom: 30px;
  margin: 0 30px;
  font-size: 22px;
  font-family: "Roboto";
  font-weight: 100;
  font-style: normal;
  line-height: normal;
  font-display: swap; }
  .t-flex-grid__title::-moz-selection {
    color: white;
    background: black; }
  .t-flex-grid__title::selection {
    color: white;
    background: black; }
  @media all and (min-width: 560px) {
    .t-flex-grid__title {
      width: 520px;
      margin: 0 auto;
      letter-spacing: 4px;
      font-size: 32px;
      bottom: 14%; } }
  @media all and (min-height: 850px) {
    .t-flex-grid__title {
      bottom: 20%; } }
  .loading-over .t-flex-grid__title {
    opacity: 0.8; }
  .t-flex-grid__title:hover {
    color: black;
    opacity: 1;
    box-shadow: 1px 1px 15px 10px #8282821f; }

.c-2d__pagination {
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  text-align: center;
  bottom: 80px; }
  @media all and (min-height: 560px) {
    .c-2d__pagination {
      bottom: calc(14% + 18px); } }
  @media all and (min-height: 800px) {
    .c-2d__pagination {
      bottom: 24%; } }
  @media all and (min-height: 850px) {
    .c-2d__pagination {
      bottom: 230px; } }
  @media all and (min-height: 1200px) {
    .c-2d__pagination {
      bottom: 260px; } }
  .c-2d__pagination.c-2d__pagination--shop {
    bottom: 8px; }

.c-2d__page-number {
  height: 1px;
  width: 60px;
  margin: 10px;
  background: #fff;
  display: inline-block;
  mix-blend-mode: soft-light;
  opacity: 0; }
  .c-2d__pagination--shop .c-2d__page-number {
    opacity: 1;
    background: #ababab;
    mix-blend-mode: normal; }

.c-2d__page-number--active {
  mix-blend-mode: normal;
  opacity: 0; }
  .c-2d__pagination--shop .c-2d__page-number--active {
    opacity: 1;
    background: #000; }

.t-flex-grid__basic {
  display: flex; }

/**
  * 3. GENERIC
  */
/**
 * GENERIC.RESET
 *
 * @description :  Include your desired reset here.
 *                 Default is Eric Meyer's reset
 *
 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

body {
  overflow-y: scroll;
  transition: background 1s ease; }
  body.all-loaded {
    overflow: scroll;
    overflow-x: auto; }

.body--black {
  background: black; }

/**
  *  4. ELEMENTS
  *  Basic styles for raw HTML elements
  *  No classes here
  */
/**
 * ELEMENTS.TYPE
 *
 * @description : Basic typographical styles
 *
 */
/*
 body {
    color: $text-color;
    font-family: $body-font;
    font-size: $base-font-size;
    line-height: $base-line-height;
}


// HEADINGS
h1, h2, h3, h4, h5, h6 {
    color: $heading-color;
    font-family: $heading-font;
    line-height: $base-line-height * 3;
    margin: ($base-line-height * 2) 0 $base-line-height 0;
}

h1 {
    font-size: rem(60);
}

h2 {
    font-size: rem(48);
}

h3 {
}

h4 {
    font-size: rem(30);
}

h5 {
    font-size: rem(24);
}

h6 {
    font-size: rem(21);
}

p {
    .rte & {
        margin: 0 0 $base-line-height 0;    
    }
    .rte--center-content & {
        margin-bottom: $base-line-height * 2;
    }
    .rte--spec & {
        margin: 0 0 1em 0;
    }
}


ul {
    .rte & {
        margin-left:20px;
        margin-bottom:20px;
    }

    li {
        .rte & {
            list-style:disc;
            margin-bottom:10px;

            &:last-child {
                margin-bottom: 0;
            }
        }
    }   
}

ol {

}

em {
    font-style: italic;
}

strong {
    .rte & {
        font-family:$body-font;
        font-weight:bold;
    }
}
*/
a, p, h1, h2, h3, h4, h5, small, body, span, br {
  font-family: "Roboto";
  font-display: swap; }
  a::-moz-selection, p::-moz-selection, h1::-moz-selection, h2::-moz-selection, h3::-moz-selection, h4::-moz-selection, h5::-moz-selection, small::-moz-selection, body::-moz-selection, span::-moz-selection, br::-moz-selection {
    color: white;
    background: rgba(0, 0, 0, 0.99);
    background-color: rgba(0, 0, 0, 0.99);
    opacity: 1; }
  a::selection, p::selection, h1::selection, h2::selection, h3::selection, h4::selection, h5::selection, small::selection, body::selection, span::selection, br::selection {
    color: white;
    background: rgba(0, 0, 0, 0.99);
    background-color: rgba(0, 0, 0, 0.99);
    opacity: 1; }

img::-moz-selection, div::-moz-selection, ul::-moz-selection, ol::-moz-selection, input::-moz-selection, label::-moz-selection, br::-moz-selection {
  color: white;
  background: rgba(0, 0, 0, 0.99);
  background-color: rgba(0, 0, 0, 0.99);
  opacity: 1; }

img::selection, div::selection, ul::selection, ol::selection, input::selection, label::selection, br::selection {
  color: white;
  background: rgba(0, 0, 0, 0.99);
  background-color: rgba(0, 0, 0, 0.99);
  opacity: 1; }

/**
  *  5. OBJECTS
  *  These are repeating visual/structural patterns with no 'design' added
  *  Must be built with classes only
  */
.o-section__max-w {
  max-width: 1248px;
  margin: 0 auto;
  left: 0;
  right: 0; }
  @media all and (min-width: 1921px) {
    .o-section__max-w {
      max-width: 1440px; } }

.o-section__max-w--narrow {
  max-width: 1148px; }
  @media all and (min-width: 1921px) {
    .o-section__max-w--narrow {
      max-width: 1440px; } }

.o-section--pt {
  position: relative;
  overflow: hidden;
  padding-top: 10px; }
  @media all and (min-width: 764px) {
    .o-section--pt {
      max-height: calc(100vh - 250px);
      padding-top: 80px; } }
  @media all and (min-width: 2400px) {
    .o-section--pt {
      padding: 70px 150px 150px 150px; } }
  @media all and (min-width: 2600px) {
    .o-section--pt {
      padding: 150px; } }

@media all and (min-width: 764px) and (max-height: 700px) {
  .o-section--pt {
    padding-top: 20px;
    max-height: calc(100vh - 130px); } }

.section--shop {
  min-height: calc(100vh - 250px); }
  @media all and (min-width: 1921px) {
    .section--shop {
      min-height: calc(100vh - 400px); } }

.columns {
  display: flex;
  flex-direction: column; }
  @media all and (min-width: 764px) {
    .columns {
      flex-direction: row; } }

.column {
  flex: 3 3; }

.c-column--rows {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  flex: 2 2;
  min-width: 155px;
  margin: 0 15px; }
  @media all and (min-width: 930px) {
    .c-column--rows {
      margin: 0 30px;
      min-width: 205px; } }

.o-threejs {
  width: 100%;
  top: 68px;
  height: calc(100% - 80px - 60px);
  position: absolute; }

.o-shop-items {
  display: flex;
  justify-content: center;
  position: relative; }

.o-shop-items__container {
  min-height: 500px;
  min-width: 100%;
  position: absolute;
  display: block;
  box-shadow: inset 0px -30px 30px 40px #ffffff;
  pointer-events: none; }
  @media all and (max-width: 400px) {
    .o-shop-items__container {
      display: none; } }

.o-shop-items__item {
  display: inline-block;
  flex: 1 1;
  margin-right: 35px;
  padding-bottom: 42px;
  min-width: 320px; }
  .o-shop-items__item:first-child {
    margin-left: 35px; }
  @media all and (min-width: 650px) {
    .o-shop-items__item {
      padding-bottom: 80px; } }
  @media all and (min-width: 764px) {
    .o-shop-items__item {
      max-width: 100%;
      min-width: 0;
      margin-right: 15px; }
      .o-shop-items__item:first-child {
        margin-left: 15px; } }
  @media all and (min-width: 1025px) {
    .o-shop-items__item {
      margin-right: 20px; }
      .o-shop-items__item:first-child {
        margin-left: 20px; } }
  @media all and (min-width: 1300px) {
    .o-shop-items__item {
      margin: 0; }
      .o-shop-items__item:first-child {
        margin: 0; } }

.o-shop-item {
  flex: 1 1;
  position: relative;
  display: block;
  text-decoration: none; }
  @media all and (min-width: 1300px) {
    .o-shop-item {
      margin: 0px 25px; } }
  .o-shop-item:hover {
    cursor: pointer; }

.o-shop-item__image-carousel {
  overflow: hidden; }

.o-shop__video {
  opacity: 0;
  height: 0;
  visibility: hidden;
  transition: height 0s 2s, visibility 0s 2s, opacity 1s ease-in-out;
  overflow: hidden; }

.o-shop__video--active {
  opacity: 1;
  height: auto;
  visibility: visible;
  transition: opacity 1s ease-in-out; }

.o-shop-item__title {
  color: #000000;
  width: 100%;
  font-size: 42px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  position: absolute;
  left: 10px;
  bottom: -20px;
  transform: translateY(20px);
  opacity: 0;
  transition: transform 1s ease-out, opacity 0.8s ease-out; }
  .o-shop-item__title::-moz-selection {
    color: white;
    background: black; }
  .o-shop-item__title::selection {
    color: white;
    background: black; }
  .o-shop--post-load .o-shop-item__title {
    transform: translateY(0);
    opacity: 1; }
  @media all and (max-width: 800px) {
    .o-shop-item__title {
      font-size: 32px;
      bottom: -15px; } }
  @media all and (max-width: 764px) {
    .o-shop-item__title {
      bottom: -2px;
      left: 4px; } }

.c-shop__video {
  opacity: 0;
  transform: translateX(-15px); }
  @media all and (max-width: 900px) {
    .c-shop__video {
      transform: scale(1.3) !important; } }
  @media all and (max-width: 764px) {
    .c-shop__video {
      transform: scale(1.2) !important; } }
  @media all and (max-width: 1350px) {
    .c-shop__video {
      width: 100%; } }
  @media all and (min-width: 1921px) {
    .c-shop__video {
      width: 100%; } }

.o-shop__pagination {
  position: absolute;
  margin: -4px auto;
  left: 0;
  right: 0;
  text-align: center; }

.o-shop__page {
  height: 1px;
  display: inline-block;
  width: 30px;
  margin: 0 2px;
  transition: background 0.1s ease-in-out;
  background: #b3b3b3; }

.o-shop__page--active {
  background: black; }

.o-shop-item__price {
  font-size: 22px;
  font-family: "Roboto";
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  text-align: center;
  font-weight: 100;
  transition: opacity .4s ease-out, transform 0.6s ease-out;
  position: absolute;
  right: 7px;
  bottom: 6px;
  color: #000000;
  opacity: 0;
  transform: translateX(15px); }
  .o-shop-item__price::-moz-selection {
    color: white;
    background: black; }
  .o-shop-item__price::selection {
    color: white;
    background: black; }
  .o-shop--post-load .o-shop-item__price {
    opacity: 1;
    transform: translateX(0); }
  @media all and (max-width: 800px) {
    .o-shop-item__price {
      font-size: 20px;
      bottom: 3px; } }

.c-shop__filter {
  margin: 60px 0px 20px;
  display: block; }
  @media all and (max-width: 1350px) {
    .c-shop__filter {
      margin: 60px 30px 20px; } }
  .c-shop__filter .dropdown-menu {
    top: 5px; }
  .c-shop__filter .v-select .dropdown-toggle {
    padding-bottom: 0; }
  @media all and (min-width: 1921px) {
    .c-shop__filter {
      margin: 100px 0px 50px; } }

.o-shop-item__icon {
  border: none;
  appearance: none;
  display: inline-block;
  background: url("/assets/icons/chevronLeft.svg") no-repeat center;
  background-size: 18px;
  height: 20px;
  width: 20px;
  padding: 20px;
  margin: 0;
  background-position-x: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%); }
  .o-shop-item__icon:hover {
    cursor: pointer; }

.o-shop-item__icon--prev {
  left: 10px; }

.o-shop-item__icon--next {
  transform: scaleX(-1) translateY(-50%);
  right: 10px; }

.c-loading-block {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  transform: scaleX(0);
  transform-origin: bottom left; }

/**
 *  6. COMPONENTS
 *  A component is a reusable chunk of UI that is clearly designed, as opposed to an object.
 *  Clearly refers to a block of UI: pagination, buttons, modals, icons... etc
 *  You should be able to take a component and paste it anywhere in the app
 *  Must be built with classes only
 */
.c-menu__offcanvas {
  position: absolute;
  width: 0;
  height: 0;
  z-index: 200;
  background: white;
  perspective: 40px;
  width: 100vw;
  height: 100%;
  max-height: calc(100vh - 144px);
  display: flex;
  z-index: -1000;
  visibility: hidden; }
  @media all and (max-width: 590px) {
    .c-menu__offcanvas {
      height: auto;
      max-height: none;
      flex-direction: column;
      max-width: 100vw;
      overflow-x: hidden;
      overflow-y: scroll; } }
  @media all and (max-height: 589px) {
    .c-menu__offcanvas {
      overflow-y: scroll; } }

.c-menu__items {
  background: #101010;
  display: inline-block;
  height: 100%;
  width: 33%; }
  @media all and (max-width: 970px) {
    .c-menu__items {
      width: 50%; } }
  @media all and (max-width: 590px) {
    .c-menu__items {
      width: 100%;
      height: auto; } }

.c-menu__image-item {
  width: 100%;
  flex: 1;
  min-height: 150px; }

.c-menu__offcanvas--open {
  z-index: 1;
  visibility: visible; }

.c-menu__mask {
  background: #101010;
  height: 100%;
  width: 100vw;
  transform: scaleX(0);
  transform-origin: left;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000; }

.c-menu__images {
  width: 33%;
  display: inline-block;
  height: 100%;
  overflow: hidden; }
  @media all and (max-width: 970px) {
    .c-menu__images {
      width: 50%; } }
  @media all and (max-width: 970px) {
    .c-menu__images {
      width: 100%; } }
  @media all and (max-width: 590px) {
    .c-menu__images {
      height: 600px;
      overflow: visible; } }

.c-menu__image-list {
  display: flex;
  flex-direction: column;
  height: 100%; }

.c-menu__letter {
  font-family: GTSpectra;
  position: absolute;
  color: white;
  left: -30%;
  top: -30px;
  font-size: 820px; }
  @media all and (max-height: 860px) {
    .c-menu__letter {
      top: -85px; } }
  @media all and (max-width: 1225px) {
    .c-menu__letter {
      left: -25%;
      top: -5px;
      font-size: 520px; } }
  @media all and (min-width: 2400px) {
    .c-menu__letter {
      left: -34%;
      font-size: 1010px; } }
  @media all and (min-width: 2600px) {
    .c-menu__letter {
      left: -24%;
      font-size: 1140px; } }

.c-menu__image {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }

.c-menu__decoration {
  width: 33%;
  display: inline-block;
  background: #101010;
  position: relative;
  overflow: hidden;
  perspective: 900px; }
  @media all and (max-width: 970px) {
    .c-menu__decoration {
      display: none;
      width: 0; } }

.c-menu__menu-item {
  text-decoration: none;
  display: block;
  text-align: right;
  transform-style: flat;
  perspective: 20px;
  position: relative; }
  .c-menu__menu-item:hover .c-menu__counter:before {
    border: 1px solid rgba(255, 255, 255, 0.6); }

.c-menu__menu-itemInner {
  color: white;
  text-align: right;
  display: block;
  opacity: 0;
  text-decoration: none;
  letter-spacing: 18px;
  font-size: 62px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: 100px;
  font-display: swap; }
  .c-menu__menu-itemInner::-moz-selection {
    color: white;
    background: black; }
  .c-menu__menu-itemInner::selection {
    color: white;
    background: black; }
  @media all and (max-height: 800px) {
    .c-menu__menu-itemInner {
      line-height: 80px; } }
  @media all and (max-width: 1140px) {
    .c-menu__menu-itemInner {
      font-size: 52px; } }
  @media all and (max-width: 1024px) {
    .c-menu__menu-itemInner {
      line-height: 60px;
      font-size: 42px; } }
  @media all and (max-width: 590px) {
    .c-menu__menu-itemInner {
      text-align: left; } }
  @media all and (min-width: 2400px) {
    .c-menu__menu-itemInner {
      font-size: 82px;
      line-height: 110px; } }
  @media all and (min-width: 2600px) {
    .c-menu__menu-itemInner {
      font-size: 92px;
      line-height: 130px; } }
  .c-menu__link-listItem--minor .c-menu__menu-itemInner {
    font-size: 18px;
    font-family: "Roboto";
    font-weight: 100;
    font-style: normal;
    line-height: 44px;
    font-display: swap;
    letter-spacing: 10px;
    margin-right: 8px; }
    .c-menu__link-listItem--minor .c-menu__menu-itemInner::-moz-selection {
      color: white;
      background: black; }
    .c-menu__link-listItem--minor .c-menu__menu-itemInner::selection {
      color: white;
      background: black; }
    @media all and (max-height: 800px) {
      .c-menu__link-listItem--minor .c-menu__menu-itemInner {
        line-height: 38px; } }
    @media all and (max-width: 1125px) {
      .c-menu__link-listItem--minor .c-menu__menu-itemInner {
        font-size: 16px;
        letter-spacing: 8px; } }
    @media all and (max-width: 660px) {
      .c-menu__link-listItem--minor .c-menu__menu-itemInner {
        letter-spacing: 4px;
        font-size: 15px; } }
    @media all and (min-width: 2400px) {
      .c-menu__link-listItem--minor .c-menu__menu-itemInner {
        font-size: 24px;
        line-height: 62px; } }
    @media all and (min-width: 2600px) {
      .c-menu__link-listItem--minor .c-menu__menu-itemInner {
        font-size: 28px;
        line-height: 64px; } }

@media all and (min-width: 764px) and (max-height: 700px) {
  .c-menu__link-listItem--minor .c-menu__menu-itemInner {
    font-size: 14px;
    line-height: 24px; } }
  .c-menu__link-listItem--active .c-menu__menu-itemInner {
    margin-right: 10px; }
  .c-menu__link-listItem--active.c-menu__link-listItem--minor .c-menu__menu-itemInner {
    margin-right: 5px; }
    .c-menu__link-listItem--active.c-menu__link-listItem--minor .c-menu__menu-itemInner:before {
      transform: scaleX(1) translateY(-10px); }

.c-menu__sub-items {
  margin-top: 30px; }
  @media all and (max-width: 1025px) {
    .c-menu__sub-items {
      margin-top: 15px; } }

.c-menu__counter {
  display: inline-block;
  position: absolute;
  opacity: 0;
  right: 5px;
  bottom: 16px;
  width: 42px;
  text-align: left; }
  @media all and (max-width: 290px) {
    .c-menu__counter {
      display: none; } }
  .c-menu__counter:before {
    content: counter(menu-counter, upper-roman) ".";
    font-style: italic;
    margin-left: 31px;
    margin-top: -10px;
    display: inline-block;
    font-weight: 100;
    color: white;
    min-width: 19px;
    border-radius: 100%;
    border: 1px solid rgba(255, 255, 255, 0);
    transition: border 0.35s ease-out;
    font-size: 14px;
    padding: 5px 0px 5px 5px; }
    @media all and (max-width: 1025px) {
      .c-menu__counter:before {
        font-size: 12px;
        padding: 5px 0px 5px 3px; } }
    @media all and (min-width: 2400px) {
      .c-menu__counter:before {
        padding: 5px 4px 4px 4px;
        font-size: 18px; } }
  .c-menu__link-listItem--active .c-menu__counter:before {
    color: #101010;
    font-weight: 500;
    border: 1px solid white;
    background: white; }
  .c-menu__link-listItem--minor .c-menu__counter {
    bottom: 4px;
    right: -2px; }
    @media all and (max-width: 290px) {
      .c-menu__link-listItem--minor .c-menu__counter {
        display: block; } }
    .c-menu__link-listItem--minor .c-menu__counter:before {
      opacity: 0.6;
      border: none !important;
      background: transparent !important;
      margin-left: 22px;
      font-size: 10px; }
      @media all and (max-width: 1025px) {
        .c-menu__link-listItem--minor .c-menu__counter:before {
          margin-left: 27px; } }
      @media all and (min-width: 2400px) {
        .c-menu__link-listItem--minor .c-menu__counter:before {
          font-size: 14px; } }

.c-menu__circle {
  position: absolute;
  height: calc(100vh);
  width: calc(100vh);
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  border-radius: 100%;
  border: 1px solid white;
  opacity: 0.1;
  z-index: 300;
  transition: transform 0.5s ease-out;
  pointer-events: none; }
  @media all and (max-width: 768px) {
    .c-menu__circle {
      display: none; } }

.c-menu__menu-itemInner--canAnimate {
  transition: all 0.35s cubic-bezier(0.48, 0.8, 1, 1); }
  .c-menu__menu-itemInner--canAnimate:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: white;
    opacity: 0.4;
    transform: scaleX(0) translateY(-1px);
    transition: transform 0.35s ease;
    top: 50%;
    transform-origin: left; }
  .c-menu__menu-itemInner--canAnimate:hover {
    margin-right: 10px; }
    .c-menu__menu-itemInner--canAnimate:hover:before {
      transform: scaleX(1) translateY(-1px); }
  .c-menu__link-listItem--minor .c-menu__menu-itemInner--canAnimate:before {
    top: 100%;
    width: calc(100% - 13px);
    transform: scaleX(0) translateY(-10px); }
  .c-menu__link-listItem--minor .c-menu__menu-itemInner--canAnimate:hover {
    margin-right: 5px; }
    .c-menu__link-listItem--minor .c-menu__menu-itemInner--canAnimate:hover:before {
      transform: scaleX(1) translateY(-10px); }

@media all and (max-width: 590px) {
  .c-menu__menu-itemInner--anim-mobile:before {
    opacity: 0.15;
    transition: transform 0.35s ease;
    transform: scaleX(1) translateY(-1px);
    top: 100%; } }

.c-menu__link-list {
  list-style: none;
  counter-reset: menu-counter;
  transition: transform 0.5s;
  padding: 50px 42px;
  opacity: 1; }
  .c-menu__link-list .c-menu__link-listItem {
    counter-increment: menu-counter; }
  @media all and (max-width: 660px) {
    .c-menu__link-list {
      padding: 50px 32px; } }
  @media all and (max-width: 590px) {
    .c-menu__link-list {
      padding: 30px 30px; } }

.c-menu__link-listItem {
  flex: 1 1;
  position: relative;
  transition: all 0.25s ease-out; }

.c-menu__pagination {
  top: 50%;
  left: 240px;
  transform: translateY(-50%) translateX(-50%);
  position: absolute;
  font-size: 32px;
  width: 200px;
  text-align: right;
  mix-blend-mode: difference; }
  @media all and (max-width: 1300px) {
    .c-menu__pagination {
      left: 160px; } }

.c-menu__divider {
  font-size: 62px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: 100px;
  font-display: swap;
  color: white;
  transform: translateY(-50%);
  display: inline-block; }
  .c-menu__divider::-moz-selection {
    color: white;
    background: black; }
  .c-menu__divider::selection {
    color: white;
    background: black; }

.c-menu__page {
  font-size: 62px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: 100px;
  font-display: swap;
  color: white;
  display: inline-block;
  transform: translateY(-50%); }
  .c-menu__page::-moz-selection {
    color: white;
    background: black; }
  .c-menu__page::selection {
    color: white;
    background: black; }

.c-menu__ringname {
  display: block;
  position: absolute; }

.c-menu__pagenumber {
  height: 100px;
  width: 200px;
  display: block;
  position: absolute; }

.c-menu__ringname-text {
  font-size: 62px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: 100px;
  font-display: swap;
  color: white;
  text-transform: uppercase;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  letter-spacing: 14px; }
  .c-menu__ringname-text::-moz-selection {
    color: white;
    background: black; }
  .c-menu__ringname-text::selection {
    color: white;
    background: black; }
  @media all and (min-width: 2400px) {
    .c-menu__ringname-text {
      font-size: 112px; } }

.c-menu__select-wrapper {
  position: absolute;
  transition: right 0.2s ease-out;
  top: 15px;
  right: 15px; }
  .c-menu__select-wrapper .dropdown-menu {
    left: auto !important;
    right: -24px !important;
    width: 62px !important;
    min-width: 0 !important;
    border-top: 1px solid black !important; }
  .c-menu__select-wrapper .dropdown {
    width: 72px !important; }
  .c-menu__select-wrapper .v-select .dropdown-toggle {
    height: 32px;
    border-bottom: none !important; }
  .c-menu__select-wrapper .vs__actions {
    right: 0;
    top: 10px; }
  .c-menu__select-wrapper .open-indicator {
    right: -20px;
    top: 12px;
    position: absolute; }
    .c-menu__select-wrapper .open-indicator:before {
      height: 8px !important;
      width: 10px !important;
      margin-left: 4px;
      vertical-align: 6px !important; }

.c-menu__select-wrapper--push {
  right: 200px; }
  @media all and (max-width: 670px) {
    .c-menu__select-wrapper--push {
      right: 65px; } }

.c-menu__select {
  font-size: 22px;
  font-weight: 100;
  font-family: "Roboto";
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  .c-menu__select:focus {
    outline: none; }

.c-menu__select-option {
  font-size: 22px;
  font-weight: 100;
  font-family: "Roboto"; }

.c-menu__btn {
  z-index: 1000;
  position: fixed;
  width: 30px;
  height: 30px;
  margin: 23px;
  top: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  transition: .6s ease-in-out;
  cursor: pointer;
  transform: translateY(-70px);
  opacity: 0; }
  .all-loaded .c-menu__btn {
    transform: translateY(0);
    opacity: 1; }
  .c-menu__btn:hover .c-menu__btn-inner, .c-menu__btn.c-menu__btn--open .c-menu__btn-inner {
    transform: translateY(-37px);
    opacity: 0; }
  .c-menu__btn:hover .c-menu__btn-inner--open, .c-menu__btn.c-menu__btn--open .c-menu__btn-inner--open {
    opacity: 1; }

.c-menu__btn-text {
  font-size: 29px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  margin-top: -11px;
  padding-left: 36px;
  width: 100px;
  height: 38px;
  overflow: hidden; }
  .c-menu__btn-text::-moz-selection {
    color: white;
    background: black; }
  .c-menu__btn-text::selection {
    color: white;
    background: black; }

.c-menu__btn-inner {
  transition: all 0.2s ease-out;
  opacity: 1;
  margin-top: 3px;
  transform: translateY(0px);
  font-size: 29px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap; }
  .c-menu__btn-inner::-moz-selection {
    color: white;
    background: black; }
  .c-menu__btn-inner::selection {
    color: white;
    background: black; }
  .c-menu__btn-inner::selection {
    color: white;
    background: black; }
  @media all and (max-width: 764px) {
    .c-menu__btn-inner {
      display: none; } }

.c-menu__btn-inner--open {
  opacity: 0;
  margin-top: 0px; }

.c-menu__btn-bar {
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  background: #000000;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out; }

.c-menu__btn .c-menu__btn-bar :nth-child(1) {
  top: 0px; }

.c-menu__btn span:nth-child(2), .c-menu__btn span:nth-child(3) {
  top: 10px; }

.c-menu__btn span:nth-child(4) {
  top: 20px; }

.c-menu__btn.c-menu__btn--open span:nth-child(1) {
  top: 10px;
  width: 0%;
  left: 50%; }

.c-menu__btn.c-menu__btn--open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

.c-menu__btn.c-menu__btn--open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.c-menu__btn.c-menu__btn--open span:nth-child(4) {
  top: 10px;
  width: 0%;
  left: 50%; }

.c-head {
  height: 68px;
  display: flex;
  box-shadow: 0px 0px 31px 2px rgba(13, 0, 13, 0.1);
  z-index: 400;
  position: fixed;
  background: white;
  top: 0;
  width: 100%;
  opacity: 0;
  transition: all 0.75s ease-out;
  transform: translateY(-70px); }
  .all-loaded .c-head {
    transform: translateY(0);
    opacity: 1; }

.c-head--shop {
  box-shadow: 0px 0px 31px 2px rgba(194, 195, 218, 0.74); }

.c-head--black {
  box-shadow: none; }

.c-head__section {
  flex: 1 1; }

.c-head__logo {
  display: inline-block;
  height: 32px;
  top: 18px;
  margin: 0 auto;
  left: 0;
  right: 0;
  position: absolute; }

.c-2d--dist {
  mask: url(../assets/img/displacement/circle-test-1.svg);
  -webkit-mask: url(../assets/img/displacement/circle-test-1.svg);
  mask-size: 70%;
  -webkit-mask-size: 70%;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  width: 100%;
  background: black;
  box-shadow: inset 0px 0px 82px 71px black;
  height: calc(90vh - 150px);
  position: absolute;
  transition: height 3s cubic-bezier(0, 0, 0.54, 0.96), min-height 3s cubic-bezier(0, 0, 0.54, 0.96), opacity 0.35s cubic-bezier(0, 0, 0.54, 0.96); }
  @media screen and (max-height: 860px) {
    .c-2d--dist {
      mask-size: 671px !important;
      -webkit-mask-size: 671px !important; } }
  @media screen and (max-width: 790px) {
    .c-2d--dist {
      mask-size: 500px !important;
      -webkit-mask-size: 500px !important; } }
  @media screen and (max-width: 700px) {
    .c-2d--dist {
      top: auto; } }
  @media screen and (max-width: 430px) {
    .c-2d--dist {
      mask-size: 370px !important;
      -webkit-mask-size: 115% !important; } }
  @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .c-2d--dist {
      mask-size: 66vh !important;
      -webkit-mask-size: 66vh !important; } }
  @media all and (max-width: 590px) {
    .c-2d--dist {
      opacity: 0.8; } }
  @media screen and (min-width: 1920px) {
    .c-2d--dist {
      mask-size: 673px;
      -webkit-mask-size: 673px; } }
  .all-loaded .c-2d--dist {
    height: calc(100vh - 150px);
    opacity: 0.5; }
    @media all and (max-width: 1024px) {
      .all-loaded .c-2d--dist {
        min-height: 790px; } }
  .re-loaded .c-2d--dist {
    height: calc(90vh - 150px);
    opacity: 0; }
    @media all and (max-width: 1024px) {
      .re-loaded .c-2d--dist {
        min-height: 790px; } }

.c-2d__svg--left {
  transform: rotate(180deg); }

.c-2d__svg--inner {
  transform: translateX(-3px); }

.c-2d__svg {
  margin: 0 auto;
  transform-origin: center;
  mix-blend-mode: overlay;
  transform: scale(1.22);
  position: absolute;
  left: 0;
  right: 0; }
  @media screen and (max-width: 560px) {
    .c-2d__svg {
      width: 130% !important;
      left: -15% !important; } }
  @media screen and (max-width: 1920px) {
    @supports (-ms-ime-align: auto) {
      .c-2d__svg {
        opacity: 0.1; } } }
  @media screen and (max-width: 1360px) {
    @supports (-ms-ime-align: auto) {
      .c-2d__svg {
        opacity: 0.1; } } }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .c-2d__svg {
      opacity: 0.1;
      transform: translateY(-60%); } }

.c-2d__svg-page {
  margin: 0 auto;
  transform-origin: center;
  mix-blend-mode: overlay;
  transform: scale(1.22) translateY(-15px) translateX(-17px);
  position: absolute;
  left: 0;
  right: 0;
  overflow: visible; }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .c-2d__svg-page {
      right: 3px;
      bottom: -9px; } }

.c-2d__svg-pos {
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: 50%; }

.c-2d-mask {
  transform-origin: center;
  opacity: 0.6; }

.clip-path {
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%); }

.c-2d {
  width: 100%;
  background: black;
  box-shadow: inset 0px 0px 82px 71px black;
  transform: scale(0.8);
  opacity: 1;
  position: absolute;
  transition: transform 3s cubic-bezier(0, 0, 0.54, 0.96), opacity 0.35s cubic-bezier(0, 0, 0.54, 0.96);
  height: 100%; }
  .all-loaded .c-2d {
    transform: scale(1);
    opacity: 1; }
    @media all and (max-width: 1024px) {
      .all-loaded .c-2d {
        min-height: 790px; } }
  .re-loaded .c-2d {
    transform: scale(0.8);
    opacity: 0;
    min-height: 790px; }
  @media all and (min-width: 1600px) {
    .c-2d {
      top: 28px; } }
  @media all and (min-width: 2300px) {
    .c-2d {
      top: 58px; } }

.c-2d__mask {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  box-shadow: inset 0px 0px 30px 30px black; }
  @media all and (min-width: 550px) {
    .c-2d__mask {
      box-shadow: inset 0px 0px 70px 70px black; } }

.c-2d__perspective {
  perspective: 100px; }

.js-hover-effect {
  position: relative; }
  .js-hover-effect canvas {
    position: absolute; }

.c-2d__video {
  position: absolute;
  transform: scaleX(-1);
  left: 0;
  right: 0;
  margin: 0 auto;
  transition: all 0.25s ease; }
  @media all and (max-width: 768px) {
    .c-2d__video {
      display: none; } }

.c-2d__page-btns {
  width: 800px;
  max-width: calc(100% - 140px);
  margin: 0 auto;
  position: relative; }

.c-2d__page-btn {
  border: none;
  appearance: none;
  display: inline-block;
  background: url("/assets/icons/chevronLeft-white.svg") no-repeat center;
  background-size: 14px;
  height: 60px;
  width: 60px;
  margin: 0;
  background-position: 0;
  position: absolute;
  top: 50%;
  opacity: 0;
  transform: translateY(-50%); }
  .c-2d__page-btn:hover {
    cursor: pointer; }
  .c-2d__page-btn:active, .c-2d__page-btn:focus, .c-2d__page-btn:focus-within, .c-2d__page-btn:visited {
    outline: none; }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .c-2d__page-btn {
      overflow: visible; } }

.c-2d__page-circle {
  transition: 0.25s stroke-dashoffset;
  opacity: 0.3; }
  .c-2d__page-btn:hover .c-2d__page-circle {
    stroke-dashoffset: 0; }

.c-2d__page-btn--next {
  transform: translateY(-50%) scaleX(-1);
  left: auto;
  right: 0; }

.c-2d__main-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/img/Egypt-Colour-LG.webp");
  background-repeat: no-repeat;
  background-position: center;
  transform: scale(0.8);
  transition: transform 1.5s cubic-bezier(0, 0, 0.54, 0.96), opacity 1s cubic-bezier(0, 0, 0.54, 0.96);
  background-size: cover; }
  @media all and (max-width: 450px) {
    .c-2d__main-image {
      background-size: 550px; } }
  .all-loaded .c-2d__main-image {
    transform: scale(1); }
  .re-loaded .c-2d__main-image {
    transform: scale(0.8);
    opacity: 0; }
  .no-webp .c-2d__main-image {
    background-image: url("/assets/img/Egypt-Colour-LG.png"); }

.c-btn {
  font-size: 48px;
  font-family: "Roboto";
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  text-shadow: 1px 2px 9px #969696;
  letter-spacing: 7px;
  color: black;
  text-decoration: none; }
  .c-btn::-moz-selection {
    color: white;
    background: black; }
  .c-btn::selection {
    color: white;
    background: black; }
  .c-btn:hover {
    cursor: pointer; }

.c-btn__link {
  color: black;
  font-size: 48px;
  font-family: "Roboto";
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  text-shadow: none;
  letter-spacing: 2px;
  float: right;
  position: relative;
  font-size: 12px !important;
  position: absolute;
  right: 45px;
  text-decoration: none;
  margin: 18px 0 !important; }
  .c-btn__link::-moz-selection {
    color: white;
    background: black; }
  .c-btn__link::selection {
    color: white;
    background: black; }
  @media all and (min-width: 765px) {
    .c-btn__link {
      margin: 8px 0 !important; } }
  .c-details .c-btn__link {
    float: left;
    bottom: -40px; }
  .c-btn__link:after {
    content: '';
    width: 100%;
    height: 1px;
    background: black;
    display: block;
    transition: transform 0.2s ease;
    transform: scaleX(0); }
  .c-btn__link:hover:after {
    transform: scaleX(1); }
  .c-product__images .c-btn__link {
    right: auto;
    margin-top: 30px; }

.c-btn__link--back {
  position: relative;
  float: none;
  display: inline-block; }
  @media all and (max-width: 1265px) {
    .c-btn__link--back {
      left: 20px; } }
  .c-btn__link--back:before {
    content: '';
    width: 12px;
    height: 11px;
    margin-right: 12px;
    display: inline-block;
    background: url("/assets/icons/chevronLeft.svg") no-repeat center;
    left: -36%;
    position: absolute;
    transition: all 0.2s ease;
    top: 1px; }
  .c-btn__link--back:after {
    position: absolute;
    top: 6px;
    left: -96%;
    background: #848484;
    width: 83%;
    transform-origin: right; }
  .c-btn__link--back:hover:before {
    left: -100%; }

@media all and (max-width: 860px) {
  .c-btn__link--contact {
    bottom: 15px;
    position: absolute; } }

.c-btn__link--dropdown {
  left: 0;
  font-size: 16px;
  width: 82px; }

.c-btn--basic {
  text-shadow: none;
  letter-spacing: normal;
  font-weight: 300;
  font-size: 24px;
  display: inline-block; }

.c-btn--hero {
  margin: 0px 20px;
  padding: 8px 0px;
  position: relative; }
  .c-btn--hero:hover::before {
    height: 3px;
    opacity: 1;
    box-shadow: 1px 2px 9px #969696; }
  .c-btn--hero:hover::after {
    opacity: 1;
    transform: translateY(0px); }
  .c-btn--hero::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: black;
    height: 1px;
    content: '';
    transition: opacity 0.3s, height 0.3s;
    opacity: 0.8; }
  .c-btn--hero::after {
    position: absolute;
    top: 100%;
    left: 0;
    height: 1px;
    width: 100%;
    background: black;
    content: '';
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s, transform 0.3s; }

.c-btn--hero-w-text {
  display: block;
  font-size: 28px;
  letter-spacing: 4px;
  width: 230px;
  margin: 20px auto; }
  .c-btn--hero-w-text:hover span {
    transform: translateY(2px);
    opacity: 0.6;
    text-shadow: none; }
  .c-btn--hero-w-text span {
    transform: translateY(-5px);
    display: block;
    top: 100%;
    font-size: 16px;
    font-style: italic;
    letter-spacing: normal;
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s; }

.c-btn--block {
  display: block;
  text-align: center;
  font-size: 40px;
  font-family: GTSpectra;
  font-weight: 100;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  text-shadow: none;
  letter-spacing: 0;
  display: block;
  border: 1px solid black;
  margin-top: 24px;
  text-align: center;
  padding: 6px;
  position: relative;
  transition: all 0.25s ease;
  text-decoration: none;
  color: black; }
  .c-btn--block::-moz-selection {
    color: white;
    background: black; }
  .c-btn--block::selection {
    color: white;
    background: black; }
  .c-product .c-btn--block {
    padding: 6px 0;
    display: block;
    font-family: "Roboto";
    font-weight: 100;
    margin-top: 12px;
    font-size: 32px; }
  .c-btn--block:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: black;
    transform: scaleY(0);
    transition: transform 0.25s ease; }
  .c-btn--block:hover {
    color: white; }
    .c-btn--block:hover .c-btn__incentive {
      opacity: 1; }
    .c-btn--block:hover:before {
      transform: scaleY(1); }

.c-btn__incentive {
  position: absolute;
  font-size: 12px;
  font-family: "Roboto";
  font-weight: 100;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  bottom: 13px;
  margin-right: -10px;
  opacity: 0;
  transition: opacity 0.35s ease; }
  .c-btn__incentive::-moz-selection {
    color: white;
    background: black; }
  .c-btn__incentive::selection {
    color: white;
    background: black; }

.c-btn__lg {
  margin-top: 60px;
  color: #000000;
  text-decoration: none;
  position: relative;
  display: inline-block;
  font-size: 72px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap; }
  .c-btn__lg::-moz-selection {
    color: white;
    background: black; }
  .c-btn__lg::selection {
    color: white;
    background: black; }
  .c-btn__lg:after {
    content: '';
    transition: all 0.25s ease-out;
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #5f5f5f;
    transform-origin: left;
    transform: scaleX(0) skewy(7deg);
    top: 44%;
    left: -10px; }
  .c-btn__lg:hover {
    background: -webkit-linear-gradient(#000000, #870000);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transform: translate3d(3px, 0px, 1px) skew(-6deg, 0deg) !important; }
    .c-btn__lg:hover:after {
      opacity: 1;
      transform: scaleX(1) skewy(7deg); }

.c-btn__link--shop {
  margin: 24px 0px 10px !important; }

.c-cart {
  position: absolute;
  right: 0;
  background: white;
  transform: translateX(700px);
  transition: all 0.8s cubic-bezier(0.32, 0.42, 0, 0.96);
  z-index: 100;
  box-shadow: 0px 0px 31px 2px rgba(13, 0, 13, 0.1);
  padding: 45px;
  overflow-y: scroll;
  margin-right: -16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: calc(100% - 60px); }
  @media all and (min-width: 690px) {
    .c-cart {
      height: calc(100% - 90px);
      width: 600px; } }
  @media all and (max-width: 765px) {
    .c-cart {
      padding: 25px 25px 45px 25px; } }
  @media all and (max-width: 520px) {
    .c-cart {
      width: calc(100% - 35px); } }
  @media all and (max-width: 295px) {
    .c-cart {
      width: calc(100% - 15px);
      padding: 15px 15px 35px 15px; } }
  @media all and (max-width: 650px) {
    .c-cart {
      overflow: visible; } }

.c-cart__link {
  font-size: 16px;
  font-family: "Roboto";
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  margin: 18px 0;
  background: none;
  border: none;
  width: 75px;
  position: absolute;
  margin: 12px auto;
  left: 0;
  right: 0;
  font-size: 14px; }
  .c-cart__link::-moz-selection {
    color: white;
    background: black; }
  .c-cart__link::selection {
    color: white;
    background: black; }
  .c-cart__link:focus {
    border: none; }
  .c-cart__link:after, .c-cart__link:before {
    top: 50%;
    position: absolute;
    display: block;
    background: #870000;
    content: '';
    height: 70%;
    width: 1px;
    opacity: 0;
    transition: all 0.4s ease; }
  .c-cart__link:after {
    transform: translateX(15px) translateY(-50%);
    left: -5px; }
  .c-cart__link:before {
    transform: translateX(-15px) translateY(-50%);
    right: -5px; }
  .c-cart__link:hover {
    cursor: pointer; }
    .c-cart__link:hover:after, .c-cart__link:hover:before {
      opacity: 1;
      transform: translateY(-50%); }
  @media all and (min-width: 600px) {
    .c-cart__link {
      margin: 12px 35px 0 auto; } }
  @media all and (max-width: 415px) {
    .c-cart__link {
      bottom: 0;
      margin: 18px 0 18px -20px; } }

.c-cart__list {
  flex: 1; }

.c-cart__price {
  text-align: right;
  font-weight: 100;
  margin-right: 15px;
  margin-top: 10px;
  font-size: 26px; }
  .c-checkout .c-cart__price {
    margin: 0 0 0 20px;
    font-size: 26px; }
  @media all and (min-width: 600px) {
    .c-cart__price {
      margin-right: 30px;
      font-size: 36px;
      margin-top: -44px; } }

.c-cart__detail {
  font-size: 22px;
  font-family: "Roboto";
  font-weight: 100;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  margin: 5px 0; }
  .c-cart__detail::-moz-selection {
    color: white;
    background: black; }
  .c-cart__detail::selection {
    color: white;
    background: black; }
  @media all and (max-width: 600px) {
    .c-cart__detail {
      font-size: 14px; } }

.c-cart__ringName {
  font-size: 29px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  font-size: 48px;
  text-decoration: none !important;
  margin-bottom: 10px; }
  .c-cart__ringName::-moz-selection {
    color: white;
    background: black; }
  .c-cart__ringName::selection {
    color: white;
    background: black; }
  @media all and (max-width: 600px) {
    .c-cart__ringName {
      margin-bottom: 0px;
      font-size: 32px; } }
  @media all and (max-width: 280px) {
    .c-cart__ringName {
      font-size: 24px; } }

.c-cart__item-details--al-m {
  position: relative; }
  @media all and (min-width: 600px) {
    .c-cart__item-details--al-m {
      align-self: center; } }

.c-cart__anim-basic {
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.7s ease, transform 0.5s ease;
  transition-delay: 0.8s; }
  .c-cart--open .c-cart__anim-basic {
    opacity: 1;
    transform: translateX(0); }

.c-cart__item-details {
  flex: 1 1;
  margin: 8px; }
  .c-cart--slider .c-cart__item-details {
    opacity: 0; }
  .c-checkout .c-cart__item-details {
    margin: 0;
    align-self: flex-end;
    padding-bottom: 6px; }
  @media all and (min-width: 600px) {
    .c-cart__item-details {
      margin: 20px 10px 10px 10px; } }

.c-cart__item {
  border-bottom: 1px solid #b3b3b3;
  display: flex;
  height: 182px; }
  .c-cart--slider .c-cart__item {
    width: 1%; }
  .c-cart__item:nth-child(1) {
    border-top: 1px solid #b3b3b3; }
  .c-checkout .c-cart__item {
    border-top: none;
    border-bottom: 1px solid black;
    height: auto; }
  @media all and (max-width: 590px) {
    .c-cart__item {
      flex-wrap: wrap; } }

.c-cart__header {
  font-size: 29px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  margin-bottom: 40px;
  position: relative;
  padding-left: 38px;
  text-decoration: none;
  color: #000000;
  overflow: hidden;
  display: block;
  height: 40px;
  min-height: 40px; }
  .c-cart__header::-moz-selection {
    color: white;
    background: black; }
  .c-cart__header::selection {
    color: white;
    background: black; }
  .c-cart__header:hover {
    cursor: pointer; }
  .c-cart__header:before {
    transform: rotate(45deg); }
  .c-cart__header:after {
    transform: rotate(-45deg); }
  .c-cart__header:before, .c-cart__header:after {
    height: 1px;
    left: -3px;
    top: 18px;
    display: block;
    background: #000000;
    position: absolute;
    width: 30px;
    content: ''; }
  .c-cart__header:hover .c-cart__headerText {
    transform: translateY(-40px); }
    .c-cart__header:hover .c-cart__headerText:nth-child(1) {
      opacity: 0; }
    .c-cart__header:hover .c-cart__headerText:nth-child(2) {
      opacity: 1; }

.c-cart__headerText {
  display: block;
  height: 40px;
  transition: .25s ease-in-out;
  font-family: GTSpectra; }
  .c-cart__headerText:nth-child(1) {
    opacity: 1; }
  .c-cart__headerText:nth-child(2) {
    opacity: 0; }

.c-cart--visible {
  transform: translateX(530px); }

.c-cart--open {
  transform: translateX(0); }

.c-cart__image {
  width: 70px;
  height: 70px; }
  .c-cart--slider .c-cart__image {
    opacity: 0; }
  .c-checkout .c-cart__image {
    opacity: 1 !important;
    height: 80px !important;
    width: auto !important; }
  @media all and (min-width: 280px) {
    .c-cart__image {
      width: 100px;
      height: 100px; } }
  @media all and (min-width: 600px) {
    .c-cart__image {
      width: 180px;
      height: 180px; } }

.c-cart__btn {
  margin: 20px 23px 23px 23px;
  float: right;
  text-decoration: none;
  color: #000000; }

.c-cart__qtyHeader {
  font-size: 29px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  vertical-align: top;
  display: inline-block;
  margin-right: 10px;
  margin-top: -2px; }
  .c-cart__qtyHeader::-moz-selection {
    color: white;
    background: black; }
  .c-cart__qtyHeader::selection {
    color: white;
    background: black; }
  @media all and (max-width: 670px) {
    .c-cart__qtyHeader {
      display: none; } }

.c-cart__icon {
  display: inline-block; }
  .c-cart__icon img {
    width: 34px; }

.c-cart__note {
  font-size: 22px;
  font-family: "Roboto";
  font-weight: 100;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  font-weight: 300;
  font-size: 12px;
  margin: 8px 0 12px;
  transition: opacity 0.3s ease;
  transition-delay: 800ms; }
  .c-cart__note::-moz-selection {
    color: white;
    background: black; }
  .c-cart__note::selection {
    color: white;
    background: black; }
  .c-cart--slider .c-cart__note {
    opacity: 0; }
  .c-cart--open .c-cart__note {
    opacity: 1; }

.c-cart__legals {
  font-size: 12px;
  font-weight: 300;
  line-height: 16px;
  display: block;
  text-align: right; }
  @media all and (max-width: 560px) {
    .c-cart__legals {
      text-align: left; } }

.c-cart__subTotal {
  text-align: right;
  border-top: 1px solid #b3b3b3;
  border-bottom: 1px solid #b3b3b3;
  padding: 11px 0 9px 0;
  margin-bottom: 16px;
  font-size: 20px; }
  .c-checkout .c-cart__subTotal {
    border-top: none;
    border-bottom: 1px solid black; }
  @media all and (min-width: 280px) {
    .c-cart__subTotal {
      font-size: 26px; } }
  @media all and (min-width: 380px) {
    .c-cart__subTotal {
      font-size: 36px; } }

.c-cart__subTotal-total {
  margin-right: 16px; }
  .c-checkout .c-cart__subTotal-total {
    font-size: 26px; }

.c-cart__subTotal-price {
  font-weight: 100; }
  .c-checkout .c-cart__subTotal-price {
    font-size: 26px; }

.c-cart__subTotal-currency {
  font-size: 14px;
  font-weight: 300;
  margin-right: -5px; }
  .c-column--rows .c-cart__subTotal-currency {
    font-size: 18px; }

.c-cart__text {
  opacity: 0;
  flex: 1;
  font-size: 16px;
  line-height: 20px;
  font-weight: 300;
  transition: 0.7s ease-out; }
  .c-cart__text p {
    margin-bottom: 14px; }
    @media all and (max-width: 480px) {
      .c-cart__text p {
        font-size: 14px; } }
  .c-cart__text ol {
    margin-left: 30px;
    list-style-type: upper-roman;
    font-size: 14px; }
    @media all and (max-width: 480px) {
      .c-cart__text ol {
        font-size: 12px; } }
    .c-cart__text ol p {
      margin-bottom: 10px; }
  .c-cart--open .c-cart__text {
    transition-delay: 0.3s;
    opacity: 1; }

.c-cart__size-result {
  margin-top: 10px;
  font-size: 20px;
  line-height: 24px; }

@media all and (max-width: 360px) {
  .c-cart__checkout {
    font-size: 30px; } }

.c-cart__finger-display {
  display: flex;
  margin-top: 30px; }
  .c-cart__finger-display .c-field {
    margin: 0px 0px 0px 20px;
    flex: 1; }
  @media all and (max-width: 460px) {
    .c-cart__finger-display {
      flex-direction: column; }
      .c-cart__finger-display img {
        object-fit: cover; }
      .c-cart__finger-display .c-field {
        margin: 30px 0 0 0; } }

.c-error {
  height: calc(100vh - 150px);
  perspective: 15px;
  overflow: hidden; }

.c-error__code {
  top: -100px;
  width: 100%;
  color: white;
  text-shadow: 1px 1px 13px #00000052;
  font-size: 72px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  font-size: 480px;
  top: -100px;
  text-align: center;
  width: 100%;
  pointer-events: none;
  position: absolute;
  transition: 0.5s ease; }
  .c-error__code::-moz-selection {
    color: white;
    background: black; }
  .c-error__code::selection {
    color: white;
    background: black; }

.c-error__copy {
  font-size: 72px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  position: absolute;
  top: 50%;
  margin: 100px 0;
  width: 100%;
  text-align: center;
  font-size: 45px;
  transform: translateY(-50%);
  font-style: italic; }
  .c-error__copy::-moz-selection {
    color: white;
    background: black; }
  .c-error__copy::selection {
    color: white;
    background: black; }

.c-error__copy--credit {
  font-style: normal;
  margin-top: 30px;
  font-size: 32px; }

@media all and (max-width: 768px) {
  .c-product {
    margin-bottom: 40px; } }

.c-product__header {
  font-size: 60px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  font-size: 38px;
  opacity: 0;
  transform: translateY(50px);
  transition: 0.65s ease-out;
  transition-delay: 0.4s;
  text-align: center; }
  .c-product__header::-moz-selection {
    color: white;
    background: black; }
  .c-product__header::selection {
    color: white;
    background: black; }
  .c-product--loaded .c-product__header {
    opacity: 1;
    transform: translateY(0px); }
  @media all and (min-width: 764px) {
    .c-product__header {
      text-align: left; } }
  @media all and (min-width: 500px) {
    .c-product__header {
      font-size: 60px; } }
  @media all and (max-width: 650px) {
    .c-product__header {
      padding-top: 15px; } }

.c-product__description {
  font-size: 22px;
  font-family: "Roboto";
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  font-weight: 300;
  font-style: italic;
  font-size: 12px;
  margin-top: 15px;
  letter-spacing: 0.4px;
  opacity: 0;
  transform: translateY(35px);
  transition: 0.65s ease-out;
  transition-delay: 0.55s;
  text-align: center; }
  .c-product__description::-moz-selection {
    color: white;
    background: black; }
  .c-product__description::selection {
    color: white;
    background: black; }
  @media all and (min-width: 500px) {
    .c-product__description {
      font-size: 14px; } }
  @media all and (min-width: 764px) {
    .c-product__description {
      text-align: left; } }
  .c-product--loaded .c-product__description {
    opacity: 1;
    transform: translateY(0px); }

@media all and (max-width: 764px) {
  .c-product__carouselImages {
    text-align: center; } }

.c-product__detail {
  font-size: 16px;
  font-family: "Roboto";
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  font-weight: 300;
  font-size: 12px;
  letter-spacing: 0.3px;
  line-height: 16px;
  margin-top: -5px; }
  .c-product__detail::-moz-selection {
    color: white;
    background: black; }
  .c-product__detail::selection {
    color: white;
    background: black; }

.c-product__accordion {
  opacity: 0;
  transform: translateY(30px);
  transition: 0.5s ease-out;
  transition-delay: 0.65s;
  text-align: center;
  margin-bottom: 15px; }
  @media all and (min-width: 768px) {
    .c-product__accordion {
      margin-bottom: 0px;
      text-align: left; } }
  .c-product--loaded .c-product__accordion {
    opacity: 1;
    transform: translateY(0px); }

.c-product__price {
  font-size: 18px;
  font-family: "Roboto";
  font-weight: 300;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  letter-spacing: 2px;
  margin-top: 50px; }
  .c-product__price::-moz-selection {
    color: white;
    background: black; }
  .c-product__price::selection {
    color: white;
    background: black; }

.c-product__caption {
  font-size: 12px;
  font-family: "Roboto";
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap; }
  .c-product__caption::-moz-selection {
    color: white;
    background: black; }
  .c-product__caption::selection {
    color: white;
    background: black; }

.c-product__images {
  position: relative; }
  .c-product__images .slick-arrow {
    opacity: 0;
    transition: opacity 0.35s ease; }
  .c-product__images:hover .slick-arrow {
    opacity: 1; }
  @media all and (max-width: 763px) {
    .c-product__images {
      width: 400px;
      margin: 20px auto 0; } }
  @media all and (max-width: 440px) {
    .c-product__images {
      max-width: 100%;
      margin: 0 15px; } }
  @media all and (max-width: 400px) {
    .c-product__images {
      margin: 0; } }
  @media all and (min-width: 763px) {
    .c-product__images {
      max-width: 300px;
      margin: 0 auto; } }
  @media all and (min-width: 930px) {
    .c-product__images {
      float: right;
      max-width: 380px; } }
  @media all and (min-width: 1180px) {
    .c-product__images {
      max-width: 480px; } }
  @media all and (min-width: 1921px) {
    .c-product__images {
      max-width: 620px; } }

.c-product__galleryImage {
  width: 420px;
  height: 420px;
  background-size: contain; }

.c-product__tooltip {
  z-index: 1;
  position: absolute; }

.c-product__carouselBtn--next {
  right: 0; }

.c-product__carouselBtn {
  position: absolute;
  top: 50%;
  transform: translateY(-100%);
  border: none;
  background: none;
  padding: 10px; }
  .c-product__carouselBtn:focus {
    outline: none; }
  .c-product__carouselBtn:hover {
    cursor: pointer; }

.c-product__mainImages {
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.5s; }
  @media all and (max-width: 763px) {
    .c-product__mainImages {
      width: 100%;
      padding-top: 100%;
      height: 0; } }
  @media all and (min-width: 763px) {
    .c-product__mainImages {
      width: 100%;
      padding-top: 100%;
      height: 0; } }
  @media all and (min-width: 930px) {
    .c-product__mainImages {
      padding-top: 0;
      height: 380px;
      width: 380px; } }
  @media all and (min-width: 1180px) {
    .c-product__mainImages {
      height: 500px;
      width: 500px; } }
  @media all and (min-width: 2000px) {
    .c-product__mainImages {
      height: 620px;
      width: 620px; } }

.c-product__carouselImage {
  margin-top: 5px;
  display: inline-block;
  margin-right: 15px;
  opacity: 0;
  transform: translateX(60px); }
  .c-product__carouselImage:before {
    transition: all 0.5s ease;
    content: "";
    display: block;
    background: rgba(0, 0, 0, 0.1);
    width: 100%;
    height: 1px; }
  .c-product__carouselImage:hover:before {
    background: #870000; }
  @media all and (max-width: 930px) {
    .c-product__carouselImage img {
      width: 60px;
      height: 60px; } }

.c-product__carouselImage--active:before {
  background: #000000 !important; }

.c-product__aside {
  font-size: 14px;
  font-weight: 300;
  line-height: 18px;
  margin-top: 5px;
  vertical-align: bottom;
  display: inline-block; }

.c-product--anim {
  opacity: 0;
  transition: 0.5s ease-out; }
  .c-product--loaded .c-product--anim {
    opacity: 1;
    transform: translateY(0px); }

.c-product--anim1 {
  transform: translateY(30px);
  transition-delay: 0.5s; }

.c-product--anim2 {
  transform: translateY(30px);
  transition-delay: 0.55s; }

.c-product--anim4 {
  transform: translateY(30px);
  transition-delay: 0.6s; }

.c-product--anim5 {
  transform: translateY(30px);
  transition-delay: 0.65s; }

.c-product--anim6 {
  transform: translateY(30px);
  transition-delay: 0.7s; }

.c-loading {
  position: absolute;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  transition: all 0.7s ease-in-out;
  top: 0;
  max-width: 100%;
  overflow-x: hidden; }
  .body--black .c-loading {
    position: fixed; }
  @media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
    .c-loading {
      transform: translateY(0px); } }

@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) and (max-width: 760px) {
  .c-loading {
    transform: translateY(-28px); } }
  @media all and (min-device-width: 768px) and (max-device-width: 1024px) {
    .c-loading {
      transform: translateY(-28px); } }

.c-loading__line {
  background: black;
  position: absolute;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left;
  z-index: 1;
  top: 50%; }

.c-loading__mask {
  background: black;
  position: absolute;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left;
  z-index: 1;
  top: 50%; }
  .body--black .c-loading__mask {
    position: fixed; }
  .all-loaded .c-loading__mask {
    display: none; }

.c-loading__mask2 {
  background: white;
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 1;
  top: 0; }
  .all-loaded .c-loading__mask2 {
    display: none; }

.c-loading--loaded {
  opacity: 0; }

.c-loading__letter--visible {
  stroke-dashoffset: 0;
  transition: all 1s ease-in-out; }

.c-loading__logo {
  width: 100px;
  padding: 20px;
  text-align: center;
  transform: translateY(10px); }
  .c-loading--loaded .c-loading__logo {
    opacity: 0; }

.c-loading__container-logo {
  position: absolute;
  margin: auto;
  top: calc(50% - 55px);
  transform: translateY(-50%);
  left: 0;
  height: 110px;
  overflow: hidden;
  text-align: center;
  right: 0; }

.c-loading__line-container {
  position: absolute;
  margin: auto;
  top: calc(50% - 5px);
  transform: translateY(-50%);
  left: 0;
  height: 50px;
  overflow: hidden;
  text-align: center;
  pointer-events: none;
  right: 0;
  z-index: 100;
  display: none; }

.c-loading-line--visible {
  display: block; }

.c-loading__line-text {
  opacity: 0;
  font-family: GTSpectra;
  font-size: 24px; }

.c-loading__countdown {
  font-size: 28px;
  font-family: "Roboto";
  font-weight: 100;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  text-align: center;
  color: black;
  transform: translateY(-30px);
  opacity: 0; }
  .c-loading__countdown::-moz-selection {
    color: white;
    background: black; }
  .c-loading__countdown::selection {
    color: white;
    background: black; }

.c-loading__text {
  font-family: GTSpectra; }

.c-loading__container {
  position: absolute;
  left: 0;
  right: 0;
  overflow: hidden;
  height: 50px;
  top: calc(50% + 25px);
  transform: translateY(-50%); }

@keyframes dash {
  from {
    stroke-dashoffset: 1000; }
  to {
    stroke-dashoffset: 0; } }

.c-details {
  margin-right: 70px; }
  .c-text-section .c-details p, .c-text-section .c-details a {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 18px;
    display: block;
    color: black;
    font-weight: 300; }
  .c-text-section .c-details h3 {
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 5px;
    letter-spacing: 2.5px; }
  @media all and (max-width: 765px) {
    .c-text-section .c-details a {
      margin-bottom: 8px; } }
  @media all and (max-width: 380px) {
    .c-details {
      margin-right: 0; }
      .c-details a {
        word-break: break-all;
        margin-bottom: 12px; } }

.c-loading-section {
  opacity: 0;
  transition: opacity 0.35s ease; }

.c-loading-section--loaded {
  opacity: 1; }

.c-form--payment {
  position: relative;
  max-width: 100%;
  margin: 130px 20px; }
  @media all and (min-width: 900px) {
    .c-form--payment {
      margin: 130px auto;
      max-width: 850px; } }

.c-payment-form {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 300;
  background: white;
  opacity: 0;
  transition: opacity 0.5s ease; }
  .c-payment-form.c-cart--payment--open {
    opacity: 1; }

.c-field {
  margin: 20px 0;
  position: relative;
  opacity: 1;
  transition: all 0.35s ease; }
  .c-column--rows .c-field {
    margin: 5px 0; }
  .c-form--contact .c-field__section > .c-field {
    margin: 0 10px; }
    @media all and (max-width: 860px) {
      .c-form--contact .c-field__section > .c-field:first-child {
        margin: 0 10px 0 0; } }
    @media all and (max-width: 550px) {
      .c-form--contact .c-field__section > .c-field:first-child {
        margin: 20px 0; } }
    @media all and (max-width: 860px) {
      .c-form--contact .c-field__section > .c-field:nth-child(2) {
        margin: 0 0 0 10px; } }
    @media all and (max-width: 550px) {
      .c-form--contact .c-field__section > .c-field:nth-child(2) {
        margin: 20px 0; } }
  .c-form--contact .c-field {
    flex: 1;
    margin: 20px 10px; }
    @media all and (max-width: 860px) {
      .c-form--contact .c-field {
        margin: 20px 0; } }
  .c-field.c-field--no-flex {
    flex: 0; }
  .c-form--loading .c-field {
    opacity: 0.5; }

@media all and (max-width: 860px) {
  .c-form--contact {
    margin-top: 30px; } }

.c-form--contact .c-field--first {
  margin-top: 0; }

.c-field--checkbox {
  margin: 10px 0;
  text-align: right; }

.c-form__toast {
  margin-left: 10px;
  font-size: 18px;
  font-weight: 100; }

.c-field__section {
  display: flex;
  position: relative;
  margin: 20px 0; }
  @media all and (max-width: 550px) {
    .c-form--contact .c-field__section {
      display: block; } }
  @media all and (max-width: 610px) {
    .c-payment-form .c-field__section {
      flex-direction: column; } }

.c-form__option {
  font-weight: 300;
  font-size: 12px;
  margin-left: 8px;
  vertical-align: 1px; }

.c-field__label {
  font-family: GTSpectra;
  font-size: 18px; }
  .c-form--payment .c-field__label {
    margin-bottom: 4px; }
  .c-form--contact .c-field__label {
    display: block;
    margin-bottom: 14px; }

.c-form--contact .c-field__input {
  border: none;
  border-bottom: 1px solid black;
  font-size: 22px;
  font-family: "Roboto";
  font-weight: 100;
  width: 100%; }

.c-field--invalid .c-field__input {
  border-bottom: 1px solid #870000; }

.c-field__input:focus {
  outline: none; }

@media all and (min-width: 764px) {
  .c-field--abnormal {
    margin-top: 95px; } }

.c-field__error {
  color: #870000;
  position: absolute;
  font-size: 12px;
  left: 0;
  bottom: -15px; }
  .c-field__error.c-field__error--payment {
    position: relative;
    font-size: 14;
    margin: 5px 0;
    bottom: auto; }

.c-field__error--section {
  left: 12px;
  bottom: 3px; }

.c-field__error--captcha {
  top: 28px; }

.c-field--valid:after {
  content: '';
  width: 20px;
  height: 20px;
  background-image: url("../assets/icons/checkmark.svg");
  position: absolute;
  display: block;
  top: 38px;
  right: 0;
  background-size: contain; }
  .c-form--payment .c-field--valid:after {
    top: 34px; }

.c-form--loading {
  pointer-events: none; }

.c-field--card {
  border-bottom: 1px solid black;
  padding: 12px 0; }

.c-form__submit {
  background: none;
  padding: 6px 100px;
  margin-left: 10px;
  width: calc(100% - 16px); }
  .c-form--payment .c-form__submit {
    padding: 6px;
    margin: -1px 0 0 0;
    width: 100%; }
    @media all and (max-width: 380px) {
      .c-form--payment .c-form__submit {
        font-size: 30px; } }
  .c-form__submit:focus {
    outline: none; }
  .c-form__submit:hover {
    cursor: pointer; }
  @media all and (max-width: 860px) {
    .c-form--contact .c-form__submit {
      margin-left: 0;
      width: 100%; } }
  @media all and (max-width: 350px) {
    .c-form__submit {
      padding: 6px auto; } }
  .c-form__submit _::-webkit-full-page-media, .c-form__submit _:future, .c-form__submit :root .safari_only {
    height: 64px; }
  @media not all and (min-resolution: 0.001dpcm) {
    .c-form__submit {
      height: 64px; } }

.c-form--contact .c-field--checkbox {
  width: 100%;
  text-align: left;
  margin: 5px 0 15px 11px; }
  .c-checkout--right .c-form--contact .c-field--checkbox {
    margin-left: 0; }

.c-form--contact .c-field--checkbox--small {
  margin-top: 15px;
  flex: 0; }

.c-field__input--checkbox {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: absolute;
  opacity: 0;
  pointer-events: none; }
  .c-field__input--checkbox:checked + .c-field__label--checkbox:before {
    background: black;
    transform: rotate(180deg); }

.c-field__label--checkbox {
  cursor: pointer;
  transition: all 0.25s ease;
  font-weight: 300;
  letter-spacing: 0.6px;
  font-family: "Roboto";
  font-size: 14px; }
  .c-field__label--checkbox:hover {
    cursor: pointer; }
    .c-field__label--checkbox:hover:before {
      transform: rotate(90deg); }
  .c-field__label--checkbox:before {
    content: '';
    transition: all 0.25s ease;
    display: inline-block;
    height: 14px;
    width: 14px;
    margin-right: 8px;
    vertical-align: -2px;
    border: 1px solid #373737; }
    .c-field__label--checkbox:before:hover {
      transform: rotate(90deg);
      cursor: pointer; }
  .c-field--checkbox-spin .c-field__label--checkbox:before {
    transition: all 0.5s ease;
    transform: rotate(360deg); }

.c-field__label--smaller {
  font-size: 16px;
  margin-bottom: 16px; }

.c-field__input--textarea {
  padding-bottom: 28px; }

.c-checkout .c-field--pay {
  min-height: 200px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: flex-end;
  margin-bottom: 51px; }

.c-field__error--checkout {
  left: auto;
  bottom: auto;
  margin-right: 12px;
  position: relative; }

.c-hero {
  position: absolute;
  z-index: 10;
  margin: 0 auto;
  right: 0;
  left: 0;
  text-align: center;
  bottom: 150px; }

.c-hero__title {
  font-size: 180px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  color: white;
  letter-spacing: 60px;
  text-shadow: 1px 2px 9px #969696; }
  .c-hero__title::-moz-selection {
    color: white;
    background: black; }
  .c-hero__title::selection {
    color: white;
    background: black; }

.c-hero__text {
  font-size: 20px;
  font-family: "Roboto";
  font-weight: 300;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  text-shadow: 1px 2px 9px #969696;
  width: 275px;
  margin-top: 12px; }
  .c-hero__text::-moz-selection {
    color: white;
    background: black; }
  .c-hero__text::selection {
    color: white;
    background: black; }

.c-spinner__container {
  width: 32px;
  position: absolute;
  margin: 0 auto;
  right: 0;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  display: none;
  opacity: 0;
  transition: opacity 0.35s ease; }

.c-spinner--visible {
  display: block;
  opacity: 1; }

.c-spinner {
  height: 32px;
  clear: both;
  margin: 20px auto; }

.c-spinner__sphere {
  border-radius: 50%;
  border-left: 0px #000 solid;
  border-right: 0px #000 solid;
  -webkit-animation: spSphere 1s infinite linear;
  animation: spSphere 1s infinite linear; }

@-webkit-keyframes spSphere {
  0% {
    border-left: 0px #000 solid;
    border-right: 0px #000 solid; }
  33% {
    border-left: 32px #000 solid;
    border-right: 0px #000 solid; }
  34% {
    border-left: 0px #000 solid;
    border-right: 32px #000 solid; }
  66% {
    border-left: 0px #000 solid;
    border-right: 0px #000 solid; } }

@keyframes spSphere {
  0% {
    border-left: 0px #000 solid;
    border-right: 0px #000 solid; }
  33% {
    border-left: 32px #000 solid;
    border-right: 0px #000 solid; }
  34% {
    border-left: 0px #000 solid;
    border-right: 32px #000 solid; }
  66% {
    border-left: 0px #000 solid;
    border-right: 0px #000 solid; } }

.dropdown {
  font-weight: 300;
  font-size: 24px;
  text-transform: uppercase;
  max-width: 50%; }
  .c-column--rows .dropdown {
    max-width: 100%; }
  .c-shop__filter .dropdown {
    max-width: 320px;
    margin: auto; }
    @media all and (min-width: 764px) {
      .c-shop__filter .dropdown {
        max-width: 220px; } }

.v-select .dropdown-toggle {
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 1px solid black !important; }

.c-accordion {
  margin: 30px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  position: relative; }

.c-accordion--tiny {
  border-bottom: none;
  margin: 0; }

.c-accordion__content {
  padding-top: 20px; }

.c-accordion__header:after {
  content: '';
  background: url("/assets/icons/chevronLeft.svg") no-repeat center;
  height: 20px;
  width: 20px;
  position: absolute;
  display: block;
  right: 0;
  top: 0;
  transition: transform 0.35s ease;
  transform: rotate(-90deg); }

.c-accordion__header:hover {
  cursor: pointer; }

.c-accordion--tiny .c-accordion__header {
  font-size: 14px;
  font-weight: 300;
  margin-top: 20px;
  position: relative;
  display: inline-block; }
  .c-accordion--tiny .c-accordion__header:after {
    height: 14px;
    width: 10px;
    right: -24px;
    top: -1px; }

.c-accordion__header--open:after {
  transform: rotate(0deg); }

.c-checkout {
  flex: 1 1; }
  @media all and (max-width: 865px) {
    .c-checkout:first-child {
      margin-right: 10px; } }
  @media all and (max-width: 610px) {
    .c-checkout:first-child {
      margin-right: 0px; } }
  @media all and (max-width: 865px) {
    .c-checkout:last-child {
      margin-left: 10px; } }
  @media all and (max-width: 610px) {
    .c-checkout:last-child {
      margin-left: 0px; } }

.c-checkout__checked-out {
  flex-wrap: wrap; }

.c-checkout__cart {
  margin: 0 10px; }

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

.c-checkout--right {
  display: flex;
  flex-direction: column; }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .c-checkout--right {
      display: block; } }

.c-checkout__cards {
  float: right; }
  .c-checkout__cards img {
    height: 20px; }

.c-checkout__deposit {
  font-weight: 300;
  line-height: 24px;
  margin: 10px 10px 25px 10px;
  text-align: center; }

.c-footer {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  width: 100%;
  position: relative;
  z-index: 1;
  background: white;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: box-shadow 1s ease; }
  @media all and (min-width: 540px) {
    .c-footer {
      height: 244px; } }

.c-footer--shop {
  box-shadow: 0px 0px 21px 1px rgba(194, 195, 218, 0.35); }
  @media all and (min-width: 1921px) {
    .c-footer--shop {
      box-shadow: 0px -30px 50px -29px rgba(194, 195, 255, 0.35); } }

.c-footer__socialBar {
  height: 1px;
  display: block;
  position: absolute;
  top: 35px;
  background: #000000;
  width: calc(100% - 70px);
  transform: scaleX(0);
  margin: 0 auto;
  left: 0;
  right: 0; }

.c-footer__socialLinks {
  margin: 0 auto;
  width: 200px;
  text-align: center;
  background: white;
  z-index: 5;
  position: relative; }
  .c-footer__socialLinks:hover {
    cursor: pointer; }

.c-footer__socialIcon {
  width: 35px;
  height: 35px;
  display: inline-block;
  margin: 18px 9px;
  transform: translateY(50px);
  opacity: 0; }
  .loading-over .c-footer__socialIcon {
    transition: all 0.2s ease; }
  .c-footer__socialIcon:after {
    content: '';
    display: block;
    bottom: -5px;
    width: 100%;
    height: 1px;
    background: #870000;
    position: absolute;
    transform: scaleX(0);
    transition: all 0.2s ease; }
  .c-footer__socialIcon:hover {
    transform: translateY(-2px) !important; }
    .c-footer__socialIcon:hover:after {
      transform: scaleX(1); }

.c-footer__socialIcon--fb {
  background: url("/assets/icons/facebookIcon.svg") no-repeat center; }

.c-footer__socialIcon--be {
  background: url("/assets/icons/behanceIcon.svg") no-repeat center; }

.c-footer__socialIcon--insta {
  background: url("/assets/icons/instaIcon.svg") no-repeat center; }

.c-footer__linkSection {
  margin: 0 auto;
  position: relative;
  width: 100%; }
  @media all and (min-width: 330px) {
    .c-footer__linkSection {
      width: 290px; } }
  @media all and (min-width: 540px) {
    .c-footer__linkSection {
      width: 520px; } }
  @media all and (min-width: 730px) {
    .c-footer__linkSection {
      width: 700px; } }

.c-footer__links {
  display: block;
  text-align: center; }
  @media all and (min-width: 330px) {
    .c-footer__links {
      display: inline-block; } }

@media all and (min-width: 330px) {
  .c-footer__links--right {
    float: right; } }

.c-footer__link {
  display: block;
  position: relative;
  font-size: 16px;
  font-family: "Roboto";
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  margin: 15px 0;
  opacity: 0;
  color: black; }
  .c-footer__link::-moz-selection {
    color: white;
    background: black; }
  .c-footer__link::selection {
    color: white;
    background: black; }
  .c-footer__link:hover {
    cursor: pointer;
    transform: translateY(-2px); }
    .c-footer__link:hover .c-footer__link-text:after, .c-footer__link:hover .c-footer__link-text:before {
      transform: translateX(0);
      opacity: 1; }

.c-footer__link-text {
  width: auto;
  position: relative;
  display: inline-block; }
  .c-footer__link-text:after, .c-footer__link-text:before {
    top: 0;
    position: absolute;
    display: block;
    background: #870000;
    content: '';
    height: 100%;
    width: 1px;
    opacity: 0;
    transition: all 0.4s ease; }
  .c-footer__link-text:after {
    transform: translateX(15px);
    left: -15px; }
  .c-footer__link-text:before {
    transform: translateX(-15px);
    right: -15px; }

.c-footer__copyRight {
  font-size: 20px;
  font-family: GTSpectra;
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap;
  display: block;
  text-align: center;
  width: 100%;
  position: absolute;
  margin-top: 12px;
  pointer-events: none;
  transform: translateY(60px);
  opacity: 0; }
  .c-footer__copyRight::-moz-selection {
    color: white;
    background: black; }
  .c-footer__copyRight::selection {
    color: white;
    background: black; }
  @media all and (min-width: 540px) {
    .c-footer__copyRight {
      margin-top: -30px; } }
  .c-footer__copyRight:hover {
    cursor: url("/assets/img/SHAKA.png"), default; }
  .all-loaded .c-footer__copyRight {
    transform: translateY(0);
    opacity: 1; }

.c-footer__byLine {
  text-align: center;
  display: block;
  padding-top: 60px;
  padding-bottom: 30px;
  transform: translateY(60px);
  opacity: 0;
  transition: transform 0.45s ease-out, opacity 0.25s ease-out;
  font-size: 12px;
  font-family: "Roboto";
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-display: swap; }
  .c-footer__byLine::-moz-selection {
    color: white;
    background: black; }
  .c-footer__byLine::selection {
    color: white;
    background: black; }
  @media all and (min-width: 540px) {
    .c-footer__byLine {
      padding-top: 15px; } }
  .c-footer__byLine:hover {
    cursor: url("/assets/img/SHAKA.png"), default; }
  .all-loaded .c-footer__byLine {
    transform: translateY(-15px);
    opacity: 1; }

.c-text-section {
  margin-top: 100px;
  margin-bottom: 60px;
  padding: 0 30px;
  max-width: 1000px; }
  .c-text-section h1 {
    font-size: 42px;
    font-family: GTSpectra;
    font-weight: normal;
    font-style: normal;
    line-height: normal;
    font-display: swap;
    margin-bottom: 32px; }
    .c-text-section h1::-moz-selection {
      color: white;
      background: black; }
    .c-text-section h1::selection {
      color: white;
      background: black; }
    @media all and (max-width: 669px) {
      .c-text-section h1 {
        margin-bottom: 22px; } }
    @media all and (max-width: 400px) {
      .c-text-section h1 {
        font-size: 38px;
        word-break: break-all; } }
  .c-text-section h2 {
    font-size: 22px;
    font-family: "Roboto";
    font-weight: 300;
    font-style: normal;
    line-height: normal;
    font-display: swap;
    letter-spacing: 2px;
    margin-bottom: 4px; }
    .c-text-section h2::-moz-selection {
      color: white;
      background: black; }
    .c-text-section h2::selection {
      color: white;
      background: black; }
  .c-text-section p {
    font-size: 14px;
    font-family: "Roboto";
    font-weight: normal;
    font-style: normal;
    line-height: 19px;
    font-display: swap;
    letter-spacing: 0.2px;
    margin-bottom: 24px;
    font-weight: 300;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    padding-bottom: 10px; }
    .c-text-section p::-moz-selection {
      color: white;
      background: black; }
    .c-text-section p::selection {
      color: white;
      background: black; }
    .c-text-section p.c-text-section--no-border {
      padding: 0;
      border-bottom: none; }
  @media all and (max-width: 669px) {
    .c-text-section {
      margin-top: 30px;
      padding: 0 16px; } }

.c-text__text {
  font-size: 22px;
  margin: 6px 0;
  font-weight: 100; }

.c-text__title {
  font-weight: 100;
  font-size: 28px;
  margin-bottom: 20px; }

/**
  *  7. UTILITIES
  */
/**
 * UTILITIES.LAYOUT
 *
 * @description : These classes trump other preceeding styles.
 *                Userful for quickly applying common adjustments.
 */
.u-fr {
  float: right; }

.u-fl {
  float: left; }

.u-mb {
  margin-bottom: 1.25rem; }

@media all and (max-width: 470px) {
  .u-470-only {
    display: none; } }

@media (max-width: 764px) {
  .u-desktop-only {
    display: none; } }

@media (min-width: 764px) {
  .u-desktop-visible {
    display: block; } }

@media (min-width: 764px) {
  .u-mobile-only {
    display: none; } }

@media (min-width: 764px) {
  .u-reverse-order--desktopOnly {
    flex-direction: row-reverse; } }

.u-image-fit {
  background-size: cover;
  height: 100%; }

/**
 * UTILITIES.TYPE
 *
 * @description : These classes trump other preceeding styles.
 *                Userful for quickly applying common adjustments.
 */
.u-tc {
  text-align: center; }

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

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

.u-tpl {
  white-space: pre-line; }

.slick-arrow {
  border: none;
  appearance: none;
  width: 20px;
  height: 20px;
  margin: 0;
  display: inline-block;
  background: none;
  z-index: 1;
  top: 50%;
  position: absolute;
  transform: translateY(-100%);
  transition: 0.2s ease; }
  .slick-arrow:focus, .slick-arrow:focus-within {
    outline: none; }
  .c-product__images--zoomed .slick-arrow {
    pointer-events: none;
    opacity: 0; }

.slick-prev {
  left: -15px; }
  @media all and (min-width: 930px) {
    .slick-prev {
      left: 15px; } }

.slick-next {
  right: -15px; }
  @media all and (min-width: 930px) {
    .slick-next {
      right: 15px; } }

.slick-dots {
  display: flex; }
  .slick-dots li {
    height: 4px;
    width: 30px;
    background: grey; }
    .slick-dots li button {
      appearance: none;
      background: none;
      outline: none;
      border: none;
      font-size: 0; }
  .slick-dots .slick-active {
    background: red; }

.slick-track, .slick-list {
  -webkit-perspective: 2000;
  -webkit-backface-visibility: hidden; }

.v-fade {
  display: inherit !important;
  /* override v-show display: none */
  transition: opacity 1s;
  height: 0; }
  .v-fade.c-btn__link--relative {
    display: inline-table !important; }
    @media all and (max-width: 764px) {
      .v-fade.c-btn__link--relative.u-desktop-only {
        display: none !important; } }
    @media all and (min-width: 764px) {
      .v-fade.c-btn__link--relative.u-mobile-only {
        display: none !important; } }
  .v-fade.v-fade--video {
    height: auto; }

.v-fade[style*="display: none;"] {
  opacity: 0;
  pointer-events: none;
  /* disable user interaction */
  user-select: none;
  /* disable user selection */ }
  .v-fade[style*="display: none;"].v-fade--video {
    height: 0; }

.v-fade--video {
  transition: opacity 1s;
  height: auto; }

.v-fade--video[style*="display: none;"] {
  opacity: 0;
  pointer-events: none;
  /* disable user interaction */
  user-select: none;
  /* disable user selection */ }
  .v-fade--video[style*="display: none;"].v-fade--video {
    height: 0; }
