/* ====================================================================
   Wheatland mega menu — desktop hover dropdown + mobile checkbox/
   details accordion, no JavaScript anywhere. Pairs with dynamic-header.php:
   both navs render from the same menu tree, so this CSS is generic and
   needs no per-menu-item IDs as the menu changes.
   ==================================================================== */

:root {
  --wht-red: #DF241B;
  --wht-black: #010101;
  --wht-cream: #FAF7F1;
  --wht-tint: #FBE8E6;
  --wht-ink-60: rgba(1,1,1,0.62);
  --wht-ink-12: rgba(1,1,1,0.12);
  --wht-header-h: 84px;

  /* video tabs (Home) */
  --vt-red: #cc3b30;
  --vt-ink: #1a1a1a;
  --vt-row-idle: #ffffff;
  --vt-row-border: #e7e1d6;
  --vt-row-active-bg: #efe9e0;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--wht-cream);
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

.header-inner {
  position: relative;
}

/* ---------- Desktop nav ---------- */

.site-navigation > ul {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* The mega panel is intentionally NOT anchored to the individual <li> —
   theme/Elementor menu CSS can strip position:relative off nav <li>
   elements, which silently promotes the panel's containing block up to
   .header-inner anyway. Anchoring to .header-inner on purpose (below)
   makes that the one and only containing block, so this can't drift. */

.site-navigation > ul > li > a {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 14px 16px;
  font-family: 'Bitter', sans-serif;
  font-weight: 500;
  font-size: 15px;
  color: var(--wht-black);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color .15s ease, border-color .15s ease;
}

.site-navigation > ul > li > a:hover,
.site-navigation > ul > li:focus-within > a {
  color: var(--wht-red);
}

.chevron {
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .2s ease;
}

.has-mega:hover .chevron,
.has-mega:focus-within .chevron,
.has-dropdown:hover .chevron,
.has-dropdown:focus-within .chevron {
  transform: rotate(225deg) translateY(2px);
  top: 3px;
  position: relative;
}

.site-navigation a:focus-visible,
summary:focus-visible,
.nav-toggle-label:focus-visible {
  outline: 2px solid var(--wht-red);
  outline-offset: 2px;
}

/* ---------- Mega panel — hidden by default, hover/focus reveals it ---------- */

.mega-panel {
  position: absolute;
  top: 90%;
  left: 0;
  right: 0;
  width: min(1240px, 100%);
  margin: 0 auto;
  background: var(--wht-cream);
  border: 1px solid var(--wht-ink-12);
  border-top: 3px solid var(--wht-red);
  box-shadow: 0 18px 40px -12px rgba(1,1,1,0.18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  transform: translateY(-6px);
  z-index: 50;
}

.has-mega:hover .mega-panel,
.has-mega:focus-within .mega-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.mega-inner {
  display: flex;
  gap: 0; /* wrapper and CTA sit flush; the CTA's own tint background is the divider */
  align-items: stretch;
	min-height: 385px;
}

.mega-wrapper {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* wraps to a new row automatically past 5 */
  gap: 16px;
  flex: 1 1 auto; /* fills whatever width the CTA doesn't take */
  padding: 28px 24px;
}

.mega-heading {
  display: block;
  font-family: 'Bitter', serif;
  font-weight: 600;
  font-size: 15px;
  color: var(--wht-black);
  margin-bottom: 12px;
}

.mega-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mega-col ul li a {
  display: block;
  padding: 6px 0 6px 10px;
  margin-left: -10px;
  font-family: 'Karla', sans-serif;
  font-size: 14px;
  color: var(--wht-ink-60);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: color .15s ease, border-color .15s ease, background .15s ease;
}

.mega-col ul li a:hover {
  color: var(--wht-red);
  border-left-color: var(--wht-red);
  background: rgba(223,36,27,0.04);
}

/* CTA — fixed-width flex sibling, stretches to match the wrapper's height */
.mega-cta {
  flex: 0 0 310px;
  max-width: 310px;
  background: var(--wht-tint);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mega-cta span {
  font-family: 'Bitter', serif;
  font-weight: 600;
  font-size: 17px;
  line-height: 1.35;
  margin: 0 0 8px;
}

.mega-cta p {
  font-family: 'Karla', sans-serif;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--wht-ink-60);
  margin: 0 0 16px;
}

.btn {
  display: inline-block;
  background: var(--wht-red);
  color: var(--wht-cream);
  font-weight: 600;
  font-size: 13.5px;
  padding: 11px 18px;
  text-align: center;
  text-decoration: none;
  transition: background .15s ease;
}

.btn:hover {
  background: var(--wht-black);
}

/* ---------- Regular dropdown — the default plain flyout for any item
   with children that isn't flagged .mega-menu in the WP admin (CSS
   Classes field). Anchored to its own <li>, not .header-inner, since
   it's meant to sit right under the trigger, not span the header. ---------- */

.site-navigation > ul > li.has-dropdown {
  position: relative;
}

.regular-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  margin: 0 auto;
  padding: 8px 0;
  list-style: none;
  background: var(--wht-cream);
  border: 1px solid var(--wht-ink-12);
  border-top: 3px solid var(--wht-red);
  box-shadow: 0 18px 40px -12px rgba(1,1,1,0.18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  transform: translateY(-6px);
  z-index: 50;
}

.has-dropdown:hover > .regular-dropdown,
.has-dropdown:focus-within > .regular-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.regular-dropdown li {
  position: relative;
}

.regular-dropdown a {
  display: block;
  padding: 10px 20px;
  font-family: 'Karla', sans-serif;
  font-size: 14px;
  color: var(--wht-ink-60);
  text-decoration: none;
  white-space: nowrap;
  transition: color .15s ease, background .15s ease;
}

.regular-dropdown a:hover {
  color: var(--wht-red);
  background: rgba(223,36,27,0.04);
}

/* A nested level (grandchildren) flies out to the right */
.regular-dropdown .regular-dropdown {
  top: 0;
  left: 100%;
  margin: 0;
}

.regular-dropdown li:hover > .regular-dropdown,
.regular-dropdown li:focus-within > .regular-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* ---------- Mobile toggle (checkbox hack, zero JS) ---------- */

.nav-toggle-checkbox {
  display: none;
}

.nav-toggle-label {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 26px;
  cursor: pointer;
}

.nav-toggle-label span {
  display: block;
  height: 2px;
  background: var(--wht-black);
  transition: transform .2s ease, opacity .2s ease;
}

.mobile-nav {
  display: none;
}

/* ---------- Responsive ---------- */

@media (max-width: 1360px) {
  .site-navigation {
    display: none;
  }

  /* Hamburger inside .menu-cta */
  .nav-toggle-label {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 32px;
    height: 32px;
    cursor: pointer;
    order: 3;
  }

  .nav-toggle-label span {
    display: block;
    width: 24px;
    height: 2px;
    background: currentColor;
  }

  /* Off-canvas panel */
  .mobile-nav {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 9999;
    padding-top: 70px;
    background: #fff;
    border-top: 1px solid var(--wht-ink-12);
    overflow-y: auto;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 0.3s ease, visibility 0.3s ease;
  }

  .nav-toggle-checkbox:checked ~ .mobile-nav {
    transform: translateX(0);
    visibility: visible;
  }

  .nav-toggle-checkbox:checked ~ .nav-toggle-label span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle-checkbox:checked ~ .nav-toggle-label span:nth-child(2) { opacity: 0; }
  .nav-toggle-checkbox:checked ~ .nav-toggle-label span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .mobile-nav > ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .mobile-nav > ul > li {
    border-bottom: 1px solid var(--wht-ink-12);
  }

  .mobile-nav > ul > li > a {
    display: block;
    padding: 16px 24px;
    font-family: 'Karla', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: var(--wht-black);
    text-decoration: none;
  }

  .mobile-nav details {
    padding: 0 24px;
  }

  .mobile-nav summary {
    padding: 16px 0;
    font-family: 'Karla', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: var(--wht-black);
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
  }

  .mobile-nav summary::-webkit-details-marker {
    display: none;
  }

  .mobile-nav summary a {
    flex: 1 1 auto;
    color: inherit;
    font: inherit;
    text-decoration: none;
  }

  .mobile-nav summary .chevron {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid var(--wht-red);
    border-bottom: 1.5px solid var(--wht-red);
    transform: rotate(45deg);
    transition: transform .2s ease;
  }

  .mobile-nav details[open] > summary .chevron {
    transform: rotate(225deg);
  }

  .mobile-nav .mobile-group {
    padding: 4px 0 18px;
  }

  .mobile-nav .mobile-group-heading {
    display: block;
    font-family: 'Bitter', serif;
    font-weight: 600;
    font-size: 13px;
    color: var(--wht-red);
    margin: 14px 0 6px;
  }

  .mobile-nav .mobile-group ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .mobile-nav .mobile-group ul li a {
    display: block;
    padding: 8px 0 8px 12px;
    font-family: 'Karla', sans-serif;
    font-size: 14.5px;
    color: var(--wht-ink-60);
    text-decoration: none;
  }

  /* Same .regular-dropdown markup as desktop, laid out flat instead
     of as an absolute flyout — the details/summary element already
     handles the open/close, so this just needs to sit in the flow. */
  .mobile-nav .regular-dropdown {
    position: static;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    min-width: 0;
    width: auto;
    margin: 4px 0 18px;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  .mobile-nav .regular-dropdown a {
    padding: 8px 0 8px 12px;
    font-size: 14.5px;
    color: var(--wht-ink-60);
    white-space: normal;
  }

  .mobile-nav .regular-dropdown .regular-dropdown {
    margin-left: 12px;
  }
}

/* Exactly 1 to 3 children */
.mega-wrapper:not(:has(.mega-col:nth-child(4))) {
    grid-template-columns: repeat(4, 1fr);
}


.site-navigation > ul > li {
	position:unset;
}

.site-navigation > ul > li.has-mega a.btn:hover {
    color: #fff;
}

.current-menu-item > a{
	color: #df241b !important;
	font-weight: bold;
}



.menu-cta {
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
    gap: 20px;
}

.menu-cta .call-us {
    display: flex;
    flex-direction: column;
    font-family: 'Bitter';
    font-weight: 600;
    color: #6E6560;
    text-transform: uppercase;
    gap: 2px;
}

.menu-btn a {
    background-color: #DF241B;
    color: #fff;
    font-family: 'Bitter', sans-serif;
    padding: 15px 20px;
    border-radius: 8px;
    font-weight:600;
}

.menu-btn a:hover {
    background-color: #A81B14;
}

.menu-cta .call-us a {
    color: #010101;
    line-height: 100%;
}

.menu-cta .call-us span {
    font-size: 12px;
    line-height: 100%;
}

.top-hat {
    background-color: #010101;
}

.top-hat .container {
    padding: 10px 20px;
    max-width: 1580px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 40px;
    color: #fff;
    font-family: 'Karla';
    font-size: 14px;
}


.nav-close-label {
	position: relative;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	cursor: pointer;
}

/* ---------- Mobile nav header (logo + close) ---------- */
.mobile-nav-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.mobile-nav-logo img {
	display: block;
	max-height: 48px;
	width: auto;
}

.nav-close-label span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 24px;
	height: 2px;
	background: currentColor;
}

.nav-close-label span:first-child { transform: translate(-50%, -50%) rotate(45deg); }
.nav-close-label span:last-child  { transform: translate(-50%, -50%) rotate(-45deg); }

/* ====================================================================
   Wheatland footer — 4-column layout, stacks to 2 then 1 columns on
   smaller screens. Uses the --wht-* variables from :root at the top
   of this file.
   ==================================================================== */

.site-footer {
  background: var(--wht-cream);
  border-top: 1px solid var(--wht-ink-12);
}

.footer-inner {
  max-width: 1580px;
  margin: 0 auto;
  padding: 56px 24px 28px;
}

.footer-columns {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}

.footer-block-label {
  display: block;
  font-family: 'Bitter', serif;
  font-weight: 600;
  font-size: 15px;
  color: var(--wht-black);
  margin-bottom: 14px;
}

/* ---------- Column 1: brand, social, reviews ---------- */

.footer-col-brand .site-branding {
  margin-bottom: 24px;
}

.footer-col-brand .site-title a {
  font-family: 'Bitter', serif;
  font-weight: 600;
  font-size: 18px;
  color: var(--wht-black);
  text-decoration: none;
}

.footer-tagline {
  font-family: 'Karla', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--wht-ink-60);
  margin: 0 0 20px;
}

.footer-social,
.footer-reviews {
  margin-bottom: 20px;
}

.footer-reviews {
  margin-top: 20px;
}

.footer-icon-list {
  display: flex;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-icon-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--wht-tint);
  color: var(--wht-red);
  text-decoration: none;
  font-size: 15px;
  transition: background .15s ease, color .15s ease;
}

.footer-icon-list a:hover {
  background: var(--wht-red);
  color: var(--wht-cream);
}

/* ---------- Columns 2 & 3: quick links + explore links ---------- */

.footer-quick-links,
.footer-explore-links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-quick-links li + li,
.footer-explore-links li + li {
  margin-top: 10px;
}

.footer-quick-links a,
.footer-explore-links a {
  font-family: 'Karla', sans-serif;
  font-size: 14.5px;
  color: var(--wht-ink-60);
  text-decoration: none;
  transition: color .15s ease;
}

.footer-quick-links a:hover,
.footer-explore-links a:hover {
  color: var(--wht-red);
}

/* ---------- Column 4: contact info ---------- */

.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-family: 'Karla', sans-serif;
  font-size: 14.5px;
}

