/**
 * Theme Name: Idaho Webmaster v4 - Child
 * Template: Webmaster-v4
 * Description: The theme to use and edit for making any changes to a specific site.
 * Author: White Whale Web
 * Author URI: https://whitewhaleweb.com/
 * Version: 1.0.1
 * Text Domain: webmaster-bs4
 */



body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-color: #F1EEE8;
	background-image: url('/wp-content/uploads/backg.jpg')!important;
    z-index: 0;
    pointer-events: none;
}

body::after {
    content: '';
    position: fixed;
    inset: 0;
    background-color: #F1EEE8;
    opacity: 0.7;
    z-index: 0;
    pointer-events: none;
}

.content-wrapper {
	 background: transparent!important
}

#main, #primary {
	background: transparent!important
}

html {
    min-height: 100%;
}

#content > .row {
	background: transparent!important
}

#content {
	background: transparent!important
}

/* Restore solid backgrounds on sections that need them */
body > * {
    position: relative;
    z-index: 1;
}

.page-id-5 #main {
	padding-top:0em
}

#main {
	padding-top:3em
}

.page-id-5 .e-con.e-flex>.e-con-inner {
	padding: 0px
}

:root {
  /* =========================
     Base / Neutrals
  ========================= */
  --color-white:        #FFFFFF;
  --color-light-gray:   #F1EEE8;
  --color-soft-beige:   #D1C8A2;
  --color-cream:        #F6F3CE;

  /* =========================
     Primary Brand (Earth / Nature)
  ========================= */
  --color-brown-primary: #5D4829;
  --color-brown-dark:    #352815;

  /* =========================
     Accent Colors
  ========================= */
  --color-blue:         #015786;
  --color-gold:         #C2A73A;
  --color-green: 		#2B422A;

  /* =========================
     Secondary / Muted
  ========================= */
  --color-taupe:        #D1C8A2;

  /* =========================
     Base Text / UI
  ========================= */
  --color-black:        #000000;
}


/* =========================
   Heading System 
========================= */

h1 {
  font-family: 'Atkinson Hyperlegible', sans-serif;
  font-size: 3.125rem;
  line-height: 65px;
  font-weight: 700;
}

h2 {
/*   font-family: 'Atkinson Hyperlegible', sans-serif; */
	font-family: 'National Forest Script', cursive;
  font-size: 2.5rem;
  line-height: 60px;
  font-weight: 100;
color: var(--color-brown-primary) !important;
color: var(--color-brown-primary);
}

h3 {
  font-family: 'National Forest', Georgia, serif;
  font-size: 1.875rem;
  line-height: 50px;
  font-weight: 400;
}

h4 {
  font-family: 'National Forest', Georgia, serif!important!important;
  font-size: 1.875rem;
  line-height: 40px;
  font-weight: 700;
}

h5 {
  font-family: 'Atkinson Hyperlegible', sans-serif;
  font-size: 1.5rem;
  line-height: 30px;
  font-weight: 700;
}

h6 {
  font-family: 'Atkinson Hyperlegible', sans-serif;
  font-size: 1.25rem;
  line-height: 30px;
  font-weight: 700;
}

h1, h2, h3, h4, h5, h6 {
	color: #000;
line-height: 1.2em;
}


@font-face {
    font-family: 'webmaster_base_icons';
    src: url('../fonts/webmaster_base_icons.eot');
    src: url('../fonts/webmaster_base_icons.eot?#iefix') format('embedded-opentype'),
         url('../fonts/webmaster_base_icons.woff2') format('woff2'),
         url('../fonts/webmaster_base_icons.woff') format('woff'),
         url('../fonts/webmaster_base_icons.ttf') format('truetype'),
         url('../fonts/webmaster_base_icons.svg#webmaster_base_icons') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* National Forest Font Family */

/* National Forest Font Family */

@font-face {
    font-family: 'NationalPark';
    src: url('national-park/NationalPark-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'NationalPark';
    src: url('fonts/national-park/NationalPark-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'NationalPark';
    src: url('fonts/national-park/NationalPark-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'NationalPark';
    src: url('fonts/national-park/NationalPark-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'NationalPark';
    src: url('fonts/national-park/NationalPark-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'NationalPark';
    src: url('fonts/national-park/NationalPark-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'NationalPark';
    src: url('fonts/national-park/NationalPark-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}


/* MEGA MENU START */

.topbar {
	background: var(--color-brown-dark)!important
}

#main-navigation .navbar, #masthead .navbar {
	background: var(--color-brown-primary)!important
}

#mega-menu-wrap-primary {
	background: var(--color-brown-primary)!important
}

#mega-menu-wrap-primary .mega-menu-toggle {
	background: transparent!important
}

/* TOP HEADER AND SEARCH  */

#masthead .logo img {
    padding-top: 0px;
    max-height: 330px;
}

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-megamenu>ul.mega-sub-menu {
	background: var(--color-brown-dark)!important
}

/* TOP HEADER AND SEARCH ENDS */

.its-tabs-stacked__panels .elementor-menu-toggle {
  display: none !important;
}

.its-tabs-stacked__panels .elementor-nav-menu--dropdown {
  display: block !important;
  position: static !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-height: none !important;
  overflow: visible !important;
  transform: none !important;
}

@media (max-width: 767px) {
  .mobile-contact {
    display: inline-block !important;
  }
}

@media (min-width: 768px) {
  .mobile-contact {
    display: none !important;
  }
}




/* =============================================
   Mega menu panels — layout
   Each panel is one MMM row (class about-park-menu) with
   four equal columns on desktop:
     .mega-ww-mega-intro  image, title, text, button
     other columns        menus, stacked when a panel has more
     .mega-ww-mega-flow   spans three columns and flows one long
                          list across them (Things To Do)
   Tablet (992px and below): intro full width, menus two across.
   Phone (768px and below): one column, intro image hidden.
   ============================================= */

#mega-menu-wrap-primary #mega-menu-primary li.mega-about-park-menu > ul.mega-sub-menu {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: start !important;
  flex-wrap: unset !important;
  padding: 0 !important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-about-park-menu > ul.mega-sub-menu > li.mega-menu-column {
  grid-column: auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  padding: 30px 24px 20px !important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-about-park-menu > ul.mega-sub-menu > li.mega-ww-mega-flow {
  grid-column: span 3 !important;
}

/* First heading in every column lines up with the top of the intro image */
#mega-menu-wrap-primary #mega-menu-primary li.mega-about-park-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item:first-child > .mega-block-title {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Space between menus stacked in one column */
#mega-menu-wrap-primary #mega-menu-primary li.mega-about-park-menu li.mega-menu-column:not(.mega-ww-mega-intro):not(.mega-ww-mega-flow) > ul.mega-sub-menu > li.mega-menu-item + li.mega-menu-item {
  margin-top: 1.5rem !important;
}

/* Intro column: image, title, text, button */
#mega-menu-wrap-primary #mega-menu-primary li.mega-ww-mega-intro img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  max-height: 200px;
  height: auto !important;
  margin: 0 0 1.25rem !important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-ww-mega-intro .mega-block-title {
  margin-top: 0 !important;
}

.mega-about-park-menu .textwidget {
  color: #fff !important;
  font-size: 1rem;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-ww-mega-intro .textwidget p {
  line-height: 1.6 !important;
}

.mega-about-park-menu a.its-styleguide-button.its-btn-light {
  padding: 15px 20px !important;
  width: 210px;
  max-width: 100%;
  text-align: center;
}

/* Flow column: one list across three columns, gap matches the grid gutter */
#mega-menu-wrap-primary #mega-menu-primary li.mega-ww-mega-flow > ul.mega-sub-menu {
  display: block !important;
  column-count: 3;
  column-gap: 48px;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-ww-mega-flow > ul.mega-sub-menu > li.mega-menu-item:not(:first-child) > .mega-block-title {
  display: none !important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-ww-mega-flow .mega-block-title {
 break-after: avoid;
	white-space: normal !important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-ww-mega-flow ul.menu {
  display: block !important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-ww-mega-flow ul.menu > li {
  break-inside: avoid;
}

@media (max-width: 991px) {
  #mega-menu-wrap-primary .mega-menu-toggle + #mega-menu-primary {
    background: var(--color-brown-dark);
    padding: 0 16px;
    position: absolute;
    width: calc(100% + 24px) !important;
    z-index: 9999999;
    left: auto !important;
  }

  #mega-menu-wrap-primary #mega-menu-primary li.mega-about-park-menu > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #mega-menu-wrap-primary #mega-menu-primary li.mega-about-park-menu > ul.mega-sub-menu > li.mega-ww-mega-intro,
  #mega-menu-wrap-primary #mega-menu-primary li.mega-about-park-menu > ul.mega-sub-menu > li.mega-ww-mega-flow {
    grid-column: 1 / -1 !important;
  }

  #mega-menu-wrap-primary #mega-menu-primary li.mega-ww-mega-flow > ul.mega-sub-menu {
    column-count: 2;
  }
}

@media (max-width: 768px) {
  #mega-menu-wrap-primary #mega-menu-primary li.mega-about-park-menu > ul.mega-sub-menu {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #mega-menu-wrap-primary #mega-menu-primary li.mega-about-park-menu > ul.mega-sub-menu > li.mega-menu-column {
    padding: 1.25rem 0 !important;
  }

  #mega-menu-wrap-primary #mega-menu-primary li.mega-ww-mega-intro img {
    display: none !important;
  }

  #mega-menu-wrap-primary #mega-menu-primary li.mega-ww-mega-flow > ul.mega-sub-menu {
    column-count: 1;
  }

  #mega-menu-wrap-primary #mega-menu-primary p {
    line-height: 1.5em !important;
  }

  .mega-menu-column .menu li a {
    white-space: normal !important;
  }
}

/* MEGA MENU ENDS */

/* ==========================================================================
   Button Styles
   Primary, Secondary (Light), Large, Light Large variants
   Hover states use --color-brown-primary as accent
   Supports both wrapper pattern (.its-btn-primary a)
   and direct anchor pattern (a.its-btn-primary)
   ========================================================================== */

/* --------------------------------------------------------------------------
   PRIMARY BUTTON — .its-btn-primary
   -------------------------------------------------------------------------- */
.its-btn-primary a,
a.its-btn-primary,
form .gform-footer.gform_footer input.gform_button.button,
.search-result-row article a.submit.search-submit.btn.btn-primary,
form.search-page-search button.submit.search-submit.btn.btn-primary,
button.its-btn-primary,
.its-btn-primary,
.elementor-cta a.elementor-cta__button {
  background-color: var(--color-green) !important;
  font-size: 1.2em !important;
  padding: 8px 50px;
  color: var(--color-white) !important;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.3s ease;
  text-align: center;
  display: inline-block;
	line-height: 1.2em;
}

.its-btn-primary a:hover,
a.its-btn-primary:hover,
form .gform-footer.gform_footer input.gform_button.button:hover,
.search-result-row article a.submit.search-submit.btn.btn-primary:hover,
form.search-page-search button.submit.search-submit.btn.btn-primary:hover,
button.its-btn-primary:hover,
.its-btn-primary:hover,
.its-btn-primary-hover,
.mega-sub-menu a.its-btn-primary:hover,
.elementor-cta a.elementor-cta__button:hover {
  background-color: var(--color-brown-dark) !important;
  font-size: 1.2em !important;
  padding: 8px 50px;
  color: var(--color-white) !important;
  text-decoration: none;
  font-style: normal;
  font-weight: bold;
}

/* --------------------------------------------------------------------------
   SECONDARY / LIGHT BUTTON — .its-btn-light
   Note: .its-btn-light-lg intentionally excluded here to avoid cascade
   conflicts with the dedicated block below
   -------------------------------------------------------------------------- */
.its-btn-light a,
a.its-btn-light,
.cta-section-left-icon a.cta-button-left,
button.its-btn-light,
.its-btn-light.elementor-widget-button a.elementor-button,
.elementor-element.its-btn-light a.elementor-button,
.its-btn-light,
.elementor-button-wrapper .elementor-size-sm,
.elementor-widget-button .elementor-button {
  background-color: var(--color-white) !important;
  color: var(--color-green) !important;
  font-size: 1.2em !important;
  padding: 8px 50px;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.3s ease;
  display: inline-block;
	line-height: 1.2em;
}

.its-btn-light a:hover,
a.its-btn-light:hover,
.cta-section-left-icon a.cta-button-left:hover,
button.its-btn-light:hover,
.its-btn-light.elementor-widget-button a.elementor-button:hover,
.its-btn-light:hover,
.its-btn-light-hover,
.elementor-button-wrapper .elementor-size-sm:hover,
.elementor-widget-button .elementor-button:hover {
  background-color: var(--color-green) !important;
  color: var(--color-white) !important;
  font-style: normal !important;
  text-decoration: none !important;
  font-weight: bold !important;
  font-size: 1.2em !important;
  padding: 8px 50px;
}

.elementor-widget-button .elementor-button:hover .elementor-button-text {
  color: var(--color-white) !important;
}

/* --------------------------------------------------------------------------
   LIGHT LARGE BUTTON — .its-btn-light-lg
   Solid green, large — placed AFTER .its-btn-light block to override it
   -------------------------------------------------------------------------- */
.its-btn-light-lg a,
a.its-btn-light-lg,
.its-btn-light-lg {
  font-size: 1.57em !important;
  background-color: var(--color-white) !important;
  color: var(--color-green) !important;
  padding: 8px 50px;
  text-decoration: none;
  border: 0px !important;
  font-weight: bold !important;
  transition: background 0.3s ease;
  display: inline-block;
	line-height: 1.2em;
}

.its-btn-light-lg a:hover,
a.its-btn-light-lg:hover,
.its-btn-light-lg:hover {
  background-color: var(--color-green) !important;
  color: var(--color-white) !important;
  font-style: normal !important;
  text-decoration: none !important;
  font-weight: bold !important;
  font-size: 1.57em !important;
  padding: 8px 50px;
  border: 0px !important;
}

/* --------------------------------------------------------------------------
   LARGE BUTTON — .its-btn-lg
   -------------------------------------------------------------------------- */
.its-btn-lg,
a.its-btn-lg,
.its-btn-lg a {
  background-color: var(--color-green) !important;
  font-size: 1.57em !important;
  padding: 8px 50px;
  color: var(--color-white) !important;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.3s ease;
  display: inline-block;
	line-height: 1.2em;
}

.its-btn-lg:hover,
a.its-btn-lg:hover,
.its-btn-lg a:hover {
  background-color: var(--color-brown-dark) !important;
  font-size: 1.57em !important;
  padding: 8px 50px;
  color: var(--color-white) !important;
  text-decoration: none;
  font-style: normal;
  font-weight: bold;
}

.wpcf7 .wpcf7-submit, .gform_wrapper .gform_button {
	border-radius:0px!important;
}

 /* PARKS START */

	.ecl-list {
		font-family: inherit;
		list-style: none;
		margin: 0;
		padding: 0;
	}
	.ecl-list li {
		display: flex;
		align-items: flex-start;
		gap: 16px;
		padding: 14px 0;
		border-bottom: 1px solid #e5e5e5;
	}
	.ecl-list li:last-child {
		border-bottom: none;
	}
	.ecl-date {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		min-width: 42px;
		line-height: 1;
	}
	.ecl-date .ecl-month {
		font-size: 0.6875rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		color: #555;
	}
	.ecl-date .ecl-day {
		font-size: 1.75rem;
		font-weight: 700;
		color: #111;
		line-height: 1.1;
	}
	.ecl-info {
		flex: 1;
	}
	.ecl-time {
		font-size: 0.75rem;
		color: #555;
		margin-bottom: 3px;
		display: flex;
		align-items: center;
		gap: 5px;
	}
	.ecl-time svg {
		flex-shrink: 0;
	}
	.ecl-title {
		font-size: 1rem;
		font-weight: 700;
		color: #111;
		margin: 0;
		line-height: 1.3;
        margin-top: 0px!important;
	}
	.ecl-title a {
		color: inherit;
		text-decoration: none;
	}
	.ecl-title a:hover {
		text-decoration: underline;
	}
	.ecl-no-events {
		color: #555;
		font-style: italic;
	}

    .park-result h2{
        margin-top: 0px!important;
    }

    /* PARK END */

    .state-park-template .site-branding{
        display: none;
    }

.park-activity-template .site-branding{
        display: none;
    }

.site-branding i.fa-search.fa-solid {
	font-size: 1.875rem!important;
	color: var(--color-green)!important
}

.modal-body .input-group {
	height: 60px!important;
}
.modal-body .custom_header_search .search-submit i {
    color: var(--color-green);
    font-size: 1.875rem;
    margin-top: 4px;
}

/* RAW HTML TABLE */
/* ===== Global Table Base ===== */
table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-family: Atkinson Hyperlegible, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1rem;
  color: #111;
  background: #fffef0;
}

.site-branding .d-flex {
	justify-content: space-between;
}

.site-branding .search-bar {
	display: flex;
}

/* ===== Header ===== */
thead th {
  background: #005389;
  color: #ffffff;
  text-align: left;
  padding: 12px 14px;
  font-weight: 700;
  position: relative;
  white-space: nowrap;
	font-size: 1.25rem;
	border-right: 1px solid #999;
}

thead th:hover {
	background: #049cdb;
}

.tablepress>:where(tbody.row-striping)>:nth-child(even of :where(:not(.child,.dtrg-group)))>* {
	background: #fff!important
}


thead th:last-child {
  border-right: none;
}

.tablepress>:where(thead,tfoot)>tr>* {
	background: #005389;
}

.tablepress> :where(thead, tfoot)>*>th {
	font-size: 1.25rem!important;
	padding: 12px 14px!important;
	border-right: 1px solid #999;
}

.tablepress thead .dt-orderable-asc .dt-column-order, .tablepress thead .dt-orderable-desc .dt-column-order {
	color: #ffffff!important;
}

.tablepress>:where(thead,tfoot)>tr>* {
	background: var(--color-green)
}

.tablepress thead .dt-orderable-asc:hover, .tablepress thead .dt-orderable-desc:hover, .tablepress thead .dt-ordering-asc, .tablepress thead .dt-ordering-desc {
	background: var(--color-brown-primary)!important
}

thead th {
	background: var(--color-green)
}

thead th:hover {
	background: var(--color-brown-primary)!important
}

.tablepress>:where(tbody.row-striping)>:nth-child(odd of :where(:not(.child,.dtrg-group)))+:where(.child)>*, .tablepress>:where(tbody.row-striping)>:nth-child(odd of :where(:not(.child,.dtrg-group)))>* {
	background: var(--color-taupe)
}

tbody tr:nth-child(odd) {
	background: var(--color-taupe)!important
}

main a:hover{
	text-decoration: none!important
}




/* Sort indicators (visual only) */
/* thead th::after {
  content: "▲\A▼";
  white-space: pre;
  font-size: 0.5625rem;
  line-height: 9px;
  color: #0f2d44;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
} */

/* ===== Body Cells ===== */
tbody td {
  padding: 14px;
  border-top: 0px solid #999;
  border-right: 1px solid #999;
  vertical-align: middle;
	border-bottom: 0px
}

table tbody tr td:first-child {
  border-left: 1px solid #999; /* adjust color/width as needed */
}

tbody td:last-child {
  border-right: none;
}

/* ===== Zebra Striping ===== */
tbody tr:nth-child(odd) {
  background: #F2F4F0;
}

tbody tr:nth-child(even) {
  background: #fff;
}

/* ===== First Column (ID look) ===== */
tbody td:first-child {
/*   font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; */
  font-weight: 600;
}

/* ===== Status Column ===== */
tbody td:nth-child(5) {
  font-weight: 600;
}

tbody td:nth-child(5):contains("Available") {
  color: #1a7f37;
}

tbody td:nth-child(5):contains("Not") {
  color: #8a1c1c;
}

/* ===== Action Links ===== */
tbody td a {
  color: #0b5ed7;
  text-decoration: none;
  font-weight: 500;
}

tbody td a:hover {
  text-decoration: underline;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
  table {
    font-size: 0.875rem;
  }

  thead th::after {
    display: none;
  }
	.image-caption-centered img {
		height: 250px!important;
	}
	
	.agency-notice {
		justify-content: center!important;
    margin-top: 0px auto!important;
		margin-bottom:50px!important;
    flex-direction: column!important;
    padding: 20px;
		border: 0px solid rgba(0, 0, 0, 0.12)!important;
    border-left: 0x solid rgba(0, 0, 0, 0.35)!important;
    border-radius: 0px!important;
    background:transparent!important;
    box-shadow: none!important;
		align-items: center!important;
	}
	.announcement-bar .announcement-content {
    width: auto;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
}
	
	.e-n-tab-title[aria-selected="true"]::after {
		display: none;
	}
	
	    .elementor-10953 .elementor-element.elementor-element-b1f2bc4 {
		padding: 20px!important
	}

}

i.fa-solid.fa-circle-info {
    font-size: 1.875rem;
}

/* RAW TABLE EBDS */

/* ICONS  */


.icon-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 8px;
    font-family: sans-serif;
}
.icon-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 0.8125rem;
	font-family: 'Atkinson Hyperlegible', sans-serif;
}
.icon-item i {
    font-size: 1.125rem;
    width: 24px;
    text-align: center;
    flex-shrink: 0;
}

