/* ==========================================================================
   TABLE OF CONTENTS
   01. Fonts
   02. Base / Reset / Global HTML Elements
   03. Utility Classes (spacing, alignment, color, layout helpers)
   04. Header & Navigation — Shared
   05. Header & Navigation — Desktop
   06. Header & Navigation — Mobile
   07. Header & Navigation — Search Bar
   08. Header & Navigation — Side Menu
   09. Sliders & Banners
   10. Home Page Sections
   11. Grid & General Cards
   12. Staff
   13. Accordion
   14. Image Gallery & Parallax
   15. Articles & Local Ideas (search, filter, cards, loader)
   16. Events (list, cards, sidebar, tickets / The Events Calendar)
   17. Pagination
   18. Video & Embeds
   19. Social Section
   20. Footer
   21. Forms — General Controls
   22. Forms — Ninja Forms
   23. Forms — GiveWP / Donation Block
   24. Buttons
   25. Testimonial Slider
   26. Magazine (grid, list, view toggle)
   27. Prayer Cards & Prayer Form
   28. Pretty Checklist & Opt-In Checkboxes
   29. Your Tickets — Order Confirmation Page
   30. Spotlights
   31. Media Queries
   32. WordPress Admin Bar Header Spacing Fix
========================================================================== */
/* ==========================================================================
   01. FONTS
========================================================================== */
/* ==========================================================================
   02. BASE / RESET / GLOBAL HTML ELEMENTS
========================================================================== */

html {
  scroll-behavior: smooth;
}
body {
  position: relative;
  line-height: 25.4px;
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  background-color: #ffffff;
  color: #191919;
}
body.noscroll {
  overflow: hidden
}
/* Prevent horizontal scroll on mobile */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}
p, .table-responsive {
  font-size: 18px;
  line-height: 25.4px;
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  margin: 0 0 24px 0;
}
p:last-child {
  margin-bottom: 0;
}
p strong {}
ul {
  margin: 0 0 24px 0;
}
li {
  font-size: 18px;
  line-height: 25.4px;
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
}
small {
  line-height: 12px;
}
blockquote {
  color: #191919 !important;
  margin-top: 30px !important;
  margin-bottom: 30px !important;
  margin-left: 0px;
  padding: 15px !important;
  border-left: 5px solid #f7ab22 !important;
}
blockquote p {
  font-size: 18px;
  line-height: 25px;
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  font-style: italic !important;
  padding: 0 !important;
  margin: 0 !important;
}

blockquote p + p {
  margin-top: 24px !important;
}
h1 {
  font-size: 46px;
  line-height: 46px;
  font-family: proxima-nova, sans-serif;
  font-weight: 900;
  padding: 0;
  margin: 0 0 10px 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}
h2 {
  font-size: 38px;
  line-height: 46px;
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  padding: 0;
  margin: 0 0 20px 0;
}
h3 {
  font-size: 30px;
  line-height: 30px;
  font-family: proxima-nova, sans-serif;
  font-weight: 900;
  padding: 0;
  margin: 0 0 20px 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}
h4 {
  font-size: 26px;
  line-height: 34px;
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  padding: 0;
  margin: 0 0 20px 0;
}
h5 {
  font-size: 22px;
  line-height: 22px;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  padding: 0;
  margin: 0 0 10px 0;
  text-transform: uppercase;
}
h6 {
  font-size: 16px;
  line-height: 16px;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  padding: 0;
  margin: 0 0 20px 0;
  text-transform: uppercase;
}
hr {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
  width: 100%;
  display: block;
}
hr.form-bar {
  margin-top: 0px !important;
  border-top: 1px dashed #cccccc;
}
dl, ol, ul {
    margin-bottom: 20px;
}
legend {
  display: block;
  letter-spacing: 1px;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
  line-height: 12px;
  color: inherit;
  text-transform: uppercase !important;
}
a, a:hover, a:focus, a:active, a.active {
  outline: 0;
  text-decoration: none;
}
a, a:hover {
  color: #F2542D;
  position: relative;
  text-decoration: none; /* remove default underline */
}
.single-post p a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px; /* adjust based on font size */
  width: 0;
  height: 1px;
  background-color: #F2542D;
  transition: width 0.3s ease;
}
.single-post p a:hover::after {
  width: 100%;
}
.alignright {
  max-width: 100% !important;
  width: 100% !important;
  height: auto;
  float: right;
  margin: 5px 0px 25px 0px !important;
}
#content-page img {
  max-width: 100%;
  height: auto;
}
.flexible-blocks img {
  max-width: 100%;
  height: auto;
}
.post-thumbnail img {
  max-width: 100%;
  height: auto;
}
#scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 5px;
  background: #f7ab22;
  width: 0%;
  opacity: 0;
  transition: width 0.1s ease, opacity 0.3s ease;
  z-index: 990;
}
/* ==========================================================================
   03. UTILITY CLASSES (spacing, alignment, color, layout helpers)
========================================================================== */
/* --- Padding --- */
.padding-default-y {
  padding-top: 45px;
  padding-bottom: 45px;
}
.padding-small-y {
  padding-top: 25px;
  padding-bottom: 25px;
}
.padding-medium-y {
  padding-top: 75px;
  padding-bottom: 75px;
}
.padding-large-y {
  padding-top: 150px;
  padding-bottom: 150px;
}
.padding-default-x {
  padding-right: 15px;
  padding-left: 15px;
}
.padding-small-x {
  padding-right: 25px;
  padding-left: 25px;
}
.padding-medium-x {
  padding-right: 75px;
  padding-left: 75px;
}
.padding-large-x {
  padding-right: 150px;
  padding-left: 150px;
}
/* --- Margin helpers (these actually set padding — preserved as-is) --- */
.margin-default {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}
.margin-small {
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}
.margin-medium {
  padding-top: 75px !important;
  padding-bottom: 75px !important;
}
.margin-large {
  padding-top: 150px !important;
  padding-bottom: 150px !important;
}
/* --- Alignment --- */
.center {
  text-align: center;
}
.right {
  text-align: right;
}
.left {
  text-align: left;
}
.clear {
  clear: both;
}
.mobile-center {
  text-align: center;
}
.mobile-center-right {
  text-align: center;
}
/* --- Color helpers --- */
.light-text {
  color: #ffffff !important;
}
.dark-text {
  color: #000000 !important;
}
.text-white {
  color: #ffffff !important;
}
.text-white p a {
  color: #ffffff !important;
  position: relative;
  text-decoration: none; /* remove default underline */
}
.text-white blockquote,
.text-white blockquote p {
	color: #fff;
}
.text-black {
  color: #191919 !important;
}

/* --- Layout helpers --- */
.d-flex {
  display: -ms-flexbox !important;
  display: flex !important;
}
.flex-column {
  -ms-flex-direction: column !important;
  flex-direction: column !important;
}
/* --- Tag --- */
.tag {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 40px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #ffffff;
}
/* --- Borders --- */
.border {
  border-top: #eaeaea 1px solid;
}
.top-border {
  font-size: 0.95rem;
  border-top: 1px solid #dddddd;
  padding-top: 35px;
}
/* --- Full-width row backgrounds --- */
.full-row {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  display: block;
}
.full-row.white {
  background-color: #ffffff;
}
.full-row.white-transparent {
  background-color: rgba(255, 255, 255, 1);
}
.full-row.blue {
  background-color: #004a98;
  color: #ffffff;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
}
.full-row.light-blue {
  background-color: #0074c8;
}
.full-row.dark-blue {
  background-color: #003063;
}
.full-row.di-dark-blue {
  background-color: #112d85;
}
.full-row.gray {
  background-color: #eaeaea;
}
.full-row.light-gray {
  background-color: #f5f5f5;
}
.full-row.yellow {
  background-color: #f7ab22;
}
full-row.slider {
  padding: 95px 0 0 0;
}
/* --- Bootstrap grid overrides --- */
.row.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.row.no-gutters > [class^="col-"], .row.no-gutters > [class*=" col-"] {
  padding-right: 0;
  padding-left: 0;
}
.container-fluid.no-padding {
  padding-right: 0;
  padding-left: 0;
}
/* --- Article/post meta badges --- */
.category-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 35px;
  font-size: 0.95rem;
  border-bottom: 1px solid #dddddd;
  padding-bottom: 35px;
}
.category-badge {
  background-color: #0074c9;
  color: #fff;
  padding: 1px 10px;
  border-radius: 3px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
}
.read-time {
  color: #666;
  font-size: 1rem;
}
.wysiwyg-image-copy {
  display: flex;
  align-items: center;
  gap: 30px;
}

.wysiwyg-image-copy img {
  flex: 0 0 auto;
  margin: 0;
}

.wysiwyg-image-copy-content {
  flex: 1;
}

.wysiwyg-image-copy-content p:last-child {
  margin-bottom: 0;
}
/* --- Share row --- */
.share-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 35px;
  border-top: 1px solid #dddddd;
  padding-top: 35px;
}
.share-row h5 {
  margin: 0;
  font-size: 1rem;
  white-space: nowrap;
  color: #000000 !important;
}
.circle-share-buttons {
  display: flex;
  gap: 12px;
}
.circle-share-buttons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #F2542D;
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.circle-share-buttons a:hover {
  background-color: #d9411b;
}
.circle-share-buttons i {
  font-size: 16px;
}
/* --- Google Maps embed --- */
.google-maps {
  position: relative;
  padding-bottom: 75%; /* This is the aspect ratio */
  height: 0;
  overflow: hidden;
}
.google-maps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
/* --- Generic iframe embed --- */
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.embed-container iframe, .embed-container object, .embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* --- View-all link --- */
.view-all-wrapper {
  text-align: center;
}
a.view-all {
  text-transform: uppercase;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 1px;
  text-decoration: none;
  color: #F2542D;
}
a.view-all:hover {
  color: #d9411b;
}
.banner-content a.view-all {
  text-transform: uppercase;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 1px;
  text-decoration: none;
  color: #ffffff;
}
.banner-content a.view-all:hover {
  color: #ffffff;
}
/* --- Article page wrapper --- */
#article-page {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  display: block;
}
.single-article-hero-image {
  padding-top: 125px;
  padding-bottom: 125px;
  padding-left: 0px;
  padding-right: 0px;
}
/* --- Misc --- */
.js-filters-reset {
  text-align: right;
}
.reset {
  padding: 10px 0;
}
.thank-you-box {
  background-color: #ffe9c1;
  padding: 35px 40px 40px 40px;
}
.bootstrap-select .dropdown-toggle .filter-option-inner-inner {
  font-style: italic !important;
}
.bootstrap-select > .dropdown-toggle {
  background-color: #ffffff;
  font-size: 16px;
  line-height: 40px;
  white-space: nowrap;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  user-select: none;
  background-image: none;
  padding: 6px 15px;
  border-width: 0px;
  border-style: solid;
  border-color: transparent;
  border-image: initial;
  border-radius: 0px;
}
.bootstrap-select > .dropdown-toggle:hover {
  background-color: #f5f5f5;
  color: #999999;
  text-decoration: none !important;
}
/* ==========================================================================
   04. HEADER & NAVIGATION — SHARED
========================================================================== */
#site-header {
  position: fixed;
  height: 120px;
  top: 0;
  width: 100%;
  z-index: 999;
  transition: all .5s ease;
}
#site-header.hide {
  top: -140px;
}
#di-site-header {
  position: fixed;
  height: 90px;
  top: 0;
  width: 100%;
  z-index: 999;
  transition: all .5s ease;
}
#di-site-header.hide {
  top: -110px;
}
.header-fix {
  width: 100%;
  display: block;
  height: 130px;
}
.di-header-fix {
  width: 100%;
  display: block;
  height: 90px;
}
/* Upper navigation bar */
#top-header {
  width: 100%;
  display: block;
  position: fixed;
  z-index: 999;
}
ul#upper-navigation {
  list-style: none;
  display: block;
  float: right;
  padding: 0;
  margin: 0;
}
ul#upper-navigation li {
  list-style: none;
  display: inline-block;
  padding: 0;
  margin: 0;
}
ul#upper-navigation li a {
  color: #ffffff;
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 40px;
  padding: 0;
  margin: 0 0 0 20px;
  text-decoration: none;
}
ul#upper-navigation li a:hover {
  color: #0074c8;
}
ul#upper-navigation li.donate a {
  color: #ffffff;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: #F2542D;
  padding: 13px 13px 13px 13px;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
}
ul#upper-navigation li.donate a:hover {
  color: #ffffff;
  background: #d9411b;
}
#upper-navigation .menu-cart > a, #upper-navigation .menu-cart > a:hover {
  text-decoration: none !important;
  border: none !important;
}
#upper-navigation .menu-cart > a::after {
  display: none !important;
}
#upper-navigation .menu-cart > a {
  display: inline-flex;
  align-items: center;
  font-size: 18px;
}
/* ==========================================================================
   05. HEADER & NAVIGATION — DESKTOP
========================================================================== */
#desktop-header {
  width: 100%;
  display: none;
  position: fixed;
  z-index: 999;
  margin-top: 40px;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
}
#di-site-header #desktop-header {
  width: 100%;
  display: none;
  position: fixed;
  z-index: 999;
  margin-top: 0px;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
}
.site-brand, .di-site-brand {
  padding: 20px 0;
}
.site-brand img {
  width: 180px;
  height: auto;
  display: block;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
}
.di-site-brand img {
  width: 250px;
  height: auto;
  display: block;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
}
/* =========================================================
   PRIMARY NAVIGATION + MEGA MENU
========================================================= */
#site-header, #desktop-header, #desktop-header.navigation {
  overflow: visible !important;
}
#desktop-header {
  position: relative !important;
  z-index: 9999;
}
#desktop-header .full-row, #desktop-header .full-row.white-transparent, #desktop-header .container, #desktop-header .row, #desktop-header .col-md-3, #desktop-header .col-md-9, #site-navigation {
  position: static !important;
  overflow: visible !important;
}
#site-navigation {
  font-family: proxima-nova, sans-serif;
}
/* =========================================================
   PRIMARY MENU
========================================================= */
ul#menu-primary {
  list-style: none;
  font-family: proxima-nova, sans-serif;
  text-transform: uppercase;
  padding: 0;
  margin: 0;
  display: block;
  text-align: right;
  float: right;
  position: static !important;
  overflow: visible !important;
}
ul#menu-primary > li {
  float: left;
  position: relative;
  margin: 0;
  padding: 0;
}
ul#menu-primary > li.gsc-has-mega-menu, ul#menu-primary > li.menu-item-has-mega-menu {
  position: static !important;
}
ul#menu-primary > li > a {
  color: #191919;
  font-size: 15px;
  font-weight: 700 !important;
  letter-spacing: 0px;
  display: block;
  line-height: 90px;
  text-decoration: none;
  margin: 0;
  padding: 0 15px;
  transition: color 0.25s ease, background-color 0.25s ease;
}
ul#menu-primary > li.current-menu-item > a, ul#menu-primary > li.current-menu-ancestor > a, ul#menu-primary > li > a:hover, ul#menu-primary > li > a:focus {
  color: #0074c8;
  text-decoration: none;
}
/* =========================================================
   SEARCH ICON
========================================================= */
ul#menu-primary > li#search-toggle {
  float: left;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  padding-left: 14px;
  cursor: pointer;
}
ul#menu-primary > li#search-toggle span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* =========================================================
   BOM BUTTON NAV ITEM