.footer-address {
  color: var(--wht-black);
  line-height: 1.5;
}

.footer-contact a {
  color: var(--wht-ink-60);
  text-decoration: none;
  transition: color .15s ease;
}

.footer-contact a:hover {
  color: var(--wht-red);
}

/* ---------- Bottom row ---------- */

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 40px;
  padding-top: 20px;
  /*border-top: 1px solid var(--wht-ink-12);*/
  font-family: 'Karla', sans-serif;
  font-size: 13px;
  color: var(--wht-ink-60);
}

.footer-bottom a {
  color: var(--wht-ink-60);
  text-decoration: none;
  transition: color .15s ease;
}

.footer-bottom a:hover {
  color: var(--wht-red);
}

.footer-bottom p {
  margin: 0;
}

/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
  .footer-columns {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 40px;
  }
}

@media (max-width: 560px) {
  .footer-columns {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

.site-footer .footer-inner {
    flex-direction: column;
}

/* =========================================================================
   VIDEO TABS — CSS
   Targets the EXACT markup you already have:
     #custom-video-tab
       .e-tabs-menu-base > .e-tab-base (+ .e--selected)
       .e-tabs-content-area-base > .e-tab-content-base (+ .e--selected)
   The only elements NOT already in your markup are the ones the
   "Video Tab JS" snippet injects at runtime: .vt-layout (wraps everything)
   and .vt-stage (the video player + overlay). Colors: --vt-* in :root.
   ========================================================================= */

/* ---- layout wrapper injected by script.js (video left, tabs right) ---- */
.vt-layout {
  display: grid;
  grid-template-columns: 3fr 2fr; /* same 60/40 ratio */
  gap: 32px;
  align-items: stretch;
  padding-left:10px;
  padding-right:10px;
}

.vt-layout .e-tabs-base {
    padding: 0;
}

.vt-layout .e-tabs-menu-base {
    padding:0
}

@media (max-width: 860px) {
  .vt-layout { grid-template-columns: 1fr; }
}

/* the real content (URL / title / description) is only there to feed the
   video overlay via JS — hide the panels themselves */
#custom-video-tab .e-tabs-content-area-base { display: none !important; }

/* ================= tab menu -> vertical numbered list ================= */

#custom-video-tab .e-tabs-menu-base {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  counter-reset: vt-tab;
}

#custom-video-tab .e-tab-base {
  display: flex !important;
  align-items: center;
  gap: 16px !important;
  width: 100% !important;
  background: var(--vt-row-idle);
  border: 1px solid #0101016b;
  border-left-width: 4px;   /* the selected tab colors this edge red */
  border-radius: 8px;
  padding: 18px 22px !important;
  cursor: pointer;
  counter-increment: vt-tab;
  transition: background 0.15s ease, border-color 0.15s ease;
  align-content: center;
}

