/* thefrapper.com light refresh (Pro Web Concepts, Nov 2026)
   Loaded last on every page. Keeps the original layout, red and Open Sans;
   modernizes type, contrast, the banners, buttons, forms and footer. */

:root {
  --pwc-red: #a81010;
  --pwc-red-dark: #860000;
  --pwc-ink: #18262e;        /* headings */
  --pwc-text: #3c4850;       /* body copy */
  --pwc-muted: #66737b;
  --pwc-sea: #0f2833;        /* footer, banner shade */
  --pwc-sea-deep: #0a1c24;   /* socket */
  --pwc-mist: #f2f6f7;       /* alternate sections */
  --pwc-line: #dfe5e8;

  --enfold-main-color-color: var(--pwc-text);
  --enfold-main-color-heading: var(--pwc-ink);
  --enfold-main-color-border: var(--pwc-line);
  --enfold-main-color-meta: var(--pwc-muted);
  --enfold-alternate-color-color: var(--pwc-text);
  --enfold-alternate-color-heading: var(--pwc-ink);
  --enfold-alternate-color-bg: var(--pwc-mist);
  --enfold-alternate-color-border: var(--pwc-line);
  --enfold-alternate-color-meta: var(--pwc-muted);
  --enfold-footer-color-bg: var(--pwc-sea);
  --enfold-footer-color-border: #21404d;
  --enfold-footer-color-heading: #ffffff;
  --enfold-footer-color-color: #c9d6dc;
  --enfold-footer-color-meta: #8fa6b0;
  --enfold-footer-color-primary: #ffffff;
  --enfold-socket-color-bg: var(--pwc-sea-deep);
  --enfold-socket-color-border: #1c3541;
  --enfold-socket-color-color: #a9bcc4;
  --enfold-socket-color-primary: #ffffff;
}

/* ---------- Type ---------- */
body { font-size: 16px; line-height: 1.7; color: var(--pwc-text); -webkit-font-smoothing: antialiased; }
#top #main .entry-content-wrapper p,
#top #main .avia_textblock,
#top #main .iconbox_content_container,
#top #main .avia-testimonial-content,
#top #main .entry-content li { font-size: 16px; line-height: 1.75; }
#top #main .entry-content-wrapper p { max-width: 75ch; }
#top #main .av_textblock_section [style*="text-align: center"] p,
#top #main .av_textblock_section p[style*="center"] { margin-left: auto; margin-right: auto; }

#top h1, #top h2, #top h3, #top h4, #top h5 { color: var(--pwc-ink); letter-spacing: -0.01em; }
#top .av-special-heading-tag,
#top .iconbox_content_title,
#top .widgettitle,
#top .template-page .entry-content-wrapper h1,
#top .template-page .entry-content-wrapper h2 { text-transform: none; letter-spacing: -0.01em; }
#top .av-special-heading-tag { font-weight: 700; }
#top .iconbox_content_title { font-size: 20px; font-weight: 700; line-height: 1.3; }
#top .main-title, #top .main-title a { color: var(--pwc-ink); font-weight: 600; font-size: 18px; }

a { transition: color .15s ease; }
#top #main a:focus-visible, #top a:focus-visible, #top button:focus-visible, #top input:focus-visible, #top textarea:focus-visible {
  outline: 3px solid #e8a33d; outline-offset: 2px;
}

/* ---------- Header ---------- */
#top #header_main { border-bottom-color: var(--pwc-line); }
#top #avia-menu > li > a { font-size: 14.5px; font-weight: 600; color: #2a363d; }
#top #avia-menu > li.current-menu-item > a,
#top #avia-menu > li > a:hover { color: var(--pwc-red); }
#top .av-main-nav > li > a .avia-menu-fx { height: 3px; }
#top .title_container { background: var(--pwc-mist); }
#top .title_container .breadcrumb { font-size: 12.5px; }

/* ---------- Home hero (replaces the 2015 slider) ---------- */
.pwc-hero {
  position: relative; overflow: hidden; color: #fff;
  min-height: clamp(440px, 46vw, 600px);
  display: flex; align-items: center;
  background: var(--pwc-sea);
}
.pwc-hero__media {
  position: absolute; inset: 0;
  background-size: cover; background-position: 60% 45%;
  transform: scale(1.02);
}
.pwc-hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(8,28,38,.92) 0%, rgba(8,28,38,.78) 36%, rgba(8,28,38,.25) 70%, rgba(8,28,38,.05) 100%);
}
.pwc-hero .container { position: relative; z-index: 2; width: 100%; }
#top .pwc-hero h1.pwc-hero__title {
  color: #fff; margin: 0 0 18px; max-width: 12em;
  font-size: clamp(40px, 5.6vw, 72px); font-weight: 800; line-height: 1.02; letter-spacing: -0.025em;
  text-transform: none;
}
#top .pwc-hero .pwc-hero__lede {
  color: #e3edf1; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.55; max-width: 34em; margin: 0 0 28px;
}
.pwc-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 0; }
#top .pwc-hero .pwc-hero__actions form { margin: 0; padding: 0; display: flex; }
#top .pwc-hero .pwc-hero__note { color: #a9c0c9; font-size: 14px; line-height: 1.6; max-width: 38em; margin: 0; }
.pwc-hero__rule { width: 56px; height: 4px; background: var(--pwc-red); border: 0; margin: 0 0 22px; }

/* Buttons used in the hero */
#top .pwc-btn {
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: 52px; margin: 0;
  font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1;
  padding: 0 22px; border-radius: 4px; text-decoration: none; cursor: pointer;
  border: 2px solid transparent; transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
