/* overlays of the cloned live pages: cookie settings dialog, lightboxes, hotspots, form. */

/* ---- Cookie settings dialog (desktop values; .ovc--m = phone layout) ---- */
.ovc { position: fixed; inset: 0; z-index: 2147483647; font: 10px Arial, Helvetica, sans-serif; color: #000; box-sizing: content-box; outline: 0; animation: ovc-in 0.25s ease-in-out; }
@keyframes ovc-in { from { opacity: 0; } to { opacity: 1; } }
.ovc *, .ovc *::before, .ovc *::after { box-sizing: content-box; }
.ovc-dim { position: absolute; inset: 0; background: #000; opacity: 0.6; }
.ovc-box { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 600px; max-width: 600px; height: 571px; max-height: 80%; display: flex; flex-direction: column; box-sizing: border-box; background: #fff; box-shadow: rgba(0, 0, 0, 0.1) -8px -7px 20px 0; }
.ovc-h2 { margin: 0; padding: 24px 24px 0; font: 400 24px/31.92px HelveticaNeue, "Helvetica Neue", helvetica, Sans-Serif; color: #000; }
.ovc-x { position: absolute; top: 12px; right: 20px; display: block; width: 24px; height: 27px; }
.ovc-xb { display: inline-block; width: 24px; height: 27px; margin: 0; padding: 0; border: 0; background: transparent; font: 13.3333px Arial; cursor: default; box-sizing: border-box; }
.ovc-xi { display: inline; width: 24px; height: 24px; cursor: pointer; }
.ovc-body { position: relative; flex: 1 1 auto; margin: 5px 0 0; overflow: auto; min-height: 0; }
.ovc-sec { position: relative; padding: 24px 90px 24px 24px; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
.ovc-h3 { margin: 0; font: 400 16px/24px HelveticaNeue, "Helvetica Neue", helvetica, Sans-Serif; color: #000; }
.ovc-p { margin: 12px 0 0; font: 400 12px/15.96px HelveticaNeue, "Helvetica Neue", helvetica, Sans-Serif; color: #000; }
.ovc-toggle { position: absolute; top: 24px; right: 24px; width: 48px; height: 24px; display: block; box-sizing: border-box; }
.ovc-input { position: static; display: inline-block; width: 13px; height: 13px; margin: 0; padding: 0; opacity: 0; box-sizing: border-box; }
.ovc-label { position: absolute; inset: 0; display: block; cursor: pointer; color: rgb(164, 164, 164); }
.ovc-track { position: absolute; inset: 0; border-radius: 12px; background: currentColor; cursor: pointer; transition: 0.3s; }
.ovc-knob { position: absolute; top: 1px; bottom: 1px; left: 1px; right: 25px; width: 22px; height: 22px; display: flex; justify-content: center; align-items: center; border-radius: 12px; background: #fff; box-shadow: rgba(22, 45, 61, 0.48) 0 2px 1px 0, rgba(22, 45, 61, 0.12) 0 0 3px 0; cursor: pointer; transition: 0.3s; }
.ovc-ico { margin: 1px 0 0; overflow: hidden; }
.ovc-tick { display: none; }
.ovc-input:checked + .ovc-label { color: rgb(76, 76, 76); }
.ovc-input:checked + .ovc-label .ovc-knob { left: 25px; right: 1px; }
.ovc-input:checked + .ovc-label .ovc-dash { display: none; }
.ovc-input:checked + .ovc-label .ovc-tick { display: block; }
.ovc-input:disabled + .ovc-label { color: rgba(22, 45, 61, 0.1); }
.ovc-foot { display: flex; align-self: flex-end; flex: 0 0 auto; padding: 24px; text-align: right; }
.ovc-save { display: block; width: 172px; height: 32px; margin: 6px; padding: 0 16px; border: 1px solid #000; border-radius: 0; background: #000; color: #fff; font: 400 14px HelveticaNeue, "Helvetica Neue", helvetica, Sans-Serif; text-align: center; white-space: nowrap; overflow: hidden; cursor: pointer; box-sizing: border-box; }

.ovc--m .ovc-box { width: 100%; max-width: 100%; height: 100%; max-height: 100%; }
.ovc--m .ovc-h2 { padding: 64px 24px 0; line-height: 24px; }
.ovc--m .ovc-x { top: 12px; right: 12px; width: 48px; height: 50px; }
.ovc--m .ovc-xb { position: relative; width: 48px; height: 48px; }
.ovc--m .ovc-xi { position: absolute; top: 0; right: 0; }
.ovc--m .ovc-h3 { line-height: 22px; }
.ovc--m .ovc-p { margin-top: 6px; }
.ovc--m .ovc-toggle { width: 36px; height: 20px; }
.ovc--m .ovc-track { border-radius: 10px; }
.ovc--m .ovc-knob { width: 18px; height: 18px; right: 17px; border-radius: 10px; }
.ovc--m .ovc-input:checked + .ovc-label .ovc-knob { left: 17px; right: 1px; }
.ovc--m .ovc-ico { width: 9px; }
.ovc--m .ovc-foot { align-self: stretch; }

/* ---- Image lightbox ---------------------------------------------------- */
[data-parity-id="comp-m5k2c4jg"], [data-parity-id="comp-ls063dc9"] { cursor: pointer; }
.ovl { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; align-items: center; background: rgba(0, 0, 0, 0.9); color: #000; }
.ovl-in { position: relative; width: 1200px; max-width: 1200px; box-sizing: content-box; padding: 35px 0 50px; display: flex; flex-direction: column; overflow: hidden; }
.ovl-img { display: block; width: 1200px; max-width: none; object-fit: contain; object-position: center center; }
.ovl-x { position: fixed; top: 50px; right: 50px; width: 18px; height: 20px; z-index: 500; cursor: pointer; }
.ovl-x svg { display: inline; width: 18px; height: 18px; overflow: hidden; fill: none; stroke: #fff; stroke-width: 15; cursor: pointer; outline: 0; }
.ovl--m { background: #000; flex-direction: row; justify-content: center; align-items: center; }
.ovl--m .ovl-in { width: 100%; max-width: none; height: 100%; padding: 0; justify-content: center; }
.ovl--m .ovl-img { width: 100%; height: 100%; }
.ovl--m .ovl-x { top: 5px; right: 5px; width: 48px; height: 48px; background: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; }
.ovl--m .ovl-x svg { stroke-width: 20; }

/* ---- Hotspot tooltips -------------------------------------------------- */
@font-face { font-family: Poppins; font-style: normal; font-weight: 400; font-display: swap; src: url(/live/a/ac6d71b4d5fdd2b3dabc9a06ff6c001e4251da0b.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
.ovh-tip { position: absolute; z-index: 100; width: max-content; max-width: 300px; box-sizing: border-box; border-radius: 4px; background: #fff; color: #000; font: 400 14px/18.2px Poppins, sans-serif; text-align: start; cursor: default; }
/* The montage widget's own Roboto: live's widget document loads the variable Roboto v51 from Google Fonts
   (declared per weight with font-stretch 100 %), not the Roboto files of the Wix page. Own family name,
   because here both live in one document. */
@font-face { font-family: 'Roboto Widget'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url(/live/a/41ca6b7e4818eb81531d8006ff7ddd971c640879.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Roboto Widget'; font-style: normal; font-weight: 700; font-stretch: 100%; font-display: swap; src: url(/live/a/41ca6b7e4818eb81531d8006ff7ddd971c640879.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
[data-parity-id="comp-lryvxvsp"] .ovh-tip { font: 400 14px/18.2px 'Roboto Widget', sans-serif; }
.ovh-tip strong { font: inherit; font-weight: 700; letter-spacing: inherit; }
.ovh-tip-c { display: block; max-width: 100%; padding: 6px 8px 8px; }
.ovh-tip-c, .ovh-tip p { font: inherit; letter-spacing: inherit; color: inherit; }
.ovh-tip p { display: block; margin: 0; }
.ovh-arrow { position: absolute; top: -5px; width: 10px; height: 10px; background: #fff; transform: rotate(45deg); }
.ovh-tip[data-placement="top"] > .ovh-arrow { top: auto; bottom: -5px; }

/* ---- Contact form ------------------------------------------------------ */
/* The honeypot stays in the DOM (bots fill it) but is not a visible field. */
form input[name="website"] { visibility: hidden !important; }
.lc form input[aria-invalid="true"] { border-bottom: 2px solid rgb(255, 64, 64); }
.lc form input[type="checkbox"][aria-invalid="true"] { outline: 2px solid rgb(255, 64, 64); }
.ovf-fail { margin: 8px 0 0; font: 14px/1.4 Roboto, sans-serif; color: rgb(255, 64, 64); }
/* Desktop layout: typed text sits 1 px lower in the clone than on live (empty fields are identical): lift it, keep the box. */
.lc:not([data-live-variant="mobile"]) form input[type="text"]:not([name="website"]), .lc:not([data-live-variant="mobile"]) form input[type="email"] { padding-top: 2px; padding-bottom: 4px; }
.ovh-tip.ovh-fallback, .ovh-tip.ovh-fallback * { font-family: sans-serif !important; }

/* Optional fields of our own on the contact form (EXTRA_FIELDS in
   scripts/live-clone/corrections.mjs): copies of a required field, without
   its "*". */
.lc label[data-optional]::after { content: none !important; }
/* The country list: a select in the field's own class. It gets the arrow the
   browser's own one would show, in the field's colour, and no rounded corners
   (iOS). The list itself is the browser's. */
.lc form select[name="country"] {
  appearance: none; -webkit-appearance: none; border-radius: 0; cursor: pointer; padding-right: 28px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23324158' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 8px center;
}
.lc form select[name="country"] option { color: rgb(50, 65, 88); background-color: #fff; }