#custom-video-tab .e-tab-base:hover { background: #fbf9f5; }

#custom-video-tab .e-tab-base.e--selected {
  background: #fff;
  border-left-color: var(--vt-red);
}

#custom-video-tab .e-tab-base:focus-visible {
  outline: 2px solid var(--vt-red);
  outline-offset: 2px;
}

#custom-video-tab .e-tab-base .elementor-widget-icon { margin: 0 !important; }

#custom-video-tab .e-tab-base .e-paragraph-base {
  font-size: 16px;
  font-weight: 600;
  color: var(--vt-ink);
}

/* number rendered directly before the label text */
#custom-video-tab .e-tab-base .e-paragraph-base::before {
  content: counter(vt-tab, decimal-leading-zero) '  ';
  margin-right: 10px;
  font-family: 'Bitter';
  font-weight: bold;
  color: #010101;
}

#custom-video-tab .elementor-icon { width: 20px !important; height: 20px !important; }
#custom-video-tab .elementor-icon svg {
  width: 20px !important;
  height: 20px !important;
  color: #ffffff00;
}
#custom-video-tab .elementor-icon svg path { fill: currentColor; }

/* ================= video stage (injected by script.js) ================= */

.vt-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 12.5;
  background: #000;
  border-radius: 6px;
  overflow: hidden;
  isolation: isolate;
}

.vt-stage__player {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

/* base/fallback size — script.js overrides width/height/transform inline
   to make the iframe behave like object-fit: cover (unreliable on iframes
   via CSS alone), scaling it up and centering so it fills the stage
   regardless of the stage's own aspect ratio */
.vt-stage__player iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none; /* our own controls handle interaction */
}

.vt-stage__placeholder {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.4);
  font-size: 14px;
  letter-spacing: 0.02em;
}

.vt-stage__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.82) 100%);
  pointer-events: none;
}

.vt-stage__overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 28px 32px 30px;
  color: #fff;
  /* From https://css.glass */
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.vt-stage__eyebrow {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.65);
  text-transform: uppercase;
}

.vt-stage__title {
  margin: 0 0 10px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
}

.vt-stage__desc {
  margin: 0;
  max-width: 95%;
  font-size: 14.5px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.82);
}

.vt-stage__sound {
  position: absolute;
  bottom: 16px;
  right: 16px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.7);
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
  z-index: 2;
}
.vt-stage__sound:hover {background: rgba(0, 0, 0, 0.8);border-color: #fff;transform: scale(1.05);}
.vt-stage__sound:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.vt-stage__sound svg {width: 50px;height: 50px;fill: none;stroke: currentColor;stroke-width: 2.3px;}
.vt-stage__sound .vt-icon-unmuted { display: none; }
.vt-stage.is-unmuted .vt-icon-muted { display: none; }
.vt-stage.is-unmuted .vt-icon-unmuted {display: inline-block;}

.vt-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.vt-stage.is-unmuted .vt-stage__eyebrow,
.vt-stage.is-unmuted .vt-stage__desc {
  display: none;
}

.vt-stage.is-unmuted .vt-stage__title {
  font-size: 16px;
}


/* ===========================================================
   Meet Our Doctors — bio grid (About Us), used with the "Bio JS" snippet.
   Scoped entirely to #bio-grid.
   (The Archivo font named below is never loaded, so text falls back
   to the system font — kept as-is so nothing changes visually.)
   =========================================================== */

#bio-grid {
  --wah-cols: 3;
  --wah-gap: 2.25rem;
  --wah-collapsed: 6em;      /* collapsed bio height */
  --wah-ink: #201e1d;
  --wah-muted: #4a4644;
  --wah-accent: #ec3013;
  --wah-accent-deep: #b8240d;
  --wah-rule: #201e1d;

  display: grid !important;
  grid-template-columns: repeat(var(--wah-cols), minmax(0, 1fr)) !important;
  column-gap: var(--wah-gap);
  row-gap: calc(var(--wah-gap) * 1.5);
  align-items: start;
  font-family: 'Archivo', system-ui, sans-serif;
  color: var(--wah-ink);
}

@media (max-width: 900px)  { #bio-grid { --wah-cols: 2; } }
@media (max-width: 560px)  { #bio-grid { --wah-cols: 1; --wah-gap: 1.75rem; } }

/* ---- cell -------------------------------------------------- */
#bio-grid > .e-con,
#bio-grid > div {
  display: flex !important;
  flex-direction: column;
  width: auto !important;
  max-width: none !important;
  padding: 0 0 0 !important;
  margin: 0 !important;
  border-radius: 0;
}

/* ---- photograph -------------------------------------------- */
#bio-grid .wah-photo { width: 100%; margin: 0 0 1rem; }
#bio-grid .wah-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 199 / 254;
  object-fit: cover;
  object-position: center top;
  border-radius: 0;
}