/* GRAVITY FORMS START */
.gfield_checkbox, .gfield_radio {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: column!important;
    align-items: flex-start!important;
    gap: 10px !important;
    border: none !important;
    padding: 0 !important;
    justify-content: flex-start!important;
}

.gfield_checkbox .gchoice, .gfield_radio .gchoice {
	width: 100%
}

/* GRAVITY FORMS END */


/* VENDOR SEARCH STARTS */

/* Vendor Search Table - 1300px max width, responsive */
.vendor-search-table {
    max-width: 1300px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.vendor-search-table .e-con-inner {
    max-width: 1300px !important;
    width: 100% !important;
}

/* Allow horizontal scroll on smaller screens */
.vendor-search-table .dt-scroll {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

.vendor-search-table .dt-scroll-body {
    overflow-x: auto !important;
}

/* Ensure table doesn't force the container wider */
.vendor-search-table .tablepress {
    min-width: 600px; /* prevents columns from collapsing too hard */
}

/* Tighten up at tablet/mobile */
@media (max-width: 1300px) {
    .vendor-search-table {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 768px) {
    .vendor-search-table .dt-length,
    .vendor-search-table .dt-search {
        width: 100%;
        text-align: left;
    }

    .vendor-search-table .dt-layout-row:first-child {
        flex-direction: column;
        gap: 8px;
    }
}
/* VENDOR SEARCH ENDS */


/* EVENTS ON HOME */

.event-item {
	background: transparent!important;
}

.event-image img {
	height: 180px!important;
}

.event-title a {
	font-family: 'NationalPark';
	font-size: 1.875rem;
	text-transform: uppercase;
	color: var(--color-brown-primary)!important
}

h3.event-title {
	line-height: 1.2em;
	
}

.event-date {
	background: var(--color-green)
}

.event-item:nth-child(1) .event-date {
   background: var(--color-green)
}

.event-date .month {
	color: var(--color-gold)
}

.event-date .year {
	color: var(--color-gold)
}

.view-all-events a{
	border-radius: 0px;
	background: var(--color-green)!important;
	color: var(--color-white)!important
}
.view-all-events a:hover {
	background: var(--color-brown-dark)!important
}

.tribe-events-calendar-list__event-row {
	background: transparent;
}

.tribe-events .tribe-events-header__content-title {
	display: none;
}

.tribe-events-calendar-list__event-date-tag {
	background: var(--color-green)
}

span.tribe-events-calendar-list__event-date-tag-weekday {
	color: var(--color-gold)!important
}

.tribe-events-calendar-list__event-date-tag-year {
	color: var(--color-gold)!important
}

/* EVENTS ON HOME END */


/* NEW ON HOMEPAGE START */

.custom-news-alerts-wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 30px;
}

.custom-news-alerts-item {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 20px;
}

.custom-news-image {
    flex: 0 0 250px;
    max-width: 250px;
}

.custom-news-image img.news-thumb {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.custom-news-content {
    flex: 1;
}

.custom-news-title {
    margin-top: 0;
    font-size: 1.25em!important;
    font-weight: 600;
	line-height: 1.2em;
	margin-bottom: 10px;
	color: var(--color-links)!important
}

.custom-news-meta {
    font-size: 1rem;
    color: var(--color-brown-primary);
    margin-bottom: 10px;
}

.custom-news-meta a {
    color: var(--color-brown-primary);
    margin-left: 10px;
    text-decoration: underline!important;
    font-weight: 500;
	text-transform: uppercase;
	font-size: 1rem
}
.custom-news-meta a:hover {
	text-transform: uppercase!important;
}

.custom-news-excerpt {
    line-height: 1.6;
    margin-bottom: 2rem;
}

.cta-text-left h2 {
    font-size: 1.87rem;
}

.custom-news-excerpt a {
    font-weight: 100;
    font-size: 0.85rem;
	text-decoration: underline!important;
    color: #0056a3;
}

.custom-news-button {
    display: inline-block;
    background-color: var(--color-green);
    color: var(--color-white);
    font-weight: 600;
    padding: 8px 50px;
    text-align: center;
    text-decoration: none;
    font-size: 1.25em;
    transition: background 0.3s ease;
	width: max-content;
}

.custom-news-button a {
	color: #fff;
	text-decoration: none;
}

h3.custom-news-title a{
	font-family: 'Atkinson Hyperlegible', sans-serif!important;
	color: var(--color-black)!important;
	font-size:1.25rem;
}


.custom-news-button:hover {
   background: var(--color-brown-dark)!important;
	color: var(--color-white)!important;
	font-style: normal;
	text-decoration: none
		
}

/* NEWS ON HOMEPAGE END  */

/* FOOTER STARTS */


/* Contact Block Wrapper */
.contact-block {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-white);
    margin-bottom: 20px;
}

/* Icon Spacing */
.contact-block i {
    margin-right: 6px;
    color: var(--color-icons);
    width: 18px;
    text-align: center;
}

/* Make phone numbers clickable if wrapped in <a> */
.contact-block a {
    color: var(--color-white);
    text-decoration: none;
    font-weight: 500;
}

.contact-block a:hover {
    text-decoration: underline;
}

/* Optional: consistent line spacing */
.contact-block br {
    line-height: 1.8;
}

div[role="navigation"] a {
    position: relative;
    color: var(--color-white); /* or adjust based on background */
    text-decoration: underline;
    font-size: 1rem;
    padding: 15px;
}

.row-footer-links a {
    color: var(--color-white)!important;;
    margin: 0px;
	font-size: 1rem!important
}

.row-footer-links a:hover {
	color: #DDE377!important
}
a>i:hover, a:hover>i {
    color: #DDE377!important;
    opacity: 1;
    text-decoration: none !important;
}

.row-footer-links {
	background-color: var(--color-cta)!important;
}

.social-area a i:hover, a[itemprop="url"]:hover img[itemprop="logo"] {
	transform: none!important
}

#colophon {
    background-image: url("/wp-content/uploads/Footer-scaled.png");
    background-size: cover;          /* Make image scale to full width */
    background-position: center;     /* Keep focal point centered */
    background-repeat: no-repeat;
    background-attachment: scroll;   /* Prevent weird mobile behavior */
    padding: 70px 0;                 /* Vertical spacing */
    width: 100%;
	    height: 75%;
    justify-content: center;
    display: flex;
    align-items: end;
	margin-top: 120px;
}

.site-footer {
    background-color: transparent!important;
}

.row-footer-links a:hover {
	font-style: italic!important
}

.footer-navigation a {
	text-decoration: none!important;
}

.footer-navigation h3.widget-title {
	font-size:1em!important;
	color: #fff!important
}

.footer-navigation ul {
	list-style: none!important
}

.footer-navigation a:hover {
	color: #DDE377!important;
/* 	font-style: italic!important; */
	text-decoration: underline!important;
}

[role="navigation"] a:not(:last-child)::after {
	color: var(--color-gold)!important;
	right: -2px;
}

.row-footer-links a:hover {
	font-style: normal!important
}

@media only screen and (max-width: 991px) {
    .footer-navigation {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        text-align: left;
    }
	
	
div[role="navigation"] a {
    position: relative;
    color: var(--color-white); /* or adjust based on background */
    text-decoration: underline;
    font-size: 1rem;
    padding: 5px;
}
}

/* Tablet */
@media (max-width: 1024px) {
    #colophon {
        padding: 50px 0;
        background-size: cover;
        background-position: center;
    }
	.swiper-slide-inner {
	padding: 15% !important;
	}
}

@media (max-width: 430px) {
	a.swiper-slide-inner {
	padding: 15% !important;
	}
	.elementor-slide-heading {
		width: 100%!important;
		text-align: center!important;
	}
	.contact-card {
    margin-bottom: 20px;
}
}

/* Mobile */
@media (max-width: 768px) {
    #colophon {
        padding: 40px 0;
        background-size: cover;      /* Ensures responsive scaling */
        background-position: center;
		height: 40%;
    }
	
	.custom-top-nav-content li:after {
	top: 7px;
	color: var(--color-divider)!important;
	right: 3px;
}
	.contact-item {
		justify-content: center;
	}
	#colophon .row {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
	.contact-card {
    margin-bottom: 20px;
}
	.row-footer-links [role="navigation"] a {
    text-decoration: none;
    position: relative;
    padding: 10px;
}
	.site-branding {
		background-image: url(/wp-content/uploads/Image-hero-background.jpg)!important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
		height: 700px!important
	}
	
	.search-bar-wrapper {
		display: none!important;
	}
	    #masthead .logo {
        padding: 10px;
        margin-right: auto;
        position: relative;
        float: none;
        width: 100% !important;
        text-align: center;
        display: flex;
        align-content: center;
        justify-content: center;
			margin-top: 50px;
    }
	
	#mega-menu-wrap-primary .mega-menu-toggle {
		background: var(--color-brown-dark)!important
	}
	.topbar .row {
		flex-direction: row;
	}
	.ecl-list li {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid #e5e5e5;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    text-align: center;
}
	.ecl-time {
    font-size: 0.75rem;
    color: #555;
    margin-bottom: 3px;
    display: flex;
    align-items: center;
    gap: 5px;
    flex-direction: row;
    align-content: center;
    justify-content: center;
}
	.single-state-park .elementor-tabs .elementor-tab-content {
		padding: 20px 0px!important;
	}
	.single-state-park .elementor-widget-tabs .elementor-tab-mobile-title {
		font-size: 1.25rem!important;
	}
}

