/* ==============================================================================
   Glossier About Page Stylesheet (glossier_about.css)
   1:1 Pixel-Perfect Match with https://www.glossier.com/pages/about
   ============================================================================== */

/* Base Page Wrapper */
.gl-about-page {
  font-family: Apercu, "Gill Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #ffffff;
  width: 100%;
  margin-top: calc(var(--gl-promo-height, 32px) + var(--gl-header-height, 40px));
  box-sizing: border-box;
  overflow-x: hidden;
}

@media screen and (max-width: 767px) {
  .gl-about-page {
    margin-top: calc(var(--gl-promo-height, 24px) + var(--gl-header-height, 40px));
  }
}

/* Suppress Bootstrap 3 container constraints and pseudo-elements */
.gl-about-page .container {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.gl-about-page .container::before,
.gl-about-page .container::after,
.gl-about-page .row::before,
.gl-about-page .row::after {
  display: none !important;
  content: none !important;
}

.gl-about-page picture {
  display: block;
  width: 100%;
  height: 100%;
}

/* ==============================================================================
   1. Hero Section (Welcome to Glossier / You Look Good)
   ============================================================================== */
.gl-about-page .mlp-hero__section-wrapper {
  width: 100%;
  background-color: #ffffff;
}

.gl-about-page .mlp__hero-section {
  width: 100%;
  position: relative;
}

.gl-about-page .mlp__hero {
  position: relative;
  width: 100%;
}

.gl-about-page .mlp__hero-content-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.gl-about-page .mlp__hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 88px 0;
  text-align: center;
  box-sizing: border-box;
}

.gl-about-page .mlp__hero-content-text-wrapper {
  position: relative;
}

.gl-about-page .mlp__hero-content-subheader {
  font-family: Apercu, "Gill Sans", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 20.4px;
  color: #000000;
  letter-spacing: 0.04px;
  margin: 0 0 4px 0;
  text-align: center;
  text-transform: none;
}

.gl-about-page .mlp__hero-content-header p {
  font-family: Apercu, "Gill Sans", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 41.6px;
  color: #000000;
  margin: 0;
  text-align: center;
  letter-spacing: -0.01px;
}

@media screen and (max-width: 1024px) {
  .gl-about-page .mlp__hero-content {
    padding: 88px 0;
  }

  .gl-about-page .mlp__hero-content-header p {
    font-size: 28px;
    line-height: 35px;
  }
}

/* ==============================================================================
   2. Image with Highlight Section (Top Module: Left Photo, Right Content)
   ============================================================================== */
.gl-about-page .image-with-highlight__section {
  display: flex;
  flex-direction: row;
  width: 100%;
  background-color: #ffffff;
  overflow: hidden;
  box-sizing: border-box;
}

