/* Yellowstone Bridge RV Park: static restoration of the original Wix layout
   (980px column over a fixed forest background, Amatic SC / Raleway / Georgia italic). */

@font-face { font-family: "Amatic SC"; src: url(../fonts/amatic-sc-400.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Raleway"; src: url(../fonts/raleway.woff2) format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Roboto Condensed"; src: url(../fonts/roboto-condensed-400.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }

:root {
  --text: rgb(20, 20, 20);
  --menu: rgb(125, 121, 121);
  --footer: rgb(83, 81, 81);
  --link-hover: rgb(75, 160, 204);
  --panel: rgba(255, 255, 255, .87);
  --condensed: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  --serif-italic: italic 14px/1.5em Georgia, Palatino, "Book Antiqua", "Palatino Linotype", serif;
}

body {
  margin: 0;
  color: var(--text);
  font-family: Raleway, Arial, sans-serif;
  background: #e4e4e4 url(../img/forest-background.jpg) no-repeat center center / cover fixed;
  -webkit-font-smoothing: antialiased;
}
img { border: 0; }
p { margin: 0; }

/* Restoration notice (not part of the original design) */
.notice {
  background: var(--footer);
  color: #fff;
  font: 13px/1.5 Raleway, Arial, sans-serif;
  text-align: center;
  padding: 9px 16px;
}

.site { width: 980px; margin: 0 auto; }

/* Header and menu */
.site-header { position: relative; height: 163px; background: var(--panel); }
.menu { position: absolute; top: 20px; left: 1px; width: 739px; height: 34px; display: flex; justify-content: center; }
.menu a {
  display: block;
  padding: 0 15px;
  font: 16px/34px var(--condensed);
  color: var(--menu);
  text-decoration: none;
  transition: color .4s ease, background-color .4s ease;
}
.menu a:hover { color: var(--text); background: rgba(188, 225, 238, .42); }
.menu a[aria-current="page"] { color: var(--text); }

.page { background: var(--panel); padding: 0 10px; }

/* Shared text styles */
.section-title { margin: 0; font: 400 21px/1.4em Raleway, Arial, sans-serif; letter-spacing: .2em; color: var(--text); }
.copy p { font: var(--serif-italic); color: var(--text); }
.copy p + p { margin-top: 21px; }
.copy a { color: var(--text); }
.copy a:hover { color: var(--link-hover); }

/* Home: hero (first slide of the original slideshow) */
.hero { position: relative; height: 499px; background: rgb(151, 202, 221); overflow: hidden; }
.hero-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.badge {
  position: absolute; left: 355px; top: 130px;
  width: 261px; height: 261px; border-radius: 50%;
  background: rgba(54, 41, 30, .47);
}
.badge img { display: block; width: 131px; height: 49px; margin: 28px 0 3px 59px; }
.badge h1 { margin: 0 0 9px -12px; width: 287px; font: 400 47px/.95em "Amatic SC", cursive; color: #fff; text-align: center; }
.badge p { margin-left: 23px; width: 205px; font: 16px/1.4em var(--condensed); color: #fff; text-align: center; }

/* Home: welcome band */
.welcome { background: rgba(236, 206, 184, .4); padding: 129px 0 48px; }
.welcome h2 { margin: 0 0 20px 51px; width: 860px; font: 400 30px/1.4em Raleway, Arial, sans-serif; letter-spacing: .2em; text-align: center; color: var(--text); }
.welcome-body { position: relative; min-height: 172px; }
.welcome .trees { position: absolute; left: 49px; top: 42px; width: 91px; height: 101px; }
.welcome .copy { margin: 0 0 46px 140px; width: 679px; }
.welcome .copy p { text-align: justify; }
.rule { display: block; height: auto; }
.welcome .rule { margin-left: 49px; width: 866px; }

/* Home: find us / explore the area */
.area { position: relative; height: 498px; margin-top: -27px; }
.area .block { position: absolute; top: 0; height: 100%; }
.area .find { left: 21px; width: 440px; }
.area .explore { left: 498px; width: 452px; }
.area .section-title { position: absolute; top: 58px; left: 0; white-space: nowrap; }
.area .find .section-title { left: 9px; }
.area .cone { position: absolute; transform: rotate(23deg); }
.area .find .cone { left: 160px; top: 34px; width: 101px; height: 62px; }
.area .explore .cone { left: 285px; top: 31px; width: 112px; height: 69px; }
.area .photo { position: absolute; left: 0; top: 119px; display: block; object-fit: cover; }
.area .find .photo { width: 422px; height: 255px; }
.area .explore .photo { width: 434px; height: 250px; }
.area .directions { position: absolute; left: 0; top: 386px; width: 422px; }
.more {
  position: absolute; left: 15px; top: 391px;
  display: flex; align-items: center; gap: 9px;
  font: 13px/33px Raleway, Arial, sans-serif; color: var(--text); text-decoration: none;
  transition: color .4s ease;
}
.more img { width: 47px; height: 27px; }
.more:hover { color: var(--link-hover); }

/* Home: closing paragraph (added for this restoration) */
.trip { margin-left: 30px; width: 892px; padding: 22px 0 44px; }
.trip .section-title { margin-bottom: 12px; }

/* Activities */
.intro { background: rgba(188, 225, 238, .54); padding: 36px 0 43px; margin-bottom: 11px; }
.intro .antlers { display: block; width: 155px; height: 58px; margin: 0 0 17px 401px; }
.intro h1 { margin: 0 0 20px 138px; width: 679px; font: 400 48px/1.2em "Amatic SC", cursive; letter-spacing: .2em; text-align: center; color: var(--text); }
.intro .copy { margin-left: 88px; width: 780px; }
.intro .copy p { text-align: justify; }
.gallery { display: flex; height: 346px; margin-bottom: 35px; }
.gallery img { display: block; flex: 1 1 50%; min-width: 0; height: 100%; object-fit: cover; }
.act-cols { display: grid; grid-template-columns: 498px 392px; padding-left: 31px; }
.act-cols .section-title { margin-bottom: 17px; }
.fishing .copy { margin-left: 20px; width: 392px; }
.fishing .rule { width: 136px; margin: 9px 0 32px; }
.boating .copy { width: 382px; }
.boating .rule { width: 181px; margin: 30px 0 0; }
.boating .copy p + p { margin-top: 21px; }
.local { padding-left: 31px; }
.local .section-title { margin-bottom: 15px; }
.local .copy { margin-left: -2px; width: 464px; }
.local .copy a { color: #008afc; }
.local .rule { width: 130px; margin: 44px 0 0 462px; padding-bottom: 6px; }

/* 404 */
.missing { padding: 110px 30px 140px; text-align: center; }
.missing .copy { margin-top: 18px; }

/* Footer: the original address and contact columns, with the contact details removed */
.site-footer { min-height: 235px; box-sizing: border-box; background: var(--footer); color: #fff; padding: 28px 32px 40px; }
.site-footer .foot-title { font: italic 16px/1.4em Georgia, Palatino, "Book Antiqua", "Palatino Linotype", serif; margin-bottom: 18px; }
.site-footer .foot-lines { font: 13px/2em Raleway, Arial, sans-serif; }

/* Narrow screens: the original had a separate Wix mobile layout; stack the same blocks. */
@media (max-width: 1000px) {
  .site { width: auto; }
  .site-header { height: auto; padding: 14px 0 18px; }
  .menu { position: static; width: auto; height: auto; }
  .hero { height: 380px; }
  .badge { left: 50%; top: 50%; transform: translate(-50%, -50%) scale(.82); }
  .welcome { padding: 44px 16px 32px; }
  .welcome h2 { margin: 0 0 20px; width: auto; font-size: 22px; letter-spacing: .12em; }
  .welcome-body { min-height: 0; }
  .welcome .trees { position: static; display: block; margin: 0 auto 16px; }
  .welcome .copy { margin: 0; width: auto; }
  .welcome .rule { margin: 26px 0 0; width: 100%; }
  .area { height: auto; margin-top: 0; padding: 30px 16px 4px; }
  .area .block { position: static; width: auto; height: auto; margin-bottom: 30px; }
  .area .section-title, .area .find .section-title { position: static; display: inline-block; vertical-align: middle; white-space: normal; }
  .area .cone, .area .find .cone, .area .explore .cone { position: static; display: inline-block; vertical-align: middle; margin-left: 14px; width: 70px; height: auto; }
  .area .photo, .area .find .photo, .area .explore .photo { position: static; width: 100%; height: auto; aspect-ratio: 3 / 2; margin-top: 16px; }
  .area .directions { position: static; width: auto; margin-top: 12px; }
  .more { position: static; margin-top: 10px; }
  .trip { margin: 0; width: auto; padding: 0 16px 36px; }
  .intro { padding: 28px 16px 32px; }
  .intro .antlers { margin: 0 auto 14px; }
  .intro h1 { margin: 0 0 16px; width: auto; font-size: 38px; letter-spacing: .12em; }
  .intro .copy { margin: 0; width: auto; }
  .gallery { flex-direction: column; height: auto; }
  .gallery img { width: 100%; height: 240px; flex: none; }
  .act-cols { display: block; padding: 0 16px; }
  .fishing .copy, .boating .copy { margin-left: 0; width: auto; }
  .fishing .rule, .boating .rule { margin: 18px 0 30px; }
  .local { padding: 0 16px 30px; }
  .local .copy { margin-left: 0; width: auto; overflow-wrap: anywhere; }
  .local .rule { margin: 30px 0 0; }
  .missing { padding: 70px 16px 90px; }
  .site-footer { min-height: 0; padding: 24px 16px 36px; }
}
