/* DOF Home Critical CSS
   Above-the-fold + layout-stability rules kept on the critical path.
   Load this first, then load dof-main.css asynchronously.
*/

:root {
  --dof-font-brand: 'Libre Franklin', sans-serif;
  --dof-font-sans: 'Inter', sans-serif;
  --dof-font-serif: Georgia, 'Times New Roman', serif;

  --dof-font-brand-extrabold: 800;
  --dof-font-brand-black: 900;

  --dof-h1-size: clamp(2.6rem, 1.8rem + 2.2vw, 4.6rem) !important;
  --dof-h2-size: clamp(2.05rem, 1.45rem + 1.5vw, 3.3rem) !important;
  --dof-h3-size: clamp(1.5rem, 1.1rem + 0.9vw, 2.05rem) !important;

  --dof-summary-title-size: 18px;
  --dof-summary-title-line: 1.3;
  --dof-thumbnail-title-size: 18px;
  --dof-thumbnail-title-line: 1.3;

  --dof-header-right-pad: 60px;
  --dof-home-slider-radius: 10px;
  --dof-desc-size-desktop: 1.18rem;
  --dof-desc-size-mobile: 1.04rem;
  --dof-desc-line-height: 1.58;
  --dof-desc-color: #555555;
}

body:not(.header--menu-open) .header-nav-item--active > a:not(.header-nav-folder-title) {
  background-size: 1px 2px !important;
}

h1,
h2 {
  font-family: var(--dof-font-brand) !important;
  font-weight: var(--dof-font-brand-black) !important;
  font-style: normal !important;
}

h3,
h4 {
  font-family: var(--dof-font-brand) !important;
  font-weight: var(--dof-font-brand-extrabold) !important;
  font-style: normal !important;
}

h1 { font-size: var(--dof-h1-size) !important; line-height: 1.1 !important; }
h2 { font-size: var(--dof-h2-size) !important; line-height: 1.15 !important; }
h3 { font-size: var(--dof-h3-size) !important; line-height: 1.2 !important; }

p.sqsrte-large {
  font-family: var(--dof-font-sans) !important;
  font-weight: 400 !important;
}

p {
  font-family: var(--dof-font-serif);
  font-weight: 400 !important;
}

p.sqsrte-small {
  font-family: var(--dof-font-serif) !important;
  font-weight: 400 !important;
}

.header-nav-item a,
.header-nav-folder-item a,
.header-menu-nav-item a,
.header-menu-nav-folder-content a,
a#site-title,
.sqs-button-element--primary,
.sqs-button-element--secondary,
.sqs-button-element--tertiary {
  font-family: var(--dof-font-brand) !important;
  font-weight: var(--dof-font-brand-black) !important;
  font-style: normal !important;
}

.sqs-block-summary-v2 .summary-title,
.sqs-block-summary-v2 .summary-title a,
.sqs-block-summary-v2 .summary-title-link,
.sqs-block-summary-v2 .summary-heading {
  font-family: var(--dof-font-brand, 'Libre Franklin', sans-serif) !important;
  font-size: var(--dof-summary-title-size) !important;
  line-height: var(--dof-summary-title-line) !important;
  font-weight: 800 !important;
  letter-spacing: -0.012em !important;
  text-transform: none !important;
}

.sqs-block-summary-v2 .summary-excerpt,
.sqs-block-summary-v2 .summary-excerpt p {
  font-size: var(--dof-desc-size-desktop) !important;
  line-height: var(--dof-desc-line-height) !important;
  color: var(--dof-desc-color) !important;
}

@media only screen and (max-width: 767px) {
  h1 {
    font-size: 28px !important;
    line-height: 1.2 !important;
  }

  h2 {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }

  h3 {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  h4 {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  p.sqsrte-large {
    font-size: 18px !important;
  }

  p {
    font-size: 15px !important;
  }

  p.sqsrte-small {
    font-size: 13px !important;
  }

  .sqs-block-summary-v2 .summary-excerpt,
  .sqs-block-summary-v2 .summary-excerpt p {
    font-size: var(--dof-desc-size-mobile) !important;
  }
}

@media only screen and (min-width: 768px) {
  header#header .header-inner {
    box-sizing: border-box !important;
    padding-right: var(--dof-header-right-pad, 60px) !important;
  }
}

@media only screen and (max-width: 767px) {
  header#header .header-inner {
    box-sizing: border-box !important;
    padding-right: 0 !important;
  }
}

.user-items-list-section {
  overflow: hidden !important;
}

.user-items-list-section .desktop-arrows,
.user-items-list-section .mobile-arrows,
.user-items-list-section .list-item-content__button-container {
  display: none !important;
}

#dof-nav-wrapper {
  position: relative !important;
  width: 100% !important;
  height: 44px !important;
  background: #fff !important;
  z-index: 100 !important;
  display: block !important;
  overflow: visible !important;
}