========================================================= */
ul#menu-primary > li.bom-link {
  position: relative;
  z-index: 100;
}
ul#menu-primary > li.bom-link > a {
  color: #ffffff;
  background-color: #243a94;
  padding: 0 20px;
}
ul#menu-primary > li.bom-link > a:hover, ul#menu-primary > li.bom-link > a:focus {
  color: #ffffff;
  background-color: #243a94;
}
ul#menu-primary > li.bom-link > a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #243a94;
  height: 100%;
  width: 1000vw;
  z-index: -1;
}
/* =========================================================
   STANDARD DROPDOWN SUB-MENUS
   Only for non-mega menu items
========================================================= */
ul#menu-primary > li:not(.gsc-has-mega-menu):not(.menu-item-has-mega-menu):hover > ul.sub-menu, ul#menu-primary > li:not(.gsc-has-mega-menu):not(.menu-item-has-mega-menu):focus-within > ul.sub-menu {
  display: block;
}
ul#menu-primary > li:not(.gsc-has-mega-menu):not(.menu-item-has-mega-menu) > ul.sub-menu {
  position: absolute;
  z-index: 999999;
  list-style: none;
  padding: 10px 0 !important;
  margin: 0;
  left: -10px;
  top: 91px;
  display: none;
  width: 200px;
  background: #004a98;
  word-wrap: break-word;
  white-space: normal;
}
ul#menu-primary > li:not(.gsc-has-mega-menu):not(.menu-item-has-mega-menu) > ul.sub-menu > li {
  width: 100%;
  text-align: left;
  float: none;
  position: relative;
  margin: 0;
  padding: 0;
}
ul#menu-primary > li:not(.gsc-has-mega-menu):not(.menu-item-has-mega-menu) > ul.sub-menu > li > a {
  color: #ffffff;
  font-family: proxima-nova, sans-serif;
  font-weight: 700 !important;
  text-transform: uppercase;
  font-size: 13px;
  line-height: 20px;
  padding: 8px 20px;
  display: block;
  letter-spacing: 1px;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease;
}
ul#menu-primary > li:not(.gsc-has-mega-menu):not(.menu-item-has-mega-menu) > ul.sub-menu > li > a:hover, ul#menu-primary > li:not(.gsc-has-mega-menu):not(.menu-item-has-mega-menu) > ul.sub-menu > li > a:focus {
  color: #ffffff;
  background-color: #0074c8;
  text-decoration: none;
}
/* =========================================================
   MEGA MENU SHELL
   Full browser width, attached to #desktop-header
========================================================= */
#desktop-header ul#menu-primary .gsc-mega-menu, #desktop-header ul#menu-primary .mega-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  background: #ffffff !important;
  border-top: 1px solid #e1e1e1;
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.08);
  z-index: 999999 !important;
  display: block !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  text-align: left;
  text-transform: none;
  transition: opacity 180ms ease, visibility 180ms ease;
}
/* Clear pseudo backgrounds by default */
#desktop-header ul#menu-primary .gsc-mega-menu::before, #desktop-header ul#menu-primary .mega-menu::before {
  display: none;
  content: none;
}
/* =========================================================
   MEGA MENU OPEN STATE
========================================================= */
#desktop-header ul#menu-primary > li.gsc-has-mega-menu:hover > .gsc-mega-menu, #desktop-header ul#menu-primary > li.gsc-has-mega-menu:focus-within > .gsc-mega-menu, #desktop-header ul#menu-primary > li.gsc-has-mega-menu.is-mega-open > .gsc-mega-menu, #desktop-header ul#menu-primary > li.menu-item-has-mega-menu:hover > .gsc-mega-menu, #desktop-header ul#menu-primary > li.menu-item-has-mega-menu:focus-within > .gsc-mega-menu, #desktop-header ul#menu-primary > li.menu-item-has-mega-menu.is-mega-open > .gsc-mega-menu, #desktop-header ul#menu-primary > li.gsc-has-mega-menu:hover > .mega-menu, #desktop-header ul#menu-primary > li.gsc-has-mega-menu:focus-within > .mega-menu, #desktop-header ul#menu-primary > li.gsc-has-mega-menu.is-mega-open > .mega-menu, #desktop-header ul#menu-primary > li.menu-item-has-mega-menu:hover > .mega-menu, #desktop-header ul#menu-primary > li.menu-item-has-mega-menu:focus-within > .mega-menu, #desktop-header ul#menu-primary > li.menu-item-has-mega-menu.is-mega-open > .mega-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
/* =========================================================
   MEGA MENU INNER
========================================================= */
#desktop-header ul#menu-primary .gsc-mega-menu__inner, #desktop-header ul#menu-primary .mega-menu__inner {
  position: relative;
  z-index: 2;
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 50px 0px !important;
  display: grid !important;
  gap: 0 !important;
  align-items: stretch;
  box-sizing: border-box !important;
}
#desktop-header ul#menu-primary .gsc-mega-menu__inner::before, #desktop-header ul#menu-primary .gsc-mega-menu__inner::after, #desktop-header ul#menu-primary .mega-menu__inner::before, #desktop-header ul#menu-primary .mega-menu__inner::after {
  display: none !important;
  content: none !important;
}
/* =========================================================
   COLUMN LAYOUTS
========================================================= */
#desktop-header ul#menu-primary .gsc-mega-menu--2 .gsc-mega-menu__inner, #desktop-header ul#menu-primary .mega-menu--2 .mega-menu__inner {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
#desktop-header ul#menu-primary .gsc-mega-menu--3 .gsc-mega-menu__inner, #desktop-header ul#menu-primary .mega-menu--3 .mega-menu__inner {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
#desktop-header ul#menu-primary .gsc-mega-menu--4 .gsc-mega-menu__inner, #desktop-header ul#menu-primary .mega-menu--4 .mega-menu__inner {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
/* =========================================================
   COLUMN BASE + DIVIDERS
   Equal content widths across all columns
========================================================= */
#desktop-header ul#menu-primary .gsc-mega-menu *, #desktop-header ul#menu-primary .mega-menu * {
  float: none !important;
  text-align: left;
  box-sizing: border-box;
}
/* Do not remove first/last padding.
   Keeping equal padding makes feature image widths equal. */
#desktop-header ul#menu-primary .gsc-mega-menu__column, #desktop-header ul#menu-primary .mega-menu__column {
  min-width: 0 !important;
  max-width: none !important;
  width: 100%;
  height: 100%;
  position: relative;
  margin: 0;
  padding: 0 32px;
  border-left: 0;
}
/* Default divider between columns */
#desktop-header ul#menu-primary .gsc-mega-menu__column + .gsc-mega-menu__column, #desktop-header ul#menu-primary .mega-menu__column + .mega-menu__column {
  border-left: 1px solid #eaeaea;
}
/* Remove divider before the last column only when it is the only feature column */
/* 2-column: first normal, last feature */
#desktop-header ul#menu-primary .gsc-mega-menu--2 .gsc-mega-menu__inner:has(> .gsc-mega-menu__column:nth-child(1):not(.gsc-mega-menu__column--feature)):has(> .gsc-mega-menu__column:nth-child(2).gsc-mega-menu__column--feature) > .gsc-mega-menu__column:nth-child(2), #desktop-header ul#menu-primary .mega-menu--2 .mega-menu__inner:has(> .mega-menu__column:nth-child(1):not(.mega-menu__column--feature)):has(> .mega-menu__column:nth-child(2).mega-menu__column--feature) > .mega-menu__column:nth-child(2) {
  border-left: 0 !important;
}
/* 3-column: first two normal, last feature */
#desktop-header ul#menu-primary .gsc-mega-menu--3 .gsc-mega-menu__inner:has(> .gsc-mega-menu__column:nth-child(1):not(.gsc-mega-menu__column--feature)):has(> .gsc-mega-menu__column:nth-child(2):not(.gsc-mega-menu__column--feature)):has(> .gsc-mega-menu__column:nth-child(3).gsc-mega-menu__column--feature) > .gsc-mega-menu__column:nth-child(3), #desktop-header ul#menu-primary .mega-menu--3 .mega-menu__inner:has(> .mega-menu__column:nth-child(1):not(.mega-menu__column--feature)):has(> .mega-menu__column:nth-child(2):not(.mega-menu__column--feature)):has(> .mega-menu__column:nth-child(3).mega-menu__column--feature) > .mega-menu__column:nth-child(3) {
  border-left: 0 !important;
}
/* 4-column: first three normal, last feature */
#desktop-header ul#menu-primary .gsc-mega-menu--4 .gsc-mega-menu__inner:has(> .gsc-mega-menu__column:nth-child(1):not(.gsc-mega-menu__column--feature)):has(> .gsc-mega-menu__column:nth-child(2):not(.gsc-mega-menu__column--feature)):has(> .gsc-mega-menu__column:nth-child(3):not(.gsc-mega-menu__column--feature)):has(> .gsc-mega-menu__column:nth-child(4).gsc-mega-menu__column--feature) > .gsc-mega-menu__column:nth-child(4), #desktop-header ul#menu-primary .mega-menu--4 .mega-menu__inner:has(> .mega-menu__column:nth-child(1):not(.mega-menu__column--feature)):has(> .mega-menu__column:nth-child(2):not(.mega-menu__column--feature)):has(> .mega-menu__column:nth-child(3):not(.mega-menu__column--feature)):has(> .mega-menu__column:nth-child(4).mega-menu__column--feature) > .mega-menu__column:nth-child(4) {
  border-left: 0 !important;
}
/* =========================================================
   LINK COLUMN HEADINGS
========================================================= */
#desktop-header ul#menu-primary .gsc-mega-menu__heading, #desktop-header ul#menu-primary .mega-menu__heading {
  font-family: proxima-nova, sans-serif;
  color: #0074c8;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px;
  text-transform: uppercase;
  margin: 0 0 10px 10px;
  padding: 0;
  letter-spacing: 0 !important;
}
/* =========================================================
   LINK COLUMN LINKS
========================================================= */
#desktop-header ul#menu-primary .gsc-mega-menu__links, #desktop-header ul#menu-primary .mega-menu__links {
  display: grid;
  gap: 0px;
  list-style: none;
  margin: 0;
  padding: 0;
}
#desktop-header ul#menu-primary .gsc-mega-menu__links li, #desktop-header ul#menu-primary .mega-menu__links li {
  width: auto;
  margin: 0;
  padding: 0;
  position: static;
}
#desktop-header ul#menu-primary .gsc-mega-menu__links a, #desktop-header ul#menu-primary .mega-menu__links a {
  display: block;
  width: 100%;
  color: #191919;
  font-family: proxima-nova, sans-serif;
  font-size: 15px;
  font-weight: 400 !important;
  line-height: 20px;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  padding: 8px 10px;
  margin: 0;
  background: transparent;
  transition: color 0.2s ease, background-color 0.2s ease;
}
#desktop-header ul#menu-primary .gsc-mega-menu__links a:hover, #desktop-header ul#menu-primary .gsc-mega-menu__links a:focus, #desktop-header ul#menu-primary .mega-menu__links a:hover, #desktop-header ul#menu-primary .mega-menu__links a:focus {
  color: #ffffff;
  background-color: #0074c8;
  text-decoration: none;
}
/* =========================================================
   UPCOMING EVENTS COLUMN
   Uses regular link hover behavior
========================================================= */
#desktop-header ul#menu-primary .gsc-mega-menu__events, #desktop-header ul#menu-primary .mega-menu__events {
  display: grid;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
#desktop-header ul#menu-primary .gsc-mega-menu__event, #desktop-header ul#menu-primary .mega-menu__event {
  margin: 0;
  padding: 0;
}
#desktop-header ul#menu-primary .gsc-mega-menu__event-link, #desktop-header ul#menu-primary .mega-menu__event-link {
  display: block;
  width: 100%;
  color: #191919;
  font-family: proxima-nova, sans-serif;
  text-decoration: none;
  text-transform: none;
  padding: 8px 10px;
  margin: 0;
  background: transparent;
  transition: color 0.2s ease, background-color 0.2s ease;
}
#desktop-header ul#menu-primary .gsc-mega-menu__event-link:hover, #desktop-header ul#menu-primary .gsc-mega-menu__event-link:focus, #desktop-header ul#menu-primary .mega-menu__event-link:hover, #desktop-header ul#menu-primary .mega-menu__event-link:focus {
  color: #ffffff;
  background-color: #0074c8;
  text-decoration: none;
}
#desktop-header ul#menu-primary .gsc-mega-menu__event-date, #desktop-header ul#menu-primary .mega-menu__event-date {
  display: block;
  color: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0 0 5px;
}
#desktop-header ul#menu-primary .gsc-mega-menu__event-title, #desktop-header ul#menu-primary .mega-menu__event-title {
  display: block;
  color: inherit;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none;
  margin: 0;
}
.gsc-mega-menu__event-link:hover, .gsc-mega-menu__event-link:focus-visible, .gsc-mega-menu__article-link:hover, .gsc-mega-menu__article-link:focus-visible {
  color: #fff;
  background-color: #0074c8;
  text-decoration: none;
}
/* =========================================================
   FEATURE BACKGROUND
   Only when the last column is the sole feature column.
   Background begins at the exact feature-column boundary
   and extends through the right edge of the mega menu.
========================================================= */

/* Feature column is the last column AND the only feature column */
#desktop-header ul#menu-primary .gsc-mega-menu__inner:has(> .gsc-mega-menu__column--feature:last-child):not(:has(> .gsc-mega-menu__column--feature:not(:last-child))) > .gsc-mega-menu__column--feature:last-child,
#desktop-header ul#menu-primary .mega-menu__inner:has(> .mega-menu__column--feature:last-child):not(:has(> .mega-menu__column--feature:not(:last-child))) > .mega-menu__column--feature:last-child {
  position: relative;
  z-index: 1;
}

/* Extend beige background through the right side
   and through the 50px top/bottom mega-menu padding */
#desktop-header ul#menu-primary .gsc-mega-menu__inner:has(> .gsc-mega-menu__column--feature:last-child):not(:has(> .gsc-mega-menu__column--feature:not(:last-child))) > .gsc-mega-menu__column--feature:last-child::before,
#desktop-header ul#menu-primary .mega-menu__inner:has(> .mega-menu__column--feature:last-child):not(:has(> .mega-menu__column--feature:not(:last-child))) > .mega-menu__column--feature:last-child::before {
  content: "";
  position: absolute;
  top: -50px;
  bottom: -50px;
  left: 0;
  width: 100vw;
  background: #fff9f2;
  z-index: -1;
  pointer-events: none;
}
/* =========================================================
   FEATURE CARD
   Equal image width/height and aligned CTAs
========================================================= */
#desktop-header ul#menu-primary .gsc-mega-menu__column--feature, #desktop-header ul#menu-primary .mega-menu__column--feature {
  background: transparent;
}
/* Make feature cards fill the full equal-width/equal-height column */
#desktop-header ul#menu-primary .gsc-mega-menu__feature, #desktop-header ul#menu-primary .mega-menu__feature {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
}
/* Fixed height keeps all feature images identical.
   Width stays equal because all columns keep the same padding. */
