/* RepliCel site overrides (static build). Loaded after style1.css. */
@font-face { font-family: "Titillium Web"; font-weight: 300; font-style: normal; font-display: swap; src: url(../_fonts/titillium-web-300.woff2) format("woff2"); }
@font-face { font-family: "Titillium Web"; font-weight: 400; font-style: normal; font-display: swap; src: url(../_fonts/titillium-web-400.woff2) format("woff2"); }
@font-face { font-family: "Titillium Web"; font-weight: 600; font-style: normal; font-display: swap; src: url(../_fonts/titillium-web-600.woff2) format("woff2"); }
@font-face { font-family: "Titillium Web"; font-weight: 700; font-style: normal; font-display: swap; src: url(../_fonts/titillium-web-700.woff2) format("woff2"); }

.sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; background: none !important; }
.inner-page img, .product-details img { max-width: 100%; height: auto; }

/* header logo (was an h1 on every page; now a plain block so each page has one real h1) */
.top-bar .name .logo { line-height: 65px; font-size: 1.0625rem; margin: 0; max-width: 143px; width: 100%; }
.top-bar .name .logo a { font-weight: normal; width: 50%; display: block; }
@media only screen and (min-width: 76.25em) { .top-bar .name .logo a { width: auto; height: 140px; display: flex; align-items: center; } }

/* readability: darker, slightly heavier body text */
body { color: #4a4f57; }
.inner-page p, .inner-page li, .page-content__text p, .product-details p, .product-details li { color: #4a4f57; font-weight: 400; }
.team__bio-content p { color: #fff; font-weight: 400; }
.team__bio-content p.team__bio-title { text-align: center !important; font-weight: 600; margin-bottom: 20px; }

/* home */
.rc-programs { max-width: 1100px; margin: 0 auto; padding: 10px 20px 70px; }
.rc-programs h2 { text-align: center; text-transform: uppercase; letter-spacing: 1px; font-size: 1.5rem; font-weight: 600; color: #4f545c; margin: 0 0 30px; }
.rc-cards { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.rc-card { flex: 1 1 200px; max-width: 250px; text-align: center; text-decoration: none; border: 0 !important; display: block; }
.rc-card img { display: block; margin: 0 auto 14px; max-width: 100%; height: auto; border-radius: 4px; }
.rc-card h2, .rc-card h3 { color: #333 !important; font-size: 1.25rem !important; font-weight: 600 !important; margin: 0 0 4px !important; text-align: center; }
.rc-card p { color: #5d636b !important; font-size: 1rem !important; margin: 0 !important; text-align: center !important; }
.inner-page .rc-cards { margin: 30px 0 10px; }
.rc-card:hover h3 { color: #b81237; }
.home .page-content { padding-bottom: 40px; }
.home .home-feature-spotlight { margin: 40px 0 0; }

/* product pages */
.rc-product .product-details__about { padding: 70px 20px 30px; }
.inner-page.page-content.rc-product h1.product-details__name { display: block; margin: 0; padding: 0; background: none; position: static; color: #6e6e6e; font-weight: 300; line-height: 1.1; font-size: 2.6rem; }
@media (min-width: 40.063em) { .inner-page.page-content.rc-product h1.product-details__name { font-size: 3.5rem; } .inner-page.page-content.rc-product h1.rc-long { font-size: 2.5rem; } }
.rc-video { max-width: 760px; margin: 10px auto 50px; padding: 0 20px; }
.rc-video__frame { position: relative; aspect-ratio: 16 / 9; background: #e9ebee; }
.rc-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rc-note { max-width: 930px; margin: 0 auto; padding: 0 20px 50px; text-align: right !important; font-size: 0.85rem !important; color: #6b7078 !important; }
.rc-status { color: #4a4f57; }

/* footer */
.rc-footer-nav { display: flex; gap: 40px; justify-content: center; padding: 0; margin: 0; }
.rc-footer-nav h4 { color: #ef6b5f; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; margin: 0 0 12px; }
.rc-footer-nav h4 a { color: #ef6b5f; text-decoration: none; }
.rc-footer-nav ul { list-style: none; margin: 0; padding: 0; }
.rc-footer-nav li { margin-bottom: 6px; padding: 0; font-size: 15px; text-transform: none; line-height: 1.4; }
.rc-footer-nav li a { color: #d5d7da; text-decoration: none; font-size: 15px; text-transform: none; }
.rc-footer-nav a:hover { color: #fff; }
.social-footer__menu a { font-size: 14px; color: #4a4f57; text-decoration: none; text-transform: none; padding: 0 12px; }
.social-footer__copyright { font-size: 14px; color: #4a4f57; }
@media (max-width: 640px) {
  .rc-footer-nav { flex-wrap: wrap; gap: 20px 30px; justify-content: flex-start; }
  .social-footer__menu ul { flex-wrap: wrap !important; }
  .product-details__name { font-size: 40px; overflow-wrap: anywhere; }
  .rc-note { text-align: left !important; }
  .inner-page p, .inner-page li, .product-details p, .team__bio-content p:not(.team__bio-title) { text-align: left !important; }
  .page-footer__footer-menu { margin-top: 28px; }
  .inner-page .rc-card p { text-align: center !important; }
}

/* cookie notice (only shown once Google Analytics is switched on) */
.rc-cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; background: #33373d; color: #fff; padding: 14px 20px; display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: center; font-size: 15px; line-height: 1.4; }
.rc-cookie button { font: inherit; padding: 7px 18px; border-radius: 3px; cursor: pointer; border: 1px solid #fff; background: transparent; color: #fff; }
.rc-cookie button.rc-cookie__yes { background: #fff; color: #33373d; }
