/* ---- Theme tokens ----
   The palette the site is recolored with each year. These are the defaults;
   the Event editor can override them per year by emitting a :root block on the
   public site (see MainLayout). Rules below reference the tokens instead of
   hard-coded hex, so a new year's colors no longer need a code change.
   Existing class names (menuBgColor2026, registerButton2026, ...) are kept —
   they are referenced from markup and stored in the database. */
:root {
  --summit-primary: #0b2a3c; /* nav bar, buttons, headings */
  --summit-accent: #c98727; /* separators, hover states, stripe */
  --summit-text: #004773; /* body text */
}

html {
  font-size: 14px;
}

/*@media (min-width: 768px) {
	html {
		font-size: 16px;
	}
}*/

/* Extra small devices (300px to 450px) */
@media only screen and (min-width: 300px) and (max-width: 449px) {
  .navBrand img {
    width: 45%;
  }

  .saveTheDate {
    font-size: 2.25rem;
    text-align: center;
  }

  .program {
    font-size: 1.125rem;
    text-align: center;
  }
}

/* Extra small devices (450px to 600px) */
@media only screen and (min-width: 450px) and (max-width: 575px) {
  .navBrand img {
    width: 45%;
  }

  .saveTheDate {
    font-size: 2.25rem;
    text-align: center;
  }

  .program {
    font-size: 1.125rem;
    text-align: center;
  }
}

/* Small devices (portrait tablets and large phones, 576px to 768px) */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .navBrand img {
    width: 45%;
  }

  .saveTheDate {
    font-size: 2.25rem;
    text-align: center;
  }

  .program {
    font-size: 1.125rem;
    text-align: center;
  }
}

/* Responsive: Portrait tablets and up */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .navBrand img {
    width: 35%;
  }

  .saveTheDate {
    font-size: 2.25rem;
    text-align: center;
  }

  .program {
    font-size: 1.125rem;
    text-align: center;
  }
}

/* Large devices (laptops/desktops, 992px to 1200px) */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .navBrand img {
    width: 25%;
  }

  .saveTheDate {
    font-size: 3rem;
    text-align: center;
  }

  .program {
    font-size: 1.5rem;
    text-align: center;
  }
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
  .navBrand img {
    width: 55%;
  }

  .turningTheValve {
    padding-top: 3.75rem;
  }

  .headerDateTimeLocation {
    padding-top: 4.5rem;
    font-size: 1.25rem;
  }

  .saveTheDate {
    font-size: 3rem;
    text-align: center;
  }

  .program {
    font-size: 1.5rem;
    text-align: center;
  }
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
  font-family: Montserrat, Tahoma, Geneva, Sans-Serif;
  color: var(--summit-text);
  background: url("/img/2024/LiquidLogicBGFade_2880x1620.png") no-repeat;
  background-size: 100% 100%;
  font-size: 1.15rem;
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.body-content {
  margin-top: 40px !important;
  padding-right: 15px;
  padding-bottom: 15px;
  padding-left: 15px;
}

.menuBgColor2024 {
  background-color: #004773
}

.menuBgColor2025 {
  background-color: #4c8a8e;
}

.menuBgColor2026 {
  background-color: var(--summit-primary);
}

.borderColor2024 {
  border-color: #32620e !important;
}

.fontBebasNeue {
  font-family: 'Bebas Neue';
}

.bodyTopPadding {
  padding-top: 87px;
}

.colorGreen2024 {
  color: #32620e;
}

.turningTheValve {
  color: #004773;
  font-family: "Bebas Neue", Tahoma;
  font-size: 45pt;
}

.abundanceForOrangeCounty {
  color: #32620e;
  font-family: "Bebas Neue", Tahoma;
  font-size: 20pt;
  margin-top: -2rem;
}

.backgroundColorBlue2024 {
  background-color: #004773;
}

.backgroundColorOrange2025 {
  background-color: var(--summit-accent);
}

.height5px {
  height: 5px;
}

.banner {
  position: relative;
  margin-top: 69px;
}

.bannerBg {
  position: relative;
  left: 0px;
  right: 0px;
  width: 100%;
}

.paddingBottom15px {
  padding-bottom: 15px;
}

.registerButton2025 {
  text-align: left;
}

  .registerButton2025 a {
    border-radius: 10px;
    background-color: transparent;
    border: 3px solid #4c8a8e;
    color: #4c8a8e;
    padding: 5px 10px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-weight: bold;
    margin: 2px 2px;
    cursor: pointer;
    font-size: x-large;
    width: 150px;
  }

    .registerButton2025 a:hover {
      border: 3px solid #c98727;
      color: #c98727;
    }

.registerButton2026 {
  text-align: left;
}

  .registerButton2026 a {
    border-radius: 10px;
    background-color: transparent;
    border: 3px solid var(--summit-primary);
    color: var(--summit-primary);
    padding: 5px 10px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-weight: bold;
    margin: 2px 2px;
    cursor: pointer;
    font-size: x-large;
    /*width: 150px;*/
  }

    .registerButton2026 a:hover {
      border: 3px solid var(--summit-accent);
      color: var(--summit-accent);
    }

.individualticket {
  font-size: 1.5rem;
  font-weight: bold;
}

.summitLinkButtons {
  border-radius: 10px;
  background-color: transparent;
  border: 3px solid #4c8a8e;
  color: #4c8a8e;
  padding: 5px 10px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-weight: bold;
  margin: 2px 2px;
  cursor: pointer;
  font-size: x-large;
  width: 235px;
}

  .summitLinkButtons:hover {
    border: 3px solid #c98727;
    color: #c98727;
  }

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

.sponsorSeparator2025 {
  background-color: var(--summit-accent);
  color: var(--summit-accent);
  width: 100%;
  height: 5px;
}

/* Safety net so a logo uploaded at full resolution can't render huge and
   dominate the row. Capping BOTH axes keeps the hand-tuned optical balance:
   square marks are limited by height, wide wordmarks by width. Every logo
   sized by hand already fits inside this box, so nothing existing changes.
   To fine-tune one logo, set its "Height" in the Sponsors editor — that emits
   an inline height and no longer needs a CSS class (the old .heightNNpx ladder
   this replaced is gone). */
.sponsor-logo {
  max-height: 120px;
  max-width: 280px;
}

/* Quill rich-text formatting classes, so admin-edited content renders the same
   outside the editor (public pages and admin previews) as inside it. */
.ql-size-small {
  font-size: 0.75em;
}

.ql-size-large {
  font-size: 1.5em;
}

.ql-size-huge {
  font-size: 2.5em;
}

.ql-font-serif {
  font-family: Georgia, "Times New Roman", serif;
}

.ql-font-monospace {
  font-family: Monaco, "Courier New", monospace;
}

.ql-align-center {
  text-align: center;
}

.ql-align-right {
  text-align: right;
}

.ql-align-justify {
  text-align: justify;
}

.ql-indent-1 {
  padding-left: 3em;
}

.ql-indent-2 {
  padding-left: 6em;
}

.ql-indent-3 {
  padding-left: 9em;
}

.ql-indent-4 {
  padding-left: 12em;
}

.ql-indent-5 {
  padding-left: 15em;
}

.ql-indent-6 {
  padding-left: 18em;
}

.ql-indent-7 {
  padding-left: 21em;
}

.ql-indent-8 {
  padding-left: 24em;
}
