/*
 Media queries

 usage:
 @import "styles/_mixins";

 .myClass {
   margin-top: 20px;
 }

 @import min-sm {
   .myClass {
     margin-top: 40px;
   }
 }
*/
/*
 Absolute positioning full height/width
*/
/*
 with: min-content except for asian languages
*/
/*
 Hide elements visually, but keep them available for screen-readers.

 Used for information required for screen-reader users to understand and use
 the site where visual display is undesirable. Information provided in this
 manner should be kept concise, to avoid unnecessary burden on the user.
 "!important" is used to prevent unintentional overrides.
 */
/*
 The .focusable class extends the .visually-hidden class to allow
 the element to be focusable when navigated to via the keyboard.
*/
/*
 Hide visually and from screen-readers, but maintain layout.
*/
/*
 Add contrast background to text over image
*/
/*
 Add border to box with white background
*/
/*
 animations
*/
:root,
:host {
  --dark-grey: #252525;
  --medium-grey: #666666;
  --light-grey: #d2d2d2;
  --ultra-light-grey: #f4f4f4;
  --dark-night-blue: #01081a;
  --night-blue: #06101f;
  --light-night-blue: #0f283e;
  --dark-blue: #003150;
  --dark-blue-rgb: 0, 49, 80;
  --background-dark-blue: #001f33;
  --bright-blue: #3d9ce3;
  --brown: #817656;
  --white: #ffffff;
  --white-rgb: 255, 255, 255;
  --black: #000000;
  --black-rgb: 0, 0, 0;
  --error: #bd0000;
  --success: #33ab1f;
  --header-height: 70px;
  --pillars-height: 0;
  --anim-ease-out: cubic-bezier(0.32, 0.71, 0.42, 0.94);
  --anim-ease-out-2: cubic-bezier(0.3, 0, 0.15, 1);
  --gallery-image-background: #e8e8e8;
}

html {
  font-size: 62.5%;
  color: var(--dark-grey);
}
html.a11y-contrast {
  --dark-grey: black;
  --medium-grey: black;
  --light-grey: #242424;
  --bright-blue: #145a90;
  --ultra-light-grey: white;
}
html *,
html *::before,
html *::after {
  box-sizing: border-box;
}
html input:focus-visible,
html a:focus-visible,
html button:focus-visible {
  outline: var(--bright-blue) auto 1px;
  outline-offset: 5px;
}
html[lang=kr] * {
  word-break: keep-all;
}

body {
  overflow-x: hidden;
  --page-default-background: var(--ultra-light-grey);
  --page-background: var(--page-default-background);
  --page-border: var(--light-grey);
}
body.no-scroll {
  overflow: hidden;
}
body.no-scroll .no-scroll-hidden {
  display: none !important;
}

a {
  color: inherit;
  text-decoration: none;
}

fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}

.a11y-visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
  width: 1px;
  word-wrap: normal;
  padding: 0 !important;
  margin: 0 !important;
}
.a11y-contrast .a11y-background {
  background: var(--white);
  color: var(--black);
  padding: 4px !important;
  text-shadow: none;
}
.a11y-contrast .a11y-background * {
  color: var(--black) !important;
  fill: var(--black) !important;
}
.a11y-contrast .a11y-background:hover, .a11y-contrast .a11y-background:focus {
  color: var(--black);
  background: var(--white);
}
.a11y-contrast .a11y-border {
  border: 1px solid var(--light-grey) !important;
}
.a11y-low-animations .a11y-animated {
  transition: none !important;
  transform: none !important;
}

.width-min-content {
  width: min-content;
}
html[lang=jp] .width-min-content, html[lang=th] .width-min-content, html[lang=kr] .width-min-content, html[lang=hk] .width-min-content, html[lang^=zh] .width-min-content {
  width: auto;
}

.layout-vintage-watches {
  --page-background: #f7f1e9 url("../public/images/bg-vintage-watches.jpg")
    repeat-x top center;
  --page-border: #e1d8cd;
  background: var(--page-background);
}

.layout-holiday-shopping-event {
  --dark-blue: #252525;
}

@media (min-width: 1440px) {
  :root,
  :host {
    --header-height: 120px;
    --pillars-height: 60px;
  }
}
button:not(.MuiButton-root) {
  font-family: inherit;
  letter-spacing: inherit;
  font-size: inherit;
  appearance: none;
  border: none;
  background: none;
  cursor: pointer;
  color: inherit;
}
button:not(.MuiButton-root):disabled, button:not(.MuiButton-root)[aria-disabled=true] {
  cursor: default;
}

