.events-composite, .events-composite * { box-sizing: border-box; }
.event-right{ 
  border-left: 1px solid #e3e3e3;
  padding-left:10px; }
  .event-right h3 {
    margin:0px 0px 10px;
    font-size: 22px;
  }

/* --- Layout utilities (Bootstrap-like, minimal) --- */
.container{
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}
@media (min-width: 576px){ .container{ max-width: 540px; } }
@media (min-width: 768px){ .container{ max-width: 720px; } }
@media (min-width: 992px){ .container{ max-width: 960px; } }
@media (min-width: 1200px){ .container{ max-width: 1140px; } }
@media (min-width: 1400px){ .container{ max-width: 1320px; } }

.row{
  display: flex;
  flex-wrap: wrap;
  margin-left: -8px;
  margin-right: -8px;
}
.col-12{
  flex: 0 0 100%;
  max-width: 100%;
  padding-left: 8px;
  padding-right: 8px;
}

/* spacing utilities used in your markup */
.mb-0{ margin-bottom: 0 !important; }
.pb-0{ padding-bottom: 0 !important; }

/* visibility utilities used in your markup */
.d-none{ display: none !important; }
.d-block{ display: block !important; }

@media (min-width: 576px){ .d-sm-none{ display: none !important; } .d-sm-block{ display:block !important; } }
@media (min-width: 768px){ .d-md-none{ display: none !important; } .d-md-block{ display:block !important; } }
@media (min-width: 992px){ .d-lg-none{ display: none !important; } .d-lg-block{ display:block !important; } }
@media (min-width: 1200px){ .d-xl-none{ display: none !important; } .d-xl-block{ display:block !important; } }
@media (min-width: 1400px){ .d-xxl-none{ display: none !important; } .d-xxl-block{ display:block !important; } }

/* section background */
.bg-alabaster{
 /* background: #f3f3f3; */
}

/* --- Section title (optional, simple) --- */
.w-eyebrow .content-spot-title h3{
  margin: 0 0 14px;
  font-size: 22px;
  font-weight: 700;
}

/* =========================================================
   Tabs styling to match screenshot
   ========================================================= */
.events-composite .tabs-inner{
  padding-top: 10px;
}

/* Tab strip */
.events-composite .tabs-heading{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  margin: 0;
  align-items: flex-end;
  border-bottom: 2px solid #0c529c;
}

/* Each tab */
.events-composite .tabs-heading > li{
  margin: 0;
  cursor: pointer;
  user-select: none;

  background: #0d5fb6;
  color: #fff;

  border: 2px solid #0c529c;
  border-bottom: none;

  border-top-left-radius: 4px;
  border-top-right-radius: 4px;

  padding: 10px 14px;
  line-height: 1;
}

/* Remove weird nested spacing from the CMS wrapper structure */
.events-composite .tabs-heading > li > div,
.events-composite .tabs-heading .row,
.events-composite .tabs-heading .component-content{
  margin: 0;
  padding: 0;
}

/* Tab label */
.events-composite .tabs-heading .field-heading{
  font-size: 16px;
  font-weight: 300;
  white-space: nowrap;
}

/* Active tab = white with black text */
.events-composite .tabs-heading > li.is-active{
  background: #e5e5e5;
  color: #000;
  position: relative;
  top: 2px;
}
.events-composite .tabs-heading > li.is-active .field-heading{
  color: #000;
  font-size: 18px;
  font-weight: 700;
}

/* Tab panels container (gray background area) */
.events-composite .tabs-container{
  background: #e8e8e8;
  padding: 34px 18px;
  border-radius: 0 0 10px 10px;
}

/* Each panel */
.events-composite .tabs-container > .tab{ display: none; }
.events-composite .tabs-container > .tab.is-active{ display: block; }

/* =========================================================
   Events list/card styling
   ========================================================= */
.events-composite .emory-events-list .event{
  background: #fff;
  border-radius: 4px;
  padding: 26px 28px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.18);
  margin: 0 auto 20px;
}