#dof-nav-wrapper .dof-nav-centering {
  max-width: 1300px !important;
  margin: 0 auto !important;
  padding: 0 var(--sqs-site-gutter, 4vw) !important;
  box-sizing: content-box !important;
  height: 100% !important;
  position: relative !important;
}

#dof-nav-wrapper .dof-slideshow-nav {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  height: 100% !important;
  padding-right: 60px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.dof-slideshow-nav__dots,
.dof-slideshow-nav__arrows {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.dof-slideshow-nav__dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: rgba(14, 1, 80, 0.25) !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: background 0.3s ease !important;
  flex-shrink: 0 !important;
}

.dof-slideshow-nav__dot--active,
.dof-slideshow-nav__dot--active:hover {
  background: #0e0150 !important;
}

.dof-slideshow-nav__arrow {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(14, 1, 80, 0.35) !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  padding: 0 !important;
  color: #0e0150 !important;
  flex-shrink: 0 !important;
}

.dof-slideshow-nav__arrow svg {
  width: 14px !important;
  height: 14px !important;
  stroke: rgba(14, 1, 80, 0.6) !important;
  stroke-width: 2.5 !important;
  fill: none !important;
}

.user-items-list-section .list-item {
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: var(--dof-home-slider-radius) !important;
}

.user-items-list-section .slide-media-container {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}

.user-items-list-section .slide-media-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.user-items-list-section .slide-content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  background: #000 !important;
  padding: 18px 28px 20px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.user-items-list-section .list-item-content__title {
  color: #fff !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  height: auto !important;
  min-height: 0 !important;
  padding-bottom: 0.08em !important;
  line-height: 1.18 !important;
}

.user-items-list-banner-slideshow .list-item-content__title {
  font-size: clamp(1.9rem, 1.35rem + 1.15vw, 2.45rem) !important;
  line-height: 1.14 !important;
  text-transform: none !important;
  letter-spacing: -0.015em !important;
}

.user-items-list-banner-slideshow .list-item-content__description,
.user-items-list-banner-slideshow .list-item-content__description p {
  font-family: var(--dof-font-sans, 'Inter', sans-serif) !important;
  font-weight: 400 !important;
  font-size: clamp(1.15rem, 0.95rem + 0.5vw, 1.45rem) !important;
  line-height: 1.36 !important;
  letter-spacing: -0.008em !important;
  text-transform: none !important;
  color: rgba(255, 255, 255, 0.9) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  height: auto !important;
  min-height: 0 !important;
  padding-bottom: 0.1em !important;
}

.user-items-list-banner-slideshow .list-item-content__description p {
  margin: 0 !important;
}