#desktop-header ul#menu-primary .gsc-mega-menu__feature-image, #desktop-header ul#menu-primary .mega-menu__feature-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 120px;
  object-fit: cover;
  object-position: top center;
  border-radius: 5px;
  margin: 0 0 22px;
}
#desktop-header ul#menu-primary .gsc-mega-menu__feature-heading, #desktop-header ul#menu-primary .mega-menu__feature-heading, #desktop-header ul#menu-primary .gsc-mega-menu__feature-title, #desktop-header ul#menu-primary .mega-menu__feature-title {
  color: #191919;
  font-family: proxima-nova, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 17px;
  text-transform: none;
  letter-spacing: 0;
  padding: 0;
  margin: 0 0 10px;
}
#desktop-header ul#menu-primary .gsc-mega-menu__feature-description, #desktop-header ul#menu-primary .mega-menu__feature-description {
  text-transform: none;
  margin: 0 0 18px;
  padding: 0;
}
#desktop-header ul#menu-primary .gsc-mega-menu__feature-description p, #desktop-header ul#menu-primary .mega-menu__feature-description p {
  margin: 0;
  color: #191919;
  font-family: proxima-nova, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0;
}
/* Align CTAs across feature cards */
#desktop-header ul#menu-primary .gsc-mega-menu__feature-cta, #desktop-header ul#menu-primary .mega-menu__feature-cta, #desktop-header ul#menu-primary .gsc-mega-menu__feature-link, #desktop-header ul#menu-primary .mega-menu__feature-link {
  display: inline-flex;
  width: auto;
  align-items: center;
  align-self: flex-start;
  color: #f2542d;
  font-family: proxima-nova, sans-serif;
  font-size: 16px;
  font-weight: 700 !important;
  line-height: 16px;
  letter-spacing: 1px;
  text-transform: uppercase !important;
  text-decoration: none;
  padding: 0;
  margin: auto 0 0;
  background: transparent;
}
#desktop-header ul#menu-primary .gsc-mega-menu__feature-cta::after, #desktop-header ul#menu-primary .mega-menu__feature-cta::after, #desktop-header ul#menu-primary .gsc-mega-menu__feature-link::after, #desktop-header ul#menu-primary .mega-menu__feature-link::after {
  display: none !important;
  content: none !important;
}
#desktop-header ul#menu-primary .gsc-mega-menu__feature-cta:hover, #desktop-header ul#menu-primary .gsc-mega-menu__feature-cta:focus, #desktop-header ul#menu-primary .mega-menu__feature-cta:hover, #desktop-header ul#menu-primary .mega-menu__feature-cta:focus, #desktop-header ul#menu-primary .gsc-mega-menu__feature-link:hover, #desktop-header ul#menu-primary .gsc-mega-menu__feature-link:focus, #desktop-header ul#menu-primary .mega-menu__feature-link:hover, #desktop-header ul#menu-primary .mega-menu__feature-link:focus {
  color: #d9411b;
  background: transparent;
  text-decoration: none;
}
/* =========================================================
   MOBILE MENU + MEGA MENU FINAL
   Uses #menu-mobile
========================================================= */
@media (max-width: 1199px) {
  #menu-mobile {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 0 20px 0 !important;
    width: 100%;
    font-family: proxima-nova, sans-serif !important;
    text-transform: uppercase;
    background-color: #ffffff;
  }
  #menu-mobile ul, #menu-mobile li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #menu-mobile > li {
    position: relative !important;
    border-bottom: 1px solid #eaeaea !important;
  }
  #menu-mobile > li:last-of-type {
    border-bottom: 0 !important;
  }
  #menu-mobile > li > a {
    display: block !important;
    position: relative !important;
    color: #191919 !important;
    background: #ffffff !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 15px 72px 15px 30px !important;
  }
  #menu-mobile > li > a:hover, #menu-mobile > li > a:focus, #menu-mobile > li.current-menu-item > a, #menu-mobile > li.current-menu-ancestor > a, #menu-mobile > li.is-mega-open > a {
    color: #191919 !important;
    background: #ffffff !important;
    text-decoration: none !important;
  }
  /* Right-aligned plus/minus */
  #menu-mobile > li.gsc-has-mega-menu > a::after, #menu-mobile > li.menu-item-has-mega-menu > a::after, #menu-mobile > li.menu-item-has-children > a::after {
    content: "\f078"; /* chevron-down */
    font-family: "Font Awesome 7 Pro";
    font-weight: 400; /* classic regular */
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    color: #191919;
    font-size: 14px;
    line-height: 1;
  }
  #menu-mobile > li.gsc-has-mega-menu.is-mega-open > a::after, #menu-mobile > li.menu-item-has-mega-menu.is-mega-open > a::after, #menu-mobile > li.menu-item-has-children.is-mega-open > a::after {
    content: "\f077"; /* chevron-up */
  }
  /* Hide any theme/plugin duplicate toggle elements */
  #menu-mobile > li::after, #menu-mobile .menu-toggle, #menu-mobile .submenu-toggle, #menu-mobile .dropdown-toggle, #menu-mobile .toggle, #menu-mobile .plus, #menu-mobile .minus, #menu-mobile .submenu-indicator, #menu-mobile .dropdown-indicator {
    display: none !important;
    content: none !important;
  }
  /* Closed state */
  #menu-mobile .sub-menu, #menu-mobile .gsc-mega-menu, #menu-mobile .mega-menu {
    display: none;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  /* Open state */
  #menu-mobile > li.is-mega-open > .sub-menu, #menu-mobile > li.is-mega-open > .gsc-mega-menu, #menu-mobile > li.is-mega-open > .mega-menu {
    display: block;
  }
  #menu-mobile .gsc-mega-menu::before, #menu-mobile .mega-menu::before, #menu-mobile .gsc-mega-menu__inner::before, #menu-mobile .mega-menu__inner::before, #menu-mobile .gsc-mega-menu__inner::after, #menu-mobile .mega-menu__inner::after {
    display: none !important;
    content: none !important;
  }
  #menu-mobile .gsc-mega-menu__inner, #menu-mobile .mega-menu__inner {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }
  #menu-mobile .gsc-mega-menu__column, #menu-mobile .mega-menu__column {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 15px 30px !important;
    background: #ffffff !important;
    border: 0 !important;
  }
  #menu-mobile .gsc-mega-menu__feature-image, #menu-mobile .mega-menu__feature-image {
    display: none !important;
  }
  #menu-mobile .gsc-mega-menu__heading, #menu-mobile .mega-menu__heading {
    color: #0074c8 !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.75px !important;
    text-transform: uppercase !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
  }
  #menu-mobile .gsc-mega-menu__links, #menu-mobile .mega-menu__links, #menu-mobile .gsc-mega-menu__events, #menu-mobile .mega-menu__events, #menu-mobile .gsc-mega-menu__articles, #menu-mobile .mega-menu__articles {
    display: block !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #menu-mobile .gsc-mega-menu__links li, #menu-mobile .mega-menu__links li, #menu-mobile .gsc-mega-menu__event, #menu-mobile .mega-menu__event, #menu-mobile .gsc-mega-menu__article, #menu-mobile .mega-menu__article {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1px;
  }
  #menu-mobile .gsc-mega-menu__links a, #menu-mobile .mega-menu__links a, #menu-mobile .gsc-mega-menu__event-link, #menu-mobile .mega-menu__event-link, #menu-mobile .gsc-mega-menu__article-link, #menu-mobile .mega-menu__article-link, #menu-mobile .sub-menu li a {
    display: block !important;
    width: 100% !important;
    color: #191919 !important;
    background: transparent !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    padding: 8px 0 !important;
    margin: 0 !important;
  }
  #menu-mobile .gsc-mega-menu__links a:hover, #menu-mobile .gsc-mega-menu__links a:focus, #menu-mobile .mega-menu__links a:hover, #menu-mobile .mega-menu__links a:focus, #menu-mobile .gsc-mega-menu__event-link:hover, #menu-mobile .gsc-mega-menu__event-link:focus, #menu-mobile .mega-menu__event-link:hover, #menu-mobile .mega-menu__event-link:focus, #menu-mobile .gsc-mega-menu__article-link:hover, #menu-mobile .gsc-mega-menu__article-link:focus, #menu-mobile .mega-menu__article-link:hover, #menu-mobile .mega-menu__article-link:focus, #menu-mobile .sub-menu li a:hover, #menu-mobile .sub-menu li a:focus {
    color: #0074c8 !important;
    background: transparent !important;
    text-decoration: none !important;
  }
  #menu-mobile .gsc-mega-menu__event-date, #menu-mobile .mega-menu__event-date, #menu-mobile .gsc-mega-menu__article-date, #menu-mobile .mega-menu__article-date {
    display: block !important;
    color: #191919 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.75px !important;
    text-transform: uppercase !important;
    margin: 0 0 4px !important;
  }
  #menu-mobile .gsc-mega-menu__event-title, #menu-mobile .mega-menu__event-title, #menu-mobile .gsc-mega-menu__article-title, #menu-mobile .mega-menu__article-title {
    color: #191919 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 !important;
  }
  #menu-mobile .gsc-mega-menu__feature, #menu-mobile .mega-menu__feature {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }
  #menu-mobile .gsc-mega-menu__feature-heading, #menu-mobile .mega-menu__feature-heading, #menu-mobile .gsc-mega-menu__feature-title, #menu-mobile .mega-menu__feature-title {
    color: #191919 !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
  }
  #menu-mobile .gsc-mega-menu__feature-description, #menu-mobile .mega-menu__feature-description, #menu-mobile .gsc-mega-menu__feature-description p, #menu-mobile .mega-menu__feature-description p {
    color: #191919 !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
  }
  #menu-mobile .gsc-mega-menu__feature-cta, #menu-mobile .mega-menu__feature-cta, #menu-mobile .gsc-mega-menu__feature-link, #menu-mobile .mega-menu__feature-link {
    display: inline-flex !important;
    color: #f2542d !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
  }
}
@media (max-width: 991px) {
  #menu-mobile .gsc-mega-menu__links a, #menu-mobile .mega-menu__links a, #menu-mobile .gsc-mega-menu__event-link, #menu-mobile .mega-menu__event-link, #menu-mobile .gsc-mega-menu__article-link, #menu-mobile .mega-menu__article-link {
    display: block !important;
    width: 100% !important;
    color: #191919 !important;
    background: transparent !important;
    padding: 6px 14px !important;
    margin-left: -14px !important;
    margin-right: -14px !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
  }
  #menu-mobile .gsc-mega-menu__links a:hover, #menu-mobile .gsc-mega-menu__links a:focus, #menu-mobile .mega-menu__links a:hover, #menu-mobile .mega-menu__links a:focus, #menu-mobile .gsc-mega-menu__event-link:hover, #menu-mobile .gsc-mega-menu__event-link:focus, #menu-mobile .mega-menu__event-link:hover, #menu-mobile .mega-menu__event-link:focus, #menu-mobile .gsc-mega-menu__article-link:hover, #menu-mobile .gsc-mega-menu__article-link:focus, #menu-mobile .mega-menu__article-link:hover, #menu-mobile .mega-menu__article-link:focus {
    color: #ffffff !important;
    background-color: #0074c8 !important;
    text-decoration: none !important;
  }
  #menu-mobile .gsc-mega-menu__event-link:hover *, #menu-mobile .mega-menu__event-link:hover *, #menu-mobile .gsc-mega-menu__article-link:hover *, #menu-mobile .mega-menu__article-link:hover * {
    color: #ffffff !important;
  }
}
/* ==========================================================================
   06. HEADER & NAVIGATION — MOBILE
========================================================================== */
#mobile-header {
  width: 100%;
  display: block;
  position: fixed;
  z-index: 999;
  margin-top: 40px;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
}
#di-site-header #mobile-header {
  width: 100%;
  display: block;
  position: fixed;
  z-index: 999;
  margin-top: 0px;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
}
.site-brand-mobile {
  width: 200px;
  padding: 20px 0;
  height: auto;
  display: block;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
}
/* Hamburger toggle */
#mobile-menu-toggle {
  display: block;
  cursor: pointer;
  padding: 35px 0;
  margin: 0;
  height: 95px;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
}
#mobile-menu-toggle div {
  width: 30px;
  margin: 0 auto;
  height: 95px;
  position: relative;
}
#mobile-menu-toggle span {
  display: block;
  width: 30px;
  height: 4px;
  border-radius: 10px;
  background: #191919;
  position: absolute;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
  -webkit-transform-origin: center;
  -moz-transform-origin: center;
  transform-origin: center;
}
#mobile-menu-toggle span.top {
  top: 0px;
  width: 30px;
}
#mobile-menu-toggle span.middle {
  top: 10px;
  width: 40px;
}
#mobile-menu-toggle span.bottom {
  top: 20px;
  width: 20px;
}
#mobile-menu-toggle.menu-is-active span {
  -webkit-transition: -webkit-transform 0.5s ease-in-out 0.3s, top 0.25s ease-in-out, opacity 0.25s ease-in-out;
  -moz-transition: -moz-transform 0.5s ease-in-out 0.3s, top 0.25s ease-in-out, opacity 0.25s ease-in-out;
  transition: transform 0.5s ease-in-out 0.3s, top 0.25s ease-in-out, opacity 0.25s ease-in-out;
  color: #191919;
}
#mobile-menu-toggle.menu-is-active {
  -webkit-transition: -webkit-transform 0.5s ease-in-out 0.3s, top 0.25s ease-in-out, opacity 0.25s ease-in-out;
  -moz-transition: -moz-transform 0.5s ease-in-out 0.3s, top 0.25s ease-in-out, opacity 0.25s ease-in-out;
  transition: transform 0.5s ease-in-out 0.3s, top 0.25s ease-in-out, opacity 0.25s ease-in-out;
  color: #191919;
}
#mobile-menu-toggle.menu-is-active span.top, #toggle-menu.menu-is-active span.middle {
  top: 6px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  transform: rotate(135deg);
}
#mobile-menu-toggle.menu-is-active span.middle {
  opacity: 0;
}
#mobile-menu-toggle.menu-is-active span.bottom {
  top: 6px;
  width: 30px;
  -webkit-transform: rotate(225deg);
  -moz-transform: rotate(225deg);
  transform: rotate(225deg);
}
/* Mobile nav drawer */
#mobile-nav-container {
  z-index: 99999;
  overflow: auto;
  padding: 0;
  font-family: 'Open Sans', sans-serif;
  font-style: normal;
  font-weight: 400;
  display: none;
  position: fixed;
  top: 136px;
  bottom: 0;
  max-height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.contact-logo img {
  width: 200px;
  height: auto;
}
#nav-contact p a {
  font-size: 15px;
  padding: 0 15px;
  color: #ffffff;
  text-transform: none;
}
#nav-contact p a:hover {
  color: #ffffff;
  text-decoration: underline;
}
/* ==========================================================================
   07. HEADER & NAVIGATION — SEARCH BAR
========================================================================== */
#search-btn {
  position: fixed;
  top: 1em;
  right: 1em;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 10px;
  border-radius: 2px;
  color: #FFF;
}
#search-btn:hover {
  background-color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}
#search-overlay {
  display: none;
  z-index: 9999;
}
.block {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
  text-align: center;
  background: rgba(0, 0, 0, 0.9);
  border: #a0a0a0 solid 1px;
  margin: 0;
}
.block:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: 0;
}
.centered {
  display: inline-block;
  vertical-align: middle;
  width: 50%;
  padding: 10px 15px;
  color: #FFF;
  border: none;
  background: transparent;
}
#search-box {
  position: relative;
  width: 100%;
  margin: 0;
}
#close-btn {
  position: fixed;
  top: 1em;
  right: 1em;
  font-size: 26px;
}
#close-btn:hover {
  color: #777;
  cursor: pointer;
}
li#search-toggle {
  cursor: pointer;
  margin: 0 0 0 20px;
  padding: 0px;
  width: 30px;
  height: 30px;
  font-size: 28px;
  line-height: 90px;
  color: #191919;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
}
li#search-toggle:hover {
  color: #0074c8;
}
li#search-toggle:hover, li#search-toggle.open {}
#search-bar {
  position: absolute;
  top: 90px;
  width: 100%;
  z-index: 999;
  background: #eaeaea;
  padding: 15px 0 15px 0;
  display: none;
}
#search-box input#s {
  -webkit-appearance: none;
  background: url(../img/arrow.svg) no-repeat right center;
  background-size: 60px;
  border: none;
  padding: 0 5px 0px 15px;
  margin: 0px !important;
  height: 57px;
  width: 100%;
  font-size: 16px;
  font-style: italic;
  -webkit-transition: background 500ms ease;
  transition: background 500ms ease;
  background-color: rgba(255, 255, 255, 1);
}
#search-box input#s:focus {
  background-color: rgba(255, 255, 255, 1);
  outline: none;
}
#search-box input#searchsubmit {
  position: absolute;
  -webkit-appearance: none;
  border: none;
  outline: none;
  background: none;
  width: 45px;
  height: 45px;
  top: 0;
  right: 15px;
  margin: 0px !important;
  padding: 0px !important;
}
/* ==========================================================================
   08. HEADER & NAVIGATION — SIDE MENU
========================================================================== */
.side-menu {
  text-align: left;
  background: #f6f6f6;
  padding: 20px;
  margin: 0;
  display: block;
  width: 100%;
  border-top: rgba(0, 0, 0, 0.10) 5px solid;
}
.side-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
}
.side-menu ul li {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
}
.side-menu ul li a {
  line-height: 18px;
  text-transform: uppercase;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1px;
  text-decoration: none;
  color: #191919;
  opacity: 1;
  display: block;
  transition: all ease-out 300ms;
  padding: 10px 0;
  margin: 0;
}
.side-menu ul li.active a {
  color: #191919;
  opacity: 1;
}
.side-menu ul li:not(.active):hover a {
  color: #191919;
  opacity: .35;
}
/* ==========================================================================
   09. SLIDERS & BANNERS
   ========================================================================== */


/* Home Page Slider - Swiper
   ========================================================================== */

.home-swiper {
	width: 100%;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.home-swiper.swiper-initialized {
	opacity: 1;
}

.home-swiper .swiper-slide {
	position: relative;
	overflow: hidden;
}
.home-swiper .slide-background {
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

/* Slider Navigation
   ========================================================================== */

.swiper-button-prev,
.swiper-button-next {
	color: #ffffff;
}

@media (max-width: 767px) {

	.swiper-button-prev,
	.swiper-button-next {
		display: none;
	}

}

.swiper-pagination-bullet-active {
	background: #ffffff;
}


/* Slider Background
   ========================================================================== */

.slide-background {
	height: 500px;
}


/* Slider Content
   ========================================================================== */

.slide-content {
	z-index: 999;
	position: absolute;
	top: 45%;
	transform: translateY(-45%);
	width: 100%;
	padding: 0;
}

.slide-content h1 {
	font-size: 34px;
	line-height: 34px;
	font-family: proxima-nova, sans-serif;
	font-weight: 900;
	padding: 0;
	margin: 0 0 15px 0;
	text-transform: uppercase;
}

.slide-content h2 {
	font-size: 18px;
	line-height: 22px;
	text-transform: none !important;
	font-family: proxima-nova, sans-serif;
	font-weight: 300;
	padding: 0;
	margin: 0 0 30px 0;
}


/* Light Text
   ========================================================================== */

.swiper-slide.light-text .slide-content h1,
.swiper-slide.light-text .slide-content h2 {
	color: #ffffff;
}


/* Dark Text
   ========================================================================== */

.swiper-slide.dark-text .slide-content h1,
.swiper-slide.dark-text .slide-content h2 {
	color: #191919;
}


/* Slider Overlay
   Light text gets overlay.
   Dark text gets NO overlay.
   ========================================================================== */

.slider-overlay {
	width: 100%;
	height: 100%;

	background: -moz-linear-gradient(
		top,
		rgba(255, 255, 255, 0) 30%,
		rgba(0, 0, 0, 0.7) 100%
	);

	background: -webkit-linear-gradient(
		top,
		rgba(255, 255, 255, 0) 30%,
		rgba(0, 0, 0, 0.7) 100%
	);

	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0) 30%,
		rgba(0, 0, 0, 0.7) 100%
	);

	z-index: 900;
	position: absolute;
	top: 0;
	left: 0;
}


/* Defensive rule: dark slides can never show an overlay */

.swiper-slide.dark-text .slider-overlay,
.swiper-slide.dark-text .overlay {
	display: none !important;
}



/* Banner */
/* Banner */
#banner {
	position: relative;
	overflow: hidden;
}

#banner > .overlay {
	display: block;
	visibility: visible;
	opacity: 1;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	pointer-events: none;

	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 25%,
		rgba(0, 0, 0, 0.65) 100%
	);
}

#banner .banner-content {
	position: absolute;
	z-index: 2;
	width: 100%;
}
#banner .dark-text,
#banner .dark-text h1,
#banner .dark-text p,
#banner .dark-text .view-all {
	color: #191919;
}
.banner-very-short {
  height: 350px;
}
.banner-short {
  height: 450px;
}
.banner-tall {
  height: 550px;
}
@media (max-width: 767.98px) {

	.banner-very-short,
	.banner-short,
	.banner-tall {
		height: 500px;
	}

}
#banner .banner-content {
  z-index: 901;
  position: absolute;
  width: 100%;
}
#banner .banner-content.content-bottom {
  bottom: 10px !important;
}
#banner .banner-content.content-top {
  top: 10px !important;
}
#banner .banner-content.content-middle {
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.banner-logo {
	max-width: 300px;
	margin-top: 25px;
	margin-bottom: 50px;
}
.video-banner-logo {
	max-width: 400px;
	margin-top: 25px;
	margin-bottom: 50px;
	margin-left: auto;
	margin-right: auto;
}
.banner-logo.text-left {
	margin-left: 0;
	margin-right: auto;
}

.banner-logo.text-center {
	margin-left: auto;
	margin-right: auto;
}

.banner-logo.text-right {
	margin-left: auto;
	margin-right: 0;
}

.banner-logo img {
	display: block;
	max-width: 100%;
	height: auto;
}
.banner-button {
  text-align: left;
}
#video-banner p, #banner p {
  font-size: 22px;
}
/* ==========================================================================
   10. HOME PAGE SECTIONS
========================================================================== */
/* Mission Quick Links */
#mission-quick-links {
  display: none;
}
ul#mission-categories {
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
  width: auto;
  text-align: center;
  position: relative;
}
ul#mission-categories li {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline;
}
ul#mission-categories li.browse-missions {
  display: inline-block;
  background: #eaeaea url(../img/arrow.png) no-repeat center right;
  padding: 1px 20px 1px 20px;
  color: #191919;
  font-family: proxima-nova, sans-serif;
  font-size: 12px;
  letter-spacing: 1px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 65px;
  position: relative;
}
ul#mission-categories li.browse-missions:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  background-color: #eaeaea;
  height: 100%;
  width: 1000vw;
  z-index: -1;
}
ul#mission-categories li a {
  color: #191919;
  font-family: proxima-nova, sans-serif;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
  font-weight: 700;
  text-decoration: none;
  margin: 0;
  padding: 0px 15px 0px 15px;
  line-height: 65px;
}
ul#mission-categories li.view-all a {
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 1px;
  font-weight: 700;
  border-radius: 4px;
  text-transform: uppercase;
  background: #F2542D;
  padding: 12px 25px;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
}
ul#mission-categories li.view-all a:hover {
  color: #ffffff;
  background: #d9411b;
}
/* Overview Section */
.overview-box {
  background: #004a98;
  padding: 25px 0;
  text-align: center;
}
.overview-box h3, .overview-box p {
  color: #ffffff;
}
/* Highlight Section */
.highlight-box {
  padding: 35px 25px 25px 25px;
  max-width: 100%;
}

