/* =========================
   Specific Pages Container
   ========================= */
.home-custom-css {}
.community-custom-css {}
.agenda-custom-css {}
.speakers-custom-css {}

/* =========================
   Main Container Of Each Section
   ========================= */
.main-app-container {}

/* =========================
   Call-To-Action Buttons
   e.g., Register, Join The Community
   ========================= */
.btn-register {}

/* =========================
   Top Navigation
   ========================= */
.template-nav {}

/* Top navigation bar items container */
#bs-example-navbar-collapse-1 {}

/* =========================
   Social Share Buttons
   ========================= */
.social-share-button {}

.social-share-button.facebook {}
.social-share-button.twitter {}
.social-share-button.linkedin {}
.social-share-button.google {}

/* =========================
   Global Font + Resets
   ========================= */
:root {
  --paragraph-font-family: "Barlow", sans-serif;
  color: #000000;
}

html,
body {
  font-family: Barlow, sans-serif !important;
  color: #000000;
}

/* Force Barlow inside Bizzabo templates */
.global-template,
.global-template *,
.urban-template,
.urban-template *,
.atom-main,
.atom-main *,
.trade-template,
.trade-template * {
  font-family: Barlow, sans-serif !important;
  font-weight: normal;
  font-style: normal !important;
  text-transform: none !important;
  color: #000000;
}

/* Force Barlow inside Custom Elements / Froala content (fix Times New Roman) */
.fr-view,
.fr-view *,
.html-container,
.html-container * {
  font-family: Barlow, sans-serif !important;
}

/* Last-resort catch-all (keeps everything consistent) */
body * {
  font-family: Barlow, sans-serif !important;
}

.global-template,
p {
  color: #000000 !important;
}

.trade-template h1,
.trade-template h2,
.trade-template .custom-v14 .btn,
.trade-template .nav-menu-btn {
  text-transform: none;
}

/* =========================
   Headings
   ========================= */
h2 {
  text-transform: uppercase !important;
  font-weight: 300;
  font-size: 2rem !important;
  font-family: Barlow;
  font
}

h1 {
  font-size: 2.5rem !important;
  text-transform: none !important;
  font-weight: 300;
}

@media (min-width: 1200px) {
  h2 {
    font-size: 2rem !important;
  }
}

/* =========================
   Lists
   ========================= */
ul li:last-child,
ol li:last-child {
  margin-bottom: 1rem;
}

li {
  list-style: disc;
  font-size: 1rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  color: #000000;
}

/* =========================
   Agenda
   ========================= */

/* ===== Agenda Wrapper ===== */
.agenda {
  width: 90%;
  margin: 0 auto;
  font-size: 1.1rem !important;
}

/* ===== Rows ===== */
.agenda-row {
  display: grid;
  grid-template-columns: 19ch 1fr; /* time | session (12 characters wide) */
}

/* ===== Cells ===== */
.agenda-row > div {
  padding: 16px !important; /* desktop */
  box-sizing: border-box;
  line-height: 1.4;
  border-bottom: 1px solid #e5e5e5 !important;
  background-color: #ffffff !important;
}

/* ===== Alternating Rows ===== */
.agenda-row:nth-child(even) > div {
  background-color: #E5ECEA !important;
}

/* ===== Time Column ===== */
.agenda-time {
  font-weight: 600;
  white-space: wrap;
}

/* =========================
   Agenda Sections + Headers
   (Headers not part of table)
   ========================= */

/* Section wrapper matches agenda width and centers */
.agenda-section {
 
  margin: 0 auto 48px auto !important; /* extra space between sections */
}

/* Header styling: larger, bold, ALL CAPS, aligned with session column */
.agenda-section .agenda-header {
  font-family: Barlow, sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;

  margin: 32px 0 16px 0 !important;

  /* Align header text to the start of session column (time col = 18%) */
  
  box-sizing: border-box;
}

/* If Bizzabo wraps header text in a <p>, remove default spacing */
.agenda-section .agenda-header p {
  margin: 0 !important;
}

/* =========================
   Mobile Behavior
   ========================= */
@media (max-width: 768px) {
  .agenda {
    width: 100%;
  }

  .agenda-row {
    grid-template-columns: 1fr;
  }

  /* Reduce padding on mobile */
  .agenda-row > div {
    padding: 8px !important;
  }

  /* Remove empty time blocks that cause extra rows */
  .agenda-time:empty {
    display: none !important;
  }

  /* Tighten spacing when time is present */
  .agenda-time {
    padding-bottom: 4px !important;
  }

  /* Section wrapper matches mobile width */
  .agenda-section {
    margin-bottom: 48px !important;
  }

  /* Header aligns left on mobile */
  .agenda-section .agenda-header {
    padding-left: 0 !important;
    margin-top: 24px !important;
  }
}








/* =========================
   Dining Experience Form Fix
   Scoped to this form only
   ========================= */

/* Field list becomes a proper 3-column layout */
.yyt .forgym-fields-holder {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  margin-left: -15px;
  margin-right: -15px;
  padding: 0 !important;
}

/* Remove default list behavior */
.yyt .forgym-fields-holder > li {
  list-style: none !important;
  width: 33.3333%;
  padding: 0 15px;
  margin: 0 0 28px 0 !important;
  box-sizing: border-box;
}

/* Neutralize the nested bootstrap column behavior inside each field */
.yyt .forgym-fields-holder > li > div,
.yyt .forgym-fields-holder > li .col-sm-4,
.yyt .forgym-fields-holder > li .col-xs-12 {
  width: 100% !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Keep each field stacked cleanly */
.yyt .forgym-fields-holder .form-group {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 0 !important;
}

/* Label styling and consistent spacing */
.yyt .forgym-fields-holder .atom-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.3 !important;
  float: none !important;
}

/* Give labels a shared height on desktop so inputs align */
@media (min-width: 768px) {
  .yyt .forgym-fields-holder .atom-label {
    min-height: 2.8em;
  }
}

/* Inputs/selects */
.yyt .forgym-fields-holder .form-control,
.yyt .forgym-fields-holder .bootstrap-select,
.yyt .forgym-fields-holder .btn-group.bootstrap-select {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* Hide the extra input if this field is really meant to be a dropdown */
.yyt .forgym-fields-holder input.form-control + select.js-state-select:not(.hide),
.yyt .forgym-fields-holder input.form-control + select.js-state-select.hide + .bootstrap-select.hide {
  margin-top: 0 !important;
}

/* Validation text */
.yyt .forgym-fields-holder .registration-error {
  display: block;
  margin-top: 8px !important;
  line-height: 1.3 !important;
}

/* Mobile: stack fields */
@media (max-width: 767px) {
  .yyt .forgym-fields-holder > li {
    width: 100%;
  }

  .yyt .forgym-fields-holder .atom-label {
    min-height: 0;
  }
}