/* DESKTOP (>= 1025px): 2 columns. Media is on LEFT (order: -1), Block on RIGHT (order: 0) */
@media screen and (min-width: 1025px) {
  .gl-about-page .image-with-highlight__section {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
  }

  /* Left column: Full-bleed half-width image of faces */
  .gl-about-page .image-with-highlight__media--position-left {
    order: -1 !important;
    width: 50% !important;
    flex: 0 0 50% !important;
    position: relative !important;
    overflow: hidden !important;
  }

  .gl-about-page .image-with-highlight__image--desktop {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .gl-about-page .image-with-highlight__image--desktop img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .gl-about-page .image-with-highlight__image--mobile {
    display: none !important;
  }

  /* Right column: Cloud Paint photo + description text */
  .gl-about-page .image-with-highlight__block {
    order: 0 !important;
    flex: 0 0 50% !important;
    width: 50% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 80px 16px !important;
    box-sizing: border-box !important;
    background-color: #ffffff !important;
  }

  .gl-about-page .image-with-highlight__highlight-image-wrapper {
    width: 340px !important;
    max-width: 340px !important;
    margin: 0 auto !important;
  }

  .gl-about-page .image-with-highlight__highlight-image img {
    width: 340px !important;
    height: 424px !important;
    display: block !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  .gl-about-page .image-with-highlight__highlight-text {
    width: 340px !important;
    max-width: 340px !important;
    margin: 24px auto 0 !important;
    padding-top: 24px !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  .gl-about-page .image-with-highlight__highlight-description p {
    font-family: Apercu, "Gill Sans", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 19.6px !important;
    color: #000000 !important;
    margin: 0 !important;
    text-align: center !important;
  }
}

/* MOBILE (<= 1024px): Stack vertically. Block on top (order 1), Media on bottom (order 2) */
@media screen and (max-width: 1024px) {
  .gl-about-page .image-with-highlight__section {
    flex-direction: column !important;
    height: auto !important;
    max-height: none !important;
  }

  .gl-about-page .image-with-highlight__block {
    order: 1 !important;
    flex: none !important;
    width: 100% !important;
    height: 576px !important;
    padding: 0 16px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .gl-about-page .image-with-highlight__highlight-image-wrapper {
    width: 230px !important;
    max-width: 230px !important;
    margin: 0 auto !important;
  }

  .gl-about-page .image-with-highlight__highlight-image img {
    width: 230px !important;
    height: 287px !important;
    object-fit: contain !important;
  }

  .gl-about-page .image-with-highlight__highlight-text {
    width: 230px !important;
    max-width: 230px !important;
    margin: 20px auto 0 !important;
    text-align: center !important;
  }

  .gl-about-page .image-with-highlight__highlight-description p {
    font-family: Apercu, "Gill Sans", sans-serif;
    font-size: 14px;
    line-height: 19.6px;
    color: #000000;
    margin: 0;
    text-align: center;
  }

  .gl-about-page .image-with-highlight__media {
    order: 2 !important;
    flex: none !important;
    width: 100% !important;
    height: auto !important;
  }

  .gl-about-page .image-with-highlight__image--desktop {
    display: none !important;
  }

  .gl-about-page .image-with-highlight__image--mobile {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  .gl-about-page .image-with-highlight__image--mobile img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
    aspect-ratio: 390 / 482 !important;
  }
}

/* ==============================================================================
   3 & 5. Rich Text Sections (Centered Grand Editorial Statements)
   ============================================================================== */
.gl-about-page .rich-text.container {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

@media only screen and (min-width: 768px) {
  .gl-about-page .rich-text.container {
    height: auto !important;
    min-height: 540px !important;
    padding: 120px 16px !important;
  }
}

@media only screen and (max-width: 767px) {
  .gl-about-page .rich-text.container {
    height: 800px !important;
    padding: 12px 16px !important;
  }
}

.gl-about-page .rich-text__inner {
  max-width: 934px !important; /* 58.375rem */
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.gl-about-page .rich-text_copy.rich-text__h1 {
  font-family: Apercu, "Gill Sans", sans-serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 41.6px !important; /* 1.3 */
  color: #000000 !important;
  text-align: center !important;
  letter-spacing: -0.01px !important;
  margin: 0 !important;
}

.gl-about-page .rich-text_copy a {
  color: #000000 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  transition: opacity 0.2s ease !important;
}

.gl-about-page .rich-text_copy a:hover {
  opacity: 0.7 !important;
}

.gl-about-page .rich-text_copy em {
  font-style: italic !important;
}

@media only screen and (max-width: 767px) {
  .gl-about-page .rich-text_copy.rich-text__h1 {
    font-size: 28px !important;
    line-height: 35px !important;
  }
}

/* ==============================================================================
   4. Featured Image One Image Section (Middle Module: Panoramic Community)
   ============================================================================== */
.gl-about-page .featured-image-one-image {
  width: 100% !important;
}

.gl-about-page .featured-image__one-image--padded {
  padding: 0 16px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 1024px) {
  .gl-about-page .featured-image__one-image--padded {
    padding: 0 12px !important;
  }
}

.gl-about-page .featured-image__one-image .ir--featured-image-one-image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
}

.gl-about-page .featured-image__one-image .hide-mobile img {
  aspect-ratio: 4224 / 2817 !important;
}

.gl-about-page .featured-image__one-image .hide-desktop img {
  aspect-ratio: 1053 / 1335 !important;
}

@media screen and (min-width: 1025px) {
  .gl-about-page .hide-desktop {
    display: none !important;
  }
  .gl-about-page .hide-mobile {
    display: block !important;
  }
}

@media screen and (max-width: 1024px) {
  .gl-about-page .hide-desktop {
    display: block !important;
  }
  .gl-about-page .hide-mobile {
    display: none !important;
  }
}

/* ==============================================================================
   6. Media with Text Section (Explore Glossier: Left Photo, Right Text)
   ============================================================================== */
.gl-about-page .media-with-text__section-wrapper {
  width: 100% !important;
}

.gl-about-page .media-text.container {
  width: 100% !important;
  max-width: none !important;
  padding: 0 16px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.gl-about-page .media-text__acc {
  width: 100% !important;
  margin-bottom: 40px !important;
}

.gl-about-page .media-text__media {
  position: relative !important;
  box-sizing: border-box !important;
}

.gl-about-page .media-text__image {
  width: 100% !important;
}

.gl-about-page .media-text__image img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
  aspect-ratio: 1380 / 1726 !important;
}

@-webkit-keyframes marching-ants-full-1 {
  0% {
    background-position: 0 0, 0 100%, 0 0, 100% 0;
  }
  100% {
    background-position: 10px 0, -10px 100%, 0 -10px, 100% 10px;
  }
}

@keyframes marching-ants-full-1 {
  0% {
    background-position: 0 0, 0 100%, 0 0, 100% 0;
  }
  100% {
    background-position: 10px 0, -10px 100%, 0 -10px, 100% 10px;
  }
}

.gl-about-page .media-text__ctas .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 40px !important;
  padding: 8px 16px !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  font-family: Apercu, "Gill Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 16.1px !important;
  letter-spacing: 0.026px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: none, linear-gradient(to right, #000000 50%, #000000 50%), none, linear-gradient(to bottom, #000000 50%, #000000 50%);
  background-size: 0px 0px, 100% 1px, 0px 0px, 1px 100%;
  background-position: 0px 0px, 0px 100%, 0px 0px, 100% 0px;
  background-repeat: no-repeat;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.gl-about-page .media-text__ctas .btn:focus,
.gl-about-page .media-text__ctas .btn:active {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
  color: #000000 !important;
  background-color: #ffffff !important;
}

.gl-about-page .media-text__ctas .btn:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  text-decoration: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background-size: 5px 1px, 5px 1px, 1px 5px, 1px 5px;
  background-position: 0 0, 0 100%, 0 0, 100% 0;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  background-image: 
    linear-gradient(to right, #000000 50%, transparent 50%), 
    linear-gradient(to right, #000000 50%, transparent 50%), 
    linear-gradient(to bottom, #000000 50%, transparent 50%), 
    linear-gradient(to bottom, #000000 50%, transparent 50%);
  -webkit-animation: 1.5s linear infinite marching-ants-full-1;
  animation: 1.5s linear infinite marching-ants-full-1;
}

/* DESKTOP (>= 1025px): row-reverse places media (2nd child) on LEFT, content (1st child) on RIGHT */
@media only screen and (min-width: 1025px) {
  .gl-about-page .media-text__wrapper {
    display: flex !important;
    flex-direction: row-reverse !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    gap: 16px !important;
    box-sizing: border-box !important;
  }

  /* Left photo (33.333% of full width) */
  .gl-about-page .media-text__media {
    flex: 0 0 calc(33.333% - 11px) !important;
    width: calc(33.333% - 11px) !important;
    max-width: none !important;
  }

  /* Right content (66.666% of full width) */
  .gl-about-page .media-text__content {
    flex: 1 1 calc(66.666% - 5px) !important;
    width: calc(66.666% - 5px) !important;
    max-width: none !important;
    padding-right: 75px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .gl-about-page .media-text__heading {
    font-family: Apercu, "Gill Sans", sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 41.6px !important;
    color: #000000 !important;
    margin: 0 0 16px 0 !important;
    text-align: left !important;
  }

  .gl-about-page .media-text__description {
    margin: 0 0 24px 0 !important;
  }

  .gl-about-page .media-text__description p {
    max-width: 458px !important;
    font-family: Apercu, "Gill Sans", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 19.6px !important;
    color: #000000 !important;
    margin: 0 !important;
    text-align: left !important;
  }
}

@media screen and (max-width: 1024px) {
  .gl-about-page .media-text.container {
    padding: 0 12px !important;
  }

  .gl-about-page .media-text__wrapper {
    display: flex !important;
    flex-direction: column-reverse !important;
    gap: 40px !important;
    width: 100% !important;
  }

  .gl-about-page .media-text__media {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
  }

  .gl-about-page .media-text__content {
    width: 100% !important;
    padding-right: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .gl-about-page .media-text__heading {
    font-size: 28px !important;
    line-height: 35px !important;
    margin-bottom: 24px !important;
  }

  .gl-about-page .media-text__description p {
    max-width: 100% !important;
    margin-bottom: 24px !important;
  }

  .gl-about-page .media-text__ctas .btn {
    height: 44px !important;
    padding: 6px 12px 8px 12px !important;
    font-size: 14px !important;
  }
}

/* ==============================================================================
   7. Section Spacer
   ============================================================================== */
.gl-about-page .section-spacer {
  width: 100% !important;
}

.gl-about-page .section__spacer {
  height: 80px !important;
}

@media screen and (max-width: 1024px) {
  .gl-about-page .section__spacer {
    height: 60px !important;
  }
}
