.elementor-1769 .elementor-element.elementor-element-7a37c481{--display:flex;--background-transition:0.3s;}/* Start custom CSS *//* =========================================================
   THREE VALLEYS COUNTRY FAIR
   Elementor-ready custom CSS
   ========================================================= */

.country-fair-page {
  --navy: #07395b;
  --navy-dark: #052a43;
  --red: #bd2f24;
  --gold: #e2aa2c;
  --cream: #fff1cc;
  --paper: #fff8e9;
  --green: #5f6f35;
  --blue: #55a7d1;
  --ink: #1f1f1f;

  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Trebuchet MS", Arial, sans-serif !important;
  color: var(--ink) !important;
  background: var(--cream) !important;
  line-height: 1.55 !important;
  overflow: hidden !important;
}

.country-fair-page *,
.country-fair-page *::before,
.country-fair-page *::after {
  box-sizing: border-box !important;
}

.country-fair-page h1,
.country-fair-page h2,
.country-fair-page h3,
.country-fair-page p {
  font-family: inherit !important;
}

.country-fair-page img {
  max-width: 100% !important;
  height: auto !important;
}

/* make Elementor wrappers full width */

.elementor-widget-html,
.elementor-widget-html .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor .elementor-element,
.elementor-section,
.elementor-container,
.e-con,
.e-con-inner {
  max-width: none;
}

/* =========================================================
   TOP BAR
   ========================================================= */

.fair-topbar {
  background: var(--navy) !important;
  color: #fff !important;
  padding: 15px 20px !important;
  text-align: center !important;
  font-weight: 900 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  font-size: 1rem !important;
}

.fair-topbar span {
  color: var(--gold) !important;
  margin: 0 12px !important;
}

/* =========================================================
   HERO
   ========================================================= */