.single-state-park #main {
	padding-top: 0px!important
}

/* Small Mobile */
@media (max-width: 480px) {
    #colophon {
        padding: 30px 0;
        background-size: cover;
        background-position: center;
		height: 660px;
		background-color: var(--color-green)!important;
		background-image: none!important
    }
	.contact-item {
		justify-content: center;
	}
	#colophon .row {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
	.contact-card {
    margin-bottom: 20px;
}
	.row-footer-links [role="navigation"] a {
    text-decoration: none;
    position: relative;
    padding: 10px;
}
	.site-branding {
		background-image: url(/wp-content/uploads/Image-hero-background.jpg)!important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
		height: 700px!important
	}
	
	.search-bar-wrapper {
		display: none!important;
	}
	    #masthead .logo {
        padding: 10px;
        margin-right: auto;
        position: relative;
        float: none;
        width: 100% !important;
        text-align: center;
        display: flex;
        align-content: center;
        justify-content: center;
			margin-top: 50px;
    }
	#main-navigation .navbar, #masthead .navbar {
    background: var(--color-brown-dark) !important;
		
}
	#mega-menu-wrap-primary .mega-menu-toggle {
		background: var(--color-brown-dark)!important
	}
	.topbar .row {
		flex-direction: row;
	}
	.ecl-list li {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid #e5e5e5;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    text-align: center;
}
	.ecl-time {
    font-size: 0.75rem;
    color: #555;
    margin-bottom: 3px;
    display: flex;
    align-items: center;
    gap: 5px;
    flex-direction: row;
    align-content: center;
    justify-content: center;
}
	.single-state-park .elementor-tabs .elementor-tab-content {
		padding: 20px 0px!important;
	}
	.single-state-park .elementor-widget-tabs .elementor-tab-mobile-title {
		font-size: 1.25rem!important;
	}
}

.row.row-footer-links {
	background: var(--color-brown-dark)!important
}


.contact-card h2 {
  font-size: 1rem!important;
  font-weight: 100;
  margin: 0 0 10px 0;
  line-height: 1.4;
	color: var(--color-white)!important;
	font-family: 'Atkinson Hyperlegible', sans-serif!important;
}

.address {
  font-size: 1rem;
  line-height: 1.7;
  margin: 0 0 10px 0;
}

.contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1rem;
  margin-bottom: 10px;
}

.contact-item i {
  width: 16px;
  text-align: center;
  opacity: 0.85;
}

.usa-map {
  filter: brightness(0) saturate(100%) invert(84%) sepia(3%) saturate(2175%) hue-rotate(359deg) brightness(118%) contrast(93%);
}

/* FOOTER ENDS */


/* 404 */

.error-404.not-found {
	display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    text-align: center;
    background: url(/wp-content/uploads/404.jpg) no-repeat center center;
    background-size: cover;
    color: #ffffff;
    padding: 0;
    margin: 0;
}

.error-404.not-found h2{
	margin-top: 60px !important;
	margin-bottom: 20px!important;
	color: #fff !important;
    font-weight: 700;
/* 	font-family: 'National Forest', Georgia, serif!important; */
}

.error-404.not-found a, .error-h2 {
    color: var(--color-gold);
}

.error-404.not-found path {
	fill: var(--color-gold)
}

.error-p-initial, .error-404 .card-text a {
	 color: var(--color-gold)!important;
}

.custom-search-bar.active {
	top: 8%!important
}

/* SINGLE PARK STARTS */

.park-cards-title h2 {
    background: var(--color-brown-primary);
    color: var(--color-white) !important;
    padding: 20px;
	margin-top: 0px!important
}

.splw-lite-header-title {
    display: none!important;
}

.single-park-card {
	gap: 0px!important
}
.park-cards-title .elementor-widget-container {
	margin: 0px!important
}

.single-park-card h2.elementor-heading-title.elementor-size-default {
	color: #fff!important;
	font-size: 20px!important;
	font-weight: 700!important
}

.single-state-park .contact-card h2 {
	font-family: 'Atkinson Hyperlegible', sans-serif!important;
	color: #fff!important;
	font-size: 1rem!important;
	font-weight: 100!important;
	margin-bottom: 10px!important;
	margin-top: 0px!important
}

.park-tabs .elementor-tab-desktop-title {
	border-bottom: 1px solid #999!important;
	background: var(--color-white)!important;
	font-size: 1.25rem!important;
}

.parlk-tabs .elementor-tab-mobile-title {
	border-bottom: 1px solid #999!important;
	background: var(--color-white)!important;
	font-size: 1.25rem!important;
}

.park-tabs .elementor-tab-title.elementor-active {
	background: var(--color-brown-primary)!important;
	color: var(--color-white)!important;
	font-size: 1.25rem!important;
}

.single-state-park .elementor-tab-title.elementor-active {
/* 	background: transparent!important; */
	font-size: 1.25rem!important;
}

.single-state-park .site-branding {
	display: none!important
}


.single-state-park h2 {
	font-family: 'National Forest Script', cursive;
    font-weight: 100!important; /* Bold variant */;
	color: var(--color-brown-primary) !important;
	font-size: 1.875rem!important;
/* 	margin-bottom: 30px!important */
}


.park-tabs .elementor-tab-desktop-title .elementor-active {
	background: var(--color-brown-primary)!important;
	color: var(--color-white)!important;
}

.single-state-park .elementor-tab-title a {
	font-size: 1.25rem!important;
}

.single-state-park .elementor-toggle .elementor-tab-title {
	padding: 15px 0px!important;
}



.elementor-tab-title.elementor-tab-desktop-title.elementor-active {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}

.elementor-tabs-wrapper,
.elementor-widget-tabs,
.elementor-widget-container {
    overflow: visible !important;
}

.elementor-tabs-wrapper {
    position: static !important;
}

.elementor-tab-title.elementor-tab-desktop-title {
    position: relative !important;
}

.elementor-tab-title.elementor-tab-desktop-title.elementor-active::after {
    content: '\f0da' !important;
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--color-brown-primary);
    font-size: 1.125rem;
    position: absolute !important;
    right: -1.25rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
}

.elementor-tab-desktop-title {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}

.elementor-tab-desktop-title #iic-tab-arrow {
    margin-left: auto;
    padding-left: 10px;
}

.park-tabs .elementor-tab-content {
	padding: 0px!important
}

.elementor-tab-desktop-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after {
	height: auto!important;
	 inset-block-start: auto!important;
	
}
.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after {
    margin-left: 50px;
    left: 270px;
    margin-top: 20px;
}

.iic-tab-arrow {
    color: rgb(0, 182, 237) !important;
    font-size: 1.125rem !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
}

.elementor-tabs {
	gap: 80px!important
}

.acf-park-update {
    border-radius: 0px !important;
    border: 20px solid var(--color-brown-dark) !important;
}

.ITS-subscribe-cta-content a {
	color: var(--color-gold)!important;
	text-decoration: underline!important;
		
}


.single-park-card .e-con.e-parent:first-of-type::before {
	background: transparent!important
}

.single-state-park .e-con.e-parent:first-of-type::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        to right,
        rgba(93, 72, 41, 0.92) 0%,
        rgba(53, 40, 21, 0.55) 50%,
        rgba(53, 40, 21, 0) 100%
    );
    pointer-events: none;
}

.single-state-park .e-con.e-parent:first-of-type {
    position: relative;
}

.state-park .elementor-widget-tabs .elementor-tab-title {
	border-bottom: 1px solid #999!important;
/* 	border: 1px solid #999!important; */
}

.single-state-park .e-con.e-parent:first-of-type > * {
    position: relative;
    z-index: 2;
}

.acf-video-modal {
    display: none;
    position: fixed !important;
    inset: 0;
    z-index: 999999;
    align-items: center;
    justify-content: center;
}

.acf-video-modal.is-open {
    display: flex;
}

.single-state-park h2.elementor-heading-title.elementor-size-default {
	margin-top: 0px!important
}


        .acf-swiper-container {
            position: relative;
        }

        .acf-slide-inner {
            position: relative;
            width: 100%;
            aspect-ratio: 4 / 3;
            overflow: hidden;
            border-radius: 0px;
            cursor: default;
        }

        .acf-slide-inner img {
            width: 100%;
            height: 100%!important;
            object-fit: cover;
            display: block;
            transition: transform 0.4s ease;
        }

        .acf-slide-inner:hover img {
            transform: scale(1.03);
        }

        .acf-slide-video {
            cursor: pointer;
        }

        .acf-play-btn {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 64px;
            height: 64px;
            opacity: 0.85;
            transition: opacity 0.25s ease, transform 0.25s ease;
            pointer-events: none;
        }

        .acf-slide-video:hover .acf-play-btn {
            opacity: 1;
            transform: translate(-50%, -50%) scale(1.12);
        }

        .acf-slide-caption {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: flex-end;
            padding: 1.25em;
            background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 60%);
            color: #fff;
            font-family: 'Montserrat', sans-serif;
            font-size: 0.95rem;
            font-weight: 600;
            line-height: 1.3;
            opacity: 0;
            transition: opacity 0.35s ease;
            border-radius: 0px;
        }

        .acf-slide-inner:hover .acf-slide-caption {
            opacity: 1;
        }

        .acf-swiper-container .swiper-button-next,
        .acf-swiper-container .swiper-button-prev {
            color: #fff;
            text-shadow: 0 1px 4px rgba(0,0,0,0.5);
        }

        .acf-video-modal {
    display: none;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 999999 !important;
    align-items: center;
    justify-content: center;
    transform: none !important;
}
.acf-video-modal.is-open {
    display: flex !important;
}
.acf-video-modal-backdrop {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0,0,0,0.82);
    animation: acfFadeIn 0.25s ease;
}
.acf-video-modal-content {
    position: relative;
    z-index: 1;
    width: 90%;
    max-width: 900px;
    animation: acfScaleIn 0.3s ease;
}
.acf-video-modal-frame {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    background: #000;
    border-radius: 6px;
    overflow: hidden;
}
.acf-video-modal-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.acf-video-modal-close {
    position: absolute;
    top: -40px;
    right: 0;
    background: none;
    border: none;
    color: #fff;
    font-size: 2rem;
    cursor: pointer;
    line-height: 1;
    padding: 4px 10px;
    transition: opacity 0.2s;
}
.acf-video-modal-close:hover { opacity: 0.7; }
@keyframes acfFadeIn {
    from { opacity: 0; } to { opacity: 1; }
}
@keyframes acfScaleIn {
    from { opacity: 0; transform: scale(0.95); }
    to   { opacity: 1; transform: scale(1); }
}

.single-park-activity .site-branding {
	display: block;
}



.single-park-activity .e-con.e-parent:first-of-type::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
/*     background: linear-gradient(
        to right,
        rgba(93, 72, 41, 0.92) 0%,
        rgba(53, 40, 21, 0.55) 50%,
        rgba(53, 40, 21, 0) 100%
    ); */
    pointer-events: none;
}

.single-park-activity .e-con.e-parent:first-of-type {
    position: relative;
}

.single-park-activity .e-con.e-parent:first-of-type > * {
    position: relative;
    z-index: 2;
}

/* SINGLE PARK ENDS */

/* PARK  */

.page-id-762 h1.entry-title {
	padding-top: 50px;
}

/* PARK END */


/* SINGLE PARK ACTIVITY */


.single-park-activity .elementor-tab-desktop-title {
	border-bottom: 1px solid #999 !important;
}

.single-park-activity .elementor-widget-tabs .elementor-tabs-content-wrapper {
	border: none!important
}

.single-park-activity .elementor-active {
	border-width: 0px!important;
}

.single-park-activity .elementor-widget-tabs .elementor-tab-content, .elementor-widget-tabs .elementor-tab-title, .elementor-widget-tabs .elementor-tab-title:after, .elementor-widget-tabs .elementor-tab-title:before, .elementor-widget-tabs .elementor-tabs-content-wrapper {
	border-width: 0px!important;
	border: 0px!important
}

.single-park-activity .elementor-tab-content h2 {
	margin-top: 0em;
	line-height: 1.2em;
}

.single-park-activity .elementor-tab-content .gallery-size-thumbnail {
	margin-bottom: 30px!important;
}

.single-park-activity .park-cards-title .elementor-widget-container {
	margin: 0px!important
}

.single-park-activity .park-tabs .elementor-tab-desktop-title {
	border-bottom: 1px solid #999!important;
	background: var(--color-white)!important;
	font-size: 1.25rem!important;
}

.single-park-activity .parlk-tabs .elementor-tab-mobile-title {
	border-bottom: 1px solid #999!important;
	background: var(--color-white)!important;
	font-size: 1.25rem!important;
}

.single-park-activity  .park-tabs .elementor-tab-title.elementor-active {
	background: var(--color-brown-primary)!important;
	color: var(--color-white)!important;
	font-size: 1.25rem!important;
}

.single-park-activity .single-state-park .elementor-tab-title.elementor-active {
/* 	background: transparent!important; */
	font-size: 1.25rem!important;
}

.single-park-activity .single-state-park .site-branding {
	display: none!important
}


.single-park-activity .park-tabs .elementor-tab-desktop-title .elementor-active {
	background: var(--color-brown-primary)!important;
	color: var(--color-white)!important;
}

.single-park-activity .single-state-park .elementor-tab-title a {
	font-size: 1.25rem!important;
}

.single-park-activity .single-state-park .elementor-toggle .elementor-tab-title {
	padding: 15px 0px!important;
}

.single-park-activity .elementor-widget-container h3 {
	font-family: 'Atkinson Hyperlegible', sans-serif!important;
}

.single-park-activity .elementor-tab-content h2 {
	font-size: 1.25rem!important;
	color: var(--color-brown-primary) !important;
	margin-bottom: 15px!important;
	font-family: 'Atkinson Hyperlegible', sans-serif!important;
}

.single-park-activity h2 {
	font-family: 'National Forest Script', cursive;
    font-weight: 100!important; /* Bold variant */;
	color: var(--color-brown-primary) !important;
	font-size: 40px!important;
	margin-bottom: 30px!important
}


.acf-slide-inner {
    overflow: hidden;
    height: 250px!important; /* adjust to taste */
}

.acf-slide-inner img {
    width: 100%;
    height: 100%!important;
    object-fit: cover;
    object-position: center;
    display: block;
}

@media (max-width: 1024px) {
    .acf-slide-inner {
        height: 250px;
    }
}

@media (max-width: 768px) {
    .acf-slide-inner {
        height: 220px;
    }
}
.elementor-widget-breadcrumbs {
	font-size: 1.125rem!important
}
/* SINGLE PARK ACTIVITY ENDS */




/* PARK */

/* ─── Kill theme border interference ────────────────── */
.park-filter-btn,
.park-filter-btn:focus,
.park-filter-btn:active {
    all: unset !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #ffffff !important;
    border: 1.5px solid #b0a898 !important;
    border-radius: 3px !important;
    padding: 10px 16px !important;
    font-family: inherit !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: #2d2010 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    letter-spacing: 0.01em !important;
    outline: none !important;
    box-shadow: none !important;
}