/* ---- name -------------------------------------------------- */
#bio-grid .wah-name .elementor-heading-title,
#bio-grid .wah-name {
  font-family: 'Karla';
  font-size: 26px;
  font-weight: 700;
  text-align: left;
  margin: 0;
}
#bio-grid .wah-name {margin-bottom: 0.75rem;}

/* ---- bio --------------------------------------------------- */
#bio-grid .wah-bio {
  font-size: 18px;
  line-height: 1.62;
  color: var(--wah-muted);
  text-wrap: pretty;
  overflow: hidden;
  transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
#bio-grid .wah-bio p { margin: 0 0 0.7em; }
#bio-grid .wah-bio p:last-child { margin-bottom: 0; }

#bio-grid .wah-bio.is-clamped {
  max-height: var(--wah-collapsed);
  -webkit-mask-image: linear-gradient(to bottom, #000 62%, rgba(0, 0, 0, 0) 100%);
          mask-image: linear-gradient(to bottom, #000 62%, rgba(0, 0, 0, 0) 100%);
}
#bio-grid .wah-bio.is-open {
  -webkit-mask-image: none;
          mask-image: none;
}

/* ---- toggle ------------------------------------------------ */
#bio-grid .wah-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  margin: 0.875rem 0 0;
  padding: 0.4rem 0;
  border: 0;
  border-bottom: 2px solid var(--wah-accent);
  border-radius: 0;
  background: none;
  font: inherit;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--wah-accent-deep);
  cursor: pointer;
  transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
  font-family: 'Karla';
}
#bio-grid .wah-toggle.is-hidden { display: none !important; }
#bio-grid .wah-toggle:hover {color: #010101;border-color: var(--wah-accent);}
#bio-grid .wah-toggle:active { background: var(--wah-accent-deep); border-color: var(--wah-accent-deep); }
#bio-grid .wah-toggle:focus-visible { outline: 2px solid var(--wah-accent); outline-offset: 2px; }
#bio-grid .wah-toggle svg { width: 14px; height: 14px; transition: transform 0.3s ease; }
#bio-grid .wah-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

@media (prefers-reduced-motion: reduce) {
  #bio-grid .wah-bio, #bio-grid .wah-toggle svg { transition: none; }
}

/* ==========================================================================
   Wheatland Animal Hospital — blog / News & Workshops archive + single post
   styles, for template-parts/archive.php and single.php
   ========================================================================== */

.wh-blog,
.wh-single{
  --wh-ink:#1a1a1a;
  --wh-gray-1:#f4f4f4;
  --wh-gray-2:#e4e4e4;
  --wh-gray-3:#cfcfcf;
  --wh-gray-5:#7a7a7a;
  --wh-line:#d8d8d8;
  --wh-measure:720px;
  --wh-wide:1200px;
  color:var(--wh-ink);
}
.wh-blog a,
.wh-single a{color:var(--wh-ink);}
.wh-blog a:hover,
.wh-single a:hover{color:var(--wh-gray-5);}

/* ---------- shared type ---------- */
.wh-h2{font-size:24px;margin:0 0 10px;line-height:1.2;}
.wh-h3{font-size: 20px;font-weight:800;margin:0 0 8px;line-height:1.3;font-family: 'Bitter';}
.wh-p{font-size: 18px;color: #010101;line-height:1.6;margin:0;text-wrap:pretty;}
.wh-kicker{
  font-family: inherit;
  font-size: inherit;
  text-transform:uppercase;
  color:var(--wh-gray-5);
  margin-bottom:8px;
}

/* ---------- page banner (dark, with the featured image behind it on posts) ---------- */
.wh-page-banner{
  position:relative;
  min-height: 350px;
  display:flex;
  flex-direction: column;
  align-content: flex-start;
  justify-content: center;
  padding:74px 40px 58px;
  background-color:var(--wh-ink);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
}
.wh-page-banner:before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(20,20,20,.62);
}
.wh-page-banner > *{position:relative;z-index:2;}
.wh-breadcrumb{
  font-family: inherit;
  font-size: inherit;
  letter-spacing:.03em;
  color:var(--wh-gray-5);
  margin-bottom:14px;
}
.wh-breadcrumb a{color:var(--wh-gray-5);text-decoration:none;}
.wh-breadcrumb a:hover{color:var(--wh-ink);}

.wh-page-h1{
  font-weight:800;
  line-height:1.15;
  margin:0 0 14px;
  max-width:800px;
  font-family: 'Bitter';
}
.wh-page-sub{
  color:var(--wh-gray-5);
  line-height:1.6;
  max-width:620px;
  margin:0;
  font-family: "Karla", Sans-serif;
  font-size: 22px;
  font-weight: 400;
}

