body.frontpage .vbc-home-events-carousel { position: relative; margin: 0 auto 50px; }
body.frontpage .vbc-home-events-carousel .vbc-event-slide {
  position: relative; isolation: isolate; display: flex; flex-direction: column;
  justify-content: flex-end; aspect-ratio: 16 / 9; min-height: 520px;
  padding: clamp(42px, 6vw, 78px); overflow: hidden;
  background: #17202a; color: #fff;
}
body.frontpage .vbc-home-events-carousel .vbc-event-slide::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(9, 17, 24, .88) 0%, rgba(9, 17, 24, .7) 38%, rgba(9, 17, 24, .18) 78%),
              linear-gradient(0deg, rgba(9, 17, 24, .32), transparent 50%);
  pointer-events: none;
}
body.frontpage .vbc-home-events-carousel .views-field-field-event-image,
body.frontpage .vbc-home-events-carousel .views-field-field-event-image .field-content,
body.frontpage .vbc-home-events-carousel .views-field-field-event-image .item-image,
body.frontpage .vbc-home-events-carousel .views-field-field-event-image a {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%;
}
body.frontpage .vbc-home-events-carousel .views-field-field-event-image { z-index: 0; }
body.frontpage .vbc-home-events-carousel .views-field-field-event-image img {
  display: block; width: 100%; height: 100%; object-fit: cover; object-position: center;
}
body.frontpage .vbc-home-events-carousel .vbc-event-slide > .views-field:not(.views-field-field-event-image) {
  position: relative; z-index: 2; max-width: 620px;
}
body.frontpage .vbc-home-events-carousel .views-field-title { order: 1; margin-bottom: 14px; }
body.frontpage .vbc-home-events-carousel .upcomingeventstitle,
body.frontpage .vbc-home-events-carousel .upcomingeventstitle a {
  color: #fff; font-size: clamp(40px, 5.5vw, 72px); font-weight: 800;
  line-height: 1.04; letter-spacing: -.035em; text-decoration: none;
}
body.frontpage .vbc-home-events-carousel .views-field-field-event-date-value {
  order: 2; margin-bottom: 14px; color: #f6c078; font-size: clamp(18px, 2vw, 25px);
  font-weight: 700; line-height: 1.3;
}
body.frontpage .vbc-home-events-carousel .views-field-field-event-address {
  order: 3; margin-bottom: 14px; font-size: 16px; line-height: 1.55;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden;
}
body.frontpage .vbc-home-events-carousel .views-field-body {
  order: 4; margin-bottom: 24px; font-size: 17px; line-height: 1.5;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
body.frontpage .vbc-home-events-carousel .views-field-body p { color: #fff; margin: 0; }
body.frontpage .vbc-home-events-carousel .views-field-view-node { order: 5; }
body.frontpage .vbc-home-events-carousel .views-field-view-node a {
  display: inline-block; padding: 14px 23px; color: #17202a; background: #e9a94c;
  text-decoration: none; font-size: 14px; font-weight: 800; letter-spacing: .08em;
  border-radius: 3px; transition: background .2s ease;
}
body.frontpage .vbc-home-events-carousel .views-field-view-node a:hover,
body.frontpage .vbc-home-events-carousel .views-field-view-node a:focus { background: #ffd08a; color: #17202a; }
body.frontpage .vbc-home-events-carousel .owl-nav { position: absolute; z-index: 4; top: 45%; left: 0; right: 0; display: flex; justify-content: space-between; pointer-events: none; }
body.frontpage .vbc-home-events-carousel .owl-nav > div {
  display: grid; place-items: center; width: 42px; height: 54px; background: rgba(7,15,24,.56);
  color: #fff; font-size: 28px; cursor: pointer; pointer-events: auto;
}
body.frontpage .vbc-home-events-carousel .owl-nav > div:hover { background: rgba(7,15,24,.85); }
body.frontpage .vbc-home-events-carousel .owl-dots { position: absolute; z-index: 4; bottom: 20px; right: 28px; display: flex; gap: 7px; }
body.frontpage .vbc-home-events-carousel .owl-dot { cursor: pointer; }
body.frontpage .vbc-home-events-carousel .owl-dot span { display: block; width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.55); }
body.frontpage .vbc-home-events-carousel .owl-dot.active span { background: #e9a94c; transform: scale(1.3); }
body.frontpage .vbc-home-events-carousel:has(.owl-dot:only-child) .owl-nav,
body.frontpage .vbc-home-events-carousel:has(.owl-dot:only-child) .owl-dots { display: none; }
@media (max-width: 767px) {
  body.frontpage .vbc-home-events-carousel .vbc-event-slide { aspect-ratio: auto; min-height: 570px; padding: 36px 28px 66px; }
  body.frontpage .vbc-home-events-carousel .vbc-event-slide::before {
    background: linear-gradient(0deg, rgba(9,17,24,.94) 0%, rgba(9,17,24,.68) 55%, rgba(9,17,24,.12) 100%);
  }
  body.frontpage .vbc-home-events-carousel .upcomingeventstitle,
  body.frontpage .vbc-home-events-carousel .upcomingeventstitle a { font-size: clamp(34px, 10vw, 48px); }
  body.frontpage .vbc-home-events-carousel .views-field-field-event-date-value { font-size: 18px; }
  body.frontpage .vbc-home-events-carousel .views-field-field-event-address,
  body.frontpage .vbc-home-events-carousel .views-field-body { font-size: 15px; }
  body.frontpage .vbc-home-events-carousel .owl-nav { top: 34%; }
  body.frontpage .vbc-home-events-carousel .owl-nav > div { width: 32px; height: 45px; }
  body.frontpage .vbc-home-events-carousel .owl-dots { bottom: 17px; right: 20px; }
}
body.frontpage .vbc-home-events-carousel .eventlistdescription { border: 0; padding: 0; margin: 0; }
body.frontpage .vbc-home-events-carousel .owl-nav > div i { color: #fff; }
body.frontpage .vbc-home-events-carousel .owl-dots { width: auto; left: auto; right: 28px; justify-content: flex-end; }
@media (max-width: 767px) { body.frontpage .vbc-home-events-carousel .owl-dots { right: 20px; } }

body.frontpage .vbc-home-events-carousel .views-field-field-event-date-value { margin-bottom: 2px; }
body.frontpage .vbc-home-events-carousel .views-field-field-event-date-value-1 { order: 3; color:#f6c078; font-size:clamp(18px,2vw,25px); font-weight:700; margin-bottom:14px; }
body.frontpage .vbc-home-events-carousel .views-field-field-event-address { order: 4; }
body.frontpage .vbc-home-events-carousel .views-field-body { order: 5; }
body.frontpage .vbc-home-events-carousel .views-field-view-node { order: 6; }
body.frontpage .vbc-home-events-carousel .views-field-field-event-image .upcomingeventimage {position:absolute;inset:0;width:100%;height:100%;}
body.frontpage #block-charityplus-subtheme-views-block-calendar-block-1 .block-title { font-size:clamp(30px,4vw,48px); margin:0 0 26px; text-transform:uppercase; }
body.frontpage #block-charityplus-subtheme-views-block-calendar-block-1 { width:100%; }
body.frontpage .upcomingeventrow {margin-left:0!important;margin-right:0!important;height:auto!important;min-height:0!important;overflow:visible!important;background-image:none!important;}
body.frontpage .upcomingeventrow .bb-container {width:100%;max-width:1200px;}
body.frontpage .upcomingeventrow .bb-inner {padding:40px 20px 55px;}
body.frontpage .vbc-home-events-carousel .upcomingeventstitle, body.frontpage .vbc-home-events-carousel .upcomingeventstitle a {color:#fff;}
body.frontpage .vbc-home-events-carousel .views-field-field-event-image .upcomingeventimage a {position:absolute;inset:0;width:100%;height:100%;}
body.frontpage .vbc-home-events-carousel .owl-stage-outer {overflow:hidden;}

body.frontpage .vbc-home-events-carousel .upcomingeventstitle {max-width:none!important;}
