/* =================================================================== */
/* COMPONENT: Community Voices Carousel                                */
/* FILE:      community-voices-carousel.css                            */
/* =================================================================== */

/* * TABLE OF CONTENTS
 * -------------------------------------------------------------------
 * 1.1 .community-voices-wrapper (Main component container)
 * 1.2 .community-voices-header-group (Header/Title wrapper)
 * 1.3 .section-title (e.g., "COMMUNITY VOICES")
 * 1.4 Carousel Navigation (Wrapper, buttons, counter)
 * - .carousel-nav-header
 * - .carousel-navigation
 * - #voicesPrevBtn, #voicesNextBtn
 * - .carousel-arrow
 * - .carousel-counter
 * 1.5 Slides Container (Main carousel area)
 * - .testimonial-slides-container
 * - .testimonial-slide (Base, .active, .is-transitioning)
 * 1.6 Slide Content (Image, text, blockquote)
 * - .c-layered-image, .testimonial-image
 * - .c-layered-image__bg, .c-layered-image__frame, .c-layered-image__img
 * - .testimonial-slide-text
 * - .testimonial-quote
 * - .testimonial-attribution
 * 1.7 Decorative Elements
 * - .deco-shape, .circle-2
 */

/* =================================================================== */
/* 1.1 .community-voices-wrapper (Main component container)            */
/* =================================================================== */

.community-voices-wrapper {
  position: relative;
  overflow: hidvisibleden;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 264px;
  margin: 0 auto;
  background-color: #fbfbfc;
}
@media (min-width: 576px) {
  .community-voices-wrapper {
    overflow: visible;
    height: 750px;
    width: 321px;
  }
}
@media (min-width: 768px) {
  .community-voices-wrapper {
    height: 625px;
    width: 536px;
  }
}
@media (min-width: 992px) {
  .community-voices-wrapper {
    width: 825px;
  }
}
@media (min-width: 1200px) {
  .community-voices-wrapper {
    align-items: flex-start;
    width: 983px;
  }
}
/* @media (min-width: 1400px) {
  .community-voices-wrapper {
    overflow: hidden;
  }
} */
@media (min-width: 1920px) {
  .community-voices-wrapper {
    height: 1000px;
    width: 1122px;
  }
}

/* =================================================================== */
/* 1.2 .community-voices-header-group (Header/Title wrapper)           */
/* =================================================================== */

.community-voices-header-group {
  width: 100%;
}
/* @media (min-width: 576px) {
  .community-voices-header-group {
    width: 475px;
  }
} */
/* @media (min-width: 768px) {
  .community-voices-header-group {
    width: 554px;
  }
} */
@media (min-width: 1200px) {
  .community-voices-header-group {
    /* width: 100%; */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (min-width: 1920px) {
  .community-voices-header-group {
    width: 1523px;
    margin-left: 0px;
  }
}

/* =================================================================== */
/* 1.3 .section-title (i.e., "COMMUNITY VOICES")                       */
/* =================================================================== */

.community-voices-wrapper .section-title {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 5.2rem;
  font-style: normal;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--Navy-Blue-1000);
  letter-spacing: 0.00419rem;
  text-align: left;
  line-height: normal;
  width: 100%;
  margin: 0 auto 3rem auto;
}
@media screen and (min-width: 768px) {
  .community-voices-wrapper .section-title {
    font-size: 6rem;
    /* width: 328px; */
    margin-left: 0;
    text-align: left;
  }
}
@media screen and (min-width: 1200px) {
  .community-voices-wrapper .section-title {
    font-size: 6.95rem;
    margin: unset;
    margin-bottom: 3rem;
  }
  .community-voices-header-group .section-title {
    text-align: left;
  }
}
@media screen and (min-width: 1920px) {
  .community-voices-wrapper .section-title {
    font-size: 12.5rem;
  }
  .community-voices-header-group .section-title {
    margin-bottom: 6rem;
    width: 990px;
  }
}

/* =================================================================== */
/* 1.4 Carousel Navigation (Wrapper, buttons, counter)                 */
/* =================================================================== */

.community-voices-wrapper .carousel-nav-header {
  margin: unset;
  margin-top: 2rem;
  margin-bottom: 2rem;
  width: 100%;
}

.community-voices-wrapper .carousel-navigation {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0 auto;
  padding: 0;
}
@media (min-width: 1200px) {
  .community-voices-header-group .carousel-navigation {
    margin: 0;
    justify-content: flex-start;
    padding: 0;
  }
}

.community-voices-wrapper #voicesPrevBtn,
.community-voices-wrapper #voicesNextBtn {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
}