.wh-page-banner .wh-page-h1{color:#fff;}
.wh-page-banner .wh-breadcrumb,
.wh-page-banner .wh-breadcrumb a{color:#e2e2e2;}
.wh-page-banner .wh-breadcrumb a:hover{color:#fff;}
.wh-page-banner .wh-post-meta{color:#fff;}
.wh-page-banner .wh-post-meta b{color:#fff;}
.wh-page-banner .wh-blog-cat{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.6);
  color:#fff;
}
.wh-page-banner .wh-blog-cat:hover{background:rgba(255,255,255,.24);color:#fff;}

/* ---------- section shell ---------- */
.wh-section-inner{
  margin:0 auto;
  padding: 60px 0;
}
.wh-section-head{
	margin:0 auto 26px;
}

/* ---------- category filter ---------- */
.wh-filter-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:28px;
}
.wh-filter-pill{
  border:1px solid var(--wh-line);
  background:#fff;
  font-family: 'Bitter';
  font-size: 15px;
  padding:8px 15px;
  text-decoration:none;
  white-space:nowrap;
  border-radius: 8px;
}
.wh-filter-pill:hover{border-color:var(--wh-ink);}
.wh-filter-pill.is-active{
  background: #010101;
  border-color:var(--wh-ink);
  color:#fff;
  display: inline-block;


}
.wh-filter-pill.is-active:hover{color:#fff;}

/* ---------- featured post ---------- */
.wh-featured-post{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border:1px solid var(--wh-line);
  background:var(--wh-gray-1);
  margin-bottom:30px;
}
.wh-featured-media{
  display:block;
  min-height: 350px;
  background:var(--wh-gray-2);
  overflow:hidden;
}
.wh-featured-media img,
.wh-blog-media img{width:100%;height:100%;object-fit:cover;display:block;}
.wh-featured-content{
  padding:32px 34px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
}
.wh-featured-title{
  font-weight:800;
  line-height:1.25;
  margin:6px 0 10px;
  text-wrap:pretty;
  font-family: 'Bitter';
}
.wh-featured-title a{text-decoration:none;}
.wh-featured-content .wh-p{margin-bottom:18px;}

/* ---------- post cards ---------- */
.wh-blog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.wh-blog-card{
  border:1px solid var(--wh-line);
  background:#fff;
  display:flex;
  flex-direction:column;
  border-radius: 8px;
}
.wh-blog-media{
  display:block;
  height:150px;
  background:var(--wh-gray-2);
  overflow:hidden;
}
.wh-blog-body{padding:14px 16px 18px;}
.wh-blog-cat{
  display:inline-block;
  font-family: inherit;
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--wh-gray-5);
  border:1px solid var(--wh-line);
  padding:3px 9px;
  text-decoration:none;
}
.wh-blog-cat:hover{border-color:var(--wh-ink);color:var(--wh-ink);}
.wh-blog-date{
  font-family: 'Karla';
  font-size: 15px;
  color:var(--wh-gray-5);
  margin:8px 0 6px;
}
.wh-blog-date .wh-dot{margin:0 4px;color:var(--wh-gray-3);}
.wh-event-date{color:#A81B14;font-weight:700;}
.wh-event-date i{margin-right:6px;}
.wh-event-today{
  display:inline-block;
  margin-left:8px;
  padding:2px 8px;
  background:#A81B14;
  color:#fff;
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  border-radius:3px;
  vertical-align:middle;
}
.wh-blog-title{font-size:14.5px;font-weight:bold;margin:0 0 6px;line-height:1.4;font-family: 'Bitter';}
.wh-blog-title a{text-decoration:none;}
.wh-blog-excerpt{font-size: 16px;color: #010101;line-height:1.6;margin:0;font-family: 'Karla';}

/* ---------- pagination ---------- */
.wh-pagination{
  display:flex;
  gap:8px;
  justify-content:center;
  align-items:center;
  margin-top:34px;
}
.wh-pagination .page-numbers{
  min-width:34px;height:34px;
  border:1px solid var(--wh-line);
  display:flex;align-items:center;justify-content:center;
  font-family: 'Karla';
  font-size: inherit;
  text-decoration:none;
  padding:0 8px;
}
.wh-pagination .page-numbers:hover{border-color:var(--wh-ink);}
.wh-pagination .page-numbers.current{
  background:var(--wh-ink);
  border-color:var(--wh-ink);
  color:#fff;
}
.wh-pagination .prev,
.wh-pagination .next{
  border-color:var(--wh-ink);
  border-radius:50%;
  font-size:14px;
  padding:0;
}

/* ---------- empty state ---------- */
.wh-empty{
  border:1px solid var(--wh-line);
  background:var(--wh-gray-1);
  padding:56px 30px;
  text-align:center;
}
.wh-empty .wh-p{margin-bottom:20px;}

/* ==========================================================================
   SINGLE POST
   ========================================================================== */

.wh-post-meta{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  font-family: inherit;
  font-size: inherit;
  color:var(--wh-gray-5);
}
.wh-post-meta b{color:var(--wh-ink);font-weight:bold;}
.wh-single .wh-page-banner .wh-blog-cat{margin-bottom:12px;}
.wh-single .wh-page-banner .wh-page-h1{margin-top:10px;}

/* ---------- article body ---------- */
.wh-article-body{
  max-width:var(--wh-measure);
  margin:0 auto;
  padding:0 0 8px;
  font-size:17px;
  line-height:1.7;
}
.wh-article-body > p{margin:0 0 20px;text-wrap:pretty;}
.wh-article-body h2{font-size:24px;font-weight:800;margin:36px 0 12px;}
.wh-article-body h3{font-size:19px;font-weight:800;margin:30px 0 10px;}
.wh-article-body ul,
.wh-article-body ol{margin:0 0 20px;padding-left:22px;}
.wh-article-body li{margin-bottom:8px;}
.wh-article-body img{max-width:100%;height:auto;display:block;}
.wh-article-body figure{margin:26px 0;}
.wh-article-body figcaption{
  font-family:"Courier New", monospace;
  font-size:11px;
  color:var(--wh-gray-5);
  margin-top:8px;
}
.wh-article-body blockquote{
  margin:28px 0;
  padding:18px 22px;
  background:var(--wh-gray-1);
  border:1px solid var(--wh-line);
  font-size:18px;
}
.wh-article-body blockquote p:last-child{margin-bottom:0;}

/* ---------- byline + share ---------- */
.wh-byline-row{
  max-width:var(--wh-measure);
  margin:28px auto 0;
  padding:18px 0;
  border-top:1px solid var(--wh-line);
  border-bottom:1px solid var(--wh-line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.wh-byline-id{display:flex;align-items:center;gap:12px;}
.wh-byline-avatar{width:44px;height:44px;border-radius:50%;background:var(--wh-gray-3);}
.wh-byline-name{font-size:13px;font-weight:bold;}
.wh-byline-role{font-size:11.5px;color:var(--wh-gray-5);}

.wh-share-row{display:flex;align-items:center;gap:8px;}
.wh-share-label{
  font-family: inherit;
  font-size: inherit;
  text-transform:uppercase;
  color:var(--wh-gray-5);
  margin-right:2px;
}
.wh-share-icon{
  width:32px;height:32px;
  border:1px solid var(--wh-line);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:bold;
  text-decoration:none;
}
.wh-share-icon:hover{border-color:var(--wh-ink);background:var(--wh-gray-1);}

/* ---------- tags ---------- */
.wh-post-tags{
  max-width:var(--wh-measure);
  margin:18px auto 0;
  display:flex;gap:8px;flex-wrap:wrap;
}
.wh-post-tags .tag-links{display:flex;gap:8px;flex-wrap:wrap;}
.wh-post-tags a{
  border:1px solid var(--wh-line);
  background:#fff;
  font-size:11.5px;
  padding:6px 12px;
  text-decoration:none;
}
.wh-post-tags a:hover{border-color:var(--wh-ink);}

/* ---------- related posts ---------- */
.wh-related{
  border-top:1px solid var(--wh-line);
  border-bottom:1px solid var(--wh-line);
  background:var(--wh-gray-1);
}
.wh-related .wh-blog-grid{max-width:1120px;margin:0 auto;}

/* ---------- buttons ---------- */
.wh-btn{
  display:inline-block;
  padding:11px 20px;
  background: #df241b;
  color: #fff !important;
  font-size: 14.5px;
  font-weight:bold;
  /* border:1px solid var(--wh-ink); */
  text-decoration:none;
  white-space:nowrap;
  font-family: 'Bitter';
  border-radius: 8px;
}
.wh-btn:hover{background:#000;}
.wh-btn.outline,
.wh-btn.outline:hover{background: #010101;}

/* ---------- promo banner ---------- */
.wh-promo-banner{
  border:1px dashed var(--wh-line);
  background:var(--wh-gray-1);
  padding:28px 26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.wh-promo-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.wh-promo-wrap{padding-top:0;}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .wh-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .wh-featured-post{grid-template-columns:1fr;}
  .wh-featured-media{min-height:220px;}
}
@media (max-width:620px){
  .wh-blog-grid{grid-template-columns:1fr;}
  .wh-page-banner,
  .wh-section-inner,
  .wh-promo-banner{padding-left:22px;padding-right:22px;}
  .wh-featured-content{padding:24px 22px;}
  .wh-post-meta{gap:6px 18px;}
}


main.wh-blog {
    max-width: 100% !important;
}

main.wh-blog .container {
    max-width: 1580px;
    margin: auto;
    padding: 0 20px;
    display: block;
    width: 100%;
}

main.wh-single {
    max-width: 100% !important;
}

main.wh-single .wh-page-banner .container {
    padding: 0 20px;
    max-width: 1580px;
    margin: auto;
    width: 100%;
}

main.wh-single .wh-page-banner {
    padding: 0 !important;
}

main.wh-single .wh-section-inner .container {
    max-width: 1000px;
    margin: auto;
}

main.wh-single .wh-article-body {
    max-width: 100%;
}

main.wh-single .wh-byline-row {
    max-width: 100%;
}

/* copy-link confirmation bubble */
.wh-copy-link .wh-copied{
  position:absolute;
  bottom:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%);
  background:var(--wh-ink);
  color:#fff;
  font-family:"Courier New", monospace;
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:4px 8px;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  transition:opacity .15s ease;
}
.wh-copy-link.is-copied{border-color:var(--wh-ink);background:var(--wh-gray-1);}
.wh-copy-link.is-copied .wh-copied{opacity:1;visibility:visible;}


/** customizer **/

div#hero-section .e-parent > .e-con-inner {
    max-width: 750px;
    margin-left: 0;
}

div#hero-section > .e-parent {
    max-width: 1580px;
    margin: 0 auto;
}

div#page-breadcrumb a {
    color: #fff;
    border-bottom: 1px solid #fff;
}

div#page-breadcrumb {
    color: #fff;
}

div#inner-page-hero:before {
    background-repeat: no-repeat;
    background-size: cover;
}

#primary-btn {
    display: inline-block;
    padding: 16px 28px;
    background: #df241b;
    color: #ffffff;              /* var(--dark) */
    border-radius: 8px;          /* var(--rad) */
    font-family: Karla, Helvetica, sans-serif;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.6;
    text-decoration: none;
}

#secondary-btn {
    display: inline-block;
    padding: 16px 28px;
    color: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 8px;          /* var(--rad) */
    font-family: Karla, Helvetica, sans-serif;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.6;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

#primary-btn:hover {
    background-color: #010101;
}

#secondary-btn:hover {
    background-color: #010101;
}

#secondary-btn-dark {
    display: inline-block;
    padding: 16px 28px;
    background: #ffffff;
    color: #010101;
    border-radius: 8px;
    font-family: Karla, Helvetica, sans-serif;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.6;
    text-decoration: none;
    border: 1px solid #010101;
}

