/* Loonis Sites additions on top of the template stylesheet */

/* hide animated elements until the motion kit runs (removed instantly if it can't) */
html.lx-motion [animate="fade-up"],
html.lx-motion [animate="heading-reveal"],
html.lx-motion [animate="stagger"],
html.lx-motion [animate="image-reveal"],
html.lx-motion [animate="rule-draw"],
html.lx-motion [animate="bar-grow"],
html.lx-motion [animate="bar-segments"] { opacity: 0; }

/* card hover zoom (1.04, 0.6s) */
html:not(.lx-ix) [class*="_card"] img, html:not(.lx-ix) .card-media img { transition: transform var(--motion-slow) var(--ease-1); }
html:not(.lx-ix) [class*="_card"]:hover img:not([class*="icon"]), html:not(.lx-ix) .card-media:hover img { transform: scale(1.04); }
.card-media { overflow: hidden; }

/* lightbox */
.lx-lightbox { position: fixed; inset: 0; z-index: 9999; background: var(--tone-overlay-92); display: flex; align-items: center; justify-content: center; }
.lx-lightbox img { max-width: 86vw; max-height: 86vh; object-fit: contain; border-radius: var(--radius-8); }
.lx-lightbox button { position: absolute; background: none; border: 0; color: var(--role-page); font-size: calc(var(--size-2-5rem) * var(--scale-headings)); cursor: pointer; padding: var(--spacing-1rem); line-height: var(--leading-100); }
.lx-lb-close { top: 1rem; right: 1rem; }
.lx-lb-prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.lx-lb-next { right: 1rem; top: 50%; transform: translateY(-50%); }

/* tabs: Webflow hides inactive panes */
.w-tab-pane { display: none; }
.w-tab-pane.w--tab-active { display: block; }

/* single-page lists: Webflow hides pagination when there is nothing to page */
.w-pagination-wrapper { display: none; }


/* menu links the converter added to templates that only had a demo "Pages" dropdown */
.lx-nav-added { white-space: nowrap; }