.highlight-box p a {
  color: #6ac1f8;
}
.highlight-box p a:hover {
  color: #ffffff;
}
/* Stats */
#stats .col-md-4 {
  border-right: 1px solid rgba(0, 0, 0, 0.10);
}
#stats .col-md-4:last-child {
  border-right: 0px solid rgba(0, 0, 0, 0.10);
}
@media (max-width: 767px) {
  #stats .col-md-4 {
    text-align: center;
    border-right: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.10);
    padding-bottom: 20px;
  }
  #stats .col-md-4:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  #stats .col-md-4 p {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
#stats h3 {
  color: #ffffff;
  font-size: 60px;
}
#stats h4 {
  color: #ffffff;
  font-size: 20px;
  line-height: 24px;
  font-weight: 400;
}
.stat-number {
  font-weight: 700;
  letter-spacing: -0.5px;
}
.stat-prefix, .stat-suffix {
  font-size: 0.8em;
  vertical-align: top;
}
.stats-section-title {
  margin-bottom: 40px;
}
/* ==========================================================================
   11. GRID & GENERAL CARDS
========================================================================== */

/* Bootstrap row containing the tiles */
.tile-grid-row {
  align-items: stretch;
}

/* Make each Bootstrap column stretch */
.tile-grid-row > [class*="col-md-"] {
  display: flex;
  flex-direction: column;
}

/* Make linked cards fill the column height */
.tile-grid-row > [class*="col-md-"] > a {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  text-decoration: none;
}

/* Card wrapper */
.grid-wrapper {
  display: grid;
  grid-template-rows: 275px minmax(225px, 1fr) auto;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  color: #191919 !important;
  transition: transform 300ms;
}

/* Hover animation */
a .grid-wrapper:hover {
  transform: translateY(-15px);
}

/* Image */
.grid-image {
  width: 100%;
  height: 275px;
  margin: 0;
  padding: 0;
}

/* Content - grows to fill available space */
.grid-content {
  width: 100%;
  min-height: 225px;
  height: auto;
  margin: 0;
  padding: 25px 30px;
  box-sizing: border-box;
}

/* Headings */
.grid-content h2 {
  font-size: 22px;
  line-height: 25.4px;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  padding: 0;
  margin: 0 0 5px 0;
  text-transform: uppercase;
}

/* Button always sits at bottom */
.grid-button {
  margin: 0;
  align-self: stretch;
}

/* Button arrow */
.grid-button i {
  float: right;
  line-height: 30px;
}

/* Prevent underline on card hover */
.tile-grid-row a:hover,
.tile-grid-row a:hover * {
  text-decoration: none;
}

/* Post card / Featured opportunities */
.post-card {
  display: -ms-flexbox;
  display: flex;
}
.card {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}
.card-body {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  margin: -15px 0 0 0 !important;
  padding: 20px 30px 20px 30px;
  background: #ffffff;
  z-index: 99;
}
.card-body h6 {
  color: #f7ab22;
  text-transform: uppercase;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1px;
  margin: 0;
  padding: 0;
}
.card-body p {
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  color: #191919;
  margin: 0 0 25px 0;
}
.card-body li {
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  color: #191919;
  margin: 0 0 10px 0;
}
.card-body a h4 {
  color: #191919 !important;
  font-size: 24px;
  line-height: 26px;
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  padding: 0;
  margin: 0 0 15px 0;
}
.featured-button {
  margin: 0px;
}
.featured-button i {
  float: right;
  line-height: 30px;
}
.featured-op {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  flex-direction: column;
}
.featured-img {
  width: 100%;
  height: 225px;
  margin: 0;
  padding: 0;
}
a div.featured-content h4 {
  color: #191919 !important;
}
.featured-content {
  margin: -15px 15px 0 15px !important;
  padding: 20px 20px 5px 20px;
  background: #ffffff;
  z-index: 99;
  height: 100%;
}
.featured-content h6 {
  color: #f7ab22;
  text-transform: uppercase;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1px;
  margin: 0;
  padding: 0;
}
.featured-content p {
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  color: #191919;
  margin-top: 5px;
}
.block-column-cards .preheat {
  color: #f7ab22;
  text-transform: uppercase;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 1px;
  margin: 0 0 10px 0;
  padding: 0;
}
/* ==========================================================================
   12. STAFF
========================================================================== */
p.staff-contact {
  font-size: 16px;
  line-height: 20px;
  font-family: proxima-nova, sans-serif;
}
.staff-contact-space {
  padding: 0 10px;
}
a div.staff-box {
  color: #191919 !important;
  transition: transform 300ms;
}
a div.staff-box:hover {
  transform: translateY(-15px);
}
.staff-box, .staff-content {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}
.staff-img {
  display: block;
  width: 100%;
  height: 200px;
  margin: 0 0 10px 0;
  padding: 0;
}
@media (max-width: 767px) {
.staff-img {
  height: 300px;
}
}
.staff-content h4 {
  font-size: 24px;
  line-height: 25.4px;
  margin: 0 0 5px 0;
}
.staff-content p {
  font-size: 16px;
  line-height: 20px;
  font-family: proxima-nova, sans-serif;
}
/* ==========================================================================
   13. ACCORDION
========================================================================== */

#accordion {
  margin: 0;
}

.accordion .card {
	border-radius: 0 !important;
}
/* ==========================================================================
   ACCORDION BUTTON
========================================================================== */

#accordion button.btn.btn-link {
  position: relative;

  display: block;
  width: 100%;

  background-color: transparent !important;
  border: none !important;

  text-decoration: none !important;
  word-wrap: break-word;
  white-space: normal !important;

  /* Leave room for right-side chevron */
  padding-right: 45px;
}

#accordion button.btn.btn-link:hover,
#accordion button.btn.btn-link:focus,
#accordion button.btn.btn-link:active,
#accordion button.btn.btn-link:focus-visible {
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}


/* ==========================================================================
   ACCORDION CHEVRONS
========================================================================== */

/* Chevron up when open */
#accordion [data-toggle="collapse"] .fa:before {
  content: "\f077";
}

/* Chevron down when closed */
#accordion [data-toggle="collapse"].collapsed .fa:before {
  content: "\f078";
}

#accordion button.btn.btn-link i {
  position: absolute;

  right: 0;
  left: auto;
  top: 50%;
  transform: translateY(-50%);

  width: auto;
  height: auto;

  margin: 0;
  padding: 0;

  border: none;
  border-radius: 0;

  font-size: 18px;
  line-height: 1;
  text-align: center;
}


/* ==========================================================================
   CARD
========================================================================== */

.btn:not(:disabled):not(.disabled).active,
.btn:not(:disabled):not(.disabled):active {
  text-decoration: none !important;
}

.card {
  background-color: transparent;
  border: none;
  border-radius: 0;
}

#accordion .card-header {
  padding: .50rem 0;
  margin: 10px 0 0 0;

  background-color: transparent;
  border: none;
  border-top: 1px solid rgba(0, 0, 0, 0.20);
border-radius: 0 !important;
  text-align: center;
}


/* ==========================================================================
   ACCORDION HEADINGS
========================================================================== */

#accordion .card-header h5 {
  font-size: 18px;
  line-height: 22px;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
border-radius: 0 !important;
  padding: 0;
  margin: 5px 15px 1px 0px;

  text-align: left;
}

button.btn.btn-link {
	padding-left: 0px!important;
}
/* ==========================================================================
   ACCORDION CONTENT
========================================================================== */

#accordion .card-body {
  padding: 25px 45px 10px 0px;
  background-color: transparent;
}

#accordion .card-body p,
#accordion .card-body li {
  font-size: 17px;
  line-height: 25px;
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  margin: 0 0 12px 0;
}


/* ==========================================================================
   ACCORDION TEXT COLOR - DARK
========================================================================== */

.accordion-text-dark,
.accordion-text-dark h1,
.accordion-text-dark h2,
.accordion-text-dark h3,
.accordion-text-dark h4,
.accordion-text-dark h5,
.accordion-text-dark h6,
.accordion-text-dark p,
.accordion-text-dark li {
  color: #191919;
}

.accordion-text-dark #accordion button.btn.btn-link {
  color: #191919 !important;
}

.accordion-text-dark #accordion .card-header h5 {
  color: #191919 !important;
}

.accordion-text-dark #accordion button.btn.btn-link i {
  color: #191919 !important;
}


/* ==========================================================================
   ACCORDION TEXT COLOR - LIGHT
========================================================================== */

.accordion-text-light,
.accordion-text-light h1,
.accordion-text-light h2,
.accordion-text-light h3,
.accordion-text-light h4,
.accordion-text-light h5,
.accordion-text-light h6,
.accordion-text-light p,
.accordion-text-light li {
  color: #ffffff;
}

.accordion-text-light #accordion button.btn.btn-link {
  color: #ffffff !important;
}

.accordion-text-light #accordion .card-header h5 {
  color: #ffffff !important;
}

.accordion-text-light #accordion button.btn.btn-link i {
  color: #ffffff !important;
}

.accordion-text-light #accordion .card-body,
.accordion-text-light #accordion .card-body p,
.accordion-text-light #accordion .card-body li {
  color: #ffffff;
}


/* ==========================================================================
   ACCORDION DIVIDERS
========================================================================== */

.accordion-text-dark #accordion .card-header {
  border-top: 1px solid rgba(0, 0, 0, 0.20);
}

.accordion-text-light #accordion .card-header {
  border-top: 1px solid rgba(0, 0, 0, 0.20);
}
/* ==========================================================================
   14. IMAGE GALLERY & PARALLAX
========================================================================== */
/* Image Gallery */
ul.image-gallery {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
ul.image-gallery li {
  margin: 0;
}
ul.image-gallery li a {
  display: block;
  width: 100%;
}
ul.image-gallery li a img {
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
@media (max-width: 767px) {
  ul.image-gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* ========================================
   Parallax Section
======================================== */

.parallax-window {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: max(40vh, 416px);
	padding: 60px 0;
	background: transparent;
}

/* Keep content aligned to the normal site container */
.parallax-window > .container {
	position: relative;
	z-index: 2;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

/* Center the Bootstrap column */
.parallax-window .row {
	justify-content: center;
}

/* Center the section content */
.parallax-window .support {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0;
	text-align: center;
}

/* Heading */
.parallax-window h5 {
	margin: 0 0 20px;
	padding: 0;
	color: #ffffff;
	font-size: 28px;
	line-height: 36px;
}

/* Button group */
.parallax-window .mobile-cta-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
	width: 100%;
}
@media (max-width: 575.98px) {

	.parallax-window .mobile-cta-buttons {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
		box-sizing: border-box;
	}

	.parallax-window .mobile-cta-buttons .button-default {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

}
/* ========================================
   Tablet and Mobile
======================================== */

@media (max-width: 767.98px) {
	.parallax-window {
		min-height: 360px;
		padding: 50px 0;
	}

	.parallax-window h5 {
		font-size: 24px;
		line-height: 32px;
	}

	.parallax-window .mobile-cta-buttons {
		gap: 10px;
	}
}

/* ========================================
   Small Mobile
======================================== */

@media (max-width: 575.98px) {
	.parallax-window {
		min-height: 340px;
		padding: 40px 0;
	}

	.parallax-window .mobile-cta-buttons {
		flex-direction: column;
		align-items: center;
	}

	.parallax-window .mobile-cta-buttons a {
		width: 100%;
		max-width: 280px;
	}
}
/* ==========================================================================
   15. ARTICLES & LOCAL IDEAS (search, filter, cards, loader)
========================================================================== */
/* =========================================
   Articles Search / Filter
========================================= */

#search-filter-bar, #local-search-filter-bar {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  align-items: center;

  background-color: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

/*
 * Override Bootstrap column sizing ONLY inside
 * the Articles search/filter bar.
 */
#search-filter-bar > .col-md-8,
#search-filter-bar > .col-md-4,
#local-search-filter-bar  > .col-md-8,
#local-search-filter-bar  > .col-md-4{
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
}

/* Events: Category, Search, and stacked toggles. */
#search-filter-bar:has(.ncbm-category-column) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 28px;
}

/* Result count beneath the filters. */
#search-filter-bar:has(.ncbm-category-column) > .text-md-right {
  grid-column: 1 / -1;
}

/* Stack Events controls on mobile. */
@media (max-width: 767.98px) {
  #search-filter-bar:has(.ncbm-category-column) {
    grid-template-columns: minmax(0, 1fr);
  }
}
#search-filter-bar #ncbm-event-search {
  padding-left: 44px !important;
}

#search-filter-bar .ncbm-search-input-wrapper {
  position: relative;
}

#search-filter-bar .ncbm-search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
/* --- Search Field --- */

.articles-search-wrapper {
  position: relative;
  width: 100%;
}

#articles-search-input {
  display: block;
  width: 100%;
  height: 56px;

  padding: 16px 46px 16px 38px !important;

  border: 1px solid #ddd;
  border-radius: 1px;

  box-sizing: border-box;

  font-size: 15px;
}

.articles-search-wrapper .search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);

  color: #0074c9;
  font-size: 18px;
}

.articles-search-wrapper .reset-btn {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);

  padding: 0;
  border: 0;
  background: none;

  color: #bbb;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
}

.articles-search-wrapper .reset-btn:hover {
  color: #ccc;
}

#articles-search-input::placeholder {
  color: #191919;
  font-style: italic;
  opacity: 1;
  transition: color 0.3s ease;
}

#articles-search-input:focus::placeholder {
  color: #ccc;
}


/* --- Category Dropdown --- */

.articles-category-wrapper {
  position: relative;
  display: block;
  width: 100%;
}

#articles-category {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  height: 56px;

  box-sizing: border-box;

  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  padding: 0 45px 0 20px;

  border: 1px solid #ddd;
  border-radius: 1px;

  background-color: #fff;
  background-image: none;

  color: #333 !important;
  font-family: inherit;
  font-size: 15px;

  cursor: pointer;
}


/* Custom dropdown arrow */

.articles-category-wrapper::after {
  content: "\f078";
  font-family: "Font Awesome 7 Pro";
  font-weight: 900;

  position: absolute;
  right: 18px;
  top: 50%;

  transform: translateY(-50%);
  pointer-events: none;

  color: #bbb;
  font-size: 12px;
}


/* --- Mobile --- */

@media (max-width: 767.98px) {

  #search-filter-bar {
    grid-template-columns: 1fr;
  }

  #search-filter-bar > .col-md-8,
  #search-filter-bar > .col-md-4 {
    width: 100% !important;
  }
}







/* --- Search Field (Local Ideas) --- */
#local-search-input {
  width: 100%;
  padding: 16px 46px 16px 38px !important;
  border-radius: 1px;
  border: 1px solid #ddd;
  font-size: 15px;
}
#local-search-input::placeholder {
  color: #191919;
  font-style: italic;
  opacity: 1;
  transition: color 0.3s ease;
}
#local-search-input:focus::placeholder {
  color: #ccc;
}
/* --- Category Dropdown (Local Ideas) --- */
#local-category {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 40px;
  border-radius: 1px;
  border: 1px solid #ddd;
  height: 42px;
  font-size: 15px;
  cursor: pointer;
}
#local-category.form-select {
  width: 100%;
  padding-left: 20px;
  border-radius: 1px;
  border: 1px solid #ddd;
  font-size: 15px;
  height: 56px;
}
/* Generic category select */
#category-select {
  padding: 10px 14px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  color: #333;
  max-width: 100%;
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-family: inherit;
  background-image: none; /* Remove browser default arrow */
}
/* Wrapper adds the chevron using ::after */
.ncbm-select-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}
.ncbm-select-wrapper::after {
  content: "\f078"; /* Font Awesome down chevron */
  font-family: "Font Awesome 7 Pro";
  font-weight: 900;
  font-size: 14px;
  position: absolute;
  top: 50%;
  right: 14px;
  pointer-events: none;
  transform: translateY(-50%);
  color: #666;
}
/* --- Loader Overlay --- */
#articles-container {
  position: relative;
}
.articles-loader-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 50;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.articles-loader-overlay.active {
  opacity: 1;
  pointer-events: auto;
}
.articles-loader-overlay img {
  width: 60px;
  height: auto;
  max-width: 60px;
}











