/* Invisible divs for topper text scroll */
.invisible {
  opacity: 0;
}

/* Fonts */
@font-face {
  font-family: 'm-icons';
  src: url('https://dataviz.moodys.com/fonts/m-icons.woff?iy5a80') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: auto;
}
@font-face {
  font-family: 'Bliss Extra Light';
  src: url('https://dataviz.moodys.com/fonts/BlissExtraLight.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: auto;
}

@font-face {
  font-family: 'Bliss Extra Light Italic';
  src: url('https://dataviz.moodys.com/fonts/BlissExtraLightItalic.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: auto;
}

@font-face {
  font-family: 'Bliss Light';
  src: url('https://dataviz.moodys.com/fonts/BlissLight.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: auto;
}

@font-face {
  font-family: 'Bliss Light Italic';
  src: url('https://dataviz.moodys.com/fonts/BlissLightItalic.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: auto;
}

@font-face {
  font-family: 'Bliss Medium';
  src: url('https://dataviz.moodys.com/fonts/BlissMedium.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: auto;
}

@font-face {
  font-family: 'Bliss Medium Italic';
  src: url('https://dataviz.moodys.com/fonts/BlissMediumItalic.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: auto;
}

@font-face {
  font-family: 'Bliss Bold';
  src: url('https://dataviz.moodys.com/fonts/BlissBold.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: auto;
}

@font-face {
  font-family: 'Bliss Bold Italic';
  src: url('https://dataviz.moodys.com/fonts/BlissBoldItalic.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: auto;
}

/* Progress bar */
#scrollProgressBar {
  position: fixed;
  top: 0;
  height: 105px;
  width: 100%;
  background-color: #f0f0f1;
}
#scrollProgressBar #scrollProgress {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #347fff;
  transition: width 50ms ease;
}

#showroom #scrollProgressBar {
  position: fixed;
  top: 0;
  height: 10px;
  width: 100%;
  background-color: #f0f0f1;
}
#showroom #scrollProgressBar #scrollProgress {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #347fff;
  transition: width 50ms ease;
}

body:has(#showroom) {
  margin: 0;
}
/* Loading screen */
#loadingScreen {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: white;
}
#loadingScreen span {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #cac9c7;
  font-family: 'Bliss Bold';
}
#loadingScreen #loadingBar {
  width: 50%;
  height: 0.25rem;
  background-color: #f0f0f1;
  position: relative;
  border-radius: 1rem;
}

#loadingScreen #loadingBar #loadingProgress {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #41b6e6;
  transition: width 500ms ease;
  border-radius: 1rem;
}

#loadedContent {
  opacity: 0;
}

/* Scrolly */

p {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.7rem;
  filter: drop-shadow(2px 4px 6px black);
}

#scrolly {
  font-size: 13px;
  font-family: 'Bliss Extra Light';
  display: grid;
  grid-template-areas: 'front back';
  width: min(100%, 2800px);
  margin: 0 auto;
}

#scrolly #background {
  position: sticky;
  position: -webkit-sticky;
  top: 100px;
  width: 100%;
  height: calc(100vh - 100px);
  z-index: 1;
  opacity: 0.9;
  grid-row: 1 / -1;
  grid-column: 1 / -1;
}

#scrolly #foreground {
  padding: 0 2rem;
  position: relative;
  z-index: 2;
  pointer-events: none;
  grid-area: front;
}

#scrolly #foreground > div {
  /* width: min(40ch - 3rem, 90% - 4rem); */
  margin: 85vh auto 0 auto;
  /* padding: 1.5rem 2rem; */
  /* border-radius: 15px;
  box-shadow: 0px 0px 10px 6px #798d942c; */
  pointer-events: all;
}

#scrolly #foreground > div:first-child,
#scrolly #foreground > div:last-child {
  opacity: 0;
  height: 1px;
  pointer-events: none;
}

#scrolly #foreground > div:first-child {
  margin-top: -58vh;
}

#scrolly #foreground > div:last-child {
  margin-top: 85vh;
}

@media screen and (max-width: 800px) {
  #scrolly {
    font-size: 14px;
  }

  #scrolly #background {
    top: 80px;
    height: calc(100vh - 80px);
  }

  #scrolly #foreground > div:first-child {
    margin-top: -50vh;
  }

  #scrollProgressBar {
    height: 90px;
  }
}

@media screen and (max-width: 800px) {
}

@media screen and (max-width: 600px) {
  #scrolly {
    font-size: 12px;
  }
}

@media screen and (max-width: 550px) {
  #scrolly {
    font-size: 11px;
  }
  #scrolly #foreground > p {
    font-size: 1rem;
    line-height: 1.3rem;
    padding: 1.5rem;
  }

  #scrolly #foreground > div:last-child {
    margin-top: 65vh;
  }
}

/* AEM */
iframe {
  margin-bottom: -12px;
}

@media only screen and (min-width: 1024px) and (max-width: 1239px) {
  .cmp-container--full-width {
    margin-left: -40px;
    margin-right: -40px;
  }
}

@media only screen and (min-width: 1239px) and (max-width: 1364px) {
  .cmp-container--full-width {
    margin-left: -64px;
    margin-right: -64px;
  }
}