.park-filter-btn:hover {
    background: #f5f0e8 !important;
    border-color: #5D4829 !important;
}

.park-filter-btn[aria-expanded="true"] {
    background: #f5f0e8 !important;
    border-color: #5D4829 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Caret */
.park-filter-btn__caret {
    display: inline-block !important;
    flex-shrink: 0 !important;
    color: #5D4829 !important;
    transition: transform 0.18s ease !important;
    margin-left: 2px !important;
}

.park-filter-btn[aria-expanded="true"] .park-filter-btn__caret {
    transform: rotate(180deg) !important;
}

/* Badge */
.park-filter-btn__badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #5D4829 !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    line-height: 1 !important;
}

/* Active filter button */
.park-filter-btn.has-selections {
    background: #eee6d6 !important;
    border-color: #5D4829 !important;
    font-weight: 600 !important;
    color: #2d2010 !important;
}

/* ─── Panel connects flush to button ─────────────────── */
.park-filter-panel {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 600 !important;
    background: #fff !important;
    border: 1.5px solid #5D4829 !important;
    border-top: none !important;
    border-radius: 0 0 3px 3px !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.10) !important;
    min-width: 230px !important;
    max-height: 300px !important;
    overflow-y: auto !important;
    padding: 4px 0 8px !important;
}

.park-filter-panel[hidden]       { display: none !important; }
.park-filter-panel:not([hidden]) { display: block !important; }

/* ─── Options ────────────────────────────────────────── */
.park-filter-option {
    all: unset !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 16px !important;
    font-size: 0.85rem !important;
    font-family: inherit !important;
    color: #2d2010 !important;
    cursor: pointer !important;
    width: 100% !important;
}

.park-filter-option:hover {
    background: #f5f0e8 !important;
}

.park-filter-option input[type="checkbox"] {
    all: unset !important;
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    border: 1.5px solid #a89880 !important;
    border-radius: 3px !important;
    background: #fff !important;
    cursor: pointer !important;
    display: grid !important;
    place-content: center !important;
    transition: background 0.1s, border-color 0.1s !important;
}

.park-filter-option input[type="checkbox"]:checked {
    background: #5D4829 !important;
    border-color: #5D4829 !important;
}

.park-filter-option input[type="checkbox"]:checked::before {
    content: '' !important;
    display: block !important;
    width: 9px !important;
    height: 9px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-6' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

/* ─── Reset button ───────────────────────────────────── */
#reset-filters,
.park-filter-reset {
    all: unset !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #2d3a22 !important;
    color: #fff !important;
    border-radius: 4px !important;
    padding: 10px 22px !important;
    font-family: inherit !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    letter-spacing: 0.02em !important;
    line-height: 1.2 !important;
    transition: background 0.2s !important;
    white-space: nowrap !important;
}

#reset-filters:hover,
.park-filter-reset:hover {
    background: #4a6235 !important;
}

.park-card__email {
    color: #5D4829;
    font-size: 0.78rem;
    text-decoration: none;
    word-break: break-all;
}
.park-card__email:hover {
    text-decoration: underline;
}

.park-card__info {
    font-size: 0.8rem;
    color: #444;
    text-align: center;
    line-height: 1.6;
    width: 100%;
}
.park-card__info p {
    margin: 0 0 2px;
}


/* ─── Layout ─────────────────────────────────────────── */
.find-a-park-wrap {
    max-width: 1240px;
    margin: 0 auto;
/*     padding: 40px 20px 60px; */
}
	
	@media (max-width: 1024px) {
    .find-a-park-wrap {
        padding: 30px 16px 48px;
    }

    .park-results-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .park-filter-bar {
        gap: 8px;
    }

    .park-filter-btn {
        padding: 8px 12px !important;
        font-size: 0.82rem !important;
    }

    .park-filter-reset {
        padding: 8px 14px !important;
        font-size: 0.82rem !important;
    }
}

@media (max-width: 768px) {
    .find-a-park-wrap {
        padding: 24px 14px 40px;
    }

    .park-results-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .park-filter-bar {
        gap: 6px;
    }

    .park-filter-btn {
        padding: 7px 10px !important;
        font-size: 0.8rem !important;
    }

    .park-filter-panel {
        min-width: 180px !important;
    }
}

@media (max-width: 560px) {
    .find-a-park-wrap {
        padding: 20px 12px 32px;
    }

    .park-results-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .park-filter-bar {
        gap: 6px;
    }

    .park-filter-btn {
        font-size: 0.78rem !important;
        padding: 7px 9px !important;
    }

    .park-recommend-heading {
        font-size: 1.25rem;
    }

    .section-heading {
        font-size: 1.4rem;
    }
}

/* ─── Section headings ───────────────────────────────── */
.find-a-park-wrap .section-heading {
    font-family: 'National Forest Script', cursive!important;
    font-size: 1.75rem;
    color: #3b2e1a;
    margin-bottom: 18px;
}

/* ─── Filter bar ─────────────────────────────────────── */
.park-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 40px;
}

.park-filter-bar select {
    appearance: none;
    -webkit-appearance: none;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px 32px 8px 12px;
    font-size: 0.875rem;
    color: #333;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23555'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    min-width: 160px;
}

.park-filter-bar select:focus {
    outline: 2px solid #5D4829;
    outline-offset: 1px;
}

#reset-filters {
    background-color: #3b2e1a;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 8px 18px;
    font-size: 0.875rem;
    cursor: pointer;
    transition: background 0.2s;
}
#reset-filters:hover { background-color: #5D4829; }

/* ─── Recommend heading ──────────────────────────────── */
.park-recommend-heading {
    font-family: 'National Forest Script', cursive;
    font-size: 1.75rem;
    color: #3b2e1a;
    margin: 0 0 24px;
/*     font-style: italic; */
}

/* ─── Park grid ──────────────────────────────────────── */
.park-results-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

@media (max-width: 900px) {
    .park-results-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .park-results-grid { grid-template-columns: 1fr; }
}

/* ─── Park card ──────────────────────────────────────── */
.park-card {
    background: #fff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.park-card__header {
    background-color: #4a3b20;
    color: #fff;
    font-size:1.125rem;
    font-weight: 700;
    text-align: center;
    padding: 10px 12px;
    letter-spacing: 0.02em;
    line-height: 1.3;
}

