/* ---- Theme options, as Shapely printed them from this site's settings ---- */
a, .image-bg a, a:visited, .footer .footer-credits a, .post-content .post-meta li a, .module.widget-handle i { color: #1e73be }
a:hover, a:active, a:focus, .post-title a:hover, .post-title a:focus, .image-bg a:hover, .image-bg a:focus,
.footer .footer-credits a:hover, .footer .footer-credits a:focus, .widget.widget_recent_entries ul li a:hover,
.main-navigation .menu > li > ul li:hover > a, .main-navigation .menu li:hover > a, .main-navigation .menu li:focus > a { color: #6687aa; }
.btn-filled, .btn-filled:visited, input[type="submit"], button[type="submit"], .post-content .more-link {
  background: #1e73be !important; border: 2px solid #1e73be !important; color: #fff !important; }
.btn-filled:hover, .btn-filled:focus, input[type="submit"]:hover, button[type="submit"]:hover, .post-content .more-link:hover {
  background: #80a1bf !important; border: 2px solid #80a1bf !important; }

/* ---- Parallax backgrounds (the theme used parallax.js; this is the CSS equivalent) ---- */
.parallax-window { background-size: cover; background-position: center; background-attachment: fixed; position: relative; }
.parallax-window.fullscreen { min-height: 100vh; }
.small-screen .parallax-window { min-height: 520px; display: flex; align-items: center; }
.small-screen .parallax-window > div { width: 100%; }
.image-bg .parallax-window:before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.35); }
.image-bg .parallax-window > div { position: relative; z-index: 1; }
.cover.fullscreen .align-transform { position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); }
@media (hover: none), (max-width: 991px) { .parallax-window { background-attachment: scroll; } }

/* homepage text widget (disclaimer / copyright) */
.widget_text section { padding: 40px 0; }

/* ---- Mobile menu: open submenus inline ---- */
@media (max-width: 991px) {
  .main-navigation .menu .sub-menu { position: static; display: block; opacity: 1; visibility: visible; box-shadow: none; background: transparent; padding-left: 16px; float: none; }
  .mobile-toggle { color: #333; padding: 0 15px; line-height: 53px; }
}
.mobile-toggle svg { vertical-align: middle; }
.back-to-top svg { vertical-align: middle; }

/* ---- Featured images on pages & posts ---- */
.entry-header img.attachment-shapely-featured { width: 100%; height: auto; margin-bottom: 24px; }

/* ---- the Tao of pool book ---- */
.tao-book { text-align: center; margin: 40px 0; }
.tao-book-cover img { max-width: 360px; width: 100%; margin: 0 auto 24px; box-shadow: 0 12px 30px rgba(0,0,0,.25); transition: transform .2s; }
.tao-book-cover:hover img { transform: translateY(-4px); }

/* ---- re-Sources slider (recreates the Smart Slider caption slider) ---- */
.fr-slider { position: relative; max-width: 1200px; margin: 30px auto; overflow: hidden; background: #eee; }
.fr-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.fr-track::-webkit-scrollbar { display: none; }
.fr-slide { flex: 0 0 100%; margin: 0; scroll-snap-align: start; position: relative; aspect-ratio: 2 / 1; }
.fr-slide a { display: block; height: 100%; color: inherit; text-decoration: none; }
.fr-slide img { width: 100%; height: 100%; object-fit: cover; }
.fr-slide figcaption { position: absolute; left: 0; right: 0; bottom: 0; background: #357cbd; padding: 20px 30px 15px; text-align: left; }
.fr-slide figcaption strong { display: block; color: #fff; font: 400 24px/1.2 Montserrat, Raleway, sans-serif; margin-bottom: 6px; }
.fr-slide figcaption span { display: block; color: #2b2b2b; font: 700 14px/1.4 'Nunito Sans', Raleway, sans-serif; letter-spacing: 1px; }
.fr-prev, .fr-next { position: absolute; top: 40%; transform: translateY(-50%); width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(0,0,0,.45); color: #fff; font-size: 34px; line-height: 44px; cursor: pointer; }
.fr-prev { left: 12px; } .fr-next { right: 12px; }
.fr-prev:hover, .fr-next:hover { background: rgba(0,0,0,.7); }
.fr-dots { text-align: center; padding: 10px 0; background: #fff; }
.fr-dots button { width: 10px; height: 10px; border-radius: 50%; border: 0; margin: 3px; background: #ccc; padding: 0; cursor: pointer; }
.fr-dots button.on { background: #357cbd; }
@media (max-width: 700px) {
  .fr-slide { aspect-ratio: auto; height: auto; }
  .fr-slide img { height: 260px; }
  .fr-slide figcaption { position: static; }
  .fr-slide figcaption strong { font-size: 20px; }
  .fr-prev, .fr-next { top: 130px; }
}

/* ---- Connect form ---- */
.fr-form label { display: block; font-weight: 600; margin: 0 0 16px; }
.fr-form .req { color: #c00; }
.fr-form input, .fr-form textarea { display: block; width: 100%; margin-top: 6px; padding: 10px 12px; border: 1px solid #ccc; font-weight: 400; }
.fr-form .two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .fr-form .two { grid-template-columns: 1fr; } }
.fr-form .hp { position: absolute; left: -10000px; }
.fr-status { padding: 12px 16px; background: #fdf3d0; border-left: 4px solid #e0b100; }
.fr-status.ok { background: #e3f3e8; border-color: #2e8b57; }
.fr-slider figure.fr-slide { padding: 0 !important; margin: 0 !important; border: 0; background: none; }
.fr-slider .fr-slide img { padding: 0 !important; border: 0 !important; margin: 0 !important; max-width: none; }
@media (max-width: 991px) { .main-navigation .menu .sub-menu li a { padding: 8px 0 !important; line-height: 1.5 !important; height: auto !important; } }