button.zoom-in-cursor,
*.zoom-in-cursor {
  cursor: url("data:image/svg+xml,%3Csvg width='50' height='50' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cg%3E%3Ccircle cx='25' cy='25' r='24.1667' style='fill:%23f4f3f4%3B'/%3E%3Cpath d='M25 50C11.215 50 0 38.7858 0 25S11.215 0 25 0s25 11.215 25 25-11.2142 25-25 25ZM25 1.6667C12.1338 1.6667 1.6667 12.1338 1.6667 25s10.4671 23.3333 23.3333 23.3333 23.3333-10.4671 23.3333-23.3333S37.8662 1.6667 25 1.6667Z' style='fill:%2311334f%3B'/%3E%3C/g%3E%3Cpath d='M32.575 24.1667h-6.7417v-6.7417c0-.4167-.375-.7583-.8333-.7583s-.8333 .3417-.8333 .7583v6.7417h-6.7417c-.4167 0-.7583 .375-.7583 .8333s.3417 .8333 .7583 .8333h6.7417v6.7417c0 .4167 .375 .7583 .8333 .7583s.8333-.3417 .8333-.7583v-6.7417h6.7417c.4167 0 .7583-.375 .7583-.8333s-.3417-.8333-.7583-.8333Z' style='fill:%2311334f%3B'/%3E%3C/svg%3E") 25 25, zoom-in;
}

button.MuiTypography-root {
  display: inline;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

div.MuiTypography-root > p,
div.MuiTypography-root > ul {
  margin: 0 0 1em 0;
}
div.MuiTypography-root > p:last-child,
div.MuiTypography-root > ul:last-child {
  margin-bottom: 0;
}

div.MuiTypography-root > ul {
  padding: 0;
}
div.MuiTypography-root > ul > li {
  list-style-type: none;
}
div.MuiTypography-root > ul > li:before {
  content: "- ";
}

.MuiAccordion-root.MuiPaper-root {
  background: transparent;
}
.MuiAccordion-root.MuiPaper-root .MuiAccordionDetails-root {
  padding: 10px 0 12px;
}

.MuiLinearProgress-root {
  background: transparent;
  height: 2px;
}

.MuiDivider-root {
  border-color: var(--light-grey);
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}
.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  width: var(--swiper-centered-offset-after);
}
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  height: var(--swiper-centered-offset-after);
}
.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

/* free mode */
.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

/* effect fade */
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-right-aligned .swiper-wrapper {
  width: fit-content;
  margin: 0 0 0 auto;
}

/* Make clicks pass-through */
#nprogress {
  pointer-events: none;
}

#nprogress .bar {
  background: var(--dark-blue);
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
}

/* Fancy blur effect */
#nprogress .peg {
  display: block;
  position: absolute;
  right: 0px;
  width: 100px;
  height: 100%;
  box-shadow: 0 0 10px var(--dark-blue), 0 0 3px var(--dark-blue);
  opacity: 1;
  -webkit-transform: rotate(3deg) translate(0px, -4px);
  -ms-transform: rotate(3deg) translate(0px, -4px);
  transform: rotate(3deg) translate(0px, -4px);
}

/* Remove these to get rid of the spinner */
#nprogress .spinner {
  display: block;
  position: fixed;
  z-index: 2000;
  top: 15px;
  right: 15px;
}

#nprogress .spinner-icon {
  width: 18px;
  height: 18px;
  box-sizing: border-box;
  border: solid 3px transparent;
  border-top-color: var(--dark-blue);
  border-left-color: var(--dark-blue);
  border-radius: 50%;
  -webkit-animation: nprogress-spinner 400ms linear infinite;
  animation: nprogress-spinner 400ms linear infinite;
}

.nprogress-custom-parent {
  overflow: hidden;
  position: relative;
}

.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
  position: absolute;
}