/* --- Article Cards --- */
.article-card {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.article-card.is-new {
  opacity: 0;
  transform: translateY(16px);
}
.article-image-wrapper {
  width: 100%;
  aspect-ratio: 1 / 1; /* Square container */
  position: relative;
  overflow: hidden;
}
.article-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease, filter 0.3s ease;
  display: block;
}
.article-gradient-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0, 48, 99, 0.9) 0%, rgba(0, 116, 201, 0.3) 60%);
  transition: all 0.3s ease;
}
.article-info {
  position: absolute;
  bottom: 0;
  width: 100%;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.article-info .read-more-link {
  opacity: 0;
  transform: translateY(20px);
  display: inline-block;
  border-top: 1px solid #ffffff;
  width: 100%;
  font-size: 16px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 5px;
  padding-top: 10px;
  font-weight: 700;
}
.article-image-wrapper:hover .article-gradient-overlay, .article-image-wrapper:hover .article-image {
  filter: blur(4px);
}
.article-image-wrapper:hover .article-info {
  transform: translateY(-30px);
}
.article-image-wrapper:hover .article-info .read-more-link {
  opacity: 1;
  transform: translateY(0);
}
/* --- FacetWP overrides --- */
#filters .facetwp-facet {
  margin-bottom: 0px;
  margin-top: 10px;
}
#load-more .facetwp-facet {
  margin-bottom: 0px !important;
  margin-top: 0px !important;
}
.facetwp-icon {
  animation: none !important;
  transform: none !important;
}
.facetwp-icon::before {
  animation: none !important;
  transform: none !important;
}
.facetwp-facet input.facetwp-search, .facetwp-facet input.facetwp-location {
  width: 100% !important;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 0px !important;
  min-width: 100% !important;
  padding: 8px 22px 8px 8px !important;
}
.facetwp-input-wrap {
  width: 100% !important;
}
.fs-wrap {
  width: 100% !important;
}
.fs-label-wrap {
  width: 100% !important;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 0px !important;
}
.fs-label-wrap .fs-label {
  padding: 15px 22px 15px 8px !important;
}
.fs-dropdown {
  width: 75% !important;
  position: absolute;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-top: -1px !important;
  z-index: 1000;
}
.fs-search {
  display: none;
}
.fs-wrap.multiple .fs-option {
  padding: 10px 30px 10px 30px !important;
}
.fs-search-reset {
  text-transform: uppercase;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1px;
  text-decoration: none;
  color: #ffffff;
}
.fs-search-reset:hover {
  color: #ffffff;
  cursor: pointer;
}
.fs-dropdown .fs-options {
  max-height: 250px !important;
}
.facetwp-icon {
  opacity: 1 !important;
}
.facetwp-icon:before {
  width: 45px !important;
  height: 100% !important;
  background: url(../img/icon-search.png) no-repeat !important;
  background-position: 10px 50% !important;
  background-size: 30px 30px !important;
}
.fs-arrow {
  border: none !important;
  position: absolute;
  top: 0;
  right: 5px;
  bottom: 0;
  margin: auto;
  width: 45px !important;
  height: 100% !important;
  background: url(../img/icon-arrow.png) no-repeat !important;
  background-position: 10px 50% !important;
  background-size: 30px 30px !important;
  transition: ease-in 0.15s;
}
/* ==========================================================================
   16. EVENTS (list, cards, sidebar, tickets / The Events Calendar)
========================================================================== */
/* Event list rows */
.event-list .row:nth-child(even) {
  background-color: #ffffff;
}
.event-list .row:nth-child(odd) {
  background-color: #ececec;
}
.event-date {
  font-size: 16px;
}
.event-title {
  font-size: 22px;
  line-height: 24px;
  padding: 0;
  margin: 5px 0 0 0;
}
.event-categories ul {
  list-style: none;
  display: block;
  padding: 0;
  margin: 0;
}
.event-categories ul li {
  list-style: none;
  display: inline-block;
  font-size: 11px;
  line-height: 14px;
  color: #999999;
  text-transform: uppercase;
  padding: 0 15px 0 0;
  margin: 0;
}
/* Event wrapper cards */
.event-wrapper-link {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.event-wrapper {
  margin: 0;
  padding: 20px;
  border-bottom: 1px solid #bbbbbb;
  transition: background-color 0.2s ease;
}
.event-wrapper-link:nth-child(odd) .event-wrapper {
  background-color: #f7f7f7;
}
.event-wrapper-link:nth-child(even) .event-wrapper {
  background-color: #ffffff;
}
.event-wrapper-link:hover .event-wrapper {
  background-color: #eef6ff !important;
  cursor: pointer;
}
.event-name {
  font-size: 26px;
  line-height: 32px;
  font-family: proxima-nova, sans-serif;
  font-weight: 300;
  padding: 0;
  margin: 0 0 5px 0;
	color: #191919;
}
.event-location {
  font-size: 14px;
  line-height: 20px;
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  margin: 0 0 5px 0;
		color: #191919;
}
.event-date {
	color: #191919;
  font-size: 9px;
  line-height: 1.2;
  font-weight: 700;
	letter-spacing: 0.12em;
  text-transform: uppercase;
	margin-bottom: 5px;
}
.event-flexible-label {
	display: inline-block;
	margin-left: 8px;
	padding: 4px 10px;
	border-radius: 40px;
	background: #f7ab22;
	color: #191919;
	font-size: 9px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	vertical-align: middle;
}
.event-category-pill {
  display: inline-block;
  background-color: #0074c8;
  color: #fff;
  font-size: 12px;
  line-height: 12px;
  padding: 5px 10px;
  margin: 2px 4px 2px 0;
  border-radius: 2px;
  white-space: nowrap;
}
.event-button {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  line-height: 16px;
  letter-spacing: 1px;
  display: inline-block;
  text-align: center;
  background-color: #003063;
  color: #ffffff;
  text-transform: uppercase;
  width: 100%;
  border-radius: 4px;
  padding: 15px 15px;
  margin: 0;
  transition: background 300ms ease;
  text-decoration: none;
  border: none;
}
@media (max-width: 767px) {
.event-button {
 margin: 15px 0 0 0;
}
}
.event-wrapper-link:hover .event-button {
  background-color: #0056b3;
  color: #fff;
}
.event-button--reserved {
  background-color: #F2542D !important;
}
.event-button--reserved:hover {
  background-color: #d9411b !important;
}
.event-wrapper-link:hover .event-name, .event-wrapper-link:hover .event-location, .event-wrapper-link:hover .event-date, .event-wrapper-link:focus .event-name, .event-wrapper-link:focus .event-location, .event-wrapper-link:focus .event-date, .event-wrapper-link:active .event-name, .event-wrapper-link:active .event-location, .event-wrapper-link:active .event-date {
  color: #000 !important;
}
/* Event sidebar */
#event-details p {
  font-size: 16px;
  line-height: 26px;
}
.event-sidebar-no-border {
  border: #ffffff 1px solid;
  padding: 20px;
}
.event-sidebar {
  border: #ccc 1px solid;
  padding: 20px;
}
.event-sidebar h4, .event-sidebar-no-border h4 {
  font-size: 14px;
  line-height: 14px;
  text-transform: uppercase;
  font-weight: 900;
  padding: 0;
  margin: 0 0 15px 0;
  display: block;
}
.event-sidebar h4 i, .event-sidebar-no-border h4 i {
  color: #02b3e4;
  margin: 0 5px 0 0;
}
.event-sidebar h6 {
  font-size: 11px;
  line-height: 12px;
  text-transform: uppercase;
  font-weight: 900;
  padding: 0;
  margin: 0 0 5px 0;
  display: block;
}
.event-sidebar p {
  font-size: 15px;
  line-height: 18px;
  padding: 0;
  margin: 0 0 15px 0;
}
.event-sidebar small {
  margin: 0;
  padding: 0 0 15px 0 !important;
  display: block;
}
/* The Events Calendar / Tribe overrides */
.tribe-events-notices {
  background-color: #F2542D;
  padding: 15px;
  color: #ffffff;
  text-align: center;
  margin: 40px 0 0 0;
  font-size: 14px;
  line-height: 14px;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}
.tribe-events-notices ul {
  list-style: none;
}
.tribe-events-notices ul li {
  font-size: 14px;
  line-height: 14px;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}
#tribe-events-pg-template {
  max-width: 100% !important;
  padding: 0 !important;
}
.tribe-common div.tribe-dialog {
  z-index: 9999 !important;
  top: 100px !important;
  height: 80vh !important;
}
/* Button styles inside modal */
.tribe-common .tribe-dialog button, .tribe-common .tribe-dialog .tribe-common-c-btn, .tribe-common .tribe-dialog__close-button {
  border: none !important;
}
.tribe-common .tribe-dialog__close-button:focus {
  outline: none !important;
}
.tribe-common .tribe-dialog button:hover, .tribe-common .tribe-dialog .tribe-common-c-btn:hover {
  background-color: #ffaa22;
  color: #111;
}
.tribe-tickets__attendee-tickets-footer-divider {
  margin: 0 20px !important;
}
.tribe-common button.tribe-common-c-btn-link {
  font-family: proxima-nova, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal;
  font-size: 12px !important;
  line-height: 12px !important;
  letter-spacing: 1px !important;
  display: inline-block;
  text-align: center;
  border: none !important;
  background-color: #003063 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  min-width: 150px !important;
  -webkit-border-radius: 4px !important;
  -moz-border-radius: 4px !important;
  border-radius: 4px !important;
  padding: 15px 25px !important;
  margin: 0 !important;
  -webkit-transition: background 500ms ease;
  transition: background 500ms ease;
  text-decoration: none !important;
}
.tribe-common h2.tribe-dialog__title {
  font-size: 22px !important;
  line-height: 28px !important;
  font-family: proxima-nova, sans-serif;
  font-weight: 700 !important;
  padding: 0;
  margin: 0 0 10px 0;
  text-transform: uppercase;
}
.tribe-common .tribe-dialog__close-button {
  font-size: 30px !important;
}
.tribe-common .tribe-dialog button:hover, .tribe-common .tribe-dialog .tribe-common-c-btn:hover {
  background-color: transparent !important;
  color: #000 !important;
}
.entry .entry-content .event-tickets .tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-modal__content .tribe-tickets__tickets-item-quantity-number-input, .event-tickets .tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-modal__content .tribe-tickets__tickets-item-quantity-number-input {
  font-size: 20px !important;
}
.event-tickets .tribe-tickets__tickets-footer--active .tribe-tickets__tickets-footer-total {
  margin: 0 20px !important;
}
.event-tickets .tribe-common-h4 {
  font-size: 22px !important;
  line-height: 28px !important;
  font-family: proxima-nova, sans-serif;
  font-weight: 700 !important;
  padding: 0;
  margin: 0 0 10px 0;
  text-transform: uppercase;
}
.tribe-tickets__tickets-item-extra-available {
  display: none;
}
.event-tickets .tribe-common-h6--min-medium {
  line-height: 24px;
}
.event-tickets .tribe-amount {
  line-height: 50px !important;
}
.entry .entry-content .event-tickets .tribe-tickets__tickets-form, .event-tickets .tribe-tickets__tickets-form {
  max-width: 680px !important;
  width: 100%;
}
.tribe-common button.tribe-common-c-btn--small {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  line-height: 16px;
  letter-spacing: 1px;
  display: inline-block;
  text-align: center;
  background-color: #003063 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  min-width: 150px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 15px 25px !important;
  margin: 0 !important;
  -webkit-transition: background 500ms ease;
  transition: background 500ms ease;
  text-decoration: none;
  border: none;
}
/* ==========================================================================
   17. PAGINATION
========================================================================== */
/* --- Generic BOM pagination --- */
ul.bom-pagination {
  display: block;
  text-align: center;
  list-style: none;
}
li.bom-pagination-item {
  display: inline;
}
.bom-pagination-item.previous, .bom-pagination-item.next {
  margin-right: 18px;
  border-radius: 2px;
  border: none;
}
.bom-pagination-item.previous a, .bom-pagination-item.next a {
  background-color: #999999;
  color: #ffffff;
}
.bom-pagination-item {
  margin-right: 18px;
  font-size: 14px;
}
.bom-pagination-item a {
  padding: 5px 10px;
  display: inline-block;
  transition: 0.2s all;
  color: #555555;
}
.bom-pagination-item a:hover {
  background-color: #ececec;
}
.bom-pg-active {
  background-color: #ececec;
}
/* --- WP standard pagination --- */
.pagination {
  clear: both;
  padding: 20px 0;
  position: relative;
  line-height: 30px;
}
.pagination span {
  display: block;
  float: left;
  text-decoration: none;
  width: auto;
  text-transform: uppercase;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 30px;
  margin: 0 0 0 5px;
}
.pagination a {
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 30px;
  text-align: center;
  font-weight: 700;
  margin: 0 0 0 5px;
  background: #efefef;
}
.pagination a:hover {
  color: #fff;
  background: #F2542D;
}
.pagination .current {
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 30px;
  text-align: center;
  background: #F2542D;
  color: #fff;
  font-weight: 700;
  margin: 0 0 0 5px;
}
/* --- NCBM circle pagination --- */
/* Pagination container */
.ncbm-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
/* Page number links (circles only) */
.ncbm-pagination a.ncbm-page-link:not(.ncbm-prev):not(.ncbm-next), .ncbm-page-active {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid #efefef;
  background: #fff;
  color: #003063;
}
a.ncbm-page-link {
  text-decoration: none !important;
}
/* Smooth hover animation */
.ncbm-pagination a.ncbm-page-link:not(.ncbm-prev):not(.ncbm-next), .ncbm-page-active {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
/* Hover state for page numbers */
.ncbm-pagination a.ncbm-page-link:not(.ncbm-prev):not(.ncbm-next):hover {
  background: #fff;
}
/* Page number hover (circles only) */
.ncbm-pagination a.ncbm-page-link:not(.ncbm-prev):not(.ncbm-next):hover {
  background: #0074c8;
  color: #fff;
  border-color: #0074c8;
  transform: translateY(-1px);
}
/* Active page */
.ncbm-page-active {
  background: #003063;
  color: #fff;
  border-color: #003063;
  font-weight: 700;
}
/* Prev / Next — NO border, NO background */
.ncbm-prev, .ncbm-next {
  border: none !important;
  background: none !important;
  padding: 0 10px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  color: #003063;
}
/* Hover state for Prev / Next */
.ncbm-prev:hover, .ncbm-next:hover {
  text-decoration: underline;
  color: #0074c8;
}
/* Ellipsis */
.ncbm-ellipsis {
  padding: 0 6px;
  color: #777;
  font-size: 16px;
}
/* --- Articles pagination --- */
#articles-pagination {
  position: relative;
  margin-top: 30px;
  margin-bottom: 20px;
  padding-top: 20px;
  border-top: 1px solid #efefef;
}
#articles-pagination ul.page-numbers {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  position: relative;
}
#articles-pagination ul.page-numbers li {
  display: inline-block;
}
#articles-pagination .page-numbers {
  font-size: 16px;
  font-weight: 400;
  color: #888888;
  text-decoration: none;
  margin: 0 15px;
  position: relative;
}
#articles-pagination a.page-numbers:hover {
  color: #0074c8;
}
#articles-pagination .current {
  color: #0074c8;
  font-weight: 700;
}
/* Wide bar centered on divider */
#articles-pagination .current::before {
  content: '';
  position: absolute;
  top: -27px; /* aligns with top border */
  left: 50%;
  transform: translateX(-50%);
  width: 40px; /* wider than number */
  height: 3px;
  background-color: #0074c8;
  border-radius: 2px;
}
#articles-pagination a.prev.page-numbers, #articles-pagination a.next.page-numbers {
  position: absolute;
  top: 0;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  color: #0074c8;
}
#articles-pagination a.prev.page-numbers {
  left: 0;
}
#articles-pagination a.next.page-numbers {
  right: 0;
}
#articles-pagination a.prev.page-numbers:hover, #articles-pagination a.next.page-numbers:hover {
  color: #003063;
}
/* --- Local Ideas pagination --- */
#local-pagination ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 10px;
  justify-content: center;
}
#local-pagination .page-numbers {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #ddd;
  background: #fff;
  color: #0074c9;
  text-decoration: none;
  transition: all 0.2s ease;
}
#local-pagination .page-numbers:hover {
  background: #0074c9;
  color: #fff;
  border-color: #0074c9;
}
#local-pagination .current {
  background: #0074c9;
  color: #fff;
  border-color: #0074c9;
  cursor: default;
}
/* ==========================================================================
   18. VIDEO & EMBEDS
========================================================================== */
/* Video Banner */
#video-banner {
  position: relative;
  background-color: black;
  height: 25vh;
  min-height: 200px;
  width: 100%;
  overflow: hidden;
}
#video-banner video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}
#video-banner .container {
  position: relative;
  z-index: 2;
}
#video-banner .overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: black;
  opacity: 0.5;
  z-index: 1;
}
/* Inline video */
#video-wrapper {
  min-height: 600px;
  text-align: center;
}
.video-responsive {
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
}
.video-responsive iframe {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}
.play-button {
  z-index: 100 !important;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
}
/* ==========================================================================
   19. SOCIAL SECTION
========================================================================== */
.social-section {
  text-align: center;
  display: block;
}
.social [class*="fab fa-"] {
  background-color: #F2542D;
  border-radius: 44px;
  color: #fff;
  display: inline-block;
  height: 44px;
  line-height: 44px;
  margin: auto 8px auto 8px;
  width: 44px;
  font-size: 20px;
  text-align: center;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
}
.di-social [class*="fab fa-"] {
  background-color: #f37566;
  border-radius: 44px;
  color: #fff;
  display: inline-block;
  height: 44px;
  line-height: 44px;
  margin: auto 8px auto 8px;
  width: 44px;
  font-size: 20px;
  text-align: center;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
}
.fa-twitter:hover {
  background-color: #46c0fb;
}
.fa-facebook-f:hover {
  background-color: #4d6bb3;
}
.fa-vimeo-v:hover {
  background-color: #22b2e7;
}
.fa-instagram:hover {
  background-color: #e22c79;
}
/* ==========================================================================
   20. FOOTER
========================================================================== */
footer p {
  font-size: 14px;
  line-height: 18px;
  color: #191919;
  font-weight: 400;
}
.footer-logo, .di-footer-logo {
  padding: 0 0 20px 0;
  margin: 0 auto;
}
.footer-logo img {
  max-width: 185px;
  height: auto;
}
.di-footer-logo img {
  max-width: 250px;
  height: auto;
}
.charity {
  font-size: 14px;
  line-height: 18px;
  color: #191919;
  font-weight: 400;
}
.di-contact p {
  font-size: 14px;
  line-height: 22px;
  color: #191919;
  font-weight: 400;
}
ul#menu-footer {
  display: block;
  margin: 0;
  padding: 0;
  -webkit-columns: 3;
  -moz-columns: 3;
  columns: 3;
}
ul#menu-footer li {
  display: block;
  margin: 0;
  padding: 0;
}
ul#menu-footer li a {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  color: #191919;
  letter-spacing: 1px;
}
ul#menu-footer li a:hover {
  color: #444444;
}
ul#menu-legal {
  display: block;
  margin: 0;
  padding: 0;
}
ul#menu-legal li {
  list-style: none;
  display: inline;
  margin: 0 5px 0 0;
  padding: 0 7px 0 0;
  border-right: 1px #efefef solid;
  font-size: 12px;
}
ul#menu-legal li:last-child {
  display: inline;
  margin: 0 5px 0 0;
  padding: 0 7px 0 0;
  border-right: 0px #efefef solid;
}
ul#menu-legal li a {
  color: #191919;
}
ul#menu-legal li a:hover {
  color: #444444;
}
ul.footer-contact {
  list-style: none;
  display: block;
  margin: 0;
  padding: 0;
}
ul.footer-contact li {
  list-style: none;
  display: inline-block;
  color: #191919;
  line-height: 30px;
}
ul.footer-contact li a {
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  font-size: 14px;
  padding: 0;
  margin: 0 20px 0 0;
  vertical-align: middle;
  color: #191919;
}
ul.footer-contact li a:hover {
  color: #444444;
}
.coryright {
  font-size: 12px;
}
/* ==========================================================================
   21. FORMS — GENERAL CONTROLS
========================================================================== */
.form-control, select.form-control {
  height: 52px !important;
  padding: 0 15px;
  line-height: 50px;
}
.form-control {
  display: block;
  width: 100%;
  padding: 12px !important;
  font-size: 1rem;
  line-height: 1.5;
  color: #191919 !important;
  background-color: #ffffff !important;
  border-radius: 0;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
/* ==========================================================================
   22. FORMS — NINJA FORMS
========================================================================== */
.nf-before-form-content {
  display: none;
}
.nf-field-element input, .nf-field-element textarea, .field-wrap .pikaday__display {
  background-color: #f8fafc;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  padding: 12px !important;
}
.field-wrap .pikaday__display {
  background-color: #f8fafc;
  height: 56px !important;
  line-height: 56px !important;
}
.nf-field-container .field-wrap .nf-element::placeholder {
  color: #000000 !important;
}
.field-wrap select {
  background-color: #f8fafc;
  border: 1px solid #cbd5e1 !important;
  border-radius: 0px !important;
  padding: 12px !important;
  height: 56px !important;
  line-height: 56px !important;
}
.nf-field-element input:focus, .nf-field-element textarea:focus {
  background-color: #f8fafc;
  border: 1px solid #cbd5e1 !important;
}
.nf-field-container {
  margin-bottom: 15px !important;
}
.nf-multi-cell .nf-cell {
  padding: 0 10px !important;
}
#contact-bom .nf-multi-cell .nf-cell {
  padding: 0 !important;
}
/* Subscribe Ninja Form - seamless field/button */
#contact-bom #nf-form-1-cont .nf-form-content {
  padding: 0;
  max-width: none;
}

