  /*

	Carousel

*/
/*

	BREAKPOINTS

*/
:root {
  --break-mobile: $break-mobile;
  --break-small: $break-small;
  --break-medium: $break-medium;
  --break-large: $break-large;
  --break-xlarge: $break-xlarge;
  --break-xxlarge: $break-xxlarge;
}

:root {
  --grid-gap: 30px;
}
/*

	CONTAINER UTILITIES

*/
:root {
  --max-width: 100%;
}
@media (min-width: 1210px) {
  :root {
    --max-width: 1210px;
  }
}

/*

	THEME VARIABLES

*/
:root {
  --primary-maroon: #8A1E41;
  --PRIMARY-Maroon: #8A1E41;
  --PRIMARY-Purple: #682571;
  --primary-purple: #682571;
  --secondary-coral: #fc4351;
  --SECONDARY-Orange: #FF9F00;
  --secondary-orange: #FF9F00;
  --secondary-yellow: #ffd400;
  --GRAYS-White: #ffffff;
  --grays-white: #ffffff;
  --grays-lightest-gray: #f5f5f5;
  --GRAYS-Light-Gray: #D9D9D9;
  --grays-light-gray: #d9d9d9;
  --grays-middle-gray: #d0d0d0;
  --GRAYS-Middle-Gray: #d0d0d0;
  --grays-text-gray: #3B3B3B;
  --GRAYS-Text-Gray: #3B3B3B;
  --grayscale-black: #000;
  --grays-black: #000;
}

:root {
  --font-size-default: 1.0625rem;
  --font-size-bigger: calc(20/16 * 1rem);
  --font-size-smaller: calc(14/16 * 1rem);
}

.small-bold-all-caps {
  color: var(--GRAYS-Text-Gray);
  font-size: calc(12 / 16 * 1rem);
  font-variation-settings: "wght" 600;
  line-height: 1.66;
  letter-spacing: calc(0.6 / 16 * 1rem);
  text-transform: uppercase;
}

/* .carousel__section */
.carousel__section {
  overflow: hidden;
  max-width: 2400px;
  margin-left: auto;
  margin-right: auto;
}

.carousel__section .carousel-inner {
  position: relative;
}

.carousel__text-and-controls {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--grid-gap) var(--grid-gap);
}
@media screen and (min-width: 1080px) {
  .carousel__text-and-controls {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    grid-gap: var(--grid-gap);
    padding-bottom: calc(var(--grid-gap) * 2);
  }
}

.carousel__section .carousel-items {
  position: relative;
  overflow-x: hidden;
}
@media screen and (min-width: 1080px) {
  .carousel__section .carousel-items {
    aspect-ratio: 8/3;
  }
}

.carousel__section .carousel-item {
  display: none;
  opacity: 0;
  transition: all 0.3s;
  position: relative;
  width: 100%;
  padding: 0 var(--grid-gap);
}
@media screen and (min-width: 1080px) {
  .carousel__section .carousel-item {
    width: 25%;
    left: 50%;
    right: unset;
    transform: translateX(-50%);
    display: block;
    position: absolute;
    padding: 0;
  }
}

.carousel__section .carousel-item.prev-active {
  display: none;
  opacity: 1;
}
@media screen and (min-width: 1080px) {
  .carousel__section .carousel-item.prev-active {
    display: block;
    width: calc(45% - 20px);
    transform: translateX(-45%);
    left: 0;
    right: unset;
  }
}

.carousel__section .carousel-item.active {
  display: block;
  opacity: 1;
}
@media screen and (min-width: 1080px) {
  .carousel__section .carousel-item.active {
    display: block;
    width: 50%;
    transform: translateX(-50%);
  }
}

.carousel__section .carousel-item.next-active {
  display: none;
  opacity: 1;
}
@media screen and (min-width: 1080px) {
  .carousel__section .carousel-item.next-active {
    display: block;
    width: calc(45% - 20px);
    transform: translateX(45%);
    left: unset;
    right: 0;
  }
}

.carousel__section .carousel-item .carousel-image {
  aspect-ratio: 12/8;
  overflow: hidden;
}

.carousel__section .carousel-item .carousel-image img {
  transition: all 0.5s;
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
  max-width: unset;
}

.carousel__section .carousel-item .carousel-caption {
  padding: 20px;
}
@media screen and (min-width: 1080px) {
  .carousel__section .carousel-item .carousel-caption {
    position: absolute;
    right: 0%;
    bottom: 0;
    left: 0%;
    padding: 10% 40px 20px;
    color: #fff;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 100%);
  }
}

/* Shared CSS for Pause, Previous and Next Buttons */
.carousel__section .controls {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.carousel__section .controls button {
  border: 2px solid var(--GRAYS-Middle-Gray);
  color: var(--GRAYS-Text-Gray, #3B3B3B);
  background: var(--GRAYS-White, #FFF);
  display: block;
  width: 70px;
  height: 70px;
  border-radius: 100%;
  padding: 0;
  position: relative;
}
.carousel__section .controls button:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-color: var(--primary-maroon);
  mask: url(/wp-content/themes/stephens-college/imgs/carousel-arrow.svg);
  mask-size: cover;
  transition: all 0.2s;
  transform: scale(0.5);
}
.carousel__section .controls button:hover, .carousel__section .controls button:focus {
  color: white;
  border: 2px solid var(--PRIMARY-Maroon, #8A1E41);
  background: var(--PRIMARY-Maroon, #8A1E41);
}
.carousel__section .controls button:hover:after, .carousel__section .controls button:focus:after {
  background-color: white;
}

.carousel__section .controls button.next:after {
  transform: scale(0.5) rotate(180deg);
}

@media screen and (max-width: 1079px) {
  .carousel__section .next__img {
    display: none;
  }
}
@media screen and (min-width: 1080px) {
  .carousel__section .next__img {
    opacity: 0;
    position: absolute;
    width: calc(45% - 20px);
    transform: translateX(45%);
    left: unset;
    right: 0;
    top: 0;
    bottom: 0;
  }
}

@media screen and (max-width: 1079px) {
  .carousel__section .previous__img {
    display: none;
  }
}
@media screen and (min-width: 1080px) {
  .carousel__section .previous__img {
    opacity: 0;
    position: absolute;
    width: calc(45% - 20px);
    transform: translateX(-45%);
    left: 0;
    right: unset;
    top: 0;
    bottom: 0;
  }
}

/*# sourceMappingURL=carousel.css.map */
