@charset "utf-8";

/* =========================================================
   File: diamondavenue-carousel.css

   DiamondAvenue HTML-Only Carousel
   Namespace: daU

   BEHAVIOR:
   - Shows all cards when they fit
   - Scrolls horizontally when cards do not fit
   - Touch/swipe compatible with phones and tablets
   - First card aligns with left edge
   - Core carousel requires no JavaScript
========================================================= */


/* =========================================================
   OUTER CAROUSEL WRAPPER
========================================================= */

.da-carousel-wrap {
  width: 100%;

  max-width: min(1290px, calc(100vw - 32px));

  min-width: 0;

  margin: 0 auto;

  padding: 10px 16px 22px;

  box-sizing: border-box;

  overflow: visible;
}


/* =========================================================
   CAROUSEL CONTAINER
========================================================= */

.daU {
  position: relative;

  display: block;

  width: 100%;

  max-width: 100%;

  min-width: 0;

  margin: 0;

  padding: 0;

  box-sizing: border-box;

  overflow: visible;
}


/* =========================================================
   SCROLLING VIEWPORT

   This element performs the horizontal scrolling.
========================================================= */

.daU-viewport {
  display: block;

  position: relative;

  width: 100%;

  max-width: 100%;

  min-width: 0;

  margin: 0;

  padding: 10px 0 18px;

  box-sizing: border-box;

  overflow-x: auto;

  overflow-y: hidden;

  -webkit-overflow-scrolling: touch;

  scroll-behavior: smooth;

  scroll-snap-type: x proximity;

  overscroll-behavior-x: contain;

  touch-action: pan-x pan-y;

  scrollbar-width: auto;

  scrollbar-color: #888888 #e6e6e6;
}


/* =========================================================
   HORIZONTAL CARD TRACK

   width:max-content is important.

   It prevents the cards from being squeezed into the
   available viewport and guarantees horizontal overflow
   whenever the cards require more room.
========================================================= */

.daU-track {
  display: flex;

  flex-direction: row;

  flex-wrap: nowrap;

  justify-content: flex-start;

  align-items: stretch;

  width: max-content;

  min-width: 100%;

  gap: 18px;

  margin: 0;

  padding: 0;

  box-sizing: border-box;
}


/* =========================================================
   SCROLLBAR
   Chrome / Edge / Safari
========================================================= */

.daU-viewport::-webkit-scrollbar {
  height: 12px;
}

.daU-viewport::-webkit-scrollbar-track {
  background: #e6e6e6;

  border-radius: 6px;
}

.daU-viewport::-webkit-scrollbar-thumb {
  background: #888888;

  border: 2px solid #e6e6e6;

  border-radius: 6px;
}

.daU-viewport::-webkit-scrollbar-thumb:hover {
  background: #555555;
}


/* =========================================================
   KEYBOARD FOCUS
========================================================= */

.daU-viewport:focus {
  outline: 2px solid #8b6914;

  outline-offset: 3px;
}


/* =========================================================
   CAROUSEL CARD
========================================================= */

.daU-card {
  flex: 0 0 360px;

  width: 360px;

  min-width: 360px;

  max-width: 360px;

  display: flex;

  flex-direction: column;

  align-items: stretch;

  justify-content: flex-start;

  margin: 0;

  padding: 12px;

  background: #ffffff;

  border: 1px solid #d4d4d4;

  border-radius: 8px;

  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);

  text-align: center;

  box-sizing: border-box;

  scroll-snap-align: start;
}


/* =========================================================
   IMAGE LINK
========================================================= */

.daU-image-link {
  display: block;

  width: 100%;

  margin: 0;

  padding: 0;

  text-align: center;
}


/* =========================================================
   CARD IMAGE
========================================================= */

.daU-card img {
  display: block;

  width: 100%;

  max-width: 100%;

  height: auto;

  margin: 0 auto;

  border: 0;

  object-fit: contain;

  -webkit-user-drag: none;

  user-select: none;
}


/* =========================================================
   CARD CONTENT
========================================================= */

.daU-content {
  display: flex;

  flex-direction: column;

  flex: 1 1 auto;

  width: 100%;

  padding: 14px 8px 6px;

  box-sizing: border-box;
}


/* =========================================================
   LEAD TEXT
========================================================= */

.daU-lead {
  margin: 0 0 10px;

  padding: 0;

  font-size: 17px;

  font-weight: 700;

  line-height: 1.4;

  color: #333333;

  text-align: center;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.daU-description {
  margin: 0;

  padding: 0;

  font-size: 15px;

  line-height: 1.5;

  color: #333333;

  text-align: center;
}


/* =========================================================
   LINKS
========================================================= */

.daU-content a,
.daU-content a:link,
.daU-content a:visited {
  color: #005bbb;

  font-weight: 700;

  text-decoration: none;
}

.daU-content a:hover,
.daU-content a:focus {
  color: #b8860b;

  text-decoration: underline;
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 768px) {

  .da-carousel-wrap {
    max-width: calc(100vw - 24px);

    padding-left: 12px;

    padding-right: 12px;
  }


  .daU-track {
    gap: 14px;
  }


  .daU-card {
    flex: 0 0 280px;

    width: 280px;

    min-width: 280px;

    max-width: 280px;
  }


  .daU-lead {
    font-size: 16px;
  }

}


/* =========================================================
   PHONE
========================================================= */

@media screen and (max-width: 480px) {

  .da-carousel-wrap {
    max-width: calc(100vw - 16px);

    padding-left: 8px;

    padding-right: 8px;
  }


  .daU-viewport {
    width: 100%;

    max-width: 100%;

    overflow-x: auto;

    overflow-y: hidden;

    -webkit-overflow-scrolling: touch;
  }


  .daU-track {
    gap: 12px;
  }


  .daU-card {
    flex: 0 0 240px;

    width: 240px;

    min-width: 240px;

    max-width: 240px;
  }


  .daU-lead {
    font-size: 15px;
  }


  .daU-description {
    font-size: 14px;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .daU-viewport {
    scroll-behavior: auto;
  }

}