#contact-bom #nf-form-1-cont nf-cells {
  display: flex;
  align-items: flex-start;
  gap: 0;
}

#contact-bom #nf-form-1-cont .nf-cell {
  padding: 0 !important;
}

#contact-bom #nf-form-1-cont .nf-field-container,
#contact-bom #nf-form-1-cont .field-wrap,
#contact-bom #nf-form-1-cont .nf-field-element {
  margin: 0 !important;
}

/* Email field */
#contact-bom #nf-form-1-cont #nf-field-2 {
  height: 58px !important;
  min-height: 58px !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 15px !important;
  border: 1px solid #c8d6e8 !important;
  border-right: 0 !important;
  border-radius: 4px 0 0 4px !important;
  box-shadow: none !important;
}

/* Submit button */
#contact-bom #nf-form-1-cont #nf-field-4 {
  height: 58px !important;
  min-height: 58px !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 15px !important;
  border: 1px solid #073b71 !important;
  border-radius: 0 4px 4px 0 !important;
  background: #073b71 !important;
  color: #fff !important;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  line-height: 58px !important;
  box-shadow: none !important;
  cursor: pointer;
}

/* Prevent disabled state from looking faded */
#contact-bom #nf-form-1-cont #nf-field-4:disabled {
  opacity: 1 !important;
}

/* Mobile stacked version */
@media (max-width: 767.98px) {
  #contact-bom #nf-form-1-cont nf-cells {
    flex-direction: column;
  }

  #contact-bom #nf-form-1-cont .nf-cell {
    width: 100% !important;
  }

  #contact-bom #nf-form-1-cont #nf-field-2 {
    border-right: 1px solid #c8d6e8 !important;
    border-radius: 10px 10px 0 0 !important;
  }

  #contact-bom #nf-form-1-cont #nf-field-4 {
    border-radius: 0 0 10px 10px !important;
  }
}






.nf-realistic-field--description {
  display: block !important;
}
.nf-response-msg p, .nf-response-msg p.span {
  font-size: 14px !important;
  line-height: 30px !important;
  font-family: proxima-nova, sans-serif !important;
  font-weight: 400 !important;
  margin: 0 !important;
  color: #00984b !important;
}
.nf-remove-fieldset {
  color: #ffffff !important;
  font-size: 20px !important;
  background-color: #F2542D !important;
  border: none !important;
  line-height: 25px;
  float: right;
  margin-top: -25px !important;
  border-radius: 20px;
  width: 25px;
  height: 25px;
}
.nf-repeater-fieldsets fieldset {
  margin-bottom: 0px !important;
}
.nf-field-element h4 {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  line-height: 16px;
  text-transform: uppercase !important;
  padding: 0px !important;
  margin: 0 0 5px 0 !important
}
.nf-field-element p {
  margin: 0 !important;
}
button.nf-add-fieldset {
  border: none !important;
  border-radius: 0 !important;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
  line-height: 12px;
  letter-spacing: 1px;
  color: #F2542D !important;
  text-transform: uppercase !important;
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
.field-wrap input[type=button], .field-wrap input[type=submit] {
  font-family: proxima-nova, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal;
  padding: 15px 30px !important;
  font-size: 12px !important;
  line-height: 18px !important;
  letter-spacing: 1px !important;
  display: inline-block;
  text-align: center;
  background-color: #003063 !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  -webkit-border-radius: 4px !important;
  -moz-border-radius: 4px !important;
  border-radius: 4px !important;
  margin: 0 0 0 -1px !important;
  -webkit-transition: background 500ms ease !important;
  transition: background 500ms ease !important;
  text-decoration: none !important;
  border: none !important;
  -webkit-box-shadow: inset 0 0 0 rgb(0 0 0 / 0%) !important;
  box-shadow: inset 0 0 0 rgb(0 0 0 / 0%) !important;
}
form.give-form .form-row textarea {
  height: 150px;
}
/* ==========================================================================
   23. FORMS — GIVEWP / DONATION BLOCK
========================================================================== */

/* Form container */
#give-receipt .give-form {
  max-width: 560px;
  margin: 20px auto;
  padding: 40px;
  background: #eef6ff;
  border-radius: 8px;
}

/* Form layout */
#give-email-access-form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
}

/* Intro text */
#give-email-access-form p {
  margin: 0 0 8px;
font-size: 18px;
    line-height: 25.4px;
    font-family: proxima-nova, sans-serif;
    font-weight: 400;
    margin: 0 0 24px 0;
	color: #000000;
}

/* Email label */
#give-email-access-form label {
  display: block;
  margin: 0;
	color: #000000;
  font-size: 14px;
  font-weight: 600;
}

/* Email input */
#give-email-access-form input[type="email"] {
  display: block;
  width: 100%!important;
  height: 52px;
  padding: 12px 16px;
  margin: 0;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  color: #191919;
  font-size: 16px;
  box-sizing: border-box;
}

#give-email-access-form input[type="email"]:focus {
  border-color: #0b3d75;
  outline: none;
}

/* Verify button */
#give-email-access-form input[type="submit"] {
  display: block;
  width: 100%!important;
  min-height: 52px;
  padding: 14px 24px;
  margin: 8px 0 0;
  background: #0b3d75;
  border: 1px solid #0b3d75;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: background-color 200ms ease,
              border-color 200ms ease;
}

#give-email-access-form input[type="submit"]:hover {
  background: #062d58;
  border-color: #062d58;
  color: #fff;
}

/* Mobile */
@media (max-width: 767px) {
  #give-receipt .give-form {
    padding: 24px 20px;
    margin: 10px auto;
  }

  #give-email-access-form p {
    font-size: 16px;
  }
}



/* GiveWP card grid */
.give-grid {
  align-items: stretch;
}
.give-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.give-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.give-card__body .give-button {
  margin-top: auto;
}
p.give-card__text {
  font-size: 16px;
  line-height: 22px;
}
.give-wrap .give-card {
  background-color: #fff !important;
  border: none !important;
  box-shadow: 0 0 0 rgb(0 0 0 / 0%) !important;
}
.give-wrap .give-card__title {
  font-size: 20px !important;
  line-height: 26px !important;
}
/* GiveWP donation form */
#give_error_test_mode {
  display: none !important;
}
form[id*=give-form] .give-donation-amount #give-amount, form[id*=give-form] .give-donation-amount #give-amount-text {
  background-color: #fff;
  border: 1px solid #dddddd;
  border-radius: 4px;
  height: 60px;
  line-height: 60px;
  padding: 20px;
  margin: 0;
  font-size: 30px;
  color: #191919;
  font-family: proxima-nova, sans-serif;
  font-weight: 300;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  min-width: 200px;
  float: left;
}
form[id*=give-form] .give-donation-amount .give-currency-symbol.give-currency-position-before {
  border: none !important;
  z-index: 3;
  position: absolute;
}
form[id*=give-form] .give-donation-amount .give-currency-symbol {
  background-color: transparent !important;
  border: none;
  color: #191919;
  margin: 0;
  padding: 0 12px;
  height: 60px;
  line-height: 60px;
  font-size: 18px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
}
[id*=give-form] .give-recurring-donors-choice input[type="checkbox"] {
  position: relative;
  border: 1px solid #dddddd !important;
  margin: 0 10px 0 0 !important;
}
[id*=give-form] .give-recurring-donors-choice label {
  cursor: pointer;
  font-size: 16px;
  line-height: 20px;
  display: inline-block;
  margin: 0;
  padding: 0;
}
[id*=give-form] .give-recurring-donors-choice-period {
  height: 40px;
  font-size: 15px;
  margin: 0 10px;
  padding: 10px 20px;
  display: inline-block;
  width: auto;
  border: 1px solid #dddddd;
  min-width: 100px;
}
[id*=give-form] .give-recurring-donors-choice {
  margin: 0 0 25px;
  display: block;
  line-height: 1em;
}
form[id*=give-form] #give-final-total-wrap .give-donation-total-label {
  background-color: #ffffff;
  color: #212529;
  margin: 0;
  padding: 20px 0;
  height: auto;
  line-height: 35px;
  font-size: 18px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
  border: none;
  width: 40%;
}
form[id*=give-form] #give-final-total-wrap .give-final-total-amount {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-left: none;
  float: left;
  width: 60%;
  background-color: #fff;
  border: 1px solid #dddddd;
  border-radius: 4px;
  height: auto;
  line-height: 35px;
  padding: 20px;
  margin: 0;
  font-size: 30px;
  color: #191919;
  font-family: proxima-nova, sans-serif;
  font-weight: 300;
  text-align: center;
}
form[id*=give-form] legend {
  background-color: transparent;
  border-bottom: 1px solid rgba(0, 0, 0, 0) !important;
  margin: 25px 0 5px 0 !important;
  padding: 0 !important;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  line-height: 16px;
  color: #003063 !important;
  text-transform: uppercase !important;
  display: block !important;
  width: 100% !important;
  float: left;
}
/* Donation Block hero & card */
.give-check-sample img {
    max-width: 100%!important;
	height: auto!important;
}
#give_checkout_bank_details input, #give_checkout_bank_details select {
	background-color: #fdfdfd;
    border: 1px solid #ccc;
    border-radius: 0;
    box-sizing: border-box;
    color: #333;
    margin: 0;
    outline: none;
    padding: .5em;
    width: 100%;
}
a.manage-donations {
  text-transform: uppercase;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 1px;
  text-decoration: none;
  color: #ffffff;
}
a.manage-donations:hover {
  color: #ffffff;
}
.donation-card {
  background: #ffffff;
  padding: 40px 40px 25px 40px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}
