/* rmg-footer 1.0.4: one footer for every page of requiredmarketing.com (Required Marketing Group Inc.).
   Brand-blue footer (1.0.0 was white). Every rule is scoped to #site-footer.rmgf, so nothing else on the page changes.
   Contrast (WCAG 2.x AA) is measured at the LIGHTEST point of the gradient, #0077B0:
   white text 4.92:1 (body text >= 4.5), white icons and the white focus outline 4.92:1 (>= 3). Table: qa/contrast-1.0.1.md.
   #0095D9 itself only reaches 3.33:1 with white, so it is not used behind text. */
@font-face{font-family:"RMGF Red Hat Display";src:url(../fonts/RedHatDisplay-Black.woff2) format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"RMGF Red Hat Text";src:url(../fonts/RedHatText-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"RMGF Red Hat Text";src:url(../fonts/RedHatText-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"RMGF Red Hat Text";src:url(../fonts/RedHatText-Bold.woff2) format("woff2");font-weight:700;font-display:swap}

/* Root. "html body" + !important on the colours: in standalone mode the footer sits inside #rmgh / #rmgp, whose CSS has
   "#rmgh .site-footer{background:var(--white);border-top:3px solid var(--blue);padding:80px 0 28px}" and
   "#rmgp .site-footer{background:var(--white);border-top:...;padding:70px 0 26px}" (same specificity as #site-footer.rmgf).
   html body #site-footer.rmgf (1,1,2) always wins, in theme mode, standalone mode, WooCommerce, 404 and blank-canvas pages. */
html body #site-footer.rmgf{--b:#0095D9;--r:#FE4C1C;--o:#FF970F;--ink:#1A1B1E;--tx:#606060;
  --bg1:#0077B0;--bg2:#006A9E;--bg3:#005B8A;--on:#FFFFFF;--line:#BFE3F5;--focus:#FFFFFF;--chip:#FFFFFF;--hl:rgba(0,30,50,.30);
  position:relative;display:block;clear:both;overflow:visible;margin:0;padding:0;
  background-color:var(--bg2)!important;background-image:linear-gradient(135deg,var(--bg1) 0%,var(--bg2) 55%,var(--bg3) 100%)!important;
  background-repeat:no-repeat!important;background-size:100% 100%!important;
  border:0!important;box-shadow:none;color:var(--on)!important;
  font:400 16px/1.65 "RMGF Red Hat Text","Red Hat Text",system-ui,-apple-system,"Segoe UI",sans-serif;text-align:left;-webkit-text-size-adjust:100%}
html body #site-footer.rmgf *,html body #site-footer.rmgf *::before,html body #site-footer.rmgf *::after{box-sizing:border-box}
html body #site-footer.rmgf::before,html body #site-footer.rmgf::after{content:none;display:none}
/* top rule: decorative brand accent (aria-hidden). Orange to red, so it still shows on the blue (the 1.0.0 blue segment would vanish). */
#site-footer.rmgf .rmgf-rule{height:4px;background:linear-gradient(90deg,var(--o) 0%,var(--r) 100%)}
#site-footer.rmgf .rmgf-wrap{width:min(1240px,100% - 48px);margin-inline:auto;padding:56px 0 28px;background:none}
html body #site-footer.rmgf section,html body #site-footer.rmgf nav,html body #site-footer.rmgf .rmgf-col,html body #site-footer.rmgf .rmgf-grid{background:none;border:0;box-shadow:none}

/* headings */
#site-footer.rmgf h2,#site-footer.rmgf h3{margin:0;padding:0;border:0;background:none;text-transform:none;letter-spacing:0}
#site-footer.rmgf .rmgf-h{font:900 20px/1.15 "RMGF Red Hat Display","Red Hat Display",system-ui,sans-serif;color:var(--on);margin:0 0 18px}
#site-footer.rmgf .rmgf-h::after{content:"";display:block;width:36px;height:3px;border-radius:2px;margin-top:10px;background:var(--o)}
#site-footer.rmgf .rmgf-office-h{font:700 13px/1.3 "RMGF Red Hat Text","Red Hat Text",system-ui,sans-serif;letter-spacing:.08em;color:var(--on);margin:0 0 8px}
#site-footer.rmgf p{margin:0;padding:0;color:inherit}
#site-footer.rmgf strong{font-weight:700;color:var(--on)}

/* links: never underlined, any state; visible keyboard focus (white on the blue, blue inside the white newsletter card) */
#site-footer.rmgf a,#site-footer.rmgf a:link,#site-footer.rmgf a:visited,#site-footer.rmgf a:hover,#site-footer.rmgf a:focus,#site-footer.rmgf a:active,
#site-footer.rmgf a *,#site-footer.rmgf a:hover *{text-decoration:none!important;text-decoration-line:none!important;border-bottom:0!important;box-shadow:none}
#site-footer.rmgf a{color:var(--on);font-weight:500;transition:color .2s ease,background-color .2s ease}
#site-footer.rmgf a:visited{color:var(--on)}
#site-footer.rmgf a:hover,#site-footer.rmgf a:active{color:var(--on)}
/* hover on text links: a darker highlight behind the text (white on #005C8A = 7.25:1), no underline, no layout shift */
#site-footer.rmgf .rmgf-lines a:hover,#site-footer.rmgf .rmgf-links a:hover{background-color:var(--hl);box-shadow:0 0 0 3px var(--hl)!important;border-radius:3px}
#site-footer.rmgf a:focus{outline:none}
html body #site-footer.rmgf a:focus-visible,html body #site-footer.rmgf button:focus-visible,html body #site-footer.rmgf input:focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px;border-radius:4px}

/* newsletter card: white card on the blue */
#site-footer.rmgf .rmgf-news{display:grid;grid-template-columns:1fr minmax(320px,520px);gap:24px 48px;align-items:center;
  background:var(--chip);border-radius:20px;padding:30px 40px;margin:0 0 52px;color:var(--tx)}