#top .pwc-btn--primary { background: var(--pwc-red); color: #fff; border-color: var(--pwc-red); }
#top .pwc-btn--primary:hover { background: var(--pwc-red-dark); border-color: var(--pwc-red-dark); }
#top .pwc-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.75); }
#top .pwc-btn--ghost:hover { background: #fff; color: var(--pwc-ink); border-color: #fff; }

/* ---------- Inner page banner (replaces the 150px slider strip) ---------- */
.pwc-banner {
  position: relative; background-color: var(--pwc-sea);
  background-size: cover; background-position: center 70%;
  min-height: 150px; display: flex; align-items: flex-end;
}
.pwc-banner::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(8,28,38,.82) 0%, rgba(8,28,38,.35) 55%, rgba(8,28,38,.15) 100%);
}
.pwc-banner .container { position: relative; z-index: 1; width: 100%; }
#top .pwc-banner .pwc-banner__text {
  color: #fff; margin: 0; padding: 0 0 20px; font-size: clamp(20px, 2.2vw, 28px); font-weight: 700; letter-spacing: -0.01em; line-height: 1.2;
}

/* ---------- Buttons and boxes ---------- */
#top .avia-button {
  border-radius: 4px; border-bottom-width: 0; font-weight: 600; font-size: 14px;
  padding: 11px 18px; transition: background-color .15s ease;
}
#top .avia-button.avia-size-small { padding: 9px 15px; font-size: 13.5px; }
#top .avia-button:hover { opacity: 1; background-color: var(--pwc-red-dark); }
#top .avia-button.avia-color-light, #top .avia-button.avia-color-silver, #top .avia-button.avia-color-grey {
  border: 1px solid var(--pwc-line); color: var(--pwc-ink);
}

/* Notification bar ("Lionfish Trap") */
#top .avia_message_box {
  border-radius: 4px; text-align: left; padding: 16px 20px 16px 22px;
  background: #fff6e6 !important; color: #5b3a06 !important; border: 1px solid #f1d39c !important; border-left: 5px solid #e8a33d !important;
}
#top .avia_message_box .avia_message_box_title { display: none; }
#top .avia_message_box .avia_message_box_content { text-transform: none; font-size: 16px; font-weight: 600; letter-spacing: 0; }
#top .avia_message_box .avia_message_box_content p { margin: 0; color: #5b3a06; }
#top .avia_message_box .avia_message_box_content a { color: var(--pwc-red); text-decoration: underline; text-underline-offset: 3px; }
#top .avia_message_box .avia_message_box_icon { color: #c27c0e; }

/* Icon boxes on the home page (side icons only; the round top icons keep their white glyph) */
#top .iconbox_left .iconbox_icon { color: var(--pwc-red); }
#top .av_icon_caption { text-transform: none; letter-spacing: 0; font-size: 16px; color: var(--pwc-ink); }

/* Video grid and portfolio cards */
#top .grid-entry .inner-entry { border-radius: 4px; overflow: hidden; box-shadow: 0 1px 2px rgba(15,40,51,.06), 0 6px 18px rgba(15,40,51,.06); }
#top .grid-entry .grid-entry-title { font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--pwc-ink); }

/* Testimonials */
#top .avia-testimonial-content { font-size: 16px; }
#top .avia-testimonial-name { color: var(--pwc-ink); font-size: 15px; }

/* ---------- Contact form ---------- */
#top .pwc_static_form input[type="text"],
#top .pwc_static_form input[type="email"],
#top .pwc_static_form textarea {
  font-size: 16px; padding: 12px 14px; border-radius: 4px; border: 1px solid #cfd8dc; background: #fff; color: var(--pwc-ink);
  transition: border-color .15s ease, box-shadow .15s ease;
}
#top .pwc_static_form input:focus, #top .pwc_static_form textarea:focus {
  border-color: var(--pwc-red); box-shadow: 0 0 0 3px rgba(168,16,16,.12); outline: none;
}
#top .pwc_static_form label { font-size: 14px; font-weight: 600; color: var(--pwc-ink); }
#top .pwc_static_form input[type="submit"] {
  border-radius: 4px; padding: 14px 28px; font-size: 16px; font-weight: 700; min-width: 140px;
  background: var(--pwc-red); border: 0; color: #fff; cursor: pointer;
}
#top .pwc_static_form input[type="submit"]:hover { background: var(--pwc-red-dark); }
#top .pwc_static_form .value_verifier_label { font-size: 15px; color: var(--pwc-muted); }

/* ---------- Footer ---------- */
#top #footer { padding: 56px 0 40px; }
#top #footer .widgettitle { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 14px; }
#top #footer, #top #footer .textwidget { font-size: 15px; line-height: 1.7; }
#top #footer a { color: #e7eff2; }
#top #footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
#top #footer .news-thumb img { border-radius: 3px; }
#top #socket { font-size: 13px; }
#top #socket .copyright { font-size: 13px; }

/* ---------- Mobile ---------- */
@media only screen and (max-width: 767px) {
  .pwc-hero { min-height: 0; padding: 64px 0 56px; }
  .pwc-hero::after { background: linear-gradient(180deg, rgba(8,28,38,.70) 0%, rgba(8,28,38,.88) 100%); }
  .pwc-hero__media { background-position: 50% 50%; }
  #top .pwc-hero h1.pwc-hero__title { max-width: none; }
  #top .pwc-btn { width: 100%; text-align: center; }
  #top .pwc-hero .pwc-hero__actions form { width: 100%; }
  .pwc-banner { min-height: 110px; }
  #top #main .entry-content-wrapper p, #top #main .avia_textblock, #top #main .iconbox_content_container { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
