/*
Returns a CSS clamp function which resolves to
$size-at-min-width when page width is below $min-width,
$size-at-max-width when page width is above $max-width,
and linearly scales between the two between $min-width and $max-width*/
.bannerslides:has(.cm-mainbanner-block).slick-slider {
  margin-bottom: 4rem; }

.bannerslides:has(.cm-mainbanner-block) .slick-dots {
  bottom: 60px; }
  .bannerslides:has(.cm-mainbanner-block) .slick-dots li {
    width: auto; }
    .bannerslides:has(.cm-mainbanner-block) .slick-dots li button {
      background: #D7D7D7;
      border-radius: 50%;
      display: block;
      height: 16px;
      width: 16px;
      transition: all 0.3s;
      padding: 0 7px; }
    .bannerslides:has(.cm-mainbanner-block) .slick-dots li.slick-active button {
      background: #6632F5; }
  @media (max-width: 543.98px) {
    .bannerslides:has(.cm-mainbanner-block) .slick-dots {
      bottom: 30px; } }

.bannerslides:has(.cm-mainbanner-block) .slick-arrow {
  height: 36px;
  width: 36px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  top: calc(50% - 16px);
  z-index: 10;
  transition: all ease 0.2s;
  display: none !important; }
  .bannerslides:has(.cm-mainbanner-block) .slick-arrow::before {
    color: #333;
    font-size: 1rem !important;
    font-weight: 300; }
  .bannerslides:has(.cm-mainbanner-block) .slick-arrow:hover {
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25)); }
  .bannerslides:has(.cm-mainbanner-block) .slick-arrow.slick-prev {
    left: 15px; }
    .bannerslides:has(.cm-mainbanner-block) .slick-arrow.slick-prev::before {
      font-weight: 300;
      font-family: "Font Awesome 5 Pro";
      font-style: normal;
      font-size: 1em;
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      display: inline-block;
      font-variant: normal;
      text-rendering: auto;
      line-height: 1;
      content: "\F053"; }
  .bannerslides:has(.cm-mainbanner-block) .slick-arrow.slick-next {
    right: 15px; }
    .bannerslides:has(.cm-mainbanner-block) .slick-arrow.slick-next::before {
      font-weight: 300;
      font-family: "Font Awesome 5 Pro";
      font-style: normal;
      font-size: 1em;
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      display: inline-block;
      font-variant: normal;
      text-rendering: auto;
      line-height: 1;
      content: "\F054"; }

@media (max-width: 768.98px) {
  .bannerslides:has(.cm-mainbanner-block) {
    max-height: calc((4 / 3) * 100%); } }

@media (max-width: 543.98px) {
  .bannerslides:has(.cm-mainbanner-block) {
    aspect-ratio: 3 / 4;
    width: 100%;
    height: auto; } }

.bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block {
  position: relative;
  background-color: #1B1B1C; }
  @media (max-width: 543.98px) {
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block {
      height: 100%; } }
  .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block::before {
    display: block;
    content: '';
    padding-top: calc(100% / (21 / 9) - 50px); }
    @media screen and (min-width: 1920px) {
      .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block::before {
        padding-top: calc(100% / (21 / 9)); } }
    @media (max-width: 768.98px) {
      .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block::before {
        padding-top: calc((4 / 3) * 100%); } }
  .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block a.mainbanner-link, .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block .image-component img {
    aspect-ratio: 21 / 9;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    opacity: 20%; }
    @media (max-width: 768.98px) {
      .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block .image-component img {
        aspect-ratio: 3 / 4;
        -o-object-fit: inherit;
           object-fit: inherit; } }
  .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block.container img.mainbanner-image {
    padding: 0 15px; }
  .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block .mainbanner-link {
    color: white !important; }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block .mainbanner-link:hover {
      text-decoration: none; }
  .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section {
    padding: 40px 20px;
    color: #fff;
    width: -moz-max-content;
    width: max-content;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section a.mainbanner-link {
      position: unset;
      top: auto;
      left: auto; }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section p {
      margin-bottom: 3rem; }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section .title span {
      font-size: 4rem;
      font-weight: 600;
      margin-bottom: 3rem;
      line-height: 1; }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section .subtitle {
      font-size: 1.5rem;
      font-weight: 600;
      line-height: 1; }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section .description {
      font-size: 1.5rem;
      font-weight: 600;
      margin-bottom: 40px;
      line-height: 1.5;
      color: white;
      width: 100%; }
      .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section .description p {
        margin-bottom: 80px; }
        @media (max-width: 543.98px) {
          .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section .description p {
            margin-bottom: 40px; } }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section .divider {
      width: 100%;
      height: 2px;
      margin: 0 auto 20px; }
    @media (max-width: 768.98px) {
      .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section {
        padding: 0;
        max-width: calc(100% / 1.5); }
        .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section p {
          margin-bottom: 30px; }
        .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section .title span {
          font-size: 2.5rem; }
        .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section .subtitle {
          font-size: 1rem; }
        .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-info-section .description {
          font-size: 1rem; } }
  .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-btn-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    gap: 10px; }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-btn-wrapper .mainbanner-link {
      display: none; }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption .banner-btn-wrapper p {
      margin-bottom: 0; }
  .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption a.shop-now-btn,
  .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption a.info-btn {
    display: inline-block;
    padding: 0px 19.5px;
    height: 36px;
    background-color: #6632F5;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
    border-radius: 100px;
    transition: all 0.3s ease;
    color: white !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-align: center;
        align-items: center; }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption a.shop-now-btn:hover,
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption a.info-btn:hover {
      background-color: #CAB5FC; }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption a.shop-now-btn p,
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption a.info-btn p {
      margin: 0;
      color: white;
      line-height: 1; }
  .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption a.info-btn {
    border: 1px solid white;
    background-color: transparent; }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block figcaption a.info-btn:hover {
      border: 1px solid transparent;
      background-color: transparent !important; }
  .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block a.shop-now-btn.mobile {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    top: 93%;
    padding: 12px 30px;
    background: rgba(27, 27, 27, 0.9);
    color: white;
    text-transform: uppercase;
    margin-bottom: 0;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.3s ease; }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block a.shop-now-btn.mobile p {
      margin: 0; }
    .bannerslides:has(.cm-mainbanner-block) .cm-mainbanner-block a.shop-now-btn.mobile:hover {
      border: 1px solid transparent; }

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