#site-footer.rmgf .rmgf-news-h{font:900 28px/1.1 "RMGF Red Hat Display","Red Hat Display",system-ui,sans-serif;color:var(--ink);margin:0 0 6px}
#site-footer.rmgf .rmgf-news-copy p{font-size:17px;color:var(--tx)}
#site-footer.rmgf .rmgf-news-copy p strong{color:var(--bg1)}
#site-footer.rmgf .rmgf-news a:not(.rmgf-btn){color:var(--bg1);font-weight:700}
#site-footer.rmgf .rmgf-news-form .wpcf7,#site-footer.rmgf .rmgf-news-form form,#site-footer.rmgf .rmgf-news-form .cs-form{margin:0;padding:0;max-width:none;width:100%}
#site-footer.rmgf .rmgf-news-form .screen-reader-response{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#site-footer.rmgf .rmgf-news-form .cs-form p,#site-footer.rmgf .rmgf-news-form form>p{display:flex;gap:10px;align-items:stretch;margin:0;position:relative}
#site-footer.rmgf .rmgf-news-form .wpcf7-form-control-wrap{flex:1 1 auto;display:block;position:relative}
#site-footer.rmgf .rmgf-news-form input[type=email]{width:100%;height:54px;margin:0;padding:0 22px;border:2px solid #7A8794;border-radius:999px;background:#FFFFFF;
  color:var(--ink);font:500 16px/1 "RMGF Red Hat Text","Red Hat Text",system-ui,sans-serif;box-shadow:none}
#site-footer.rmgf .rmgf-news-form input[type=email]::placeholder{color:#6B6B6B;opacity:1}
#site-footer.rmgf .rmgf-news-form input[type=email]:focus{border-color:var(--bg1);outline:none}
#site-footer.rmgf .rmgf-news-form button,#site-footer.rmgf .rmgf-news-form input[type=submit],#site-footer.rmgf .rmgf-btn{
  position:static;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:54px;margin:0;padding:0 26px;border:0;border-radius:999px;
  background:var(--r);color:#FFFFFF;font:700 19px/1 "RMGF Red Hat Text","Red Hat Text",system-ui,sans-serif;letter-spacing:0;text-transform:none;
  box-shadow:0 5px 0 var(--ink);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;transform:none;top:auto;right:auto}
