@media (min-width: 768px) {
  .componentcarousel:has([class*="--background-gray"]) {
    background-color: #f6f6f6;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    padding: 0;
  }
  .componentcarousel:has([class*="--background-gray"]) .cmp-carousel__intro {
    padding-top: 0;
    padding-bottom: 60px;
  }
  .componentcarousel:has([class*="--background-gray"]) [class*="--background-gray"] {
    padding: 0;
  }
  .componentcarousel:has([class*="--background-gray"]) .cmp-carousel {
    padding: 60px 0;
  }
  .componentcarousel:has([class*="--background-gray"]) + .componentcarousel:has([class*="--background-gray"]) .cmp-carousel {
    border-top: solid 1px #ededed !important;
    margin-top: -1px !important;
  }
  .cmp-carousel {
    position: relative;
    width: 100%;
    max-width: 1009px;
    margin: 0 auto;
    padding: 0 0 60px 0;
    overflow: hidden;
  }
  .cmp-carousel .cmp-carousel__intro {
    padding-top: 60px;
  }
  .cmp-carousel .cmp-carousel__intro:has([class*='--single']) {
    padding-right: 15%;
    padding-left: 15%;
  }
  .cmp-carousel .cmp-carousel__intro:has([class*='--double']) .cmp-carousel__text {
    column-count: 2;
  }
  .cmp-carousel .cmp-carousel__title {
    font-size: 20px;
    line-height: 26px;
    font-weight: normal;
    margin: 0 0 25px 0;
  }
  .cmp-carousel .cmp-carousel__text p {
    font-size: 16px;
    line-height: 24px;
  }
  .cmp-carousel .active-arrow {
    background: #004494;
  }
  .cmp-carousel .active-arrow:before {
    border-color: white;
  }
  .cmp-carousel .cmp-carousel__slides,
  .cmp-carousel .cmp-carousel__slides > * {
    width: 100.05%;
  }
  .cmp-carousel .cmp-carousel__slides {
    display: flex;
    column-gap: 0;
    overflow: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    /* for Firefox and latest Chromium */
    position: relative;
    z-index: 1;
  }
  .cmp-carousel .cmp-carousel__slides.smooth-scroll {
    scroll-behavior: smooth;
  }
  .cmp-carousel .carousel__slides::-webkit-scrollbar {
    display: none;
    /* for Safari and legacy Chromium */
  }
  .cmp-carousel .cmp-carousel__slides > * {
    flex: 0 0 auto;
    scroll-snap-align: center;
    padding-bottom: 0 !important;
    overflow: hidden;
  }
  .cmp-carousel .cmp-carousel__nav {
    display: none;
  }
  .cmp-carousel:has(.cmp-carousel__slides > * + *) .cmp-carousel__nav {
    display: flex;
    gap: 20px;
    margin-top: 60px;
    max-width: 40%;
  }
  .cmp-carousel .cmp-carousel__previous,
  .cmp-carousel .cmp-carousel__next {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border: solid 1px #004494;
    border-radius: 100%;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .cmp-carousel .cmp-carousel__previous:hover,
  .cmp-carousel .cmp-carousel__next:hover {
    background: #004494;
  }
  .cmp-carousel .cmp-carousel__previous:hover:before,
  .cmp-carousel .cmp-carousel__next:hover:before {
    border-color: white;
  }
  .cmp-carousel .cmp-carousel__previous:before {
    content: '';
    display: block;
    border: solid #004494;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 4px;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    padding: 3px;
    margin: 0 0 0 3px;
  }
  .cmp-carousel .cmp-carousel__next:before {
    content: '';
    display: block;
    border: solid #004494;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 4px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    padding: 3px;
    margin: 0 3px 0 0;
  }
  .cmp-carousel .cmp-carousel__pagination {
    flex-wrap: wrap;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .cmp-carousel .cmp-carousel__pagination-dot {
    width: 10px;
    height: 10px;
    border-radius: 10px;
    border: solid 1px #004494;
    cursor: pointer;
  }
  .cmp-carousel .cmp-carousel__pagination-dot--active {
    background-color: #004494;
  }
  .cmp-carousel.has-next-slide .cmp-carousel__next {
    background: #004494;
  }
  .cmp-carousel.has-next-slide .cmp-carousel__next:before {
    border-color: white;
  }
  .cmp-carousel.has-prev-slide .cmp-carousel__previous {
    background: #004494;
  }
  .cmp-carousel.has-prev-slide .cmp-carousel__previous:before {
    border-color: white;
  }
  .cmp-carousel .feature.feature--wrap-text.feature--image-right .feature__image {
    margin-bottom: 0;
  }
  .cmp-carousel:has(.cmp-carousel__slides > :first-child [data-modify-showmore-behavior="true"]) .cmp-carousel__nav {
    position: relative;
    z-index: 2;
  }
  .cmp-carousel:has(.cmp-carousel__slides > :first-child [data-modify-showmore-behavior="true"]):has(.cmp-carousel__slides > :first-child [data-layout="rectangular"]) .cmp-carousel__nav {
    margin-top: -62px;
  }
  .cmp-carousel:has(.cmp-carousel__slides > :first-child [data-modify-showmore-behavior="true"]):has(.cmp-carousel__slides > :first-child [data-layout="square"]) .cmp-carousel__nav {
    margin-top: -32px;
  }
  .cmp-carousel:has(.cmp-carousel__slides > :first-child [data-modify-showmore-behavior="true"]) .cmp-carousel__slide:has(.feature__title--icon) .feature__text__wrap--full {
    -webkit-line-clamp: 4 !important;
  }
  .cmp-carousel:has(.cmp-carousel__slides > :first-child [data-modify-showmore-behavior="true"]) .feature__text__wrap--full {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
  }
  .cmp-carousel:has(.cmp-carousel__slides > :first-child [data-modify-showmore-behavior="true"]) .feature__text__wrap--full p:empty {
    display: none;
  }
  .cmp-carousel:has(.cmp-carousel__slides > :first-child [data-modify-showmore-behavior="true"]) .feature__text__wrap--preview,
  .cmp-carousel:has(.cmp-carousel__slides > :first-child [data-modify-showmore-behavior="true"]) .feature__text__wrap--full .show-less {
    display: none;
  }
  .cmp-carousel:has(.cmp-carousel__slides > :first-child [data-modify-showmore-behavior="true"]) .cmp-carousel__slide--modify-show-more .mt-lightbox__opener--text {
    display: flex !important;
  }
  .cmp-carousel:has(.cmp-carousel__slides > :first-child [data-modify-showmore-behavior="true"]) .listbasic {
    margin-top: 15px;
    padding-top: 15px;
  }
  .cmp-carousel:has(.cmp-carousel__slides > :first-child [data-modify-showmore-behavior="true"]):has(.cmp-carousel__slides > :first-child .feature--image-left) .cmp-carousel__nav {
    float: right;
  }
  /* Standard Spacing and Divider Line Overrides */
  :is(.cmp-carousel__slides.parsys) > *:is(*:has(.cross-template-component) + *) {
    border-top: 0;
  }
  :is(.parsys, .grouping) > *:is(*:has([class*="--background-gray"]) + *:is(.componentcarousel:has([class*="--background-gray"]))) .cmp-carousel,
  :is(.parsys, .grouping) > *:is(*:has(.cross-template-component:not([class*="--background-gray"])) + *:is(.componentcarousel:has(.cross-template-component:not([class*="--background-gray"])))) .cmp-carousel {
    border-top: solid 1px #ededed;
  }
  .mt_direction_right_to_left .componentcarousel {
    direction: ltr;
  }
  .mt_direction_right_to_left .componentcarousel:has([class*="--background-gray"]) {
    margin-right: calc(-50vw + 50%);
    margin-left: auto;
  }
  .mt_direction_right_to_left .componentcarousel:has([class*="--background-gray"]) [class*="--background-gray"] {
    margin-left: calc(-50vw + 50%);
  }
  .mt_direction_right_to_left .componentcarousel .mt-lightbox__image .mt-lightbox__opener {
    transform: translateX(-101%);
  }
  .mt_direction_right_to_left .componentcarousel .cmp-carousel__slide--modify-show-more .mt-lightbox__opener--text {
    justify-content: flex-end;
  }
  /* Standard Spacing and Divider Line Overrides */
  :is(.parsys, .grouping) > *:is(*:has(.cross-template-component) + *:is(.componentcarousel)) {
    border-top: 0;
  }
}
@media (max-width: 768px) {
  .cmp-carousel {
    /* Give .cmp-carousel__intro padding and background color 
         * if first slide has background color on mobile 
         */
  }
  .cmp-carousel .cmp-carousel__intro {
    padding: 0 20px;
    box-sizing: border-box;
  }
  .cmp-carousel .cmp-carousel__slides > * {
    padding: 60px 0;
  }
  .cmp-carousel .cmp-carousel__slides > *:has([class*="--background-gray"]) {
    padding: 0;
  }
  .cmp-carousel .cmp-carousel__nav {
    display: none;
  }
  .cmp-carousel:has(.cmp-carousel__slides :first-child [class*="--background-gray"]) .cmp-carousel__intro {
    padding-top: 60px;
    background: #f6f6f6;
  }
  .cmp-carousel:has(.cmp-carousel__slides :first-child [class*="--background-gray"]) .cmp-carousel__intro .cmp-carousel__title {
    margin-top: 0;
  }
  .cmp-carousel:has(.cmp-carousel__slides :first-child [class*="--background-gray"]) .cmp-carousel__intro p:last-child {
    margin-bottom: 0;
  }
}