.events-composite .emory-events-list .event.no-event h5{
  margin: 0 0 10px;
  font-size: 26px;
  font-weight: 800;
}
.events-composite .emory-events-list .event.no-event p{
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
}

.events-composite .emory-events-list .event:not(.no-event){
  display: flex;
  gap: 24px;
  border-radius: 10px;
}
.events-composite .emory-events-list .event-left{ flex: 0 0 360px; }
.events-composite .emory-events-list .event-date{ font-weight: 800; margin-bottom: 6px; }
.events-composite .emory-events-list .event-time,
.events-composite .emory-events-list .event-location{ margin-bottom: 6px; }
.events-composite .emory-events-list .event-name a{ font-weight: 800; color: inherit; text-decoration: none; }
.events-composite .emory-events-list .event-name a:hover{ text-decoration: underline; }

@media (max-width: 767.98px){
  .events-composite .tabs-heading{
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 6px;
  }
  .events-composite .tabs-heading > li{ flex: 0 0 auto; }
  .events-composite .emory-events-list .event:not(.no-event){ flex-direction: column; }
  .events-composite .emory-events-list .event-left{ flex: 1 1 auto; }
}

/* Accordion (optional) */
.events-composite .eh-accordion{ margin-top: 16px; }
.events-composite .eh-accordion__heading{ font-weight: 800; margin-bottom: 6px; }
.events-composite .eh-accordion__body{ margin-bottom: 10px; }

.events-composite .eh-accordion .toggle-header{
  cursor: pointer;
  padding: 12px 14px;
  border: 1px solid #bbb;
  border-radius: 6px;
  background: #fff;
  margin-top: 10px;
}
.events-composite .eh-accordion .toggle-content{
  display: none;
  padding: 12px 14px;
  border: 1px solid #bbb;
  border-top: none;
  border-radius: 0 0 6px 6px;
  background: #fff;
}
.events-composite .eh-accordion .toggle-content[aria-hidden="false"]{ display: block; }

.event-register-btn{ margin-top:20px; }

/* Icons (your SVG mask CSS) */
.events-composite .eh-icon::before,
.events-composite .event-date::before,
.events-composite .event-time::before,
.events-composite .event-location::before,
.events-composite .event-name::before,
.events-composite .event-description::before{
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  vertical-align: -2px;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.events-composite .event-name::before,
.events-composite .event-description::before{ display:none; }

/* calendar */
.events-composite .event-date::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1a3 3 0 0 1 3 3v13a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h1V3a1 1 0 0 1 1-1Zm13 8H4v10a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V10ZM5 6a1 1 0 0 0-1 1v1h16V7a1 1 0 0 0-1-1H5Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1a3 3 0 0 1 3 3v13a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h1V3a1 1 0 0 1 1-1Zm13 8H4v10a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V10ZM5 6a1 1 0 0 0-1 1v1h16V7a1 1 0 0 0-1-1H5Z'/%3E%3C/svg%3E");
}

/* clock */
.events-composite .event-time::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm1 3a1 1 0 0 1 1 1v3.6l2.2 2.2a1 1 0 1 1-1.4 1.4l-2.5-2.5A1 1 0 0 1 12 12V8a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm1 3a1 1 0 0 1 1 1v3.6l2.2 2.2a1 1 0 1 1-1.4 1.4l-2.5-2.5A1 1 0 0 1 12 12V8a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E");
}

/* pin */
.events-composite .event-location::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 1 7 7c0 5-7 13-7 13S5 14 5 9a7 7 0 0 1 7-7Zm0 2a5 5 0 0 0-5 5c0 3.2 3.8 8.6 5 10.2 1.2-1.6 5-7 5-10.2a5 5 0 0 0-5-5Zm0 3a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 1 7 7c0 5-7 13-7 13S5 14 5 9a7 7 0 0 1 7-7Zm0 2a5 5 0 0 0-5 5c0 3.2 3.8 8.6 5 10.2 1.2-1.6 5-7 5-10.2a5 5 0 0 0-5-5Zm0 3a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z'/%3E%3C/svg%3E");
}