.so-widget-wpa9-any-carousel {
  --spacer: 24px;
}

.so-widget-wpa9-any-carousel {
  margin-bottom: var(--spacer);
}

.wpa9-any-carousel {
  overflow: hidden;
  /* background-color: rgba(0,0,0,.03); */
}

  .wpa9-any-carousel.full-width {
    width: calc(100vw - 8px);
    position: relative;
    margin-left: -50vw;
    left: 50%;
    overflow: hidden;
  }

  .wpa9-any-carousel.full-width .wpa9-any-carousel-wrapper {
    width: 100vw;
  }



.wpa9-any-carousel-wrapper {
  width: 100%;
  height: auto !important;
  flex-flow: column;
  flex-wrap: wrap;
}

  .wpa9-any-carousel-image .img {
    display: block;
    width: 100%;
  }

  .wpa9-any-carousel-title {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: calc( .5 * var(--spacer) );
  }


.wpa9-any-carousel-buttons a {
  background-color: transparent;
  border-color: #fff;
}

.wpa9-any-carousel-buttons a:hover {
  background-color: var(--c-main);
  border-color: var(--c-main);
  color: #fff !important;
}

/* --- layout-1 --- */

.layout-1 .wpa9-any-carousel-wrapper {
  flex-flow: column;
  padding: 24px 0 48px;
}

  .layout-1 .wpa9-any-carousel-content,
  .layout-1 .wpa9-any-carousel-image {
    display: flex;
    width: 100%;
  }

  .layout-1 .wpa9-any-carousel-content {
    display: flex;
    flex-flow: column;
    justify-content: center;
    margin-bottom: calc(.5 * var(--spacer));
  }

    .layout-1 .wpa9-any-carousel-title,
    .layout-1 .wpa9-any-carousel-subtitle {
      width: fit-content;
      background: var(--c-main);
      padding: calc(.325 * var(--spacer)) calc(.75 * var(--spacer));
      color: #fff;
    }

    .layout-1 .wpa9-any-carousel-title {
      margin-bottom: calc(.125 * var(--spacer));
    }

    .layout-1 .wpa9-any-carousel-subtitle {
      padding: calc(.325 * var(--spacer)) calc(.75 * var(--spacer));
    }


    .layout-1 .wpa9-cta-banner-buttons {
      margin-top: calc(.5 * var(--spacer));
    }

      .layout-1 .wpa9-cta-banner-buttons .wpa9-cta-banner-button-link {
        background: transparent;
        padding: calc(0.25 * var(--spacer)) calc(.75 * var(--spacer));
      }




  .layout-1 .wpa9-any-carousel-image {
    /* margin-top: 24px; */
  }

    .layout-1 .wpa9-any-carousel-image .figure {
      display: flex;
      flex-flow: column;
      justify-content: center;
      position: relative;
      width: 100%;
    }

      .layout-1 .wpa9-any-carousel-image .img {
        display: block;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
      }



/* --- layout-2 --- */
.layout-2 .wpa9-any-carousel-wrapper {
  flex-flow: column;
  padding: 24px 0 48px;
}

  .layout-2 .wpa9-any-carousel-content,
  .layout-2 .wpa9-any-carousel-image {
    display: flex;
    width: 100%;
  }

  .layout-2 .wpa9-any-carousel-content {
    display: flex;
    flex-flow: column;
    justify-content: center;
  }

  .layout-2 .wpa9-any-carousel-image {
    margin-top: 24px;
  }



    .layout-2 .wpa9-any-carousel-image .figure {
      display: flex;
      flex-flow: column;
      justify-content: center;
      position: relative;
      width: 100%;
      /* margin-bottom: 0;
      aspect-ratio: 1 / 1; */
    }

      .layout-2 .wpa9-any-carousel-image .img {
        display: block;
        width: 100%;
        height: 100%;
        /* height: 0;
        padding-bottom: 100%; */
        /* position: absolute;
        width: 100%;
        height: 100% !important;
        top: 0;
        left: 0;
        object-fit: cover;
        object-position: center; */

        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
      }








@media only screen
and (min-width : 576px) {



}


@media only screen
and (min-width : 768px) {

  .wpa9-any-carousel-title {
    font-size: 2.5rem;
  }

  .layout-1 .wpa9-any-carousel-content {
    position: absolute;
    z-index: 2;
    margin-bottom: 0;
  }

    .layout-1 .wpa9-any-carousel-content {
      left: calc(1 * var(--spacer));
      bottom: calc(3 * var(--spacer));
      width: calc(100% - calc(2 * var(--spacer)));
    }

    .layout-1 .wpa9-any-carousel-title,
    .layout-1 .wpa9-any-carousel-subtitle {

    }

    .layout-1 .wpa9-any-carousel-title {
      margin-bottom: calc(0.125 * var(--spacer));
    }

    .layout-1 .wpa9-cta-banner-buttons {
      margin-top: calc(0.125 * var(--spacer));
    }

      .layout-1 .wpa9-cta-banner-buttons .wpa9-cta-banner-button-link {
        background: #fff;
      }

  .layout-1 .wpa9-any-carousel-image {
    width: 100%;
  }


  .wpa9-any-carousel-wrapper,
  .layout-2 .wpa9-any-carousel-wrapper {
    flex-flow: row;
  }

  .wpa9-any-carousel-title {
    /* margin-bottom: calc( .5 * var(--spacer) ); */
  }



  .layout-2 .wpa9-any-carousel-content,
  .layout-2 .wpa9-any-carousel-image {
      /* width: 50%; */
      width: 100%;
  }

  .layout-2 .wpa9-any-carousel-content {
    /* padding-right: 48px; */
  }

  .layout-2 .wpa9-any-carousel-image {
    /* padding-left: 48px; */
    margin-top: 0;
  }

}