/* ---- lx-icons: one-colour logo and icons follow the role colours (written by _tools/design-system/icons.mjs) ----
   The template's own one-colour SVG files are drawn as a mask filled with a role colour; the file
   itself is moved out of view. This runs in every theme except Original, and when the Style panel
   has changed a colour (<html data-colours="custom">). In Original the files show as drawn.
   The selectors match the template's own file names only: an owner logo or a replaced image has
   another src, so it shows exactly as uploaded and is never recoloured. */
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/699b6098e230c9b93f1af229_Hamburger-menu-1.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Arrow---Right-2.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Building.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Calendar-1.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Calendar.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Chart-circle-2.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Chart-circle.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Chart.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Checkmark-2.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Checkmark.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Clock.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Dot-graph.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Down-chart.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Git.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Minus.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Money-star.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Resize.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Right.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Search.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Sphere.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Up-graph.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/arr-left.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/arr-right.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/email.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/instagram.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/linkedin.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/linkedin_1.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo-testim.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo-w.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo1.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo2.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo3.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo4.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo6.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo7.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/menu/contact2.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/menu/menu-icon1.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/menu/menu-icon2.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/phone.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/question.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/quote.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/stars-w.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/stars.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/twitter.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/x_logo.svg"] {
  object-position: -99999px 0;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-origin: content-box; mask-origin: content-box;
  -webkit-mask-clip: content-box; mask-clip: content-box;
  background-color: var(--role-ink);
  background-clip: content-box;
}
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/699b6098e230c9b93f1af229_Hamburger-menu-1.svg"] { -webkit-mask-image: url(/_t/b2base/images/699b6098e230c9b93f1af229_Hamburger-menu-1.svg); mask-image: url(/_t/b2base/images/699b6098e230c9b93f1af229_Hamburger-menu-1.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Arrow---Right-2.svg"] { -webkit-mask-image: url(/_t/b2base/images/Arrow---Right-2.svg); mask-image: url(/_t/b2base/images/Arrow---Right-2.svg); background-color: var(--role-page); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Building.svg"] { -webkit-mask-image: url(/_t/b2base/images/Building.svg); mask-image: url(/_t/b2base/images/Building.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Calendar-1.svg"] { -webkit-mask-image: url(/_t/b2base/images/Calendar-1.svg); mask-image: url(/_t/b2base/images/Calendar-1.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Calendar.svg"] { -webkit-mask-image: url(/_t/b2base/images/Calendar.svg); mask-image: url(/_t/b2base/images/Calendar.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Chart-circle-2.svg"] { -webkit-mask-image: url(/_t/b2base/images/Chart-circle-2.svg); mask-image: url(/_t/b2base/images/Chart-circle-2.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Chart-circle.svg"] { -webkit-mask-image: url(/_t/b2base/images/Chart-circle.svg); mask-image: url(/_t/b2base/images/Chart-circle.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Chart.svg"] { -webkit-mask-image: url(/_t/b2base/images/Chart.svg); mask-image: url(/_t/b2base/images/Chart.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Checkmark-2.svg"] { -webkit-mask-image: url(/_t/b2base/images/Checkmark-2.svg); mask-image: url(/_t/b2base/images/Checkmark-2.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Checkmark.svg"] { -webkit-mask-image: url(/_t/b2base/images/Checkmark.svg); mask-image: url(/_t/b2base/images/Checkmark.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Clock.svg"] { -webkit-mask-image: url(/_t/b2base/images/Clock.svg); mask-image: url(/_t/b2base/images/Clock.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Dot-graph.svg"] { -webkit-mask-image: url(/_t/b2base/images/Dot-graph.svg); mask-image: url(/_t/b2base/images/Dot-graph.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Down-chart.svg"] { -webkit-mask-image: url(/_t/b2base/images/Down-chart.svg); mask-image: url(/_t/b2base/images/Down-chart.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Git.svg"] { -webkit-mask-image: url(/_t/b2base/images/Git.svg); mask-image: url(/_t/b2base/images/Git.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Minus.svg"] { -webkit-mask-image: url(/_t/b2base/images/Minus.svg); mask-image: url(/_t/b2base/images/Minus.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Money-star.svg"] { -webkit-mask-image: url(/_t/b2base/images/Money-star.svg); mask-image: url(/_t/b2base/images/Money-star.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Resize.svg"] { -webkit-mask-image: url(/_t/b2base/images/Resize.svg); mask-image: url(/_t/b2base/images/Resize.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Right.svg"] { -webkit-mask-image: url(/_t/b2base/images/Right.svg); mask-image: url(/_t/b2base/images/Right.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Search.svg"] { -webkit-mask-image: url(/_t/b2base/images/Search.svg); mask-image: url(/_t/b2base/images/Search.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Sphere.svg"] { -webkit-mask-image: url(/_t/b2base/images/Sphere.svg); mask-image: url(/_t/b2base/images/Sphere.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/Up-graph.svg"] { -webkit-mask-image: url(/_t/b2base/images/Up-graph.svg); mask-image: url(/_t/b2base/images/Up-graph.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/arr-left.svg"] { -webkit-mask-image: url(/_t/b2base/images/arr-left.svg); mask-image: url(/_t/b2base/images/arr-left.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/arr-right.svg"] { -webkit-mask-image: url(/_t/b2base/images/arr-right.svg); mask-image: url(/_t/b2base/images/arr-right.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/email.svg"] { -webkit-mask-image: url(/_t/b2base/images/email.svg); mask-image: url(/_t/b2base/images/email.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/instagram.svg"] { -webkit-mask-image: url(/_t/b2base/images/instagram.svg); mask-image: url(/_t/b2base/images/instagram.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/linkedin.svg"] { -webkit-mask-image: url(/_t/b2base/images/linkedin.svg); mask-image: url(/_t/b2base/images/linkedin.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/linkedin_1.svg"] { -webkit-mask-image: url(/_t/b2base/images/linkedin_1.svg); mask-image: url(/_t/b2base/images/linkedin_1.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo-testim.svg"] { -webkit-mask-image: url(/_t/b2base/images/logo-testim.svg); mask-image: url(/_t/b2base/images/logo-testim.svg); background-color: var(--role-page); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo-w.svg"] { -webkit-mask-image: url(/_t/b2base/images/logo-w.svg); mask-image: url(/_t/b2base/images/logo-w.svg); background-color: var(--role-page); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo1.svg"] { -webkit-mask-image: url(/_t/b2base/images/logo1.svg); mask-image: url(/_t/b2base/images/logo1.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo2.svg"] { -webkit-mask-image: url(/_t/b2base/images/logo2.svg); mask-image: url(/_t/b2base/images/logo2.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo3.svg"] { -webkit-mask-image: url(/_t/b2base/images/logo3.svg); mask-image: url(/_t/b2base/images/logo3.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo4.svg"] { -webkit-mask-image: url(/_t/b2base/images/logo4.svg); mask-image: url(/_t/b2base/images/logo4.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo6.svg"] { -webkit-mask-image: url(/_t/b2base/images/logo6.svg); mask-image: url(/_t/b2base/images/logo6.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/logo7.svg"] { -webkit-mask-image: url(/_t/b2base/images/logo7.svg); mask-image: url(/_t/b2base/images/logo7.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/menu/contact2.svg"] { -webkit-mask-image: url(/_t/b2base/images/menu/contact2.svg); mask-image: url(/_t/b2base/images/menu/contact2.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/menu/menu-icon1.svg"] { -webkit-mask-image: url(/_t/b2base/images/menu/menu-icon1.svg); mask-image: url(/_t/b2base/images/menu/menu-icon1.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/menu/menu-icon2.svg"] { -webkit-mask-image: url(/_t/b2base/images/menu/menu-icon2.svg); mask-image: url(/_t/b2base/images/menu/menu-icon2.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/phone.svg"] { -webkit-mask-image: url(/_t/b2base/images/phone.svg); mask-image: url(/_t/b2base/images/phone.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/question.svg"] { -webkit-mask-image: url(/_t/b2base/images/question.svg); mask-image: url(/_t/b2base/images/question.svg); background-color: var(--role-accent); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/quote.svg"] { -webkit-mask-image: url(/_t/b2base/images/quote.svg); mask-image: url(/_t/b2base/images/quote.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/stars-w.svg"] { -webkit-mask-image: url(/_t/b2base/images/stars-w.svg); mask-image: url(/_t/b2base/images/stars-w.svg); background-color: var(--role-page); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/stars.svg"] { -webkit-mask-image: url(/_t/b2base/images/stars.svg); mask-image: url(/_t/b2base/images/stars.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/twitter.svg"] { -webkit-mask-image: url(/_t/b2base/images/twitter.svg); mask-image: url(/_t/b2base/images/twitter.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/b2base/images/x_logo.svg"] { -webkit-mask-image: url(/_t/b2base/images/x_logo.svg); mask-image: url(/_t/b2base/images/x_logo.svg); background-color: var(--role-ink-black); }
/* two-colour brand logos (named in the map): inverted with the hue turned back in dark themes */
html[data-theme="night-deploy"] img[src$="/_t/b2base/images/b2base-logo.svg"],
html[data-theme="inverted"] img[src$="/_t/b2base/images/b2base-logo.svg"] { filter: invert(1) hue-rotate(180deg); }
/* ---- end lx-icons ---- */
