/* =====================================
   SPEAKERS – TITLE / FONT TWEAKS
   ===================================== */

.section-5028761 .element-24373961 .atom-fullname {
  font-weight: 700;
}

.section-5028761 .element-24373961 .atom-text1 {
  font-weight: 400;
}

.section-5028761 .element-24373961 .atom-text2 {
  font-weight: 700;
}

#section-5028761 > div > div > div.col-xs-12.text-center.attendees-faces-holder > div > div:nth-child(3) > div {
  line-height: 1.1;
}

/* specific pages container */
.home-custom-css {}
.community-custom-css {}
.agenda-custom-css {}
.speakers-custom-css {}

/* main container of each section */
.main-app-container {}

/* buttons / nav / socials */
.btn-register {}
.template-nav {}
#bs-example-navbar-collapse-1 {}
.social-share-button {}
.social-share-button.facebook {}
.social-share-button.twitter {}
.social-share-button.linkedin {}
.social-share-button.google {}

/* =====================================
   GLOBAL CONTENT TWEAKS
   ===================================== */

.trade-template h1 {
  text-transform: none;
}

.location-wrapper {
  display: none;
}

/* =====================================
   AGENDA – CLEAN STABLE VERSION
   Keeps event time only, hides local time after slash
   Fixes first-row overlap without giant container padding
   ===================================== */

/* Keep built-in structure intact */
.agenda-view.session-list-view,
.agenda-view .session-list-view,
.agenda-view .top-agenda-margin-single,
.agenda-view .session-list-view.top-agenda-margin-single {
  margin-top: 48px !important;
  padding-top: 24px !important;
}

.agenda-view .session-list-container {
  padding-top: 12px !important;
  margin-top: 0px !important;
  position: relative !important;
  z-index: 1 !important;
}

.agenda-view .session-day-container {
  position: relative !important;
  z-index: 1 !important;
}

/* Keep tabs / filters above */
.agenda-view .nav-tabs,
.agenda-view .agenda-filters,
.agenda-view .session-filter-container,
.agenda-view .session-tabs-container {
  position: relative !important;
  z-index: 5 !important;
}