.donation-card h1 {
  font-size: 40px;
  line-height: 40px;
}
.donation-card h2 {
  font-size: 30px;
  line-height: 30px;
  font-family: proxima-nova, sans-serif;
  font-weight: 900;
  padding: 0;
  margin: 0 0 15px 0;
  text-transform: uppercase;
}
.donation-hero {
  background-size: cover;
  background-position: center;
  padding: 40px 0;
  position: relative;
}
.donation-hero.has-manage-link {
  padding: 65px 0 30px 0;
}
.donation-overlay {
  position: absolute;
  inset: 0;
}
.donation-hero .container {
  position: relative;
  z-index: 2;
}
.donation-card form[id*=give-form] .give-donation-amount #give-amount {
  width: 100%;
}
[id*=give-form].give-display-modal .give-btn, [id*=give-form].give-display-reveal .give-btn {
  width: 100% !important;
}
/* Donation level buttons */
.donation-card #give-donation-level-button-wrap {
  display: flex;
  gap: 10px;
  width: 100%;
  padding: 0;
  margin: 0 0 10px 0;
  flex-wrap: nowrap; /* prevent unexpected wrapping */
}
.donation-card #give-donation-level-button-wrap li {
  list-style: none;
  margin: 0;
}
@media (min-width: 992px) {
  .donation-card #give-donation-level-button-wrap li {
    flex: 1 1 25%;
  }
}
@media (max-width: 991.98px) {
  .donation-card #give-donation-level-button-wrap li:last-child {
    display: none; /* hide Custom */
  }
  .donation-card #give-donation-level-button-wrap li {
    flex: 1 1 33.333%;
  }
}
.donation-card #give-donation-level-button-wrap .give-donation-level-btn {
  width: 100%;
  padding: 10px 16px;
  white-space: nowrap;
  text-align: center;
}
/* Give form wrapper */
.give-form-wrap {
  background: none;
  border: none;
  padding: 0;
}
/* Recurring section */
.give-form-wrap .give-recurring-donors-choice {
  display: flex !important;
  align-items: center !important;
  padding: 18px 22px !important;
  border: 1px solid rgba(0,0,0,0.07)!important;
  background: rgba(0,0,0,0.03)!important;
  border-radius: 0 !important;
  gap: 12px;
}
.give-form-wrap .give-recurring-donors-choice input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 8px 0 0 !important;
  accent-color: #f7ab22 !important;
  flex-shrink: 0 !important;
}
.give-form-wrap .give-recurring-donors-choice label {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  color: #14203F !important;
  flex: 1 !important;
}
.give-form-wrap .give-recurring-donors-choice select {
  margin-left: auto !important;
  min-width: 160px !important;
  height: 42px !important;
  font-weight: 400 !important;
  border: 1px solid #d9dde3 !important;
  border-radius: 3px !important;
  padding: 0 14px !important;
  background: #ffffff !important;
  text-transform: capitalize;
}
/* Donor dashboard */
.give-donor-dashboard-donor-info__avatar .give-donor-dashboard-donor-info__avatar-container {
  background: #0074c9 !important;
}
/* Mobile refinements */
@media (max-width: 767.98px) {
  .donation-card {
    padding: 28px 24px 20px 24px;
  }
  .donation-card h1, .donation-card .donation-title {
    font-size: 38px;
    line-height: 1.1;
  }
  .donation-card #give-donation-level-button-wrap {
    gap: 8px;
  }
  .donation-card #give-donation-level-button-wrap .give-donation-level-btn {
    padding: 10px 12px;
  }
  .donation-card form[id*=give-form] .give-donation-amount #give-amount {
    padding: 14px 12px;
  }
  .give-form-wrap .give-recurring-donors-choice {
    padding: 14px 16px !important;
  }
  .give-form-wrap .give-recurring-donors-choice select {
    min-width: 120px !important;
    height: 38px !important;
  }
}
/* ==========================================================================
   24. BUTTONS
========================================================================== */
button:focus {
    outline: 0px dotted!important;
    outline: 0px auto -webkit-focus-ring-color!important;
}
.button-default, span.button-primary a, .facetwp-load-more, button#wc-donation-f-submit-donation {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  line-height: 16px;
  letter-spacing: 1px;
  display: inline-block;
  text-align: center;
  background-color: #003063;
  color: #ffffff;
  text-transform: uppercase;
  min-width: 150px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 15px 25px;
  margin: 0;
  -webkit-transition: background 500ms ease;
  transition: background 500ms ease;
  text-decoration: none;
  border: none;
}
.button-default:hover, span.button-primary a:hover, .facetwp-load-more:hover, button#wc-donation-f-submit-donation:hover {
  background-color: #002145;
  color: #ffffff;
  text-decoration: none !important;
  cursor: pointer !important;
}
.button-default + .button-default {
  margin-left: 20px; /* space between buttons */
}
.button-default-small {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 13px;
  line-height: 13px;
  letter-spacing: 1px;
  display: inline-block;
  text-align: center;
  background-color: #003063;
  color: #ffffff;
  text-transform: uppercase;
  min-width: 150px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 10px 20px !important;
  margin: 0;
  -webkit-transition: background 500ms ease;
  transition: background 500ms ease;
  text-decoration: none;
  border: none;
}
.button-default-small:hover {
  background-color: #002145;
  color: #ffffff;
  text-decoration: none !important;
  cursor: pointer !important;
}
.button-red {
  color: #F2542D;
  border: 2px solid #F2542D;
}
.button-red-solid {
  margin: 0;
  color: #ffffff;
  background-color: #F2542D;
  border: 2px solid #F2542D;
}
.button-red-solid:hover {
  color: #F2542D;
  background-color: #ffffff;
  border: 2px solid #ffffff;
}
.button-details {
  padding: 2px 20px 2px 20px;
  margin: 10px 0 0 0;
  color: #ffffff;
  background-color: #0074c8;
  border: 2px solid #0074c8;
  width: 100%;
}
.button-details:hover {
  color: #ffffff;
  background-color: #0064ad;
  border: 2px solid #0064ad;
}
.button-reserved {
  padding: 2px 20px 2px 20px;
  margin: 10px 0 0 0;
  color: #ffffff;
  background-color: #F2542D;
  border: 2px solid #F2542D;
  width: 100%;
}
.button-reserved:hover {
  color: #ffffff;
  background-color: #c62d25;
  border: 2px solid #c62d25;
}
.button-default-wide {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 14px !important;
  letter-spacing: 1px;
  display: inline-block;
  text-align: left;
  background-color: #F2542D;
  color: #ffffff;
  text-transform: uppercase;
  width: 100%;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0px;
  padding: 7px 20px 5px 30px;
  margin: 0;
  -webkit-transition: background 500ms ease;
  transition: background 500ms ease;
  text-decoration: none;
}
.button-default-wide:hover {
  background-color: #d9411b;
  color: #ffffff;
  text-decoration: none !important;
}
.btn-large-white, span.white-primary a {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 16px;
  display: inline-block;
  text-align: center;
  text-transform: uppercase;
  min-width: 150px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 15px 25px;
  margin: 0;
  -webkit-transition: background 500ms ease;
  transition: background 500ms ease;
  text-decoration: none;
  border: none;
  font-size: 16px;
  letter-spacing: 1px;
  background-color: #ffffff !important;
  color: #191919 !important;
}
.btn-large-white:hover, span.white-primary a:hover {
  color: #ffffff !important;
  background-color: #191919 !important;
}
.white-primary + .white-primary {
  margin-left: 20px;
}
/* Mobile full width buttons */
@media (max-width: 767px) {
  .mobile-cta-buttons {
    margin: 0 15px;
  }
  .mobile-cta-buttons a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px 0 !important;
    box-sizing: border-box !important;
    text-align: center;
    float: none !important;
  }
  .mobile-cta-buttons a:last-child {
    margin-bottom: 0 !important;
  }
  span.white-primary {
    display: block;
    width: 100%;
  }
  span.white-primary a {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .white-primary + .white-primary {
    margin-left: 0;
    margin-top: 15px;
  }
  .button-primary {
    display: block;
    width: 100%;
	  margin-bottom: 15px;
  }
  .button-primary a {
    display: block;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }
}
.btn-link, span.btn-link a {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 15px;
  line-height: 15px;
  letter-spacing: 0px;
  color: #F2542D;
  text-transform: uppercase;
}
.btn-link-white, span.btn-link-white a {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 15px;
  line-height: 15px;
  letter-spacing: 0px;
  color: #ffffff;
  text-transform: uppercase;
}
.btn-arrow.btn-link, span.btn-arrow.btn-link, .btn-arrow-white.btn-link-white, span.btn-arrow-white.btn-link-white {
  padding-left: 0;
}
.btn-arrow.btn-link:hover:after, span.btn-arrow.btn-link:hover:after, .btn-arrow-white.btn-link-white:hover:after, span.btn-arrow-white.btn-link-white:hover:after {
  margin-left: 12px;
}
.btn-arrow-white.btn-link-white:after, span.btn-arrow-white.btn-link-white:after {
  content: "";
  background: url("../img/link-arrow-white.svg") 100% no-repeat;
  background-size: 20px 10px;
  padding-right: 22px;
  transition: margin-left .3s ease;
}
.btn-arrow.btn-link:after, span.btn-arrow.btn-link:after {
  content: "";
  background: url("../img/link-arrow.svg") 100% no-repeat;
  background-size: 20px 10px;
  padding-right: 22px;
  transition: margin-left .3s ease;
}
.btn-link:focus, .btn-link:hover {
  text-decoration: none;
  border-color: transparent;
  background-color: transparent;
  color: #d9411b;
  cursor: pointer !important;
}
.btn-link-white:focus, .btn-link-white:hover {
  text-decoration: none;
  border-color: transparent;
  background-color: transparent;
  color: #ffffff;
}
.btn {
  height: 50px;
  background: #F2542D;
  color: #ffffff;
  border-radius: 0;
  margin: 0 0 0 -1px;
}
.give-button {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 12px !important;
  letter-spacing: 1px;
  display: block;
  text-align: center;
  background-color: #0074c8;
  color: #ffffff;
  text-transform: uppercase;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 8px;
  width: 100%;
  margin: 0;
  -webkit-transition: background 500ms ease;
  transition: background 500ms ease;
  text-decoration: none;
}
.give-button:hover {
  background-color: #003063;
}
.give-btn {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
  line-height: 12px;
  letter-spacing: 1px;
  display: inline-block;
  text-align: center;
  background-color: #0074c8;
  color: #ffffff !important;
  text-transform: uppercase;
  min-width: 150px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 15px 25px;
  margin: 15px 0 0 0;
  -webkit-transition: background 500ms ease;
  transition: background 500ms ease;
  text-decoration: none;
  border: none;
}
.give-btn:hover {
  background-color: #003063;
}
/* Submit Button */
.give-btn.give-submit {
  background: #003063;
  border: none;
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 14px;
  line-height: 14px;
  border-radius: 4px;
  padding: 15px 25px;
  width: 100% !important;
}
.give-btn.give-submit:hover {
  background: #002145;
}
.give-donation-level-btn {
  font-family: proxima-nova, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
  line-height: 12px;
  letter-spacing: .5px;
  display: inline-block;
  text-align: center;
  background-color: #003063 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  min-width: 50px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  padding: 12px 20px;
  margin: 15px 0 0 0;
  -webkit-transition: background 500ms ease;
  transition: background 500ms ease;
  text-decoration: none;
  border: 1px solid #003063;
}
/* ==========================================================================
   25. TESTIMONIAL SLIDER
========================================================================== */
.testimonial-slider {
  position: relative;
}
.testimonial-slider-wrapper {
  position: relative;
}
/* Remove Bootstrap default icons */
.testimonial-slider .carousel-control-prev-icon, .testimonial-slider .carousel-control-next-icon {
  display: none !important;
}
/* Fix height jump */
.testimonial-slider .carousel-inner {
  min-height: 220px;
}
/* Fade smoothness */
.testimonial-slider .carousel-item {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
/* Controls container */
.testimonial-slider-controls {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  pointer-events: none;
}
.testimonial-slider-controls .carousel-control-prev, .testimonial-slider-controls .carousel-control-next {
  position: absolute;
  width: 60px;
  opacity: 1 !important;
  pointer-events: all;
}
.testimonial-slider-controls .carousel-control-prev {
  left: -30px;
}
.testimonial-slider-controls .carousel-control-next {
  right: -30px;
}
/* Arrow button */
.testimonial-arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s ease;
}
.testimonial-arrow i {
  font-size: 18px;
  color: #14203F;
}
.testimonial-arrow:hover {
  background: #f7ab22;
}
.testimonial-arrow:hover i {
  color: #ffffff;
}
/* Text styling */
.testimonial-text {
  font-size: 1.4rem;
  font-style: italic;
  line-height: 1.6;
  color: #14203F;
}
.testimonial-author {
  font-size: 1rem;
  color: #14203F;
}
.testimonial-thumb {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid #26A990;
}
/* Dark mode */
.testimonial-slider.is-dark, .testimonial-slider.is-dark .testimonial-text, .testimonial-slider.is-dark .testimonial-author {
  color: #ffffff;
}
.testimonial-slider.is-dark .testimonial-title {
  color: rgba(255, 255, 255, 0.8);
}
/* Mobile */
@media (max-width: 767.98px) {
  .testimonial-slider-controls {
    position: static;
    transform: none;
    margin-top: 30px;
    display: flex;
    justify-content: center;
    gap: 20px;
    pointer-events: auto;
  }
  .testimonial-slider-controls .carousel-control-prev, .testimonial-slider-controls .carousel-control-next {
    position: static;
    width: auto;
  }
  .testimonial-arrow {
    width: 38px;
    height: 38px;
  }
  .testimonial-arrow i {
    font-size: 16px;
  }
}
/* ==========================================================================
   26. MAGAZINE (grid, list, view toggle)
========================================================================== */
/* Latest issue hover */
.latest-magazine img {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.latest-magazine a:hover img {
  transform: translateY(-8px);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}
.latest-magazine {
  text-align: center;
}
.latest-magazine img {
  max-width: 65%;
  height: auto;
}
/* Past issues list */
ul.past-issues {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
ul.past-issues li {
  padding: 12px 0;
  border-bottom: 1px solid #e5e5e5;
}
ul.past-issues li:last-child {
  border-bottom: none;
}
ul.past-issues a {
  text-decoration: none;
  color: #F2542D;
  transition: color 0.2s ease;
}
ul.past-issues a:hover {
  color: #d9411b;
}
/* Mag card */
.mag-card {
  border: 1px solid #e5e5e5;
  padding: 10px;
  background: #fff;
  height: 100%;
  transition: 0.3s ease;
}
.mag-card:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
}
/* Grid View */
.magazine-grid .magazine-item {
  display: block;
}
.magazine-grid .magazine-btn {
  display: none;
}
.magazine-grid .mag-description {
  display: none;
}
.magazine-grid .mag-card {
  text-align: center; /* centers everything under image */
}
.magazine-grid .mag-title {
  margin: 0;
}
.magazine-grid h3.mag-title {
  font-size: 18px !important;
}
/* List View */
.magazine-list {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.magazine-list .magazine-item {
  width: 100%;
}
.magazine-list .magazine-item {
  width: 100% !important;
  max-width: 100%;
  flex: 0 0 100%;
  padding: 0 !important;
  margin-bottom: 0;
}
.magazine-list .mag-card {
  display: flex;
  gap: 25px;
  align-items: center;
  padding: 10px 15px; /* Equal padding all sides */
  border: 1px solid #e6e6e6;
  text-align: left;
}
.magazine-list .magazine-item:last-child .mag-card {
  border-bottom: 1px solid #e6e6e6;
}
.magazine-list img {
  max-width: 180px;
}
.magazine-list h4 {
  margin-bottom: 10px;
}
/* Hide cover in list */
.magazine-list .mag-cover {
  display: none;
}
.magazine-list .mag-content {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 40px;
}
.magazine-list .mag-title {
  margin: 0;
  min-width: 175px;
  font-weight: 700;
}
.magazine-list .mag-description {
  margin: 0;
  flex: 1;
  color: #555;
}
.magazine-list .magazine-btn {
  margin-left: auto;
  white-space: nowrap;
  padding: 14px 28px; /* Equal padding top/bottom/left/right */
}
/* View toggle */
.view-toggle {
  background: #f7ab22;
  padding: 10px;
  border-radius: 2px;
}
.view-label {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 0px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  color: #191919;
  transition: all .2s ease;
}
label.view-label {
  margin-bottom: 0 !important;
}
.view-label i {
  font-size: 14px;
}
.view-label:hover {
  background: #191919;
  color: #ffffff;
}
.view-label.active {
  background: #ffffff;
  color: #191919;
}
h3.mag-title {
  font-size: 22px !important;
  line-height: 22px !important;
}
/* Tablet: 3 columns in grid */
@media (min-width: 768px) and (max-width: 991px) {
  .magazine-grid .magazine-item {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
}
/* Mobile list view stacked */
@media (max-width: 767px) {
  .magazine-list .mag-card {
    display: block;
    text-align: center;
    padding: 30px;
  }
  .magazine-list .mag-content {
    display: block;
    width: 100%;
  }
  .magazine-list .mag-title {
    margin-bottom: 10px;
    min-width: auto;
  }
  .magazine-list .mag-description {
    margin-bottom: 20px;
  }
  .magazine-list .magazine-btn {
    margin-left: 0;
    display: inline-block;
  }
}
/* ==========================================================================
   27. PRAYER CARDS & PRAYER FORM
========================================================================== */
.post-type-archive-prayer .view-all-wrapper {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end; /* keeps it right aligned */
}
/* Prayer card */
.prayer-card {
  position: relative;
  border: 1px solid #efefef;
  border-radius: 8px;
  padding: 0px;
  background: #fff;
  transition: .2s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.prayer-header {
  padding: 20px 40px;
  background-color: #003063;
  border-radius: 8px 8px 0 0;
}
.prayer-top {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}
.prayer-title h3 {
  color: #ffffff;
}
.prayer-body {
  padding: 20px 40px 40px 40px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.prayer-line {
  flex: 1;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.1);
  margin-right: 15px;
}
.prayer-count {
  color: #f7ab22;
  font-weight: 700;
  letter-spacing: .05em;
  font-size: 14px;
  white-space: nowrap;
}
.prayer-count .count {
  font-size: 15px;
  margin-right: 0px;
}
.prayer-card h3 {
  font-size: 24px;
  margin-bottom: 10px;
  font-weight: 700;
}
.prayer-meta {
  color: #999999;
  font-size: 16px;
  margin-bottom: 15px !important;
}
.prayer-content {
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 20px;
  flex-grow: 1;
}
.prayer-actions {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
}
.prayer-share {
  margin-top: 15px;
  margin-left: auto;
  display: flex;
  gap: 10px;
}
.prayer-share a {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #F2542D;
  color: #fff;
  font-size: 14px;
  transition: .2s ease;
}
.prayer-share a:hover {
  background: #d9411b;
  color: #fff;
}
.prayer-actions .pray-response {
  width: 100%;
}
.prayer-actions .button-default {
  background-color: #F2542D;
}
.prayer-actions .button-default.button-muted {
  background-color: #D4D4D4;
  cursor: default;
  pointer-events: none;
}
/* response */
.pray-response {
  display: none;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #efefef;
  color: #191919;
  font-size: 18px;
  line-height: 1.5;
}
.pray-response.active {
  display: block;
}
/* Prayer Form */
.bom-prayer-form {
  margin-top: 30px;
}
.bom-prayer-form .form-group {
  margin-bottom: 1.5rem;
}
.bom-prayer-form label {
  font-weight: 700;
  margin-bottom: .4rem;
  display: block;
}
.bom-prayer-form .form-control {
  border-radius: 4px;
  border: 1px solid #dcdcdc;
  padding: 12px 14px;
  font-size: 16px;
}
.bom-prayer-form textarea.form-control {
  min-height: 180px;
}
.bom-prayer-form .section-title {
  margin-top: 0px;
  margin-bottom: 15px;
  font-weight: 700;
}
/* Radio card options */
.prayer-option {
  border: 1px solid #e2e2e2;
  background: #f7f7f7;
  border-radius: 4px;
  padding: 18px 20px;
  margin-bottom: 12px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.prayer-option input[type="radio"] {
  margin-top: 5px;
}
.prayer-option label {
  margin: 0;
  cursor: pointer;
}
.prayer-option strong {
  display: block;
  font-weight: 700;
  margin-bottom: 4px;
}
.prayer-option p {
  margin: 0;
  color: #555;
  font-size: 15px;
}
.prayer-option:has(input:checked) {
  border-color: #0b3a6d;
  background: #f2f6fb;
}
.bom-prayer-form .btn-primary {
  background: #0b3a6d;
  border: none;
  padding: 14px 26px;
  font-weight: 700;
  letter-spacing: .03em;
}
.bom-prayer-form .btn-primary:hover {
  background: #07294d;
}
/* ==========================================================================
   28. PRETTY CHECKLIST & OPT-IN CHECKBOXES
========================================================================== */
/* Pretty Checklist */
.checkmark-wrapper ul {
  margin: 0;
  padding: 0;
}
.checkmark-wrapper ul li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 18px;
  line-height: 1.4;
  list-style: none !important;
}
.checkmark-wrapper ul li:before {
  content: "\f058";
  font-family: "Font Awesome 7 Pro";
  font-weight: 900;
  font-size: 20px;
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1.4;
  color: #f7ab22;
}
/* Dark background support */
.is-dark .checkmark-wrapper ul li:before {
  color: #ffffff;
}
/* Pretty Opt-In Checkboxes */
.custom-optin {
  display: flex;
  align-items: center;
  padding: 16px 18px;
  border: 1px solid #ddd;
  border-radius: 0px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #f7f7f7;
}
.custom-optin:hover {
  border-color: #aaaaaa;
}
.custom-optin input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
.checkmark {
  height: 22px;
  width: 22px;
  border: 1px solid #ccc;
  background-color: #ffffff;
  border-radius: 4px;
  margin-right: 12px;
  position: relative;
  transition: all 0.2s ease;
}
.custom-optin input:checked + .checkmark {
  background-color: #2FC4A0;
  border-color: #2FC4A0;
}
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.custom-optin input:checked + .checkmark:after {
  display: block;
}
.custom-optin .checkmark:after {
  left: 6px;
  top: 2px;
  width: 6px;
  height: 12px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.optin-text {
  font-weight: 400;
  font-size: 16px;
}
/* ==========================================================================
   29. YOUR TICKETS — ORDER CONFIRMATION PAGE
========================================================================== */

.tec-tickets__attendees-list-wrapper {
  margin-top: 30px;
}
.tec-tickets__attendees-list-wrapper h4 {
  font-size: 18px;
  margin-bottom: 0 !important;
  text-transform: uppercase;
  color: #001514;
  font-weight: 700;
  padding-bottom: 10px;
  border-bottom: 1px solid #d1d1d1;
}
.tec-tickets__attendees-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #d1d1d1;
}
.tec-tickets__attendees-list-item-attendee-details-name {
  font-weight: 700;
  font-size: 16px;
}
.tec-tickets__attendees-list-item-attendee-details-ticket {
  font-size: 14px;
  color: #001514;
}
/* Wallet buttons - put PDF link and Apple Wallet side by side, clean */
.tec-tickets__wallet-plus-passes-container {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.tec-tickets__wallet-plus-component-pdf-button-link {
  font-size: 0.8em;
  padding: 6px 14px;
  border: 1px solid #333;
  border-radius: 3px;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
}
.tec-tickets__wallet-plus-component-pdf-button-link:hover {
  background: #333;
  color: #fff;
}
.tec-tickets__wallet-plus-component-apple-wallet-button-image {
  height: 30px;
  width: auto;
  display: block;
}
/* Hide orphan dash by hiding the entire ticket type/price line */
span.tribe-common-a11y-hidden {
  display: none;
}
/* Hide the redundant "Add to Apple Wallet" text link */
.tec-tickets__wallet-plus-component-apple-wallet-button-container a span:not(.tribe-common-a11y-hidden), .tec-tickets__wallet-plus-component-apple-wallet-button-link > span:not([class*="a11y"]) {
  display: none;
}
/* Style PDF ticket button to match Apple Wallet button */
.tec-tickets__wallet-plus-component-pdf-button-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #000000;
  color: #fff !important;
  font-size: 12px;
  font-family: proxima-nova, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal;
  text-transform: uppercase;
  padding: 13px 16px;
  border-radius: 8px;
  border: none;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.2;
  margin-right: 10px;
}
.tec-tickets__wallet-plus-component-pdf-button-link::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 900;
  content: "\f145"; /* fa-ticket */
  font-size: 1.1em;
  color: #f7ab22;
}
.tec-tickets__wallet-plus-component-pdf-button-link:hover {
  background-color: #191919;
  color: #fff !important;
}
/* Size the Apple Wallet image to match */
.tec-tickets__wallet-plus-component-apple-wallet-button-image {
  height: 38px;
  width: auto;
  display: block;
}
/* Keep the buttons tidy side by side */
.tec-tickets__wallet-plus-passes-container {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
/* Hide the orphan " - " dash that precedes the price.
   We do this by hiding the whole line and re-rendering 
   just the text content before the dash via a pseudo-element. */
.tec-tickets__attendees-list-item-attendee-details-ticket {
  font-size: 14px;
  color: #001514;
  margin-top: 2px;
}

/* ==========================================================================
   30. SPOTLIGHTS
========================================================================== */

.bom-section {
    background: #ffffff;
    padding: 72px 0 64px;
}
/* ── Section Header ── */

.bom-eyebrow {
    text-transform: uppercase;
    color: #191919;
    margin-bottom: 0px;
	    font-family: proxima-nova, sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.06em;
    flex-shrink: 0;
}

.bom-divider {
    width: 100px;
    height: 4px;
    background: #f7ab22;
    border-radius: 2px;
    margin: 0 auto 16px;
}

.bom-subhead {
    max-width: 740px;
    margin: 0 auto;
}


/* ── Tile Grid ── */

.bom-tiles-row {
    margin: 40px 0;
}

.bom-tile-col {
    padding-left: 6px;
    padding-right: 6px;
    margin-bottom: 12px;
    display: flex;
}


/* ── Tile ── */

.bom-tile {
    position: relative;
    display: block;
    width: 100%;
    height: 380px;
    border-radius: 0px;
    overflow: hidden;
    text-decoration: none;
    cursor: pointer;
}


/* ── Tile Image ── */

.bom-tile-img {
    display: none; /* hidden — src passed to JS for background-image */
}



/* ── Tile Gradient Overlay ── */

.bom-tile-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0, 48, 99, 0.9) 0%, rgba(0, 116, 201, 0.3) 60%);
    transition: opacity 0.35s ease;
}

.bom-tile:hover .bom-tile-gradient {
    opacity: 0.95;
}


/* ── Tile Body ── */

.bom-tile-body {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0;
}


/* ── Title Zone ── */

.bom-tile-title-zone {
    display: flex;
    align-items: flex-start;
    padding: 0 26px 0;
}

.bom-tile-title {
font-size: 26px;
    line-height: 34px;
    font-family: proxima-nova, sans-serif;
    font-weight: 300;
    color: #fff;
	text-transform: none;
	letter-spacing: 0px!important;
    margin: 0;
}

.bom-tile:hover .bom-tile-title {
    margin-bottom: 0;
}


/* ── Badge ── */

.bom-tile-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    font-family: proxima-nova, sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 8px 15px;
    border-radius: 40px;
    line-height: 1;
}