#secondary-btn-dark:hover {
    background-color: #010101;
    color: #fff;
}

/* "Care you can count on" — icon text list */
.elementor-icon-list-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.elementor-icon-list-items .elementor-icon-list-item {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 16px 18px;
  background: #FFFFFF;
  border: 1px solid #e3dbd1;
  border-radius: 8px;
}

.elementor-icon-list-items .elementor-icon-list-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 38px;
  height: 38px;
  border: 1px solid #e3dbd100;
  border-radius: 50%;
  background: #EFE9E1;
}

.elementor-icon-list-items .elementor-icon-list-icon svg {
  width: 20px;
  height: 20px;
  display: block;
  stroke: #DF241B;
}

.elementor-icon-list-items .elementor-icon-list-text {
  font-size: 18px;
  font-weight: 700 !important;
  line-height: 1.3;
  color: #010101;
}

@media (max-width: 767px) {
  .elementor-icon-list-items {
    grid-template-columns: minmax(0, 1fr);
  }
}

.elementor-icon-list-items svg{
  fill: #ffffff00 !important;
  margin:0 !important;
}

#hero-section {
  position: relative;
  overflow: hidden;
}

/* the elementor wrapper divs need to not clip or offset the wave */
#hero-section .elementor-widget-html {
  position: static;
}

.hero-wave {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 220px;
  pointer-events: none;
  z-index: 2; /* sits above the video background */
}

.wave-back {
  fill: #58726396;
  opacity:0;
}

.wave-front {
  fill: #faf7f1;
}

.footer-divider {
    display: flex;
    position: relative;
}

.footer-divider > img:nth-child(1) {
    width: auto;
    max-height: 42px;
    left: -80px;
    position: relative;
}
.footer-divider > img:nth-child(2) {
    position: absolute;
    right: 0;
    top: -209px;
    right: -191px;
    max-width: 385px;
}

footer#site-footer {
    overflow: hidden;
}

#parallax-section {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center 50%;
  will-change: background-position;
}

div#quick-contact-form div.e-flexbox-base {
    gap: 15px;
    align-items:center;
}

div#quick-contact-form .e-div-block-base label{
    padding-bottom:10px;

}

div#quick-contact-form input.e-form-input-base {
    background-color:#efe9e178;
    min-height:30px;
}

div#quick-contact-form textarea {
    background-color:#efe9e178;
    min-height:30px;
}

div#quick-contact-form input.e-form-input-base::placeholder{
    display:none;
    visibility: hidden;
}

div#quick-contact-form textarea::placeholder{
    display:none;
    visibility:hidden;
}

div#quick-contact-form .e-form-checkbox-row {
    margin-top: 20px;
    margin-bottom: 15px;
}

div#quick-contact-form  button.e-form-submit-button-base {
    border-radius: 10px !important;
    font-family: 'Bitter';
    font-weight: bold;
}

.site-header .header-inner .custom-logo-link {
    max-width: 220px;
}

.elementor-widget-image-box:hover {
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px !important;
}

.elementor-widget-image-box a:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.elementor-widget-image-box:hover a img {
    scale: 1.05;
}

div#download-app:after {
    content: "";
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background: url(https://newwheatlandah.wpenginepowered.com/wp-content/uploads/2026/09/Misc-Still-7.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}


.elementor-widget-text-editor {
    color: #010101;
}

div#service-sidebar .e-div-block-base > .e-div-block-base {
    border:1px solid #010101;
    padding: 40px 20px;
}

div#service-sidebar > .e-div-block-base {
    display:flex;
    flex-direction: column;
    gap: 20px;
}

.wah-sibling-pages ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.wah-sibling-pages ul li {
    padding: 5px;
}

.wah-sibling-pages ul li a {
    color: #010101;
}

.wah-sibling-pages {
    padding-top: 20px;
}

.wah-sibling-pages ul li.is-current {
    background-color: #FBE8E6;
    font-weight: 600;
    border-left: 3px solid #df241b;
    padding-left: 5px;
}