#site-footer.rmgf .rmgf-news-form button:hover,#site-footer.rmgf .rmgf-btn:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--ink);color:#FFFFFF;background:var(--r)}
#site-footer.rmgf a.rmgf-btn:visited{color:#FFFFFF}
#site-footer.rmgf .rmgf-news-form button::before,#site-footer.rmgf .rmgf-news-form button::after{content:none;display:none}
#site-footer.rmgf .rmgf-news-form button i{font-size:14px;line-height:1;margin:0;position:static;color:inherit}
#site-footer.rmgf .rmgf-news-form .wpcf7-spinner{position:absolute;right:-30px;top:16px;margin:0}
#site-footer.rmgf .rmgf-news-form .wpcf7-not-valid-tip{font-size:14px;margin:6px 0 0 18px;color:#C62D0A}
#site-footer.rmgf .rmgf-news-form .wpcf7-response-output{margin:10px 0 0;padding:8px 14px;border-radius:10px;font-size:14px;color:var(--ink)}
#site-footer.rmgf .rmgf-news-form .wpcf7-response-output:empty{display:none}
/* focus inside the white card: blue outline (the white one would not show on white) */
html body #site-footer.rmgf .rmgf-news a:focus-visible,html body #site-footer.rmgf .rmgf-news button:focus-visible,html body #site-footer.rmgf .rmgf-news input:focus-visible{outline-color:var(--bg1)!important}

/* columns */
#site-footer.rmgf .rmgf-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:40px 44px;align-items:start}
#site-footer.rmgf .rmgf-co{margin:0 0 16px;font-size:16px}
#site-footer.rmgf .rmgf-office+.rmgf-office{margin-top:22px}
#site-footer.rmgf ul{list-style:none;margin:0;padding:0}
#site-footer.rmgf li{list-style:none;margin:0;padding:0;border:0;background:none}
#site-footer.rmgf li::before,#site-footer.rmgf li::marker{content:none}
/* contact lines: no border/box around the phone and email area (Seion) */
#site-footer.rmgf .rmgf-lines{display:grid;gap:6px;border:0;background:none;padding:0;box-shadow:none}
#site-footer.rmgf .rmgf-lines li{display:flex;align-items:flex-start;gap:10px;font-size:15.5px;line-height:1.5;color:var(--on)}
#site-footer.rmgf .rmgf-lines .rmgf-addr{color:var(--on);font-weight:500}
#site-footer.rmgf .rmgf-k{color:var(--on)}
#site-footer.rmgf .rmgf-lines a{font-weight:700;white-space:nowrap}
/* 1.0.3: fax numbers are plain text (not links); same weight and colour as the Toll-Free / Local / Email links above */
#site-footer.rmgf .rmgf-fax{font-weight:700;color:var(--on)}
#site-footer.rmgf .rmgf-i{flex:0 0 18px;width:18px;height:18px;margin-top:2px;fill:none;stroke:var(--on);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#site-footer.rmgf .rmgf-i--pin{stroke:var(--on)}
#site-footer.rmgf .rmgf-links{display:grid;gap:9px}
#site-footer.rmgf .rmgf-links a{display:inline-block;font-size:16px;font-weight:500;transition:color .2s ease,background-color .2s ease,transform .2s ease}
#site-footer.rmgf .rmgf-links a:hover{transform:translateX(4px)}
/* Trusted By: BBB seal, tawk.to and Trustpilot sit on white chips so the dark logos stay readable on the blue */
#site-footer.rmgf .rmgf-badges{display:grid;gap:14px;justify-items:start}
/* 1.0.2: no white chip on the BBB seal (seal type "ruhzbal" is BBB's white REVERSE seal, made for dark backgrounds; today it is a
   1x1 transparent image, so the chip was an empty white box). Its block now comes after tawk.to and Trustpilot (partial), so the
   tawk.to badge sits right under "Trusted By" as in the old footer 1107. */