.agenda-view .nav-tabs {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.agenda-view hr,
.agenda-view .divider,
.agenda-view .separator {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

/* Inputs / buttons */
.agenda-view input[type="text"],
.agenda-view input[type="search"],
.agenda-view .search-input,
.agenda-view .form-control {
  height: 40px !important;
  box-shadow: none !important;
}

.agenda-view button,
.agenda-view .btn,
.agenda-view .dropdown-toggle {
  height: 40px !important;
  box-shadow: none !important;
}

/* Day title */
.agenda-view .day-title-row {
  margin-top: 6px !important;
  margin-bottom: 10px !important;
}

.agenda-view .day-title-row .day-title,
.agenda-view .session-list-container .session-day-container .day-title-row .day-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px !important;
}

/* Time row */
.agenda-view .session-day-container .time-row,
.agenda-view .session-list-container .session-day-container .time-row {
  margin-bottom: 12px !important;
  position: relative !important;
  overflow: visible !important;
}

/* Fix only the first visible agenda row */
.agenda-view .session-day-container .time-row:first-of-type,
.agenda-view .session-list-container .session-day-container:first-child .time-row:first-of-type {
  margin-top: 32px !important;
  overflow: visible !important;
}

/* Make sure the first card itself is not clipping */
.agenda-view .session-day-container .time-row:first-of-type .session-elem,
.agenda-view .session-day-container .time-row:first-of-type .session-container,
.agenda-view .session-day-container .time-row:first-of-type .session-details,
.agenda-view .session-list-container .session-day-container:first-child .time-row:first-of-type .session-elem,
.agenda-view .session-list-container .session-day-container:first-child .time-row:first-of-type .session-container,
.agenda-view .session-list-container .session-day-container:first-child .time-row:first-of-type .session-details {
  overflow: visible !important;
}

/* Time column sizing */
.agenda-view .session-day-container .time-row .time-col,
.agenda-view .session-day-container .time-row .time-box,
.agenda-view .session-day-container .time-row .time-label {
  min-width: 72px !important;
  width: 72px !important;
}

.agenda-view .session-day-container .time-row .time-box,
.agenda-view .session-day-container .time-row .time-pill {
  box-shadow: none !important;
}

/* Session element safety */
.agenda-view .session-day-container .time-row .session-elem {
  position: relative !important;
  overflow: visible !important;
}

/* Session card */
.agenda-view .session-day-container .time-row .session-elem .session-container,
.agenda-view .session-list-container .session-day-container .time-row .session-elem .session-container {
  border: 1px solid rgba(17, 24, 39, 0.08) !important;
  box-shadow: none !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  transition: border-color 0.15s ease-out, background-color 0.15s ease-out;
  overflow: visible !important;
}

/* Session inner spacing */
.agenda-view .session-day-container .time-row .session-elem .session-container .session-details {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  overflow: visible !important;
}

/* Session time */
.agenda-view .session-container .session-time,
.agenda-view .session-time {
  font-size: 12.5px !important;
  font-weight: 650 !important;
  letter-spacing: 0.12px !important;
  line-height: 1.2 !important;
  opacity: 0.8 !important;
  margin-bottom: 6px !important;
  text-transform: none !important;
}

/* Hide duration + timezone/meta labels */
.agenda-view .session-duration,
.agenda-view .session-day-container .time-row .session-elem .session-container .session-duration,
.agenda-view .session-time .timezone,
.agenda-view .session-time-zone,
.agenda-view .session-timezone,
.agenda-view .session-info-text-light,
.agenda-view--session time .session-info-text-light,
.agenda-view--session time .session-duration {
  display: none !important;
}

/* Hide local/secondary time segment after the event end time */
.agenda-view .session-container .session-time.end-time ~ .session-time {
  display: none !important;
}

/* Hide slash separator + anything after it in list and single-session view */
.agenda-view time .session-time:not(.start-time):not(.end-time),
.agenda-view--session time .session-time:not(.start-time):not(.end-time),
.agenda-view time .session-time:not(.start-time):not(.end-time) ~ .session-time,
.agenda-view--session time .session-time:not(.start-time):not(.end-time) ~ .session-time {
  display: none !important;
}

/* Optional cleanup for stray trailing span output */
.agenda-view .session-time span:last-child {
  display: none !important;
}

/* Session title */
.agenda-view .session-day-container .time-row .session-elem .session-container .session-name {
  font-size: 18px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  margin-bottom: 6px !important;
}

/* Session description */
.agenda-view .session-day-container .time-row .session-elem .session-container .session-description {
  line-height: 1.45 !important;
  margin-bottom: 10px !important;
  opacity: 0.92 !important;
}

/* Remove actions */
.agenda-view .session-day-container .time-row .session-elem .session-container .session-actions-container {
  display: none !important;
}

/* Speakers inside session card */
.agenda-view .session-day-container .time-row .session-elem .session-container .speakers-container.has-speakers,
.agenda-view .speakers-container.has-speakers {
  margin-top: 8px !important;
  min-height: 0 !important;
}

.agenda-view .speakers-container .speaker-info {
  font-size: 12.5px !important;
}

.agenda-view .speakers-container .speaker-info .speaker-name,
.agenda-view .speakers-container .atom-fullname {
  font-weight: 700 !important;
}

.agenda-view .speakers-container .speaker-info .speaker-position {
  display: none;
}

/* Session carousel info */
.agenda-view .session-list-container .session-carousel .slider-container .session-container .session-info {
  min-height: 20px;
}

/* Sponsored by */
.agenda-view .sponsored-by {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  color: rgba(17, 24, 39, 0.45) !important;
  margin-top: 14px !important;
  margin-bottom: 6px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(17, 24, 39, 0.06) !important;
}

.agenda-view .sponsored-by + img,
.agenda-view .sponsored-by + .sponsor-logo,
.agenda-view .sponsored-by + svg {
  opacity: 0.85 !important;
}

/* Description preview clamp */
.agenda-view.session-list-view
.session-list-container
.session-day-container
.time-row
.session-elem
.session-container
.preview-session-description {
  -webkit-mask-image: none !important;
  mask-image: none !important;
  max-height: none !important;
  overflow: visible !important;
}

.agenda-view.session-list-view
.session-list-container
.session-day-container
.time-row
.session-elem
.session-container
.preview-session-description
.session-description-inner {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
}

.agenda-view.session-list-view
.session-list-container
.session-day-container
.time-row
.session-elem
.session-container
.preview-session-description.opened
.session-description-inner {
  display: block !important;
  -webkit-line-clamp: unset !important;
  overflow: visible !important;
}

/* Hover */
@media (hover: hover) {
  .agenda-view .session-day-container .time-row .session-elem .session-container:hover {
    border-color: rgba(17, 24, 39, 0.16) !important;
    background-color: rgba(17, 24, 39, 0.015) !important;
  }

  .agenda-view .session-container:hover .session-name {
    color: rgba(17, 24, 39, 0.95);
  }
}

/* Mobile */
@media (max-width: 768px) {
  .agenda-view .session-day-container .time-row .time-col,
  .agenda-view .session-day-container .time-row .time-box,
  .agenda-view .session-day-container .time-row .time-label {
    min-width: 68px !important;
    width: 68px !important;
  }

  .agenda-view .session-day-container .time-row .session-elem .session-container .session-name {
    font-size: 17px !important;
  }

  .agenda-view .session-day-container .time-row:first-of-type,
  .agenda-view .session-list-container .session-day-container:first-child .time-row:first-of-type {
    margin-top: 24px !important;
  }
}

/* =====================================
   SPEAKERS – CLEAN GRID
   ===================================== */

.main-app-container.text-center.attendees-faces,
.main-app-container.text-center.attendees-faces .container,
.main-app-container.text-center.attendees-faces .container-fluid {
  max-width: 100% !important;
  width: 100% !important;
}

.main-app-container.text-center.attendees-faces .row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -12px !important;
  margin-right: -12px !important;
}