.wah-sibling-pages ul li:hover {
    background-color: #FBE8E6;
    font-weight: 600;
    border-left: 3px solid #df241b;
    padding-left: 5px;
}

.elementor-widget-image-box .elementor-image-box-description {
    color: #010101;
}

#service-sidebar {
    align-self: stretch !important;
}


#service-sidebar > div:first-child {
    position: -webkit-sticky;
    position: sticky;

    top: 100px; /* match your site's fixed header height, or 0 if none */
}


@media (max-width: 900px) {

    #service-sidebar > div:first-child {
        position: static;
    }

}

.e-gallery-container {
    gap: 16px !important;
}

.e-gallery-container > .e-gallery-item {
    border-radius: 8px;
}

main.wh-blog .wh-page-banner {
    background-image: url(https://newwheatlandah.wpenginepowered.com/wp-content/uploads/2026/09/Wheatland-Sign-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: right;
    background-color: #fff;
    position: relative;
}

main.wh-blog .wh-page-banner:before{
    content:"";
    webkit-align-content100;
    width: 100%;
    height: 100%;
    background-color: #0000006b;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}


.wh-page-banner .container {
    z-index: 2;
    color: #fff;
}

.wh-breadcrumb {
    color: #fff;
}

.wh-page-banner nav.wh-breadcrumb a {
    color: #fff;
}

.wh-page-banner nav.wh-breadcrumb a:hover {
    color: #fff;
		text-decoration:underline;
}

p.wh-page-sub {
    color: #fff;
}

.wh-blog-media {
    height: auto;
    overflow: hidden;
}

.wh-blog-media img {
    object-fit: unset;
}

article.wh-blog-card {
    overflow: hidden;
}

main.wh-single .wh-page-banner {
    background-color: #df241b;
}

header#site-header {
    padding-left: 20px;
    padding-right: 20px;
}

h2.wh-h2 {
    font-family: 'Bitter';
}

.footer-divider > img:nth-child(1) {
    max-height: unset;
    left: 0;
    z-index: 1;
}

.footer-columns {
    z-index: 2;
    padding-bottom: 100px;
}

.footer-divider {position: absolute;top: 225px;}

.footer-inner {
    position: relative;
}

#bio-grid .wah-photo img {
    border-radius: 8px;
    border: 1px solid #0101011f;
    box-shadow: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px;
}

div#inner-service-grid .elementor-image-box-img {
   /* position: absolute;
    right: 30px;
    top: 40px;*/
    background-color: #EFE9E1;
		margin-bottom:0;
    border-radius: 50%;
    padding: 10px;
}

div#inner-service-grid .elementor-image-box-title {
    margin-right: 30px;
    margin-top: 15px;
}

div#inner-service-grid div#cta-grid {
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    background-color: #5d6a61;
    padding:30px;
	  min-height: 250px;
}

div#inner-service-grid div#cta-grid * {
    color:#fff !important;
}

div#inner-service-grid div#cta-grid * {
    background: unset;
}


div#inner-service-grid div#cta-grid .elementor-cta__button {
    border:unset;
    padding:unset;
}

div#inner-service-grid div#cta-grid .elementor-cta__button:after {
    content:"→";
    margin-left:5px;
}

div#inner-service-grid .elementor-widget-image-box {
    min-height: 250px;
}

div#cat-bg {
    position: relative;
}

div#cat-bg:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -20px;
    width: 100%;
    height: 100%;
    background-image: url(https://newwheatlandah.wpenginepowered.com/wp-content/uploads/2026/09/cat-no-background.png);
    background-size: 50% auto;
    background-repeat: no-repeat;
    background-position: right bottom;
    z-index: 2;
    pointer-events: none;
}


#fixed-element {
    align-self: stretch !important;
}


#fixed-element > div:first-child {
    position: -webkit-sticky;
    position: sticky;
    top: 200px;
}

div#faq-bg {
    position: relative;
		overflow: hidden;
}

div#faq-bg:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -20px;
    width: 100%;
    height: 100%;
    background-image: url(https://newwheatlandah.wpenginepowered.com/wp-content/uploads/2026/10/cat-dog-no-background-1.png);
    background-size: 50% auto;
    background-repeat: no-repeat;
    background-position: right bottom;
    z-index: 2;
    pointer-events: none;
}

div#inner-page-hero:before {
    background-position: center;
}

div#inner-service-grid .elementor-image-box-img {
    width: 40px !important;
}


#wh-container {
	padding-top:50px;
	padding-bottom:50px;
}

div#faq-bg {
    padding-top: 50px;
    padding-bottom: 50px;
}

#inner-service-grid {
	  padding-top: 50px;
    padding-bottom: 50px;
}


@media (min-width:1200px){
	#wh-container {
		padding-top:100px;
		padding-bottom:100px;
	}
	div#faq-bg {
			padding-top: 100px;
			padding-bottom: 100px;
	}
	
	#inner-service-grid {
			padding-top: 100px;
			padding-bottom: 100px;
	}
}


@media (max-width:1200px){
    header .header-inner {
        @media (min-width: 992px);
        max-width: 100% !important;
    }
	
	.site-footer .footer-inner {
			max-width: 100% !important;
	}
	
	.footer-divider {
			top: 280px;
	}

}

	
	div#cat-bg {
    padding-top: 200px;
    padding-bottom: 50px;
}

@media (max-width:1024px){
	.footer-divider {
			display: none;
	}

	.footer-columns {
			padding-bottom: 0;
	}
	
	div#inner-service-grid {
			grid-template-columns: repeat(2, 1fr);
	}
	
	div#cat-bg {
			padding-top:0px;
			padding-bottom: 50px;
	}
	
	div#faq-bg:after {
			display: none;
	}



}

.mega-cta a {
    border-radius: 8px;
}

#services-grid .services-grid-card__desc {
	font-size:16px;
}

@media (max-width:650px){
    .menu-cta .menu-btn {
        display: none;
    }

    .site-header .header-inner {
        padding: 0;
    }
    
    .top-hat {
        display: none;
    }

    .site-header .header-inner .site-branding .site-logo img {
        max-width: 120px;
    }
	
	.footer-bottom {
			margin-top: 0;
	}
	
	div#inner-service-grid {
			grid-template-columns: repeat(1, 1fr);
	}
	
div#inner-page-hero {
    min-height: unset;
    padding-top: 80px;
    padding-bottom: 80px;
}

div#inner-page-hero h1 {
    font-size: 25px;
}

#primary-btn {
    padding: 10px 15px;
    font-size: 13px !important;
}
	
#secondary-btn-dark{
	  padding: 10px 15px;
    font-size: 13px !important;
}

#secondary-btn {
    font-size: 13px !important;
    padding: 10px 15px !important;
}

#page-breadcrumb {
    font-size: 12px !important;
}

#page-breadcrumb a{
    font-size: 12px !important;
}


body p, body li, body a {
    font-size: 16px !important;
}

body .elementor-widget-text-editor {
    font-size: 16px !important;
}


body h2 {
    font-size: 26px !important;
}