#site-footer.rmgf .rmgf-badges>a.rmgf-badge{display:inline-block;background:var(--chip);border-radius:12px;padding:8px 12px;line-height:0}
#site-footer.rmgf .rmgf-badges>.rmgf-bbb{display:inline-block;background:none;padding:0;line-height:0}
#site-footer.rmgf .rmgf-badges>.rmgf-bbb a{display:inline-block;line-height:0}
#site-footer.rmgf .rmgf-badges img,#site-footer.rmgf .rmgf-trustpilot img{display:block;width:150px;max-width:100%;height:auto;margin:0;border:0}
#site-footer.rmgf .rmgf-bbb img{width:auto;max-width:200px}
#site-footer.rmgf .rmgf-soc{display:flex;flex-wrap:wrap;gap:10px;max-width:250px}
#site-footer.rmgf .rmgf-soc a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--chip);color:var(--bg1);transition:background-color .2s ease,color .2s ease,transform .2s ease}
#site-footer.rmgf .rmgf-soc a:visited{color:var(--bg1)}
#site-footer.rmgf .rmgf-soc a:hover{background:var(--r);color:#FFFFFF;transform:translateY(-3px)}
#site-footer.rmgf .rmgf-soc a:focus-visible{border-radius:50%}
#site-footer.rmgf .rmgf-soc svg{width:19px;height:19px;fill:currentColor;display:block}
#site-footer.rmgf .rmgf-guarantee{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
#site-footer.rmgf .rmgf-guarantee img{display:block;width:104px;height:auto;margin:0;background:var(--chip);border-radius:12px;padding:4px}

/* bottom bar */
/* 1.0.2: logo chip and copyright centred, one above the other (the old footer 1107 had the copyright centred too).
   Fixed elements at the page bottom: Onum back-to-top button (left 40px, bottom 40px, 46x46) and the tawk.to chat
   (desktop: 264x44 "Online" bar at right 20px / bottom 20px, plus the "We Are Here" picture above it, up to ~210px from the
   bottom on the right). Centred, neither the logo nor the copyright is under them at desktop widths, and the bottom padding
   keeps the copyright above the chat bar / bubble at every width: desktop 104px under the copyright (tawk bar top = 64px and
   back-to-top top = 86px above the viewport bottom). */
#site-footer.rmgf .rmgf-bar{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-wrap:nowrap;gap:16px;
  margin-top:48px;padding:26px 0 76px;border-top:1px solid var(--line);text-align:center}
#site-footer.rmgf .rmgf-logo{display:block;width:210px;height:auto;margin:0 auto;background:var(--chip);border-radius:10px;padding:6px 10px}
#site-footer.rmgf .rmgf-copy{font-size:14.5px;color:var(--on);text-align:center;max-width:100%}

@media (max-width:1100px){
  #site-footer.rmgf .rmgf-grid{grid-template-columns:1fr 1fr}
  #site-footer.rmgf .rmgf-news{grid-template-columns:1fr;padding:28px}
  /* 1.0.2: narrow desktop / tablet windows: keep the centred copyright out of the 190px strips at both sides, where the tawk.to
     "We Are Here" picture (157px wide, up to ~206px above the bottom, right 20px) and the back-to-top button sit */
  #site-footer.rmgf .rmgf-copy{max-width:calc(100% - 380px)}
}
@media (max-width:640px){
  #site-footer.rmgf .rmgf-wrap{width:calc(100% - 40px);padding:40px 0 24px}
  #site-footer.rmgf .rmgf-grid{grid-template-columns:1fr;gap:34px}
  #site-footer.rmgf .rmgf-news{padding:24px 20px;margin-bottom:40px;border-radius:16px}
  #site-footer.rmgf .rmgf-news-h{font-size:24px}
  #site-footer.rmgf .rmgf-news-form .cs-form p,#site-footer.rmgf .rmgf-news-form form>p{flex-direction:column}
  #site-footer.rmgf .rmgf-news-form button{width:100%}
  #site-footer.rmgf .rmgf-links{grid-template-columns:1fr 1fr;gap:10px 16px}
  #site-footer.rmgf .rmgf-copy{max-width:100%}
  #site-footer.rmgf .rmgf-bar{flex-direction:column;align-items:center;margin-top:36px;padding-bottom:150px} /* 1.0.2: phones: tawk.to bubble 67x64 at bottom 90px (top 154px above the viewport bottom), back-to-top 46x46 at left 12px / bottom 92px */
}
/* 1.0.4: Onum's back-to-top button (#back-to-top: fixed, 46x46, right 40px / bottom 40px, hidden at right -50px) sat on the tawk.to
   "Online" bar (right 20px / bottom 20px, 264x44) on the Onum-theme pages. It now uses the bottom-LEFT corner there too, like the
   rmg-pages / rmg-home templates (which set it themselves and are left alone: body.rmgp-page, body.rmgh-page). Desktop: left 40px /
   bottom 40px (hidden: off-screen at the left). Phones (<=640px): left 12px / bottom 92px, the position the .rmgf-bar bottom padding
   already keeps the copyright clear of. Specificity (1,3,2) beats the theme's #back-to-top.show / :hover (1,1,0); no !important. */