.park-card__body {
    padding: 18px 16px 40px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.park-card__logo {
    width: 110px;
    height: 110px;
    object-fit: contain;
    display: block;
}

.park-card__logo-placeholder {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: #d9d0be;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    color: #888;
    text-align: center;
}

.park-card__info {
    font-size: 1rem;
    color: #444;
    text-align: center;
    line-height: 1.6;
    width: 100%;
}

.park-card__info p {
    margin: 0 0 2px;
}

.park-card__contact {
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-items: center;
    font-size: 1rem;
    color: #444;
    width: 100%;
}

.park-card__contact-row {
    display: flex;
    align-items: center;
    gap: 5px;
}

.park-card__contact-row .dashicons,
.park-card__contact-row svg {
    color: #5D4829;
    flex-shrink: 0;
}

.park-card__footer {
    padding: 0 100px 40px;
}

.park-card__btn {
    display: block;
    width: 100%;
    background: var(--color-green) !important;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 0px;
    font-size:1.25rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
    letter-spacing: 0.03em;
}
.park-card__btn:hover { background: var(--color-brown-dark) !important; color: #fff; }

/* ─── Skeleton ───────────────────────────────────────── */
#park-skeleton { display: none; }
.skeleton-card {
    background: #f5f0e8;
    border: 1px solid #d6cdb8;
    border-radius: 4px;
    overflow: hidden;
}
.skeleton-header {
    height: 40px;
    background: #c8b99a;
}
.skeleton-body {
    padding: 18px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.skeleton-circle {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: #e0d8c8;
}
	.park-filter-panel[hidden]       { display: none !important; }
.park-filter-panel:not([hidden]) { display: block !important; }
.skeleton-line {
    height: 12px;
    border-radius: 4px;
    background: #e0d8c8;
}
	/* ─── Filter dropdown panels ─────────────────────────── */
.park-filter-dropdown {
    position: relative;
}

.park-filter-panel {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 500;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    min-width: 220px;
    max-height: 280px;
    overflow-y: auto;
    padding: 8px 0;
}

.page-id-5 .recent-heading h2 {
	color: var(--color-brown-primary);
	font-weight: 100!important
}

.park-filter-panel[hidden]       { display: none !important; }
.park-filter-panel:not([hidden]) { display: block !important; }

.park-filter-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    font-size: 0.84rem;
    color: #333;
    cursor: pointer;
    transition: background 0.1s;
    white-space: nowrap;
}
.park-filter-option:hover { background: #f5f0e8; }
.park-filter-option input[type="checkbox"] {
    flex-shrink: 0;
    accent-color: #5D4829;
    width: 15px;
    height: 15px;
    cursor: pointer;
}
.skeleton-line.w80 { width: 80%; }
.skeleton-line.w60 { width: 60%; }
.skeleton-line.w50 { width: 50%; }
@keyframes shimmer {
    0%   { background-position: -600px 0; }
    100% { background-position:  600px 0; }
}
.skeleton-header,
.skeleton-circle,
.skeleton-line {
    background-image: linear-gradient(90deg, #d9cebb 25%, #ede5d4 50%, #d9cebb 75%);
    background-size: 600px 100%;
    animation: shimmer 1.4s infinite linear;
}
@media (max-width: 767px) {
    /* Hide desktop list AND its View All button */
    .custom-news-alerts-wrapper { display: none !important; }
    .custom-news-alerts-wrapper ~ .custom-news-view-all { display: none !important; }
}

   /* ── Show/hide logic ─────────────────────────── */
    .news-mobile-slider-wrap { display: none; }

    @media (max-width: 767px) {
        .custom-news-alerts-wrapper,
    .custom-news-view-all { display: none !important; }

        .news-mobile-slider-wrap { display: block; }

        /* ── Outer wrap ──────────────────────────── */
        .news-mobile-slider-wrap .custom-news-view-all { display: none !important; }

        /* ── Swiper container ────────────────────── */
        .news-mobile-swiper {
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        /* ── Slide layout ────────────────────────── */
        .news-mobile-swiper .swiper-slide {
            display: flex;
            flex-direction: column;
            background: transparent;
        }

        /* ── Image ───────────────────────────────── */
        .news-slide-image-link {
            display: block;
            width: 100%;
            position: relative;
        }

        .news-slide-thumb {
            width: 100%;
            height: 220px!important;
            object-fit: cover;
            display: block;
			padding: 20px 50px;
        }

        /* ── Content block ───────────────────────── */
        .news-slide-content {
            padding: 22px 20px 28px;
            text-align: center;
            background: transparent;
        }

        .news-slide-title {
            font-size: 1.25rem;
            line-height: 1.3;
            margin: 0 0 10px;
            text-transform: uppercase;
            letter-spacing: 0;
			
        }
		.news-slide-title strong {
			font-weight: 700!important
		}
		
		.news-swiper-prev::after,
.news-swiper-next::after {
    display: none; /* kill Swiper's built-in arrow */
}

.news-swiper-prev i,
.news-swiper-next i {
    font-size: 3rem;
    color: #000;
    line-height: 1;
}

        .news-slide-title a {
            color: inherit;
            text-decoration: none;
        }

        .news-slide-meta {
            font-size: 0.78rem;
            color: #666;
            margin-bottom: 12px;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .news-slide-meta .news-date { color: #555; }

        .news-slide-meta a {
            text-transform: uppercase;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.06em;
        }

        .news-slide-excerpt {
            font-size:1rem;
            line-height: 1.65;
            color: #444;
            margin-bottom: 20px;
        }

        /* ── Arrows — overlaid on image ──────────── */
        .news-swiper-prev,
        .news-swiper-next {
            position: absolute;
            top: 120px; /* half of image height (240/2) */
            transform: translateY(-50%);
            z-index: 10;
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            background: transparent;
            margin: 0;
        }
		.contact-card h2 {
			color: #fff!important
		}

        .news-swiper-prev { left: 6px; }
        .news-swiper-next { right: 6px; }

        .news-swiper-prev::after,
        .news-swiper-next::after {
            font-size: 1.625rem;
            font-weight: 700;
            color: #fff;
            text-shadow: 0 1px 4px rgba(0,0,0,0.5);
        }

        @media (prefers-reduced-motion: reduce) {
            .news-mobile-swiper .swiper-slide { transition: none !important; }
        }
		.news-mobile-swiper .swiper-slide {
			background: transparent!important;
		}
    }


        .events-mobile-slider-wrap { display: none; }

        @media (max-width: 767px) {

            .tribe-events-calendar-list.homepage-events,
            .tribe-events-calendar-list.homepage-events ~ .view-all-events { display: none !important; }

            .events-mobile-slider-wrap { display: block; }

            .events-mobile-swiper {
                width: 100%;
                overflow: hidden;
                position: relative;
            }

            .events-mobile-swiper .swiper-slide {
                display: flex;
                flex-direction: column;
                align-items: center;
                background: transparent;
            }

            /* ── Hero zone ───────────────────────────── */
            .event-slide-hero {
                position: relative;
                width: 100%;
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 32px 60px;
                box-sizing: border-box;
            }

            /* ── Date block ──────────────────────────── */
            .event-slide-date {
                display: inline-flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                background: #2d4a2d;
                color: #fff;
                padding: 50px 32px;
                min-width: 190px;
                line-height: 1.1;
            }
			
			.event-slide-hero {
				display: flex;
				flex-wrap: nowrap;
				align-content: center;
				justify-content: center;
				align-items: center;
			}

            .event-slide-date .month {
                font-size: 1.5rem;
				color: var(--color-gold);
                text-transform: uppercase;
                letter-spacing: 0.1em;
                opacity: 0.85;
            }

            .event-slide-date .day {
                font-size: 3.125rem;
                font-weight: 700;
				color: #fff;
                line-height: 1;
                margin: 4px 0;
            }

            .event-slide-date .year {
                font-size: 1rem;
                opacity: 0.7;
				color: var(--color-gold);
                letter-spacing: 0.05em;
            }

            /* ── Arrows ──────────────────────────────── */
            .events-swiper-prev,
            .events-swiper-next {
                position: absolute;
                top: 25%;
                transform: translateY(-50%);
                z-index: 10;
                width: 36px;
                height: 36px;
                display: flex;
                align-items: center;
                justify-content: center;
                background: transparent;
                margin: 0;
            }

            .events-swiper-prev { left: 8px; }
            .events-swiper-next { right: 8px; }

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

            .events-swiper-prev i,
            .events-swiper-next i {
                font-size: 3rem;
                color: #333;
                line-height: 1;
            }

            /* ── Content ─────────────────────────────── */
            .event-slide-content {
                width: 100%;
                padding: 20px 24px 28px;
                text-align: center;
                box-sizing: border-box;
            }
			
			.page-id-5 h2 {
				color: var(--color-brown-primary)
			}
			
			.page-id-5 .recent-heading h2 {
				color: var(--color-brown-primary)
			}

            .event-slide-title {
                font-size: 1.875rem;
                text-transform: uppercase;
                margin: 0 0 10px;
                line-height: 1.2;
                font-weight: 700;
				color: var(--color-brown-dark)
            }

            .event-slide-title a {
                color: inherit;
                text-decoration: none;
            }

            .event-slide-datetime {
                font-size: 1.5rem!important;
                color: #444;
                margin-bottom: 10px;
            }

            .event-slide-content .event-venue-link { text-decoration: none; }

            .event-slide-content .event-venue {
                font-size: 1rem;
                color: #1a6fbf;
                line-height: 1.5;
                margin-bottom: 0;
            }

            /* ── View All ────────────────────────────── */
            .events-slide-view-all {
                text-align: center;
                margin-top: 24px;
            }

            @media (prefers-reduced-motion: reduce) {
                .events-mobile-swiper .swiper-slide { transition: none !important; }
            }
        }
div#its-tabs-stacked-49a68f5-g0-panel-0 p,
div#its-tabs-stacked-49a68f5-g0-panel-1 p,
div#its-tabs-stacked-49a68f5-g0-panel-2 p,
div#its-tabs-stacked-49a68f5-g0-panel-13 p {
    display: none;
}




h5.ITS-2-col-img-text__title {
	 font-family: 'National Forest', Georgia, serif;
}

.error-404.not-found .card-body {
	gap:  3em;
	align-items: center;
	padding: 0 50px;
	justify-content: start;
}

.error-404.not-found h2 {
    margin-top: 80px !important;
    margin-bottom: 50px !important;
    font-family: 'National Forest', Georgia, serif !important;
}

.e-n-accordion p{
	font-size: 1rem!important
}

/* Patch: allow font-size set on <html> by resizeText() to cascade into body and
Elementor containers. Remove when parent theme is updated. */
body {
  font-size: inherit;
}

.acf-downloads {
    display: none;
}

.elementor-tabs-content-wrapper {
    max-height: 500px;
    overflow-y: scroll !important;
    overflow-x: hidden;
    position: relative;
    padding-right: 8px;

    /* Firefox */
    scrollbar-width: thin;
    scrollbar-color: #5D4829 #ffffff;
}

/* Chrome / Edge / Safari */
.elementor-tabs-content-wrapper::-webkit-scrollbar {
    width: 20px;
}

.elementor-tabs-content-wrapper::-webkit-scrollbar-track {
    background: #ffffff;
}

.elementor-tabs-content-wrapper::-webkit-scrollbar-thumb {
    background: #5D4829;
    border-radius: 0;
    border: none;
}

.elementor-tabs-content-wrapper::-webkit-scrollbar-thumb:hover {
    background: #5D4829;
}

.elementor-tabs-content-wrapper {
    max-height: 700px;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    padding-right: 18px;
}

/* Real scrollbar */
.elementor-tabs-content-wrapper::-webkit-scrollbar {
    width: 10px;
}

.elementor-tabs-content-wrapper::-webkit-scrollbar-track {
    background: transparent;
}

.elementor-tabs-content-wrapper::-webkit-scrollbar-thumb {
    background: transparent;
}

/* Always-visible fake scrollbar */
.elementor-tabs-content-wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 10px;
    height: 100%;
    background: #ffffff;
    z-index: 1;
}

.elementor-tabs-content-wrapper::before {
    content: "";
    position: absolute;
    top: 40%;
    right: 0;
    width: 10px;
    height: 60px;
    background: #5D4829;
    z-index: 2;
}

/* ============================================================
   HARRIMAN — ACCOMMODATIONS TAB
   Clean card-based layout with subtle motion & park-brand palette
   ============================================================ */

.accom-tab {
    /* Brand palette (editable) */
    --accom-bg: #f6f4ef;
    --accom-card: #ffffff;
    --accom-ink: #1f2a24;
    --accom-ink-soft: #55605a;
    --accom-rule: #e6e2d6;
    --accom-accent: #2f5d3a;      /* forest green */
    --accom-accent-2: #c9a84c;    /* warm brass */
    --accom-shadow: 0 1px 2px rgba(15, 23, 20, .04),
                                            0 12px 32px -12px rgba(15, 23, 20, .12);
    --accom-radius: 14px;
    --ease-out: cubic-bezier(.23, 1, .32, 1);

    max-width: 1100px;
    margin: 0 auto;
    color: var(--accom-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.6;
}

/* ---------- Top heading + quick list ---------- */
.accom-tab > h3 {
    font-size: 1.75rem;
    font-weight: 100;
    letter-spacing: -.01em;
    margin: 0 0 .5rem;
    color: var(--accom-ink);
}

.accom-tab > h3::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    margin-top: .6rem;
    background: var(--accom-accent-2);
    border-radius: 3px;
}

.accom-tab > ul {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
}

.accom-tab > ul > li {
    background: var(--accom-card);
    border: 1px solid var(--accom-rule);
    padding: .35rem .85rem;
    font-size: 16px;
	font-weight: 700!important;
    color: #000;
}

/* ---------- Hero video ---------- */
.accom-tab > div[style*="padding-bottom:56.25%"] {
    border-radius: var(--accom-radius);
    overflow: hidden;
    box-shadow: var(--accom-shadow);
    margin-bottom: 2.5rem;
    background: #000;
}

.accom-tab iframe {
    border: 0;
    display: block;
}

/* ============================================================
   CARD — each shelter/accommodation block
   ============================================================ */
.shelter-block {
    background: var(--accom-card);
    border: 1px solid var(--accom-rule);
    border-radius: var(--accom-radius);
    padding: 1.75rem 1.75rem 1.25rem;
    margin-bottom: 1.5rem !important;
    box-shadow: var(--accom-shadow);
    transition: transform 220ms var(--ease-out),
                box-shadow 220ms var(--ease-out);

    /* Contains the floated lead image without clipping figures */
    display: flow-root;
    overflow: visible !important;
}

@media (hover: hover) and (pointer: fine) {
    .shelter-block:hover {
        transform: translateY(-2px);
        box-shadow: 0 2px 4px rgba(15, 23, 20, .04),
                                            0 20px 40px -12px rgba(15, 23, 20, .16);
    }
}

/* Card title */
.shelter-block > h3 {
    font-size: 1.375rem;
    font-weight: 700;
    letter-spacing: -.005em;
    margin: 0 0 1rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid var(--accom-rule);
    color: var(--accom-accent);
    display: flex;
    align-items: center;
    gap: .6rem;
}

.shelter-block > h3::before {
    content: "";
    width: 6px;
    height: 22px;
    background: var(--accom-accent-2);
    border-radius: 2px;
    flex-shrink: 0;
}

/* Nested subheading (e.g. "Becker Backcountry Yurt") */
.shelter-block h4 {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0 0 .75rem;
    color: var(--accom-ink);
}

/* Lead image in each card */
.shelter-block > img {
    border-radius: 10px;
    box-shadow: 0 4px 14px -4px rgba(15, 23, 20, .18);
    margin: 0 1.85rem 1rem 0 !important;
    padding-right: 0 !important;
}

/* ---------- Card content ---------- */
.shelter-info {
    font-size: .95rem;
    color: var(--accom-ink);
}

.shelter-info p {
    margin: 0 0 .8rem;
}

.shelter-info ul {
    padding-left: 1.25rem;
    margin: 0 0 1rem;
}

.shelter-info ul ul {
    margin-top: .4rem;
    margin-bottom: .6rem;
}

.shelter-info li {
    margin-bottom: .35rem;
}

.shelter-info > ul:first-child,
.shelter-info > p:first-child {
    margin-top: 0;          /* bullets align with image top */
}

.shelter-info p {
    margin: 0 0 .8rem;
}

.shelter-info ul {
    padding-left: 1.25rem;
    margin: 0 0 1rem;
}

.shelter-info li::marker {
    color: var(--accom-accent);
}

/* Section labels inside cards (SITE DETAILS, AMENITIES, etc.) */
.shelter-info p strong:only-child,
.shelter-block p strong:only-child {
    display: inline-block;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--accom-accent);
    margin-top: .5rem;
}

/* Inline strong (Cost:, Reservations:, etc.) */
.shelter-info strong {
    color: var(--accom-ink);
    font-weight: 600;
}

/* Links */
.shelter-info a {
    color: var(--accom-accent);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 160ms var(--ease-out),
                                    color 160ms var(--ease-out);
}

.shelter-info a:hover {
    color: var(--accom-accent-2);
    border-bottom-color: currentColor;
}

/* ---------- Figure / caption grid inside cards ---------- */
.shelter-info .wp-caption {
    display: inline-block;
    vertical-align: top;
    margin: .5rem .75rem .75rem 0 !important;
    max-width: 100%;
    background: var(--accom-bg);
    border: 1px solid var(--accom-rule);
    border-radius: 10px;
    padding: 6px;
    overflow: hidden;
    transition: transform 220ms var(--ease-out);
}

@media (hover: hover) and (pointer: fine) {
    .shelter-info .wp-caption:hover {
        transform: translateY(-1px);
    }
}

.shelter-info .wp-caption img {
    display: block;
    border-radius: 6px;
    max-width: 100%;
    height: auto;
}

.shelter-info .wp-caption-text {
    font-size: .75rem;
    line-height: 1.4;
    color: var(--accom-ink-soft);
    padding: .5rem .25rem .25rem;
    margin: 0;
    text-align: center;
    font-style: normal;
}

/* Nested Elementor section — strip its chrome so it sits cleanly inside a card */
.shelter-info .elementor-section,
.shelter-info .elementor-container,
.shelter-info .elementor-column,
.shelter-info .elementor-widget-wrap,
.shelter-info .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
    .accom-tab {
        padding: 1rem .75rem 3rem;
    }

    .shelter-block {
        padding: 1.25rem 1.1rem 1rem;
    }

    .shelter-block > h3 {
        font-size: 1.15rem;
    }

    .shelter-block > img {
        float: none !important;
        width: 100% !important;
        margin: 0 0 1rem !important;
    }

    .shelter-info .wp-caption {
        display: block;
        width: auto !important;
        margin: .5rem 0 !important;
    }
}

/* ---------- Motion: stagger card entrance ---------- */
@media (prefers-reduced-motion: no-preference) {
    .shelter-block {
        opacity: 0;
        transform: translateY(10px);
        animation: accomFadeUp 500ms var(--ease-out) forwards;
    }
    .shelter-block:nth-of-type(1) { animation-delay:  40ms; }
    .shelter-block:nth-of-type(2) { animation-delay:  90ms; }
    .shelter-block:nth-of-type(3) { animation-delay: 140ms; }
    .shelter-block:nth-of-type(4) { animation-delay: 190ms; }
    .shelter-block:nth-of-type(5) { animation-delay: 240ms; }
    .shelter-block:nth-of-type(6) { animation-delay: 290ms; }
    .shelter-block:nth-of-type(7) { animation-delay: 340ms; }
    .shelter-block:nth-of-type(8) { animation-delay: 390ms; }
    .shelter-block:nth-of-type(9) { animation-delay: 440ms; }

    @keyframes accomFadeUp {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

.datepicker thead th:hover {
	background: var(--color-white)!important
}

.datepicker thead th {
    background: #ffffff!important;
    text-align: center!important;
}

.datepicker button.prev {
    background: white;
}
.datepicker button.next {
    background: white;
}

.datepicker table tbody tr td:first-child {
	border: 0px!important
}

.tribe-events .datepicker .day.current {
	border: none!important;
	background: #fff!important;
		color: var(--color-gold)!important;
}

.tribe-events .datepicker .day.active {
	background: var(--color-gold)!important;
	color: var(--color-white)!important
}

.tribe-events .datepicker .day.active:focus {
	outline: none!important;
	outline-offset: none!important
}

.tribe-events .datepicker .day.focused, .tribe-events .datepicker .day:focus, .tribe-events .datepicker .day:hover, .tribe-events .datepicker .month.focused, .tribe-events .datepicker .month:focus, .tribe-events .datepicker .month:hover, .tribe-events .datepicker .year.focused, .tribe-events .datepicker .year:focus, .tribe-events .datepicker .year:hover {
	outline: none!important;
	outline-offset: none!important;
	border-radius: 0px!important
}
.tribe-events .datepicker .day.current:before, .tribe-events .datepicker .month.current:before, .tribe-events .datepicker .year.current:before {
	border: 1px solid var(--color-gold);
	border-radius: 0px!important
}

.tribe-events .datepicker .day:hover {
	background: var(--color-gold)!important;
	color: #000!important
}

@media only screen and (max-width: 991px) {
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
        color: var(--color7);
        display: flex;
        justify-content: space-between;
    }

}

.fa-plus:before {
	display: none;
}
.fa-minus:before {
	display: none
}

@media (max-width: 1024px) {
	span.e-n-accordion-item-title-icon .fa-minus:before {
		display: none !important;
	}

	span.e-n-accordion-item-title-icon .fa-plus:before {
		display: none !important;
	}
	
}

.e-n-accordion-item-title-icon .e-closed::before {
	font-size: 1.5rem;
}


.mega-sub-menu a.its-styleguide-button.its-btn-light {
	margin-top: 25px!important
}

.elementor-toc__header-title {
	margin-top: 0px !important;
	font-family: 'Atkinson Hyperlegible', sans-serif;
	line-height: 0px;
	color: var(--color-white)!important
}

.single-park-card .elementor-template {
    padding: 10px!important;
}

.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after {
	height: 0px!important
		
}

.e-n-accordion-item {
	border-bottom: 1px solid #999;
}

.gform_legacy_markup_wrapper .gsection .gfield_label, .gform_legacy_markup_wrapper h2.gsection_title, .gform_legacy_markup_wrapper h3.gform_title {
	font-weight:100!important
}

.elementor-nav-menu--main .elementor-nav-menu a {
	padding: 10px 0px!important
}

.elementor-nav-menu a.elementor-item {
	padding: 10px 0px!important
}

.elementor-toc__header {
	background: var(--color-green)!important;
color: var(--color-white)!important
}

h2.gsection_title {
	font-size: 1.875rem !important;
	margin-top: 40px!important
}

/* Gravity Forms — universal button styling */
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button,
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"],
.gform_wrapper input[type="button"].button {
  background-color: #2e4028;          /* forest green */
  color: #ffffff;
  font-weight: 700;
  font-size: 1rem;
  border: none;
  border-radius: 4px;
  padding: 14px 28px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.gform_wrapper .gform-theme-button {
  --gf-ctrl-btn-width: auto;
  width: auto;
}

.gform_wrapper .gform_next_button:hover,
.gform_wrapper .gform_previous_button:hover,
.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="button"].button:hover,
.gform_wrapper .gform_next_button:focus,
.gform_wrapper .gform_button:focus,
.gform_wrapper input[type="submit"]:focus {
  background-color: #352815;          /* your hover brown */
  color: #ffffff;
	border: none!important;
  outline: none!important;
  box-shadow: none!important;
}

@media only screen and (min-width: 641px) {
    .gform_legacy_markup_wrapper .gform_page_footer .button.gform_button, .gform_legacy_markup_wrapper .gform_page_footer .button.gform_next_button {
        margin-right: 10px;
        width: 20% !important;
    }
}

.elementor-widget-button .elementor-button {
	border-radius: 0px!important
}

.gform_wrapper input[type="submit"],
.gform_wrapper input[type="button"],
.gform_wrapper .gform_button,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button {
  border: 0 !important;
  box-shadow: none !important;
}

.gform_legacy_markup_wrapper h2.gsection_title {
	margin-top: 40px!important
}

a.elementor-button.elementor-button-link.elementor-size-lg {
    background-color: #2B422A !important;
    color: #fff !important;
}

a.elementor-button.elementor-button-link.elementor-size-lg:hover {
	background: #352815!important;
	color: #fff !important;
}

a.elementor-button.elementor-button-link.elementor-size-sm {
	background-color: #2B422A !important;
    color: #fff !important;
	line-height: 0px!important
}


a.elementor-button.elementor-button-link.elementor-size-sm:hover {
	background: #352815!important;
	color: #fff !important;
}



.page-id-5 h1 {
	font-family: 'National Forest', Georgia, serif!important;
}
.topbar-custom-nav a.search-toggle::after {
	color: var(--color-gold)!important
}

.custom-top-nav-content > ul:not(.dropdown-menu) > li:after {
	color: var(--color-gold)!important
}



h2.error-h2 {
	font-family: 'National Forest', Georgia, serif!important;

}

.single-state-park h3.tribe-events-widget-events-list__event-title.tribe-common-h7 {
    font-size: 30px !important;
	font-family: 'NationalPark' !important;
	text-transform: uppercase;
}

.error-404.not-found h2 {
	font-family: 'National Forest', Georgia, serif!important;

}
.splw-lite-wrapper {
	background: #AC3F00!important;
}

#mega-menu-primary .mega-sub-menu a {
    /* color: var(--color4); */
    text-decoration: none;
    font-size: 18px;
}

/* Patch: allow font-size set on <html> by resizeText() to cascade into body and
   Elementor containers. Remove when parent theme is updated. */
body {
  font-size: inherit;
}
Just that one CSS rule



  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

  .trails-banner {
    position: relative;
    width: 100%;
    min-height: 420px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: linear-gradient(135deg, #1a3a2a 0%, #0f2b1e 40%, #1c4a35 100%);

  }

  /* Topographic texture overlay */
  .trails-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
      repeating-conic-gradient(rgba(255,255,255,.012) 0% 25%, transparent 0% 50%) 0 0 / 80px 80px,
      radial-gradient(ellipse at 80% 20%, rgba(76,175,80,.15) 0%, transparent 60%),
      radial-gradient(ellipse at 20% 80%, rgba(255,183,77,.08) 0%, transparent 50%);
    pointer-events: none;
  }

  /* Decorative mountain silhouette */
  .trails-banner::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 120px;
    background:
      linear-gradient(165deg, transparent 30%, rgba(0,0,0,.12) 30.1%, rgba(0,0,0,.12) 31%, transparent 31.1%),
      linear-gradient(140deg, transparent 45%, rgba(0,0,0,.08) 45.1%, rgba(0,0,0,.08) 46%, transparent 46.1%),
      linear-gradient(155deg, transparent 60%, rgba(0,0,0,.06) 60.1%);
    pointer-events: none;
  }

  .trails-banner__content {
    position: relative;
    z-index: 2;
    max-width: 820px;
    padding: 60px 48px;
  }

  .trails-banner__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #81c784;
    margin-bottom: 20px;
  }

  .trails-banner__eyebrow::before {
    content: '';
    display: block;
    width: 32px;
    height: 2px;
    background: #81c784;
    border-radius: 2px;
  }

  .trails-banner__title {
 
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 400;
    color: #fff!important;
    line-height: 1.15;
    margin-bottom: 18px;
  }

  .trails-banner__title span {
    color: #a5d6a7;
  }

  .trails-banner__desc {
    font-size: 1.05rem;
    line-height: 1.7;
    color: rgba(255,255,255,.72);
    max-width: 560px;
    margin-bottom: 32px;
  }

  .trails-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
  }

  .trails-banner__actions a {
    text-decoration: none;
  }

  /* Decorative trail icon cluster */
  .trails-banner__graphic {
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translateY(-50%);
    opacity: .1;
    pointer-events: none;
  }

  @media (max-width: 768px) {
    .trails-banner__content {
      padding: 44px 24px;
    }
    .trails-banner__graphic {
      display: none;
    }
    .trails-banner {
      min-height: 360px;
    }
  }