.carousel-arrow {
  fill: var(--Navy-Blue-1000);
  height: 2.5rem;
  width: 2.5rem;
}
@media (min-width: 768px) {
  .carousel-arrow {
    height: 2.9rem;
    width: 2.9rem;
  }
}
@media (min-width: 1200px) {
  .carousel-arrow {
    height: 3.35rem;
    width: 3.35rem;
  }
}
@media (min-width: 1920px) {
  .carousel-arrow {
    height: 4.55rem;
    width: 4.55rem;
  }
}

.community-voices-wrapper .carousel-counter {
  font-family: "Montserrat", sans-serif;
  font-size: 2.5rem;
  color: var(--Navy-Blue-1000);
  margin: 0 0.5rem;
  min-width: 80px;
  text-align: center;
  font-weight: 400;
}
@media (min-width: 768px) {
  .community-voices-wrapper .carousel-counter {
    font-size: 2.95rem;
  }
}
@media (min-width: 1200px) {
  .community-voices-wrapper .carousel-counter {
    font-size: 3.35rem;
  }
}
@media (min-width: 1920px) {
  .community-voices-wrapper .carousel-counter {
    font-size: 4.2rem;
  }
}

/* =================================================================== */
/* 1.5 Slides Container (Main carousel area)                           */
/* =================================================================== */

.testimonial-slides-container {
  position: relative;
  display: flex;
  width: 100%;
  height: 500px; /*  This fixed heigh helps eliminate page "jumping" which otherwise would happen 
  during the transition from one slide of a different height to another slide with yet another 
  different height; it makes all slides that height. It is further adjusted at 1920 where the 
  immage and its text are set to row rather than column */
}

@media (min-width: 1200px) {
  .testimonial-slides-container {
    height: 350px;
    /* width: 933px; */
    align-self: center;
  }
}
@media (min-width: 1920px) {
  .testimonial-slides-container {
    height: 399px; /* Fixed height here is ajdusted to the height 
    of the tallest slide so as to avoid "jumping" on the page. See note above on base style */
    margin-bottom: 5rem;
  }
}

.testimonial-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease-in-out;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: center;
  /* the flex-start is important for creating a smooth transition between the active slide (which has 
  postion:relative) and the inactive slides (which have position:absolute); without it there is a noticiable "jumping" on transitions */
}
@media (min-width: 768px) {
  .testimonial-slide {
    flex-direction: row;
    align-items: center;
  }
}

.testimonial-slide.active {
  position: absolute;
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

.testimonial-slide.is-transitioning {
  opacity: 1;
  z-index: 2;
}

/* =================================================================== */
/* 1.6 Slide Content (Image, text, blockquote)                         */
/* =================================================================== */

.c-layered-image.testimonial-image {
  margin: 0 auto 2rem auto;
  --bg-size: 180px;
  --frame-size: 170px;
  /* margin: 0 auto 3rem auto; */
}
@media (min-width: 1200px) {
  .c-layered-image.testimonial-image {
    --bg-size: 238px;
    --frame-size: 224px;
    margin: 0;
  }
}
@media (min-width: 1920px) {
  .c-layered-image.testimonial-image {
    --bg-size: 375px;
    --frame-size: 357px;
  }
}

.testimonial-slide-text {
  display: flex;
  flex-direction: column;
  width: 218px;
  margin: 0 auto;
}
@media (min-width: 576px) {
  .testimonial-slide-text {
    width: 321px;
  }
}
@media (min-width: 992px) {
  .testimonial-slide-text {
    width: 612px;
  }
}
@media (min-width: 1920px) {
  .testimonial-slide-text {
    max-width: 1099px;
    text-align: left;
    margin-left: 4rem;
  }
}

.testimonial-quote {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  text-align: left;
  color: var(--Navy-Blue-1000);
  line-height: normal;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.6px;
  mix-blend-mode: luminosity;
  margin: 0 0 1.5rem 0;
}
@media (min-width: 768px) {
  .testimonial-quote {
    font-size: 1.2rem;
  }
}
@media (min-width: 1200px) {
  .testimonial-quote {
    font-size: 1.5rem;
  }
}
@media (min-width: 1920px) {
  .testimonial-quote {
    font-size: 1.65rem;
  }
}

.testimonial-attribution {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  text-align: left;
  color: var(--Navy-Blue-1000);
  line-height: normal;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.6px;
  mix-blend-mode: luminosity;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .testimonial-attribution {
    font-size: 1.2rem;
  }
}
@media (min-width: 1200px) {
  .testimonial-attribution {
    font-size: 1.5rem;
  }
}
@media (min-width: 1920px) {
  .testimonial-attribution {
    font-size: 1.65rem;
  }
}

/* =================================================================== */
/* 1.7 Decorative Elements                                             */
/* =================================================================== */

.circle-2 {
  top: 2%;
  right: -37%;
  width: 264px;
}