body h3 {
    font-size: 22px !important;
}
	
	
	#hero-section .elementor-widget-html svg {
			width: 170%;
	}

	.wave-container::after {
			width: 180%;
	}

}

footer#site-footer {
    color: #010101 !important;
}

footer#site-footer a {color: #010101 !important;}

footer#site-footer p {
    color: #010101 !important;
}


.whcs-blurb-inner {
    padding: 0 !important;
}

@media (max-width:1025px){
    div#cat-bg:after {
        display: none;
    }
    div#cat-bg {
        padding-bottom:50px;
    }
}

section.wh-related.wh-related--selected .container {
    max-width: 1120px;
    margin: auto;
    padding:20px;
    padding-top:50px;
    padding-bottom:50px;
}

section.wh-related.wh-related--selected  article.wh-blog-card {
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px !important;
}

section.wh-related.wh-related--selected  .wh-blog-media img {
    max-height: 250px;
    object-fit: cover;
    min-height: 250px;
}

section.wh-related.wh-related--selected .wh-section-inner {
    padding:0px !important;
}

form#first-visit-form  div.e-flexbox-base {
    gap: 15px;
    align-items:center;
}


form#first-visit-form .e-heading-base{
    margin-bottom:20px;
    color: #fff;
    background-color: #010101;
    padding: 10px 15px;
    width: 100%;

}
form#first-visit-form .e-heading-base:nth-child(2){
    margin-top:50px;
}


form#first-visit-form label{
    font-size:18px;
}

form#first-visit-form  .e-div-block-base label{
    padding-bottom:10px;

}

form#first-visit-form input.e-form-input-base {
    background-color:#efe9e178;
    min-height:30px;
}

form#first-visit-form  textarea {
    background-color:#efe9e178;
    min-height:30px;
}

form#first-visit-form  input.e-form-input-base::placeholder{
    display:none;
    visibility: hidden;
}

form#first-visit-form textarea::placeholder{
    display:none;
    visibility:hidden;
}

form#first-visit-form .e-form-checkbox-row {
    margin-top: 20px;
    margin-bottom: 15px;
}

form#first-visit-form button.e-form-submit-button-base {
    border-radius: 10px !important;
    font-family: 'Bitter';
    font-weight: bold;
}

form#first-visit-form .e-con.e-atomic-element {
    padding: 0 !important;
}

form#first-visit-form {
    padding: 30px;
    background-color: #fff;
    border-radius: 8px;
}

form#inquiry-form {
	    padding: 30px;
    background-color: #fff;
    border-radius: 8px;
}

form#inquiry-form div.e-flexbox-base {
    gap: 15px;
    align-items:center;
}

form#inquiry-form .e-heading-base{
    margin-bottom:20px;
    color: #fff;
    background-color: #010101;
    padding: 10px 15px;
    width: 100%;

}


form#inquiry-form label{
    font-size:18px;
}

form#inquiry-form .e-div-block-base label{
    padding-bottom:10px;

}

form#inquiry-form input.e-form-input-base {
    background-color:#efe9e178;
    min-height:30px;
}

form#inquiry-form textarea {
    background-color:#efe9e178;
    min-height:30px;
}

form#inquiry-form input.e-form-input-base::placeholder{
    display:none;
    visibility: hidden;
}
form#inquiry-form textarea::placeholder{
    display:none;
    visibility:hidden;
}

form#inquiry-form .e-form-checkbox-row {
    margin-top: 20px;
    margin-bottom: 15px;
}

form#inquiry-form .e-form-submit-button-base {
    border-radius: 10px !important;
    font-family: 'Bitter';
    font-weight: bold;
}
form#inquiry-form .e-con.e-atomic-element {
    padding: 0 !important;
}

main.wh-blog {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

main.wh-single {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

div#wh-container {
    font-size: 22px;
}


.wah-sibling-pages a {
    font-size: 18px;
}


@media (max-width: 650px) {
    div#wh-container {
        font-size: 16px;
    }
	
		.wh-section-inner .container {
			padding-left: 0 !important;
			padding-right: 0 !important;
	}
	
		main.wh-single .wh-page-banner {
			padding-top: 30px !important;
			padding-bottom: 30px !important;
	}

	.wh-single .wh-page-banner .wh-blog-cat {
			font-size: 12px !important;
	}
}

span.elementor-heading-title {
    font-size: 24px !important;
}

div#services-post-content-wrap {
    padding: 0;
}

div#service-sidebar {
    padding: 0;
}

.wh-section-inner .container {
    padding-left: 20px;
    padding-right: 20px;
}

.ti-widget.ti-goog .ti-header-write-btn-container .ti-header-write-btn {
    background-color: #df241b !important;
    color: #fff !important;
    border: unset;
    padding: 18px;
}
/* ==========================================================================
   Trustindex (WP Reviews Plugin for Google) — "Write a review" button
   Trustindex styles it in uploads/trustindex-google-widget.css with
   !important colors, so these overrides use !important too, plus a leading
   "body" so they're more specific than the plugin's own rules. Change the
   colors here — editing the plugin's CSS would be lost on its next update.
   ========================================================================== */

.ti-widget.ti-goog .ti-header-write-btn-container {
  --wh-ti-btn-bg: #DF241B;            /* button */
  --wh-ti-btn-text: #ffffff;
  --wh-ti-btn-border: #DF241B;
  --wh-ti-btn-hover-bg: #A81B14;      /* hover */
  --wh-ti-btn-hover-text: #ffffff;
  --wh-ti-btn-hover-border: #A81B14;
}

body .ti-widget.ti-goog .ti-header-write-btn-container .ti-header-write-btn {
  background-color: var(--wh-ti-btn-bg) !important;
  border-color: var(--wh-ti-btn-border) !important;
  color: var(--wh-ti-btn-text) !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

body .ti-widget.ti-goog .ti-header-write-btn-container a.ti-header-write-btn:hover,
body .ti-widget.ti-goog .ti-header-write-btn-container a.ti-header-write-btn:focus-visible {
  background-color: var(--wh-ti-btn-hover-bg) !important;
  border-color: var(--wh-ti-btn-hover-border) !important;
  color: var(--wh-ti-btn-hover-text) !important;
}

/* the plugin removes the focus outline; give keyboard users one back */
body .ti-widget.ti-goog .ti-header-write-btn-container a.ti-header-write-btn:focus-visible {
  outline: 2px solid var(--wh-ti-btn-hover-bg) !important;
  outline-offset: 2px;
}


nav.mobile-nav .menu-btn {
    display: block;
    margin-left: 20px;
}

nav.mobile-nav .menu-btn a {
    display: block;
    margin-top: 20px;
    width: fit-content;
    font-size: 14px !important;
    padding: 10px 20px;
}

.elementor-widget-ee-media-video-grid {
  width: var(--container-widget-width);
  --flex-grow: var(--container-widget-flex-grow);
}

@media (max-width:1025px){

    div#download-app:after {
        display: none;
    }
        
}

/** customizer **/