.bom-tile-badge-navy {
    background: #003063;
    color: #fff;
}

.bom-tile-badge-blue {
    background: #0074c8;
    color: #fff;
}

.bom-tile-badge-gold {
    background: #f7ab22;
    color: #191919;
}


/* ── Tile Bottom (desc + cta) ── */

.bom-tile-bottom {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px 26px 24px;
}


/* ── Description — hidden, reveals on hover ── */

.bom-tile-desc {
 font-size: 18px;
    line-height: 22px;
    font-family: proxima-nova, sans-serif;
    font-weight: 400;
    color: #ffffff;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    margin: 0 0 10px 0;
    transition: max-height 0.35s ease, opacity 0.3s ease;
}

.bom-tile:hover .bom-tile-desc {
    max-height: 80px;
    opacity: 1;
    margin-top: 0;
}


/* ── CTA Link — hidden, reveals on hover ── */

.bom-tile-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
font-family: proxima-nova, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 15px;
    line-height: 15px;
    text-transform: uppercase;
    color: #f7ab22;
    text-decoration: none;
    position: relative;
    padding-bottom: 2px;
    width: fit-content;
    margin-top: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.35s ease 0.05s, opacity 0.3s ease 0.05s, margin-top 0.3s ease;
}

.bom-tile-cta::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1.5px;
    background: #f7ab22;
    transition: width 0.35s ease 0.2s;
}

.bom-tile:hover .bom-tile-cta {
    max-height: 40px;
    opacity: 1;
    margin-top: 0;
}

.bom-tile:hover .bom-tile-cta::after {
    width: 100%;
}




/* ── Bottom Section CTA Button ── */

.bom-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #1a2a4a;
    color: #fff;
    font-family: proxima-nova, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    padding: 15px 38px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s ease;
}

.bom-btn-primary:hover {
    background: #253c6b;
    color: #fff;
    text-decoration: none;
}


/* ── Contact Link ── */

.bom-not-sure {
    font-family: proxima-nova, sans-serif;
    font-size: 14px;
    color: #7a8590;
    margin-top: 14px;
    margin-bottom: 0;
}

.bom-not-sure a {
    color: #c49a2a;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1.5px solid #c49a2a;
    padding-bottom: 1px;
    transition: color 0.15s, border-color 0.15s;
}

.bom-not-sure a:hover {
    color: #1a2a4a;
    border-color: #1a2a4a;
}


/* ── Responsive ── */

@media (max-width: 767px) {
    .bom-tile {
        height: 300px;
    }

    .bom-headline {
        font-size: 30px;
    }
}



/* ==========================================================================
   31. MEDIA QUERIES
========================================================================== */
/* Center icons on mobile */
@media (max-width: 767px) {
  .circle-share-buttons {
    justify-content: center;
    margin-bottom: 30px;
  }
}
/* Articles pagination — mobile */
@media (max-width: 576px) {
  #articles-pagination {
    padding-top: 36px;
  }
  #articles-pagination a.prev.page-numbers, #articles-pagination a.next.page-numbers {
    position: static;
    display: block;
    text-align: center;
    margin: 8px 0;
  }
}
@media (min-width: 544px) {
  #desktop-header, #mission-quick-links, #di-site-header #desktop-header {
    display: none;
  }
  #mobile-header {
    display: block;
  }
  #di-site-header #mobile-header {
    display: block;
  }
}
@media(min-width:768px) {
  .latest-magazine img {
    max-width: 100%;
  }
  .single-article-hero-image {
    padding-top: 200px;
    padding-bottom: 200px;
  }
  .alignright {
    max-width: 400px !important;
    margin: 30px -60px 30px 30px !important;
  }
  #video-banner {
    height: 50vh;
  }
  #filters .facetwp-facet {
    margin-bottom: 40px;
    margin-top: 30px;
  }
  .reset {
    padding: 37px 0;
  }
  .mobile-center {
    text-align: left;
  }
  .mobile-center-right {
    text-align: right;
  }
  .view-all-wrapper {
    text-align: right;
  }
  .slide-content {
    padding: 0 20px;
  }
  .slide-content h1 {
    font-size: 50px;
    line-height: 50px;
  }
  .slide-content h2 {
    font-size: 22px;
    line-height: 26px;
  }
  #desktop-header, #mission-quick-links, #di-site-header #desktop-header {
    display: none;
  }
  #mobile-header {
    display: block;
  }
  #di-site-header #mobile-header {
    display: block;
  }
  .highlight-box {
    max-width: 700px;
  }
}
@media(min-width:992px) {
  ul#upper-navigation li.donate a {
    padding: 13px 25px 13px 25px;
  }
  .latest-magazine img {
    max-width: 100%;
  }
  .single-article-hero-image {
    padding-top: 275px;
    padding-bottom: 275px;
  }
  .alignright {
    max-width: 400px !important;
    margin: 30px -110px 30px 30px !important;
  }
  .event-tickets .tribe-common-h6--min-medium {
    line-height: 50px !important;
  }
  #video-banner {
    height: 55vh;
  }
  #filters .facetwp-facet {
    margin-bottom: 40px;
    margin-top: 30px;
  }
  .reset {
    padding: 37px 0;
  }
  .mobile-center {
    text-align: left;
  }
  .mobile-center-right {
    text-align: right;
  }
  .view-all-wrapper {
    text-align: right;
  }
  .slide-content {
    padding: 0 50px;
  }
  .slide-content h1 {
    font-size: 50px;
    line-height: 50px;
  }
  .slide-content h2 {
    font-size: 22px;
    line-height: 26px;
  }
  #desktop-header, #mission-quick-links, #di-site-header #desktop-header {
    display: none;
  }
  #mobile-header {
    display: block;
  }
  #di-site-header #mobile-header {
    display: block;
  }
  .banner-button {
    text-align: right;
  }
  .header-fix {
    height: 130px;
  }
  .di-header-fix {
    height: 90px;
  }
  ul#mission-categories li a {
    padding: 0px 5px 0px 5px;
    letter-spacing: 0px;
  }
  .overview-box {
    padding: 75px;
  }
  .play-button {
    padding: 0;
  }
  .social-section {
    text-align: left;
  }
  .social [class*="fab fa-"], .di-social [class*="fab fa-"] {
    margin: auto 16px auto 0;
  }
  ul#menu-legal li {
    margin: 0 15px 0 0;
    padding: 0 18px 0 0;
    font-size: 14px;
  }
  ul#menu-legal li:last-child {
    margin: 0 15px 0 0;
    padding: 0 18px 0 0;
  }
}
@media(min-width:1200px) {
	
	.container {
		max-width: 1280px;
	}

  ul#upper-navigation li.donate a {
    padding: 13px 25px 13px 25px;
  }
  .latest-magazine img {
    max-width: 100%;
  }
  .single-article-hero-image {
    padding-top: 325px;
    padding-bottom: 325px;
  }
  .alignright {
    max-width: 400px !important;
    margin: 30px -110px 30px 30px !important;
  }
  .event-tickets .tribe-common-h6--min-medium {
    line-height: 50px !important;
  }
  #video-banner {
    height: 60vh;
  }
  #filters .facetwp-facet {
    margin-bottom: 40px;
    margin-top: 30px;
  }
  .reset {
    padding: 37px 0;
  }
  .mobile-center {
    text-align: left;
  }
  .mobile-center-right {
    text-align: right;
  }
  .view-all-wrapper {
    text-align: right;
  }
  .slide-content {
    padding: 0 50px;
  }
  .slide-content h1 {
    font-size: 58px;
    line-height: 58px;
  }
  .slide-content h2 {
    font-size: 22px;
    line-height: 26px;
  }
  #desktop-header, #mission-quick-links, #di-site-header #desktop-header {
    display: block;
  }
  #mobile-header {
    display: none;
  }
  #di-site-header #mobile-header {
    display: none;
  }
  .banner-button {
    text-align: right;
  }
  .header-fix {
    height: 130px;
  }
  .di-header-fix {
    height: 90px;
  }
  ul#mission-categories li a {
    padding: 0px 15px 0px 15px;
  }
  .full-row.slider {
    padding: 0;
  }
  .slide-background {
    height: 700px;
  }
  .slide-content {
    padding: 0px;
  }
  .overview-box {
    padding: 75px;
  }
  .play-button {
    padding: 0;
  }
  .social-section {
    text-align: left;
  }
  .social [class*="fab fa-"], .di-social [class*="fab fa-"] {
    margin: auto 16px auto 0;
  }
  ul#menu-legal li {
    margin: 0 15px 0 0;
    padding: 0 18px 0 0;
    font-size: 14px;
  }
  ul#menu-legal li:last-child {
    margin: 0 15px 0 0;
    padding: 0 18px 0 0;
  }
}
/* ==========================================================================
   32. WORDPRESS ADMIN BAR HEADER SPACING FIX
   BOM header is not fixed, so do not offset it.
========================================================================== */
body.admin-bar #site-header, body.admin-bar #top-header, body.admin-bar #desktop-header, body.admin-bar #mobile-header, body.admin-bar .navigation, body.admin-bar .navigation-mobile {
  top: auto !important;
  margin-top: 0 !important;
  transform: none !important;
}
/* Keep the blue top bar and white nav stacked normally */
body.admin-bar #top-header {
  margin-bottom: 0 !important;
}
body.admin-bar #desktop-header {
  margin-top: 0 !important;
}
/* Prevent a theme spacer from creating a gap */
body.admin-bar .header-fix {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Make sure the desktop header sits directly below the top header */
body.admin-bar #top-header + #desktop-header {
  margin-top: 0 !important;
}
/* Do not double-offset for the WP admin bar */
body.admin-bar #site-header.fixed, body.admin-bar #site-header.sticky, body.admin-bar #desktop-header.fixed, body.admin-bar #desktop-header.sticky, body.admin-bar .navigation.fixed, body.admin-bar .navigation.sticky {
  top: auto !important;
}

/* ==========================================================================
   33. Full-Bleed Image and Content Block
========================================================================== */

.split-media-block {
	--split-background: #f7ab22;

	position: relative;
	overflow: hidden;
	background-color: var(--split-background);
}

/* ========================================
   Full-Bleed Image
======================================== */

.split-media-block__media {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50%;
	overflow: hidden;
}

.split-media-block--image-left .split-media-block__media {
	left: 0;
}

.split-media-block--image-right .split-media-block__media {
	right: 0;
}

.split-media-block__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100% !important;
	max-width: none;
	margin: 0;
	object-fit: cover;
	object-position: center center;
}

/* ========================================
   Layout
======================================== */

.split-media-block__row {
	min-height: 580px;
}

.split-media-block__content {
	width: 100%;
	max-width: 700px;
	padding-top: 6rem;
	padding-bottom: 6rem;
}

/* Add spacing between the image and content. */
.split-media-block--image-left .split-media-block__content {
	padding-left: 2rem;
}

.split-media-block--image-right .split-media-block__content {
	padding-right: 2rem;
}

/* ========================================
   Typography
======================================== */

.split-media-block__eyebrow {
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-transform: uppercase;
}

.split-media-block__heading {
	margin: 0 0 1rem;
}

.split-media-block__copy {
	width: 100%;
}

.split-media-block__copy > *:last-child {
	margin-bottom: 0;
}

.split-media-block__copy + .button-default {
	margin-top: 2rem;
}

/* ========================================
   Tablet and Mobile
======================================== */

@media (max-width: 991.98px) {
	.split-media-block__media {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		width: 100%;
		height: clamp(320px, 60vw, 520px);
	}

	.split-media-block__image {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100% !important;
		object-fit: cover;
	}

	.split-media-block__row {
		min-height: 0;
	}

	.split-media-block__content,
	.split-media-block--image-left .split-media-block__content,
	.split-media-block--image-right .split-media-block__content {
		max-width: 700px;
		padding: 3.5rem 0;
	}
}

/* ========================================
   Small Mobile
======================================== */

@media (max-width: 575.98px) {
	.split-media-block__media {
		height: 300px;
	}

	.split-media-block__content,
	.split-media-block--image-left .split-media-block__content,
	.split-media-block--image-right .split-media-block__content {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
}




/* ==========================================================
   IMAGE BANNER — MOBILE RESPONSIVE HEIGHT FIX
   Allows banner to grow when content exceeds minimum height
========================================================== */

@media (max-width: 767.98px) {

  /* Allow the banner to grow with its content */
  #banner.full-row {
    display: flex;
    flex-direction: column;
    justify-content: center;

    height: auto !important;
    min-height: 500px;
    padding: 50px 0;

    overflow: hidden;
  }

  /* Remove absolute positioning on mobile */
  #banner .banner-content,
  #banner .banner-content.content-top,
  #banner .banner-content.content-middle,
  #banner .banner-content.content-bottom {
    position: relative !important;

    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;

    transform: none !important;

    width: 100%;
    height: auto !important;
    margin: 0;
    padding: 0;
  }

  /* Keep Bootstrap content in natural flow */
  #banner .banner-content .container,
  #banner .banner-content .row,
  #banner .banner-content [class*="col-"] {
    height: auto;
    min-height: 0;
  }

  /* Responsive banner logo */
  #banner .banner-logo {
    max-width: 300px;
    margin-top: 0;
    margin-bottom: 30px;
  }

  #banner .banner-logo img {
    display: block;
    max-width: 100%;
    height: auto;
  }

  /* Reduce excessive button spacing */
  #banner .banner-content p.my-5,
  #banner .banner-content p.mt-5 {
    margin-top: 30px !important;
    margin-bottom: 0 !important;
  }

}