.user-items-list-section .user-items-list-banner-slideshow,
.user-items-list-section .user-items-list-banner-slideshow__gutter,
.user-items-list-section .user-items-list-banner-slideshow__viewport,
.user-items-list-section .user-items-list-banner-slideshow__carousel-holder,
.user-items-list-section .user-items-list-banner-slideshow .slides,
.user-items-list-section .user-items-list-banner-slideshow .slide-list,
.user-items-list-section .user-items-list-banner-slideshow__list,
.user-items-list-section [class*="banner-slideshow"] [class*="viewport"],
.user-items-list-section [class*="banner-slideshow"] [class*="gutter"],
.user-items-list-section [class*="banner-slideshow"] [class*="carousel"],
.user-items-list-section [class*="banner-slideshow"] [class*="track"],
.user-items-list-section [class*="banner-slideshow"] [class*="list"],
.user-items-list-section [class*="banner-slideshow"] ul.slides {
  border-radius: var(--dof-home-slider-radius) !important;
  overflow: hidden !important;
  clip-path: inset(0 round var(--dof-home-slider-radius)) !important;
  transform: translateZ(0);
  contain: paint;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

.user-items-list-section .user-items-list-banner-slideshow .list-item,
.user-items-list-section .user-items-list-banner-slideshow .slide-media-container,
.user-items-list-section .user-items-list-banner-slideshow .slide-media-container img {
  border-radius: var(--dof-home-slider-radius) !important;
}

body.collection-type-index .sqs-block-summary-v2 .summary-block-outer-container,
body.collection-type-index .summary-v2-block-list .summary-block-outer-container {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

body.collection-type-index .sqs-block-summary-v2 .summary-thumbnail-outer-container,
body.collection-type-index .sqs-block-summary-v2 .summary-thumbnail-container,
body.collection-type-index .sqs-block-summary-v2 .summary-thumbnail,
body.collection-type-index .summary-v2-block-list .summary-thumbnail-outer-container,
body.collection-type-index .summary-v2-block-list .summary-thumbnail-container,
body.collection-type-index .summary-v2-block-list .summary-thumbnail {
  display: block !important;
  width: 100% !important;
}

body.collection-type-index .sqs-block-summary-v2 .summary-thumbnail-container,
body.collection-type-index .sqs-block-summary-v2 .summary-thumbnail,
body.collection-type-index .summary-v2-block-list .summary-thumbnail-container,
body.collection-type-index .summary-v2-block-list .summary-thumbnail {
  position: relative !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #ececec !important;
}

body.collection-type-index .sqs-block-summary-v2 .summary-thumbnail-image,
body.collection-type-index .summary-v2-block-list .summary-thumbnail-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.collection-type-index .sqs-block-summary-v2 .summary-content,
body.collection-type-index .summary-v2-block-list .summary-content {
  min-width: 0 !important;
  contain: layout style !important;
}

body.collection-type-index .sqs-block-summary-v2 .summary-metadata-container--below-title,
body.collection-type-index .sqs-block-summary-v2 .summary-metadata-container--below-content,
body.collection-type-index .summary-v2-block-list .summary-metadata-container--below-title,
body.collection-type-index .summary-v2-block-list .summary-metadata-container--below-content {
  display: none !important;
}

body.collection-type-index .sqs-block-summary-v2 .summary-metadata-container--above-title,
body.collection-type-index .summary-v2-block-list .summary-metadata-container--above-title {
  display: flex !important;
  align-items: center !important;
  min-height: 38px !important;
  margin-bottom: 10px !important;
}

body.collection-type-index .sqs-block-summary-v2 .summary-metadata-container--above-title .summary-metadata,
body.collection-type-index .summary-v2-block-list .summary-metadata-container--above-title .summary-metadata {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

[data-section-id="698ccc7de67f8d36306c6032"] .dof-date-tag {
  font-family: var(--dof-font-brand, 'Libre Franklin', sans-serif) !important;
  color: #5200eb !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  margin-top: 6px !important;
  display: block !important;
}

[data-section-id="698ccc7de67f8d36306c6032"] .summary-metadata-item--date {
  font-family: var(--dof-font-brand, 'Libre Franklin', sans-serif) !important;
  color: #5200eb !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  opacity: 1 !important;
}

@media only screen and (max-width: 767px) {
  .user-items-list-banner-slideshow .slides {
    min-height: 45vh !important;
  }

  .user-items-list-banner-slideshow .slideshow-holder,
  .user-items-list-banner-slideshow .slideshow-gutter,
  .user-items-list-banner-slideshow .list-item,
  .user-items-list-banner-slideshow .slide-media-container {
    max-height: 45vh !important;
  }

  .user-items-list-banner-slideshow .slide-media-container img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
  }

  .user-items-list-banner-slideshow .slide-content.list-item-card-background {
    position: absolute !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 20px 14px !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
    clip-path: none !important;
    -webkit-mask-image: none !important;
    overflow: visible !important;
  }

  .user-items-list-section .user-items-list-banner-slideshow,
  .user-items-list-section .user-items-list-banner-slideshow .slides,
  .user-items-list-section .user-items-list-banner-slideshow .list-item,
  .user-items-list-section .user-items-list-banner-slideshow .slideshow-holder,
  .user-items-list-section .user-items-list-banner-slideshow .slideshow-gutter,
  .user-items-list-section .user-items-list-banner-slideshow .slide-media-container,
  .user-items-list-section [class*="banner-slideshow"] [class*="viewport"],
  .user-items-list-section [class*="banner-slideshow"] [class*="gutter"],
  .user-items-list-section [class*="banner-slideshow"] [class*="carousel"],
  .user-items-list-section [class*="banner-slideshow"] [class*="track"],
  .user-items-list-section [class*="banner-slideshow"] [class*="list"],
  .user-items-list-section [class*="banner-slideshow"] ul.slides {
    clip-path: none !important;
    -webkit-mask-image: none !important;
  }

  .user-items-list-banner-slideshow .list-item-content__title {
    border-radius: 0 !important;
    clip-path: none !important;
    -webkit-mask-image: none !important;
    overflow: visible !important;
    height: auto !important;
    font-size: 19px !important;
    line-height: 1.18 !important;
  }

  .user-items-list-banner-slideshow .list-item-content__description,
  .user-items-list-banner-slideshow .list-item-content__description p {
    white-space: normal !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    line-height: 1.35 !important;
  }

  #dof-nav-wrapper {
    padding: 8px 0 !important;
  }

  #dof-nav-wrapper .dof-slideshow-nav {
    gap: 8px !important;
  }

  #dof-nav-wrapper .dof-slideshow-nav__arrow {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }

  #dof-nav-wrapper .dof-slideshow-nav__arrow svg {
    width: 12px !important;
    height: 12px !important;
  }

  .user-items-list-section .content-wrapper {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