@-webkit-keyframes nprogress-spinner {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes nprogress-spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.mt-0 {
  margin-top: 0 !important;
}

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

.mr-0 {
  margin-right: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

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

.pl-0 {
  padding-left: 0 !important;
}

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

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

.m-0 {
  margin: 0 !important;
}

.mt-1 {
  margin-top: 10px !important;
}

.mb-1 {
  margin-bottom: 10px !important;
}

.mr-1 {
  margin-right: 10px !important;
}

.ml-1 {
  margin-left: 10px !important;
}

.pt-1 {
  padding-top: 10px !important;
}

.pl-1 {
  padding-left: 10px !important;
}

.pb-1 {
  padding-bottom: 10px !important;
}

.p-1 {
  padding: 10px !important;
}

.m-1 {
  margin: 10px !important;
}

.mt-2 {
  margin-top: 20px !important;
}

.mb-2 {
  margin-bottom: 20px !important;
}

.mr-2 {
  margin-right: 20px !important;
}

.ml-2 {
  margin-left: 20px !important;
}

.pt-2 {
  padding-top: 20px !important;
}

.pl-2 {
  padding-left: 20px !important;
}

.pb-2 {
  padding-bottom: 20px !important;
}

.p-2 {
  padding: 20px !important;
}

.m-2 {
  margin: 20px !important;
}

.mt-3 {
  margin-top: 30px !important;
}

.mb-3 {
  margin-bottom: 30px !important;
}

.mr-3 {
  margin-right: 30px !important;
}

.ml-3 {
  margin-left: 30px !important;
}

.pt-3 {
  padding-top: 30px !important;
}

.pl-3 {
  padding-left: 30px !important;
}

.pb-3 {
  padding-bottom: 30px !important;
}

.p-3 {
  padding: 30px !important;
}

.m-3 {
  margin: 30px !important;
}

.mt-4 {
  margin-top: 40px !important;
}

.mb-4 {
  margin-bottom: 40px !important;
}

.mr-4 {
  margin-right: 40px !important;
}

.ml-4 {
  margin-left: 40px !important;
}

.pt-4 {
  padding-top: 40px !important;
}

.pl-4 {
  padding-left: 40px !important;
}

.pb-4 {
  padding-bottom: 40px !important;
}

.p-4 {
  padding: 40px !important;
}

.m-4 {
  margin: 40px !important;
}

.mt-5 {
  margin-top: 50px !important;
}

.mb-5 {
  margin-bottom: 50px !important;
}

.mr-5 {
  margin-right: 50px !important;
}

.ml-5 {
  margin-left: 50px !important;
}

.pt-5 {
  padding-top: 50px !important;
}

.pl-5 {
  padding-left: 50px !important;
}

.pb-5 {
  padding-bottom: 50px !important;
}

.p-5 {
  padding: 50px !important;
}

.m-5 {
  margin: 50px !important;
}

.mt-6 {
  margin-top: 60px !important;
}

.mb-6 {
  margin-bottom: 60px !important;
}

.mr-6 {
  margin-right: 60px !important;
}

.ml-6 {
  margin-left: 60px !important;
}

.pt-6 {
  padding-top: 60px !important;
}

.pl-6 {
  padding-left: 60px !important;
}

.pb-6 {
  padding-bottom: 60px !important;
}

.p-6 {
  padding: 60px !important;
}

.m-6 {
  margin: 60px !important;
}

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

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

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

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

.uppercase {
  text-transform: uppercase;
}

.capitalize {
  text-transform: capitalize;
}

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

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

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

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

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

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

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

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

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

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

.text-grey-light {
  color: var(--light-grey);
}

.text-grey-medium {
  color: var(--medium-grey);
}

.text-grey-dark {
  color: var(--dark-grey);
}

.text-blue-light {
  color: var(--bright-blue);
}

.text-blue-dark {
  color: var(--dark-blue);
}

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

.text-darkGrey {
  color: var(--dark-grey);
}

.text-darkBlue {
  color: var(--dark-blue);
}

.text-brightBlue {
  color: var(--bright-blue);
}

.text-mediumGrey {
  color: var(--medium-grey);
}

.text-lightGrey {
  color: var(--light-grey);
}

.variant-paragraph {
  line-height: 1.6;
  font-size: 12px;
}
@media (min-width: 768px) {
  .variant-paragraph {
    font-size: 13px;
  }
}
@media (min-width: 1600px) {
  .variant-paragraph {
    font-size: 14px;
  }
}

.variant-titleLarge {
  line-height: 1.2;
  margin: 0;
  font-size: 20px;
}
@media (min-width: 1024px) {
  .variant-titleLarge {
    font-size: 28px;
  }
}

.variant-cta {
  font-size: 12px;
  line-height: 1.2;
}

.variant-titleXSmall {
  line-height: 1.4;
  font-size: 18px;
}

.variant-smallParagraph {
  font-size: 10px;
  line-height: 1.6;
}

.variant-body1 {
  line-height: 1.6;
  font-size: 12px;
}
@media (min-width: 768px) {
  .variant-body1 {
    font-size: 13px;
  }
}
@media (min-width: 1600px) {
  .variant-body1 {
    font-size: 14px;
  }
}

.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

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

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

.justify-end {
  justify-content: flex-end;
}

.justify-start {
  justify-content: flex-start;
}

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

.gap-1 {
  gap: 10px;
}

.gap-2 {
  gap: 20px;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

.w-full {
  width: 100%;
}

.w-auto {
  width: auto;
}

.list-none {
  list-style-type: none;
}

.list-disc {
  list-style-type: disc;
}

.list-decimal {
  list-style-type: decimal;
}