.fair-hero {
  position: relative !important;
  text-align: center !important;
  background:
    radial-gradient(circle at 10% 15%, rgba(85,167,209,.18), transparent 24%),
    radial-gradient(circle at 90% 20%, rgba(189,47,36,.10), transparent 22%),
    linear-gradient(180deg, #fffaf0 0%, #fff1cc 100%) !important;
  padding: 0 0 35px !important;
  overflow: hidden !important;
}

.fair-hero::before {
  content: "" !important;
  display: block !important;
  height: 18px !important;
  background:
    repeating-linear-gradient(
      135deg,
      var(--red) 0 24px,
      var(--gold) 24px 48px,
      var(--navy) 48px 72px,
      var(--blue) 72px 96px
    ) !important;
}

.hero-brochure {
  width: 100% !important;
  max-height: none !important;
  display: block !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

.hero-text {
  padding: 38px 24px 15px !important;
}

.hero-text .small-line {
  color: var(--green) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 4px !important;
  font-size: .95rem !important;
}

.hero-text h1 {
  font-family: Georgia, "Times New Roman", serif !important;
  text-transform: uppercase !important;
  font-size: clamp(2.8rem, 7vw, 5.7rem) !important;
  color: var(--navy) !important;
  line-height: .98 !important;
  letter-spacing: 2px !important;
  margin: 12px 0 16px !important;
  font-weight: 900 !important;
}

.hero-text h1 .red {
  color: var(--red) !important;
}

.hero-ribbon {
  display: inline-block !important;
  background: var(--gold) !important;
  color: var(--navy-dark) !important;
  padding: 12px 30px !important;
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  transform: rotate(-1deg) !important;
  box-shadow: 6px 6px 0 rgba(0,0,0,.12) !important;
  margin: 8px 0 20px !important;
  border-radius: 3px !important;
}

.hero-lead {
  max-width: 820px !important;
  margin: 0 auto !important;
  font-size: 1.2rem !important;
  color: #333 !important;
}

.free-badge {
  display: inline-block !important;
  margin-top: 22px !important;
  background: var(--red) !important;
  color: #fff !important;
  border: 4px solid var(--gold) !important;
  border-radius: 10px !important;
  padding: 11px 26px !important;
  font-weight: 900 !important;
  font-size: 1.28rem !important;
  text-transform: uppercase !important;
  box-shadow: 6px 6px 0 rgba(0,0,0,.14) !important;
}

/* =========================================================
   EVENT STRIP
   ========================================================= */

.event-strip {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  width: 100% !important;
  background: var(--navy) !important;
  color: #fff !important;
  border-top: 5px solid var(--gold) !important;
  border-bottom: 5px solid var(--gold) !important;
}

.event-item {
  padding: 26px 18px !important;
  text-align: center !important;
  border-right: 2px dashed rgba(255,255,255,.35) !important;
}

.event-item:last-child {
  border-right: 0 !important;
}

.event-icon {
  font-size: 2.25rem !important;
  line-height: 1 !important;
  margin-bottom: 7px !important;
}

.event-item strong {
  display: block !important;
  color: white !important;
  font-size: 1.25rem !important;
  font-weight: 900 !important;
}

.event-item span {
  color: #ffe9aa !important;
  font-size: .95rem !important;
}

/* =========================================================
   DIVIDERS / COMMON
   ========================================================= */

.country-divider {
  height: 16px !important;
  background:
    repeating-linear-gradient(
      135deg,
      var(--navy) 0 22px,
      var(--gold) 22px 44px,
      var(--red) 44px 66px,
      var(--blue) 66px 88px
    ) !important;
}

.fair-section {
  position: relative !important;
  padding: 75px 0 !important;
}

.fair-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.fair-title {
  font-family: Georgia, "Times New Roman", serif !important;
  text-align: center !important;
  text-transform: uppercase !important;
  color: var(--navy) !important;
  font-size: clamp(2.2rem, 5vw, 4rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 2px !important;
  margin: 0 0 18px !important;
}

.fair-title.red {
  color: var(--red) !important;
}

.section-lead {
  max-width: 820px !important;
  margin: 0 auto 40px !important;
  text-align: center !important;
  font-size: 1.08rem !important;
}

/* =========================================================
   NEWS
   ========================================================= */

.news-section {
  background:
    radial-gradient(circle at 20% 10%, rgba(226,170,44,.14), transparent 22%),
    linear-gradient(180deg,#fffaf0 0%,#fff5dc 100%) !important;
}

.news-grid {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 26px !important;
}

.news-card {
  background: #fff !important;
  border: 4px solid var(--navy) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 9px 9px 0 var(--gold) !important;
  transform: rotate(-.35deg) !important;
}

.news-card:nth-child(2) {
  border-color: var(--red) !important;
  transform: rotate(.35deg) !important;
}

.news-card:nth-child(3) {
  border-color: var(--green) !important;
}

.news-card-top {
  height: 115px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 2.9rem !important;
  background:
    repeating-linear-gradient(
      45deg,
      #f3ca77 0 18px,
      #fff1c8 18px 36px
    ) !important;
  border-bottom: 3px solid rgba(0,0,0,.08) !important;
}

.news-card-body {
  padding: 26px !important;
}

.news-date {
  display: inline-block !important;
  background: var(--gold) !important;
  color: var(--navy) !important;
  padding: 5px 11px !important;
  border-radius: 4px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  font-size: .78rem !important;
}

.news-card h3 {
  color: var(--navy) !important;
  font-size: 1.5rem !important;
  font-weight: 900 !important;
  margin: 13px 0 10px !important;
}

/* =========================================================
   PLAN YOUR DAY
   ========================================================= */

.plan-section {
  background:
    radial-gradient(circle at 15% 20%, rgba(85,167,209,.12), transparent 25%),
    linear-gradient(135deg,#0a466b 0%,#052a43 100%) !important;
  color: #fff !important;
}

.plan-section .fair-title {
  color: #fff !important;
}

.plan-section .section-lead {
  color: #fff !important;
}

.plan-grid {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 24px !important;
}

.plan-card {
  background: var(--cream) !important;
  color: var(--ink) !important;
  border-radius: 20px !important;
  padding: 32px !important;
  border: 5px solid var(--gold) !important;
  box-shadow: 9px 9px 0 rgba(0,0,0,.2) !important;
}

.plan-card:nth-child(2) {
  border-color: var(--red) !important;
}

.plan-card:nth-child(3) {
  border-color: var(--blue) !important;
}

.plan-icon {
  font-size: 3rem !important;
  margin-bottom: 8px !important;
}

.plan-card h3 {
  color: var(--navy) !important;
  text-transform: uppercase !important;
  font-size: 1.55rem !important;
  font-weight: 900 !important;
}

.plan-card ul {
  padding-left: 22px !important;
}

/* =========================================================
   WHAT'S HAPPENING
   ========================================================= */

.activities-section {
  background:
    radial-gradient(circle, rgba(255,255,255,.7) 1px, transparent 1px),
    var(--cream) !important;
  background-size: 20px 20px !important;
}

.activity-grid {
  display: grid !important;
  grid-template-columns: repeat(4,1fr) !important;
  gap: 18px !important;
}

.activity-card {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 26px 18px !important;
  min-height: 190px !important;
  text-align: center !important;
  border: 3px dashed var(--gold) !important;
  box-shadow: 5px 5px 0 rgba(0,0,0,.08) !important;
  transition: transform .2s ease !important;
}

.activity-card:hover {
  transform: translateY(-4px) rotate(-.5deg) !important;
}

.activity-card:nth-child(4n+2) {
  border-color: var(--navy) !important;
}

.activity-card:nth-child(4n+3) {
  border-color: var(--red) !important;
}

.activity-card:nth-child(4n+4) {
  border-color: var(--green) !important;
}

.activity-icon {
  font-size: 3.2rem !important;
  line-height: 1 !important;
  margin-bottom: 12px !important;
}

.activity-card strong {
  display: block !important;
  color: var(--navy) !important;
  text-transform: uppercase !important;
  font-size: 1.08rem !important;
  font-weight: 900 !important;
}

.activity-card p {
  font-size: .95rem !important;
  margin-bottom: 0 !important;
}

/* =========================================================
   GAMES, COMPETITIONS, PRIZES
   ========================================================= */

.games-section {
  background:
    linear-gradient(180deg,#c83a2e 0%,#a9221a 100%) !important;
  color: white !important;
  text-align: center !important;
  padding: 70px 24px !important;
  border-top: 8px solid var(--gold) !important;
  border-bottom: 8px solid var(--gold) !important;
}

.games-section h2 {
  font-family: Georgia, "Times New Roman", serif !important;
  color: #fff !important;
  text-transform: uppercase !important;
  font-size: clamp(2.2rem,5vw,4.2rem) !important;
  font-weight: 900 !important;
  margin-bottom: 16px !important;
}

.games-section p {
  max-width: 780px !important;
  margin: 0 auto !important;
  font-size: 1.1rem !important;
}

.games-stars {
  color: var(--gold) !important;
  font-size: 2.1rem !important;
  margin-bottom: 12px !important;
}

/* =========================================================
   GET INVOLVED
   ========================================================= */

.involved-section {
  background:
    linear-gradient(180deg,#fff9eb 0%,#fff0ce 100%) !important;
}

.involved-box {
  background: #fff !important;
  border: 5px dashed var(--navy) !important;
  border-radius: 22px !important;
  padding: 45px 32px !important;
  text-align: center !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  box-shadow: 10px 10px 0 var(--gold) !important;
}

.fair-button {
  display: inline-block !important;
  background: var(--red) !important;
  color: #fff !important;
  text-decoration: none !important;
  border: 4px solid var(--gold) !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
  margin-top: 14px !important;
  box-shadow: 4px 4px 0 rgba(0,0,0,.12) !important;
}

/* =========================================================
   SUPPORTERS
   ========================================================= */

.supporters-section {
  background:
    linear-gradient(180deg,#fff1cc 0%,#f6dda1 100%) !important;
  text-align: center !important;
}

.supporter-grid {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 38px !important;
  flex-wrap: wrap !important;
  margin-top: 32px !important;
}

.supporter-box {
  background: #fff !important;
  border: 4px solid var(--navy) !important;
  border-radius: 16px !important;
  padding: 22px 30px !important;
  box-shadow: 7px 7px 0 var(--gold) !important;
}

.supporter-box img {
  display: block !important;
  max-width: 280px !important;
  max-height: 115px !important;
  width: auto !important;
  height: auto !important;
}

/* =========================================================
   FOOTER
   ========================================================= */

.fair-footer {
  background: var(--navy) !important;
  color: #fff !important;
  text-align: center !important;
  padding: 44px 20px !important;
  border-top: 7px solid var(--gold) !important;
}

.fair-footer h3 {
  color: var(--gold) !important;
  text-transform: uppercase !important;
  font-size: 2rem !important;
  font-weight: 900 !important;
  margin-bottom: 10px !important;
}

.fair-footer p {
  color: #fff !important;
  margin: 6px 0 !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 900px) {
  .event-strip,
  .news-grid,
  .plan-grid {
    grid-template-columns: 1fr !important;
  }

  .activity-grid {
    grid-template-columns: repeat(2,1fr) !important;
  }

  .event-item {
    border-right: 0 !important;
    border-bottom: 1px dashed rgba(255,255,255,.3) !important;
  }

  .hero-text h1 {
    font-size: 3rem !important;
  }
}

@media (max-width: 560px) {
  .activity-grid {
    grid-template-columns: 1fr !important;
  }

  .fair-section {
    padding: 50px 0 !important;
  }

  .fair-inner {
    padding: 0 16px !important;
  }

  .hero-text h1 {
    font-size: 2.35rem !important;
  }

  .fair-title {
    font-size: 2.2rem !important;
  }

  .supporter-box img {
    max-width: 220px !important;
  }
}/* End custom CSS */