.main-app-container.text-center.attendees-faces
.entity-photo-holder.col-xs-12.col-sm-6.col-md-4.col-lg-4 {
  float: none !important;
  flex: 0 0 25% !important;
  max-width: 25% !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  margin-bottom: 24px !important;
  display: flex !important;
  flex-direction: column !important;
}

@media (max-width: 1200px) {
  .main-app-container.text-center.attendees-faces
  .entity-photo-holder.col-xs-12.col-sm-6.col-md-4.col-lg-4 {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
  }
}

@media (max-width: 900px) {
  .main-app-container.text-center.attendees-faces
  .entity-photo-holder.col-xs-12.col-sm-6.col-md-4.col-lg-4 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}

@media (max-width: 600px) {
  .main-app-container.text-center.attendees-faces
  .entity-photo-holder.col-xs-12.col-sm-6.col-md-4.col-lg-4 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

.main-app-container.text-center.attendees-faces .entity-photo-holder {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.main-app-container.text-center.attendees-faces .entity-photo-holder > a {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  padding-top: 100% !important;
  height: 0 !important;
  overflow: hidden !important;
  background: #f3f4f6 !important;
}

.main-app-container.text-center.attendees-faces
.entity-photo-holder > a > object.object-trade-thumbnail {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.main-app-container.text-center.attendees-faces .entity-photo-holder > a img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 22% !important;
  margin: 0 !important;
}

.main-app-container.text-center.attendees-faces .entity-photo-holder .speaker-text {
  padding: 10px 0 0 0 !important;
  text-align: left !important;
}

.main-app-container.text-center.attendees-faces .entity-photo-holder .atom-fullname {
  font-size: 15.5px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  margin: 0 0 4px 0 !important;
  color: rgba(17, 24, 39, 0.92) !important;
}

.main-app-container.text-center.attendees-faces .entity-photo-holder .atom-text1 {
  font-size: 12.75px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  margin: 0 0 3px 0 !important;
  color: rgba(17, 24, 39, 0.62) !important;
}

.main-app-container.text-center.attendees-faces .entity-photo-holder .atom-text2 {
  font-size: 12.75px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  color: rgba(17, 24, 39, 0.92) !important;
}

.main-app-container.text-center.attendees-faces .entity-photo-holder .atom-text3,
.main-app-container.text-center.attendees-faces .entity-photo-holder .atom-text4 {
  display: none !important;
}