.trail-etiquette .elementor-widget-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

.trail-etiquette .elementor-element {
  background: #fff;
  border-radius: 12px;
  padding: 20px 24px;
  border: 1px solid rgba(0,0,0,0.06);
  position: relative;
  padding-left: 68px;
  transition: box-shadow 0.2s, transform 0.15s;
  counter-increment: etiquette;
}

.trail-etiquette .elementor-element:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
  transform: translateY(-2px);
}

.trail-etiquette .elementor-element::before {
  content: counter(etiquette);
  position: absolute;
  left: 20px;
  top: 20px;
  width: 32px;
  height: 32px;
  background: #2D5016;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
}

.trail-etiquette {
  counter-reset: etiquette;
}

.parks-filter-wrap {
    margin-top: -30px !important;
}

.ready-go {
  width: 100vw;
  margin-left: calc(50% - 50vw);
	padding: 40px !important;
}

.page-id-21986 .ready-go .e-con-inner{
	padding: 40px!important
}

.elementor-element.elementor-element-f0f0b29.e-con-full.ready-go.e-flex.e-con.e-parent.e-lazyloaded {
	padding: 40px !important;
}

.elementor-element.elementor-element-410c976.e-con-full.ready-go.e-flex.e-con.e-parent.e-lazyloaded {
    padding: 40px !important;
}

.elementor-element.elementor-element-778e45a1.e-grid.e-con-full.ready-go.e-con.e-parent.e-lazyloaded {
	padding: 40px !important;
}

.elementor-element.elementor-element-2576ff46.e-con-full.ready-go.e-flex.e-con.e-parent.e-lazyloaded {
	padding: 40px !important;
}

.elementor-element.elementor-element-4af4f6f7.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded {
    padding: 10px 40px !important;
}

.elementor-element.elementor-element-4af4f6f7.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded p {
	margin-bottom: 0px!important
}

.elementor-element.elementor-element-2576ff46.e-con-full.ready-go.e-flex.e-con.e-parent.e-lazyloaded {
  background:
    /* Diagonal noise/grain texture */
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.015) 0px,
      rgba(255, 255, 255, 0.015) 1px,
      transparent 1px,
      transparent 4px
    ),
    /* Warm golden diagonal gradient */
    linear-gradient(
      135deg,
      #1a1408 0%,
      #2e2210 25%,
      #4a3a1a 50%,
      #2e2210 75%,
      #1a1408 100%
    );
  background-color: #1a1408;
}

.idaho-rules h3.elementor-icon-box-title {
	margin-top: 0px!important;
	line-height:1em!important
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list-nav {
    padding-top: 40px;
}

/* Events - No Results Message */
.tribe-events-c-messages__message--notice {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #f5f1eb;
    border: 1px solid #d4cfc7;
    border-radius: 6px;
    padding: 24px 32px;
    font-family: 'National Forest', Georgia, serif;
    font-size: 1.1rem;
    color: #3d3d3d;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    margin: 40px 0;
}

.tribe-events .tribe-events-c-messages {
    width: 100% !important;
    max-width: 100% !important;
}

.tribe-events-c-messages__message--notice .tribe-common-c-svgicon--messages-not-found {
    width: 28px;
    height: 28px;
    stroke: #4a7c59;
    fill: none;
    stroke-width: 1.5;
    flex-shrink: 0;
}

.tribe-events-c-messages__message--notice div[data-key] {
    font-weight: 500;
}

.tribe-events .tribe-events-calendar-list-nav {
    border-top: 0px solid var(--tec-color-border-default);
}
/* Stacked tabs panel h2 */
.its-tabs-stacked__panels h2 {
    font-family: 'Atkinson Hyperlegible', sans-serif !important;
    font-size: 1.25rem !important;
	font-weight: 700!important
}

.ITS-subscribe-cta-text p a {
	color: var(--color6) !important;
	text-decoration: underline!important
}

.id-park-rules a{
	color: var(--color6) !important;
}
.find-camping a.elementor-button.elementor-button-link.elementor-size-sm{
	background-color: var(--color-white) !important;
    color: var(--color-green) !important;
    font-size: 1.2em !important;
    padding: 8px 50px;
    text-decoration: none;
    font-weight: bold !important;
    transition: background 0.3s ease;
    display: inline-block;
}

.find-camping a.elementor-button.elementor-button-link.elementor-size-sm:hover {
background-color: var(--color-green) !important;
    color: var(--color-white) !important;
    font-style: normal !important;
    text-decoration: none !important;
    font-weight: bold !important;
    font-size: 1.2em !important;
    padding: 8px 50px;
}

.tribe-events-calendar-list__event-featured-image-wrapper.tribe-common-g-col {
    height: 270px;
}
/* Service Icon Box Cards - White Text */
.its-featured-services-boxes-icons .its-service-icon-box-label,
.its-featured-services-boxes-icons .its-service-icon-box-title,
.its-featured-services-boxes-icons .its-service-icon-box-text,
.its-featured-services-boxes-icons .its-service-icon-box-text p,
.its-featured-services-boxes-icons .its-service-icon-box-icon {
    color: #fff !important;
}

/* Service Icon Box Cards - Parks Branding */
.its-featured-services-boxes-icons .its-service-icon-box-content {
    background: #2B422A !important;
}
.its-featured-services-boxes-icons .its-service-icon-box-label {
    background: #5D4829 !important;
    color: #fff !important;
}
.its-featured-services-boxes-icons .its-service-icon-box-icon {
    color: #C2A73A !important;
}
.its-featured-services-boxes-icons .its-service-icon-box-title {
    color: #FFFFFF !important;
}
.its-featured-services-boxes-icons .its-service-icon-box-text,
.its-featured-services-boxes-icons .its-service-icon-box-text p {
    color: #F1EEE8 !important;
}

/* Mega Menu - Arrow Icons on Links */
.mega-about-park-menu .menu-item > a::before {
    content: "\f105";
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", "FontAwesome";
    font-weight: 900;
    margin-right: 6px;
    font-size: 0.75em;
    opacity: 0.7;
}

/* Mega Menu - Align wrapped link text */
.mega-about-park-menu .menu-item > a {
    display: flex;
    align-items: flex-start;
}
.mega-about-park-menu .menu-item > a::before {
    flex-shrink: 0;
    margin-top: 2px;
}

/* Mega Menu - Hanging indent for wrapped links */
.mega-about-park-menu .menu-item > a {
    padding-left: 16px !important;
    text-indent: -16px !important;
}

a.its-styleguide-button.its-btn-light.mobile-contact {
	display: block!important;
}


/* ===== Event list ===== */
div#its-tabs-stacked-9f6f6e7-g0-panel-11 ul.ecl-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

div#its-tabs-stacked-9f6f6e7-g0-panel-11 ul.ecl-list li {
	display: flex;
	align-items: stretch;
	gap: 1.5rem;
	padding: 10px;
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 0px;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}


/* ===== Date card ===== */
div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-date {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.1em;
	width: 84px;
	padding: 0.75rem;
	background: #2c4226;
	border-radius: 0px;
	line-height: 1;
	text-align: center;
}

div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-month {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #9a8b33;
}

div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-day {
	font-size: 2.25rem;
	font-weight: 800;
	color: #fff;
}

div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-year {
	font-size: 0.8rem;
	font-weight: 500;
	color: #9a8b33;
}

/* ===== Info ===== */
div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-info {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-width: 0;          /* lets long text wrap instead of overflowing */
}

div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-title {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.3;
}

div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-title a {
	color: #1a1a1a;
	text-decoration: none;
}

div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-title a:hover {
	color: #2c4226;
	text-decoration: underline;
}

div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-meta {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-size: 0.9rem;
	color: #555;
}

div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-time {
	font-weight: 600;
	color: #2c4226;
}

div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-venue a {
	color: #555;
	text-decoration: none;
}

div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-venue a:hover {
	text-decoration: underline;
}

/* ===== Image ===== */
div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-image {
	flex-shrink: 0;
	width: 160px;
}

div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
	div#its-tabs-stacked-9f6f6e7-g0-panel-11 ul.ecl-list li {
		flex-wrap: wrap;
		gap: 1rem;
	}

	div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-image {
		order: 3;
		width: 100%;
		height: 180px;
	}
}

@media (max-width: 480px) {
	div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-date {
		width: 64px;
		padding: 0.5rem;
	}

	div#its-tabs-stacked-9f6f6e7-g0-panel-11 .ecl-day {
		font-size: 1.75rem;
	}
}

.its-tabs-stacked__panels{
	padding: 0px 50px!important
}

@media (max-width: 768px) {
	div#its-tabs-stacked-9f6f6e7-g0-panel-11 ul.ecl-list li {
		display: flex;
		align-items: center;
		padding: 10px;
		background: #fff;
		border: 1px solid #e6e6e6;
		border-radius: 0px;
		transition: box-shadow 0.2s ease, transform 0.2s ease;
	}
}

.fa-x-twitter:before {
    content: "\e61b"!important;
}

.rb-list {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin: 40px 0;
}

.rb-item {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	background: transparent;
	border: 0;
	border-radius: 0;
	overflow: visible;
	transition: none;
}

.rb-item:hover {
	box-shadow: none;
	transform: none;
}

.rb-photo {
	flex-shrink: 0;
}

.rb-photo img,
.rb-photo-empty {
	width: 200px !important;
	height: 200px !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	display: block;
	background: #1a1a1a;
}

.rb-info {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0;
	min-width: 0;
}

.rb-district {
	margin: 0 0 6px;
	font-size: 1.8rem!important;
	font-weight: 100;
	color: #2c4226;
}

.rb-name {
	margin: 0;
	font-weight: 700;
	font-size: 1.05rem;
	color: #1a1a1a;
}

.rb-city,
.rb-phone,
.rb-appointed,
.rb-expires {
	margin: 0;
	font-size: 0.92rem;
	color: #555;
}