html body:not(.rmgp-page):not(.rmgh-page) #back-to-top{right:auto;left:-60px}
html body:not(.rmgp-page):not(.rmgh-page) #back-to-top.show{right:auto;left:40px}
@media (max-width:640px){
  html body:not(.rmgp-page):not(.rmgh-page) #back-to-top.show{left:12px}
  html body:not(.rmgp-page):not(.rmgh-page) #back-to-top,html body:not(.rmgp-page):not(.rmgh-page) #back-to-top:hover{bottom:92px}
}
@media (prefers-reduced-motion:reduce){#site-footer.rmgf *{transition:none!important}#site-footer.rmgf a:hover{transform:none}}
@media (forced-colors:active){html body #site-footer.rmgf{border-top:1px solid CanvasText!important}}
@media print{#site-footer.rmgf .rmgf-news,#site-footer.rmgf .rmgf-soc,#site-footer.rmgf .rmgf-badges{display:none}html body #site-footer.rmgf{background:#FFFFFF!important;color:#000000!important}html body #site-footer.rmgf *{color:#000000!important}}

/* Newsletter button: the theme's round icon chip is not used here */
#site-footer.rmgf .rmgf-news-form button i,#site-footer.rmgf .rmgf-news-form button.octf-btn-icon i{background:none!important;width:auto;height:auto;line-height:1;margin:0 0 0 2px;border-radius:0;box-shadow:none;color:#FFFFFF;display:inline-block}

/* Client portal (/client-portal/): no underline on any link in the portal body, top bar or (if kept) its contact box,
   in any state, including the login-form links "Forgot your password?" and "Start a project request".
   The portal's own CSS (.rmgcp a / .rmgcp-foot a) drew a 2px blue underline. In-text links stay distinguishable by
   colour + weight (#0077B0, 4.9:1 on white), and keyboard focus keeps a visible outline. */
html body .rmgcp a,html body .rmgcp a:link,html body .rmgcp a:visited,html body .rmgcp a:hover,html body .rmgcp a:focus,html body .rmgcp a:active,html body .rmgcp a *,
html body .rmgcp-top a,html body .rmgcp-top a:visited,html body .rmgcp-top a:hover,html body .rmgcp-top a:focus,html body .rmgcp-top a *,
html body .rmgcp-foot a,html body .rmgcp-foot a:visited,html body .rmgcp-foot a:hover,html body .rmgcp-foot a:focus,html body .rmgcp-foot a *{
  text-decoration:none!important;text-decoration-line:none!important;border-bottom:0!important}
html body .rmgcp-card p a,html body .rmgcp-foot a{color:#0077B0;font-weight:700}
html body .rmgcp-card p a:hover,html body .rmgcp-foot a:hover{color:#FE4C1C}
html body .rmgcp a:focus-visible,html body .rmgcp-top a:focus-visible,html body .rmgcp-foot a:focus-visible{outline:3px solid #FF970F!important;outline-offset:3px;border-radius:3px}
/* Portal contact box, only if it is kept: no border line around the phone/email area; one address per line with a pin */
html body .rmgcp-foot{border:0!important;box-shadow:none!important}
html body .rmgcp-foot .rmgf-paddr{display:flex;align-items:flex-start;gap:8px}
html body .rmgcp-foot .rmgf-ppin{flex:0 0 16px;width:16px;height:16px;margin-top:.25em;fill:none;stroke:#FE4C1C;stroke-width:2}