.rb-email { margin: 0; font-size: 0.92rem; }
.rb-email a { color: #015786; text-decoration: none; }
.rb-email a:hover { text-decoration: underline; }

h2.rb-district {
    margin-top: 0px !important;
}

.rb-bio {
	margin: 10px 0 0;
	font-size: 0.92rem;
	line-height: 1.55;
	color: #5d4829;
	max-width: 60ch;
}

@media (max-width: 768px) {
	.rb-item { flex-direction: column; gap: 16px; }
	.rb-photo img,
	.rb-photo-empty { width: 100% !important; height: 240px !important; }
}
/* WCAG 2.1 AA: restore visible focus indicators */
.park-filter-btn:focus,
.park-filter-btn:focus-visible {
    outline: 2px solid var(--color-gold, #C5A049) !important;
    outline-offset: 2px !important;
}

.tribe-events .datepicker .day:focus,
.tribe-events .datepicker .day.active:focus,
.tribe-events .datepicker .day.focused,
.tribe-events .datepicker .month:focus,
.tribe-events .datepicker .month.focused,
.tribe-events .datepicker .year:focus,
.tribe-events .datepicker .year.focused {
    outline: 2px solid var(--color-gold, #C5A049) !important;
    outline-offset: 1px !important;
}

/* WCAG 2.1 AA: restore focus outlines hidden by parent/plugins */
.spl-weather-forecast-header-area .spl-weather-forecast-select:focus,
.form-control-plaintext:focus,
/* #main:focus {
    outline: 2px solid currentColor !important;
    outline-offset: 2px !important;
} */
.mega-menu-item ul {
	padding-left: 15px;
}

#mega-menu-wrap-primary .mega-sub-menu .mega-about-park-menu .menu-item > a[href*=".pdf"]::before,
#mega-menu-wrap-primary .mega-sub-menu .mega-about-park-menu .menu-item > a[href*=".PDF"]::before {
  content: "\f105";
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", "FontAwesome" !important;
  font-weight: 900 !important;
  margin-right: 6px;
  padding-right: 0;
  font-size: 0.75em;
  opacity: 0.7;
}

@media (max-width: 540px) {
    .pr-item-inner {
        flex-wrap: wrap;
        padding: 12px 12px 12px 13px;
		align-content: center!important;
        justify-content: center!important;
        align-items: center!important;
		gap: 50px!important;
    }
	.pr-content {
    text-align: center;
    gap: 20px;
    display: flex;
    flex-direction: column;
}
}

.alert-warning {
	background: var(--color-brown-dark)!important;
	color: var(--color-white)!important;
	border: none!important;
	border-radius: 0px;
	padding: 25px;
}

.alert-warning p {
	margin-bottom: 0px!important;
	font-size: 24px!important
}

@media (max-width: 767px) {
  .programs-logos img {
    max-width: 180px!important;
    height: auto;
  }
}

.programs-logos a::before {
  display: none !important;
}

.inner-park-sidebar {
	background: var(--color-white);
	padding: 20px!important;
}

.inner-park-sidebar {
  flex: 0 0 300px !important;
  max-width: 300px !important;
}

@media (max-width: 767px) {
  .inner-park-sidebar {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

.e-con:has(> .inner-park-sidebar) {
  justify-content: space-between !important;
}

.e-con:has(> .inner-park-sidebar) > .e-con:not(.inner-park-sidebar) {
  flex: 1 1 0% !important;
}

/* Reset previous styles */
.inner-park-sidebar .elementor-nav-menu li a::after,
.inner-park-sidebar .elementor-widget-text-editor li a::after {
  display: none !important;
}

.inner-park-sidebar .elementor-nav-menu li a,
.inner-park-sidebar .elementor-widget-text-editor li a {
  display: block;
  padding: 12px 0;
  margin: 0;
  font-size: 16px!important;
  font-weight: 100;
	color: #015786!important;
  text-decoration: underline;
/*   border-bottom: 1px solid #E5DCC4; */
  border-radius: 0;
  background: none;
  transition: color 0.2s ease;
}

h3.sidebar-quick-links {
	color: var(--color-brown-primary);
	font-weight: bold;
	font-size: 1.875rem;
}

.inner-park-sidebar h3 strong {
	color: var(--color-brown-primary)!important;
}

.inner-park-sidebar .elementor-nav-menu li a:hover,
.inner-park-sidebar .elementor-widget-text-editor li a:hover {
  color: #015786;
  background: none;
  border-color: #E5DCC4;
}

.inner-park-sidebar .elementor-nav-menu li:last-child a,
.inner-park-sidebar .elementor-widget-text-editor li:last-child a {
  border-bottom: none;
}

.e-n-accordion-item[open] .e-n-accordion-item-title-icon .e-opened::before {
	font-size: 1.5rem!important
}

img.ui-datepicker-trigger {
    display: none !important;
}

.page .gfield--type-captcha {
	display: none!important;
}

/* ═══════ AGENCY CONTACTS ACCORDION ═══════ */
.idpr-contacts {
  font-family: inherit;
  font-size: 15px;
  line-height: 1.6;
  color: #352815;
}

.idpr-contacts__address {
  background: #f5f2ec;
  border-left: 3px solid #3C5A86;
  padding: 16px 20px;
  border-radius: 4px;
  margin-bottom: 24px;
  font-size: 14px;
}

.idpr-contacts__address strong {
  display: block;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #3C5A86;
  margin-bottom: 4px;
}

.idpr-contacts__address a {
  color: #3C5A86;
  text-decoration: none;
}

.idpr-contacts__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
	margin-bottom: 20px;
}

.idpr-contacts__card {
  background: #fff;
  border: 1px solid #E5DCC4;
  border-radius: 6px;
  padding: 16px;
}

.idpr-contacts__card-name {
  font-weight: 700;
  color: #352815;
  font-size: 15px;
  margin: 0 0 2px;
}

.idpr-contacts__card-role {
  font-size: 13px;
  color: #5D4829;
  margin: 0 0 8px;
}

.idpr-contacts__card-phone {
  font-size: 14px;
  color: #3C5A86;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.idpr-contacts__card-phone::before {
  content: "\f095";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 12px;
}

.idpr-contacts h4 {
	font-family: 'National Forest', Georgia, serif!important;
	color: #000000;
    font-size: 1.75rem;
	letter-spacing: 0px!important
}

/* Sub-section headers (Recreation Programs) */
.idpr-contacts__sub {
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #3C5A86;
  margin: 28px 0 12px;
  padding-bottom: 8px;
  border-bottom: 0px!important;
	padding-top: 25px;
}

.idpr-contacts__sub { font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: #3C5A86; margin: 28px 0 12px; padding-bottom: 8px; border-bottom: 2px solid #E5DCC4; }.idpr-contacts__sub:first-child { margin-top: 0; }

.idpr-contacts__sub:first-child {
  margin-top: 0;
}

@media (max-width: 767px) {
  .idpr-contacts__grid {
    grid-template-columns: 1fr;
  }
}

.elementor-widget-accordion .elementor-accordion,
.elementor-widget-accordion .elementor-accordion-item {
  overflow: visible !important;
  max-height: none !important;
}

.tribe-events-calendar-list.homepage-events h3.event-title {
	margin-top: 0px!important
}

.gform_legacy_markup_wrapper li.gfield.field_description_below+li.gsection {
    margin-top: 50px !important;
}

.ginput_container.ginput_container_consent {
    display: flex;
    gap: 15px;
	margin-top: 10px;
}
input#input_64_7_1 {
    margin-top: 5px;
}

.ITS-subscribe-cta-text h2 {
	color: #fff!important;
	font-family: 'NationalPark'!important;
	text-transform: uppercase!important
}

.elementor-element.elementor-element-4af4f6f7.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded a {
	color: #000!important;
	text-decoration: underline;
}

.id-park-rules a {
	color: #fff!important;
	text-decoration: underline!important
}

table:not(footer table) a {
	color: #072543!important
}

/* Hide mobile dropdown copies on desktop — all vertical tablet-collapse nav menus */
@media (min-width: 1025px) {
    .elementor-nav-menu--dropdown-tablet.elementor-widget-nav-menu .elementor-nav-menu--main.elementor-nav-menu--layout-vertical ~ .elementor-menu-toggle,
    .elementor-nav-menu--dropdown-tablet.elementor-widget-nav-menu .elementor-nav-menu--layout-vertical ~ .elementor-nav-menu--dropdown {
        display: none !important;
    }
}
.elementor-nav-menu li {
        margin-bottom: 0px!important
    }

.elementor-nav-menu li a{
	color: #015786!important;
	text-decoration: underline!important
}

.acf-button-link {
	border-radius: 0px!important;
	border: none!important;
    background: var(--color-green) !important;
    color: var(--color-white) !important;
	padding: 8px 50px!important;
    text-decoration: none!important;
    font-weight: 700!important;
    font-size: 20px!important;
    margin: 0 auto;
	line-height: 1.2em;
    transition: color 0.3s, background-color 0.3s !important;
}


a.acf-button-link:hover {
    background: var(--color-brown-dark) !important;
	color: var(--color7) !important;
}

/* Remove stray bullets on Elementor icon lists (single-park-activity pages)
   Theme content styles re-add list-style to ul; icon lists shouldn't have it. */
.single-park-activity .elementor-icon-list-items,
.single-park-activity ul.elementor-icon-list-items > li.elementor-icon-list-item {
    list-style: none;
}

.single-park-activity ul.elementor-icon-list-items {
    margin-left: 0;
    padding-left: 0;
}

/* Belt-and-suspenders: if the bullet is a ::marker rather than list-style */
.single-park-activity .elementor-icon-list-item::marker {
    content: "";
}

/* Icon list: fixed-width icon column so all text aligns left at the same point
   (.single-park-activity pages) */
.single-park-activity ul.elementor-icon-list-items {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

.single-park-activity .elementor-icon-list-item {
    list-style: none;
    display: flex;
    align-items: baseline;       /* icon sits on the text baseline */
}

.single-park-activity .elementor-icon-list-item::marker {
    content: "";
}

.single-park-activity .elementor-icon-list-item > i,
.single-park-activity .elementor-icon-list-item > .elementor-icon-list-icon {
    flex: 0 0 1.6em;             /* fixed column width — every icon same slot */
    text-align: center;          /* center icon within its column */
    margin-right: 0.5em;         /* consistent gap to the text */
}

.single-park-activity .elementor-icon-list-text {
    flex: 1;                     /* text takes the rest, starts at same x */
    text-align: left;
}

.its-tabs-stacked__panels-wrap .elementor-widget-container p {
	padding: 0 10px!important
}

.its-tabs-stacked__panels-wrap .elementor-widget-n-accordion .e-n-accordion-item-title {
	column-gap: 0px!important
}
.acf-whichparks-grid {
	align-items: center;
}

.its-tabs-stacked__panels figure.alignleft {
	margin-right: 30px!important
}

.wp-caption.alignright {
    margin: 0 0 1rem 1.5rem;  /* gap below + on the left, flush right */
}

a.elementor-button.elementor-button-link.elementor-size-sm {
	border-width: 0px!important;
	line-height: 1.2em!important
}

.activity-item img {
	border-radius: 100px!important;
	width: 50px !important;
    height: 50px !important;
    object-fit: none;
}

.single-park-hero h1.elementor-heading-title.elementor-size-default {
	font-family: 'National Forest Script', cursive !important;
	font-weight: 100!important;
	text-transform: none!important;
}

.single-park-hero.e-con > .e-con-inner {
    max-width: 1240px !important;
    margin-inline: auto !important;
    width: 100% !important;
}

.parkSlider .carousel-item { position: relative; }
.carousel-lightbox-link { position: absolute; inset: 0; z-index: 2; display: block; cursor: zoom-in; }
.parkSlider .carousel-caption { z-index: 3; pointer-events: none; }
.parkSlider .carousel-control-prev,
.parkSlider .carousel-control-next,
.parkSlider .carousel-indicators { z-index: 4; }
.acf-slide-link { display: block; cursor: zoom-in; }
.park-lightbox .modal-content { background: transparent; }
.park-lightbox .lightbox-image { max-height: 80vh; width: auto; margin: 0 auto; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.park-lightbox .close { font-size: 2.5rem; color: #fff; opacity: .95; text-shadow: 0 1px 4px rgba(0,0,0,.7); }
.park-lightbox .modal-backdrop.show { opacity: .92; }
.park-lightbox .lightbox-caption { font-size: .95rem; max-width: 80vw; margin: 0 auto; }

/* ============================================================
   ACF SLIDESHOW — image lightbox additions
   (your existing .acf-video-modal CSS already handles the shell)
   ============================================================ */

/* Make image slides feel clickable */
.acf-slide-image {
    position: relative;
    cursor: zoom-in;
}

.acf-slide-image img {
    display: block;
    width: 100%;
    height: auto;
}

/* Zoom (magnifier) badge — mirrors your play-btn pattern */
.acf-zoom-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 56px;
    height: 56px;
    transform: translate(-50%, -50%) scale(.9);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease-out, transform 180ms cubic-bezier(.23,1,.32,1);
}

.acf-zoom-btn svg {
    width: 100%;
    height: 100%;
    display: block;
}

@media (hover: hover) and (pointer: fine) {
    .acf-slide-image:hover .acf-zoom-btn,
    .acf-slide-image:focus-visible .acf-zoom-btn {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

/* Keyboard focus ring */
.acf-slide-inner[role="button"]:focus-visible {
    outline: 3px solid #2f5d3a;
    outline-offset: 2px;
}

/* ---- Image inside the shared modal ---- */
.acf-video-modal-image {
    max-width: 90vw;
    max-height: 82vh;
    width: auto;
    height: auto;
    margin: 0 auto;
    display: block;
    border-radius: 4px;
    box-shadow: 0 20px 60px rgba(0,0,0,.5);
}

/* When showing an image, the content box should hug the image, not the
   16:9 video frame — override any fixed aspect your video CSS sets */
.acf-video-modal.is-image .acf-video-modal-content {
    width: auto;
    max-width: 90vw;
    padding: 0;
}

.acf-video-modal.is-image .acf-video-modal-frame {
    display: none;
}

/* Shared caption under either media type */
.acf-video-modal-caption {
    color: #fff;
    font-size: .95rem;
    line-height: 1.4;
    text-align: center;
    max-width: 90vw;
    margin: .75rem auto 0;
}

.acf-video-modal-caption:empty {
    display: none;
}

/* ============================================================
   MODAL PREV / NEXT NAVIGATION ARROWS
   ============================================================ */
.acf-video-modal-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 48px;
    height: 48px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, .45);
    color: #fff;
    cursor: pointer;
    transition: background 160ms ease-out, transform 160ms cubic-bezier(.23,1,.32,1);
}

.acf-video-modal-nav svg {
    width: 26px;
    height: 26px;
    display: block;
}

.acf-modal-prev { left: 1.25rem; }
.acf-modal-next { right: 1.25rem; }

@media (hover: hover) and (pointer: fine) {
    .acf-video-modal-nav:hover {
        background: rgba(0, 0, 0, .7);
    }
    .acf-modal-prev:hover { transform: translateY(-50%) translateX(-2px); }
    .acf-modal-next:hover { transform: translateY(-50%) translateX(2px); }
}

.acf-video-modal-nav:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
}

/* Pull the arrows in a bit on small screens */
@media (max-width: 640px) {
    .acf-video-modal-nav {
        width: 40px;
        height: 40px;
    }
    .acf-modal-prev { left: .5rem; }
    .acf-modal-next { right: .5rem; }
}

/* Reduced-motion: keep arrows static */
@media (prefers-reduced-motion: reduce) {
    .acf-video-modal-nav,
    .acf-zoom-btn {
        transition: none;
    }
}

/* ============================================================
   THE EVENTS CALENDAR — List Widget (View V2)
   Matches IDPR mockup: green date tag · title-on-top · time · image
   Scoped to .tribe-events-widget-events-list__events
   Paste into Appearance → Customize → Additional CSS
   ============================================================ */

.tribe-events-widget-events-list__events {
    --ev-date-bg:    #2f4029;
    --ev-month:      #c9a84c;
    --ev-daynum:     #ffffff;
    --ev-title:      #5a4a2f;
    --ev-title-hover:#3f3422;
    --ev-text:       #3f4844;
    --ev-link:       #2f5d3a;
    --ev-rule:       #e2ddd1;

    max-width: 1100px;
    margin: 0 auto;
}

/* ---------- Row: date | content | (image) ---------- */
.tribe-events-widget-events-list__event-row {
    display: flex !important;
    align-items: center;
    gap: 1.75rem;
    padding: 1.75rem 0;
    border-bottom: 1px solid var(--ev-rule);
    margin: 0 !important;
}
.tribe-events-widget-events-list__event-row:last-child { border-bottom: none; }

/* ---------- Date tag (green block) ---------- */
.tribe-events-widget-events-list__event-date-tag {
    flex: 0 0 130px !important;
    max-width: 130px !important;
    width: 130px !important;
    padding: 1.5rem .75rem !important;
    background: var(--ev-date-bg);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 120px;
}
.tribe-events-widget-events-list__event-date-tag-datetime { display: block; }
.tribe-events-widget-events-list__event-date-tag-month {
    display: block;
    font-size: 20px!important;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ev-month)!important;
    margin-bottom: .25rem;
}
.tribe-events-widget-events-list__event-date-tag-daynum {
    display: block;
    font-size: 3.25rem !important;
    font-weight: 800;
    line-height: 1 !important;
    color: var(--ev-daynum) !important;
    margin: 0 !important;
}

/* ---------- Content wrapper ---------- */
.tribe-events-widget-events-list__event-wrapper {
    flex: 1 1 auto !important;
    max-width: none !important;
    min-width: 0;
    padding: 0 !important;
}

/* TITLE ON TOP: the header renders datetime first, title second —
   column-reverse flips the title above the date/time line. */
.tribe-events-widget-events-list__event-header {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
}

.tribe-events-widget-events-list__event-title {
    font-size: 1.4rem !important;
    line-height: 1.15 !important;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0 0 .55rem !important;
}
.tribe-events-widget-events-list__event-title-link {
    color: var(--ev-title) !important;
    text-decoration: none !important;
    transition: color 160ms ease-out;
}
.tribe-events-widget-events-list__event-title-link:hover {
    color: var(--ev-title-hover) !important;
}

/* Date / time line (now sits under the title) */
.tribe-events-widget-events-list__event-datetime-wrapper {
    font-size: 1.05rem !important;
    color: var(--ev-text) !important;
    margin: 0 0 .25rem !important;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
}
.tribe-events-widget-events-list__event-datetime,
.tribe-event-date-start,
.tribe-event-date-end {
    color: var(--ev-text) !important;
}
.tribe-events-widget-events-list__event-datetime-wrapper .timezone {
    color: #8a8f8b;
    font-size: .9em;
}

/* Series link/icon — muted green */
.tribe-events-calendar-series-archive__container {
    display: inline-flex;
    align-items: center;
}
.tribe-events-calendar-series-archive__link { color: var(--ev-link); opacity: .8; }
.tribe-events-calendar-series-archive__link:hover { opacity: 1; }
.tribe-events-series-archive__icon rect,
.tribe-events-series-archive__icon path { stroke: currentColor; fill: none; }

/* ---------- Excerpt (when enabled in widget settings) ---------- */
.tribe-events-widget-events-list__event-description {
    font-size: .95rem;
    line-height: 1.55;
    color: var(--ev-text);
    margin-top: .5rem;
}
.tribe-events-widget-events-list__event-description a {
    color: var(--ev-link);
    font-weight: 600;
    text-decoration: none;
}
.tribe-events-widget-events-list__event-description a:hover { text-decoration: underline; }

/* ---------- Featured image (when enabled in widget settings) ---------- */
/* Tribe outputs the image inside the event; push it to the far right */
.tribe-events-widget-events-list__event-row [class*="event-featured-image"],
.tribe-events-widget-events-list__event-row [class*="__event-image"] {
    flex: 0 0 230px !important;
    max-width: 230px !important;
    order: 99;
    margin: 0 !important;
}
.tribe-events-widget-events-list__event-row [class*="event-featured-image"] img,
.tribe-events-widget-events-list__event-row [class*="__event-image"] img {
    display: block;
    width: 230px;
    height: 140px;
    object-fit: cover;
    border-radius: 4px;
}

/* ---------- Responsive ---------- */
@media (max-width: 782px) {
    .tribe-events-widget-events-list__event-row {
        flex-wrap: wrap;
        gap: 1rem;
    }
    .tribe-events-widget-events-list__event-date-tag {
        flex: 0 0 90px !important;
        width: 90px !important;
        max-width: 90px !important;
        min-height: 90px;
        padding: 1rem .5rem !important;
    }
    .tribe-events-widget-events-list__event-date-tag-daynum { font-size: 2.25rem !important; }
    .tribe-events-widget-events-list__event-title { font-size: 1.15rem !important; }

    .tribe-events-widget-events-list__event-row [class*="event-featured-image"],
    .tribe-events-widget-events-list__event-row [class*="__event-image"] {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        order: 99;
    }
    .tribe-events-widget-events-list__event-row [class*="event-featured-image"] img,
    .tribe-events-widget-events-list__event-row [class*="__event-image"] img {
        width: 100%;
        height: auto;
        max-height: 200px;
    }
}

/* Breathing room between event cards (override Tribe's tight grid spacing) */
.tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row {
    padding: 1.5rem 0 !important;
    gap: 2rem !important;
}
.tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row:first-child {
    padding-top: 1rem !important;
}
.tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-row:last-child {
    border-bottom: none !important;
}

.tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-header {
    display: flex !important;
    flex-direction: column !important;
}
.tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-title {
    order: -1 !important;
    margin: 0 0 .4rem !important;
}
.tribe-events-widget-events-list__events .tribe-events-widget-events-list__event-datetime-wrapper {
    order: 0 !important;
    margin: 0 !important;
}

span.tec-year {
	font-size: 16px!important;
	color: #C2A73A!important
}

.tribe-events-widget .tribe-events-widget-events-list__event-row {
	display: flex !important;
    align-items: flex-start;
}

a.tribe-events-widget-events-list__view-more-link.tribe-common-anchor-thin {
	border-radius: 0px!important;
    background: var(--color-green) !important;
    color: var(--color-white) !important;
	    padding: 8px 50px;
    text-decoration: none;
    font-weight: 700;
    border-radius: 4px;
    font-size: 20px;
    margin: 0 auto;
    transition: color 0.3s, background-color 0.3s !important;
}

a.tribe-events-widget-events-list__view-more-link.tribe-common-anchor-thin:hover {
	background: var(--color-brown-dark) !important;
}

.single-state-park .tribe-common .tribe-common-g-col {
	min-width: 150px!important;
	height: 155px!important;
}

body.single-state-park #masthead .header-background {
    background-image: url("/wp-content/uploads/single-hero-park.jpg") !important;
}
/* ============================================================
   STATE PARK SINGLES — custom hero image
   @author Fudo
   @date 2026-07-02
   Scoped to single state-park CPT via auto body class.
   ============================================================ */
body.single-state-park #masthead .header-background {
    background-image: url("/wp-content/uploads/single-hero-park.jpg") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

body.single-state-park .single-park-hero {
    background-image: url("/wp-content/uploads/single-hero-park.jpg") !important;
}

/* IDPR events header — inline label + filter, icon-only view selector on mobile */
@media (max-width: 767px) {

	.tribe-events-header {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;
	}

	.tribe-events-header__content-title {
		width: 100%;
	}

	.tribe-events-header__events-bar {
		position: static;
		flex: 0 0 auto;
	}

	/* icon only — hide "View Mode" text */
	.tribe-events-c-view-selector__button-text {
		display: none;
	}

	.parks-filter-wrap {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 8px;
		flex: 1 1 0;
		min-width: 0;
		margin: 0;
	}

	.parks-filter-wrap label {
		flex: 0 0 auto;
		margin: 0;
		white-space: nowrap;
	}

	.parks-filter-wrap select {
		flex: 1 1 0;
		min-width: 0;
		padding: 6px 10px;
		font-size: 14px;
	}

	.tribe-events-c-top-bar.tribe-events-header__top-bar {
		width: 100%;
		flex-wrap: wrap;
	}
}

.mega-sub-menu .textwidget p{
	color: #fff!important
}

.page-id-49 .modal-body {
	margin-top: margin-top: 50% !important;
}

.park-filter-btn__badge[hidden] {
    display: none;
}

#mega-menu-wrap-primary {
    --cta-bg: #fff;
    --cta-bg-hover: #2b422a;
    --cta-text: #3b2a1a;
    --cta-radius: 4px;
    --cta-pad-x: 18px;
    --cta-margin: 5px;
    --sub-pad-x: 18px;
	--sub-bg: #47381f;       /* swap to the exact Panel Background hex */
    --sub-text: #ffffff;
    --sub-hover: #d9b44a;    /* the gold used for mega menu headings */
}

/* Work for Us button */
#mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735 > a.mega-menu-link {
    position: relative;
    isolation: isolate;
    background: transparent;
    color: var(--cta-text);
    font-weight: 700;
    padding: 0 calc(var(--cta-pad-x) + var(--cta-margin));
}

#mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735 > a.mega-menu-link::before {
    content: "";
    position: absolute;
    inset: var(--cta-margin);
    z-index: -1;
    background: var(--cta-bg);
/*     border-radius: var(--cta-radius); */
    transition: background 0.2s;
}

#mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735 > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735 > a.mega-menu-link:focus,
#mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735.mega-toggle-on > a.mega-menu-link {
    background: transparent;
    color: var(--cta-bg);
}

#mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735 > a.mega-menu-link:hover::before,
#mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735 > a.mega-menu-link:focus::before,
#mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735.mega-toggle-on > a.mega-menu-link::before {
    background: var(--cta-bg-hover);
}

/* Work for Us flyout: match mega panel */
#mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735 > ul.mega-sub-menu,
#mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735 > ul.mega-sub-menu > li > a.mega-menu-link {
    background: var(--sub-bg);
    color: var(--sub-text);
}

#mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735 > ul.mega-sub-menu > li > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735 > ul.mega-sub-menu > li > a.mega-menu-link:focus {
    background: var(--sub-bg);
    color: var(--sub-hover);
}

/* Wider submenu, one line per item (desktop only) */
@media (min-width: 769px) {
    #mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735 > ul.mega-sub-menu {
        width: max-content;
        min-width: 100%;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li#mega-menu-item-76735 > ul.mega-sub-menu > li > a.mega-menu-link {
        white-space: nowrap;
        padding: 0 var(--sub-pad-x);
    }
}
i.fab,
i.fa-brands {
    width: auto;
    height: auto;
    background: none;
}

.its-tabs-stacked__panels-wrap {
    --btn-stack-gap: 12px;
}

.its-tabs-stacked__panels-wrap :is(p, div):has(> a.elementor-button) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    row-gap: var(--btn-stack-gap);
}

.its-tabs-stacked__panels-wrap a.elementor-button {
    margin: 0;
}
a.elementor-button.elementor-button-link.elementor-size-sm:hover,
a.elementor-button.elementor-button-link.elementor-size-sm:hover .elementor-button-text {
    color: #fff !important;
   font-weight: 700 !import
}

#main.tribe-events-pg-template {
    --events-max: 1320px;
    --events-pad-x: 24px;
    --events-pad-y: 48px;

    max-width: var(--events-max);
    margin-inline: auto;
    padding: var(--events-pad-y) var(--events-pad-x);
    box-sizing: border-box;
}

.tribe-events .tribe-events-calendar-month {
    --cal-green: #2a3f2a;
    --cal-brown: #3b2a1a;
    --cal-cream: #f7f4ec;
    --cal-past: #efebe1;
    --cal-border: #d9d2c0;
    --cal-text: #3b2a1a;
    --cal-muted: #8a8173;
    --cal-link: #2a3f2a;
    --cal-hover: #fbf9f4;
    --cal-pad: 10px;

    border-collapse: collapse;
    border: 1px solid var(--cal-border);
    background: #ffffff;
}
/* Header */
.tribe-events .tribe-events-calendar-month thead tr {
    background: var(--cal-green) !important;
}

.tribe-events .tribe-events-calendar-month thead th.tribe-events-calendar-month__header-column {
    width: auto !important;
    justify-self: stretch !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px;
    background: var(--cal-green) !important;
    padding: 0 var(--cal-pad) !important;
    border: 0 !important;
}

.tribe-events .tribe-events-calendar-month thead th.tribe-events-calendar-month__header-column .tribe-events-calendar-month__header-column-title,
.tribe-events .tribe-events-calendar-month thead th.tribe-events-calendar-month__header-column .tribe-events-calendar-month__header-column-title span[aria-hidden="true"] {
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    text-align: center !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.tribe-events .tribe-events-calendar-month thead th.tribe-events-calendar-month__header-column .screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.tribe-events .tribe-events-calendar-month thead th.tribe-events-calendar-month__header-column {
    flex: 1 1 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px;
    background: var(--cal-green) !important;
    padding: 0 var(--cal-pad) !important;
    border: 0 !important;
}

.tribe-events .tribe-events-calendar-month thead th.tribe-events-calendar-month__header-column .tribe-events-calendar-month__header-column-title {
    background: transparent !important;
}

.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum,
.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link {
    color: #ffffff !important;
}

/* Kill theme zebra striping */
.tribe-events .tribe-events-calendar-month tbody tr,
.tribe-events .tribe-events-calendar-month tbody tr:nth-child(odd),
.tribe-events .tribe-events-calendar-month tbody tr:nth-child(even),
.tribe-events .tribe-events-calendar-month tbody td {
    background: #ffffff;
}

/* Day cells */
.tribe-events .tribe-events-calendar-month tbody td.tribe-events-calendar-month__day {
    border: 1px solid var(--cal-border);
    vertical-align: top;
    transition: background 0.2s;
}

.tribe-events .tribe-events-calendar-month tbody td.tribe-events-calendar-month__day:hover {
    background: var(--cal-hover);
}

.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__day-cell--desktop {
    padding: var(--cal-pad);
}

/* Day numbers */
.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__day-date-link {
    color: var(--cal-text);
    font-size: 16px;
    font-weight: 700;
}

/* Past and other-month days */
.tribe-events .tribe-events-calendar-month tbody td.tribe-events-calendar-month__day--past,
.tribe-events .tribe-events-calendar-month tbody td.tribe-events-calendar-month__day--other-month {
    background: var(--cal-past);
}

.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date-link {
    color: var(--cal-muted);
}

/* Today */
.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--cal-green);
}

.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link {
    color: #ffffff;
}

/* Events */
.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__calendar-event {
    padding: 6px 0;
    border-top: 1px solid var(--cal-border);
}

.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__calendar-event-datetime {
    color: var(--cal-muted);
    font-size: 12px;
}

.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__calendar-event-title-link {
    color: var(--cal-link);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
}

.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__calendar-event-title-link:hover,
.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__calendar-event-title-link:focus {
    text-decoration: underline;
}

#mega-menu-item-text-4 .mega-block-title {
  white-space: normal !important;
}

.alert-warning a {
	color: var(--color-gold)!important
}

.splw-lite-wrapper.lw-preloader-wrapper {
    border: none !important;
}

.tribe-events .tribe-events-calendar-series-archive__link {
    color: #04639F!important;
/*     margin-right: 2px; */
	font-size: 16px!important;
	font-weight: 400!important
}

@media (max-width: 768px) {
	.search-bar-wrapper {
		display: none !important;
	}
}

a.elementor-button.elementor-button-link.elementor-size-sm:hover, a.elementor-button.elementor-button-link.elementor-size-sm:hover .elementor-button-text |{
	font-weight: 700!important
}

a.elementor-button.elementor-button-link.elementor-size-sm:hover {
	font-weight: 700!important
}