/* /assets/css/trybus-page-3d0edc025b.css */
/* /wp-content/litespeed/css/3b1560af4f49414a214c3e293465b23d.css */
.elementor-2685 .elementor-element.elementor-element-679d3b09:not(.elementor-motion-effects-element-type-background),.elementor-2685 .elementor-element.elementor-element-679d3b09>.elementor-motion-effects-container>.elementor-motion-effects-layer{background-image:url(/wp-content/uploads/2025/02/Legal-Image.webp);background-position:bottom center;background-repeat:no-repeat;background-size:cover}.elementor-2685 .elementor-element.elementor-element-679d3b09>.elementor-background-overlay{background-color:#000;opacity:.7;transition:background 0.3s,border-radius 0.3s,opacity 0.3s}.elementor-2685 .elementor-element.elementor-element-679d3b09>.elementor-container{max-width:1200px;min-height:0}.elementor-2685 .elementor-element.elementor-element-679d3b09{transition:background 0.3s,border 0.3s,border-radius 0.3s,box-shadow 0.3s;margin-top:-150px;margin-bottom:100px;padding:220px 0 150px 0}.elementor-2685 .elementor-element.elementor-element-52858c33{text-align:center}.elementor-2685 .elementor-element.elementor-element-52858c33 .elementor-heading-title{font-family:"Eurostile",Sans-serif;font-size:37.9px;font-weight:600;line-height:1.1em;color:#FFF}.elementor-2685 .elementor-element.elementor-element-3ac8448d>.elementor-container{max-width:1200px}@media(min-width:1025px){.elementor-2685 .elementor-element.elementor-element-679d3b09:not(.elementor-motion-effects-element-type-background),.elementor-2685 .elementor-element.elementor-element-679d3b09>.elementor-motion-effects-container>.elementor-motion-effects-layer{background-attachment:fixed}}@media(max-width:1024px){.elementor-2685 .elementor-element.elementor-element-679d3b09:not(.elementor-motion-effects-element-type-background),.elementor-2685 .elementor-element.elementor-element-679d3b09>.elementor-motion-effects-container>.elementor-motion-effects-layer{background-position:center center}.elementor-2685 .elementor-element.elementor-element-679d3b09{margin-top:-250px;margin-bottom:100px;padding:300px 0 100px 0}.elementor-2685 .elementor-element.elementor-element-52858c33 .elementor-heading-title{font-size:29.3px}}@media(max-width:767px){.elementor-2685 .elementor-element.elementor-element-679d3b09:not(.elementor-motion-effects-element-type-background),.elementor-2685 .elementor-element.elementor-element-679d3b09>.elementor-motion-effects-container>.elementor-motion-effects-layer{background-image:url(/wp-content/uploads/2024/12/6.webp);background-size:cover}.elementor-2685 .elementor-element.elementor-element-679d3b09>.elementor-container{min-height:255px}.elementor-2685 .elementor-element.elementor-element-679d3b09>.elementor-background-overlay{opacity:.56}.elementor-2685 .elementor-element.elementor-element-679d3b09{margin-top:0;margin-bottom:0;padding:0 0 0 0}.elementor-2685 .elementor-element.elementor-element-2637ed15>.elementor-element-populated{margin:0 0 0 0;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0 0 0 0}.elementor-2685 .elementor-element.elementor-element-52858c33 .elementor-heading-title{font-size:24.19px}}@font-face{font-family:'Eurostile';font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/uploads/2024/10/e2aba67a61a20987775ae4a14c15dd81.woff2) format('woff2'),url(/wp-content/uploads/2024/10/e2aba67a61a20987775ae4a14c15dd81.ttf) format('truetype')}
/* /wp-content/litespeed/css/d8265731f5abab1218c79899f3702329.css */
@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}.fadeInUp{animation-name:fadeInUp}
/* /wp-content/litespeed/css/36079726fb61441bc57c596fe7564474.css */
[data-elementor-type=popup]:not(.elementor-edit-area){display:none}.elementor-popup-modal .elementor{width:100%}
/* /wp-content/litespeed/css/ade2e7769d7a3994a6e437ab65dce059.css */
/* /assets/trybus/fixes.css */
/* Trybus Solutions — targeted responsive and accessibility fixes.
   Loaded after every site stylesheet.

   Scope note: every rule below is inside a max-width media query, so desktop
   rendering (1200px and up) is untouched and stays pixel-identical to the
   original site. These fix issues that exist on the current WordPress site:
     - long footer/icon-box labels not wrapping, forcing 21-81px of sideways
       scroll on tablets and small laptops
     - body copy dropping to 11px, below the readable minimum
     - link and button hit areas under 40px on touch screens
*/

/* ---------- 1. stop sideways scrolling ---------- */
@media (max-width: 1200px) {
  .elementor-icon-box-wrapper,
  .elementor-icon-box-content { min-width: 0; max-width: 100%; }

  .elementor-icon-box-title,.elementor-icon-box-title a {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    max-width: 100%;
  }

  .elementor-icon-list-text,
  .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-widget-container { min-width: 0; }

  #cookie-notice,
  .cookie-notice-container { max-width: 100vw; box-sizing: border-box; }

  .elementor-image-carousel-wrapper,
  .elementor-main-swiper,
  .swiper { max-width: 100%; }
}

/* belt and braces: nothing may create a horizontal scrollbar on touch widths */
@media (max-width: 1200px) {
  html, body { overflow-x: hidden; max-width: 100%; }
}

/* ---------- 2. readable text on small screens ---------- */
@media (max-width: 1024px) {
  body,.elementor-widget-text-editor,.elementor-icon-list-text,#cookie-notice,.cn-text-container { font-size: max(1em, 13px); }

  /* anything the theme pins below the readable minimum */
  [style*="font-size:11px"], [style*="font-size: 11px"],
  [style*="font-size:10px"], [style*="font-size: 10px"] { font-size: 13px !important; }

  p, li, .elementor-icon-list-text { line-height: 1.6; }
}

/* ---------- 3. comfortable touch targets ---------- */
@media (max-width: 1024px) and (pointer: coarse) {
  .elementor-nav-menu a,.elementor-icon-list-item > a,.elementor-icon-box-title a,footer a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
  }
  /* the minimum sits on the row. Putting it on the text span made that span a
     flex container, which broke every "<b>Label:</b><br>description" row. */
  .elementor-icon-list-item { min-height: 40px; }


  .elementor-button,
  button[type="submit"],
  #cn-accept-cookie,
  #cn-refuse-cookie { min-height: 44px; }

  /* Icon-only links (social icons, footer glyphs) render at 28px, which is
     below a comfortable thumb. They have no text to grow with, so the box
     has to be set explicitly. */
  a.elementor-icon,
  .elementor-social-icon,
  .elementor-icon-list-icon > a {
    min-width: 40px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Dismissing the cookie bar must be at least as easy as accepting it —
     a 16px close cross is not a real choice. */
  #cn-close-notice,
  .cn-close-icon {
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* keep list spacing sane once the links grow */
  .elementor-icon-list-items > li { margin-bottom: 2px; }
}

/* ---------- 4. forms ---------- */
@media (max-width: 1024px) {
  /* 16px stops iOS Safari zooming in when a field is focused */
  input[type="text"],input[type="email"],input[type="tel"],select,textarea { font-size: 16px; }
}

.trybus-turnstile { display: flex; justify-content: flex-start; }
.trybus-turnstile:empty { display: none; }

/* ---------- 5. accessibility ---------- */
:target { scroll-margin-top: 110px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* visible keyboard focus — the theme removes it in places */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #D9A774;
  outline-offset: 2px;
}

/* ---------- 6. dropdown submenu legibility ----------
   The nav dropdowns render at 11px. They are hidden until hover/open, so
   raising them changes no on-page rendering — only what a person can read. */
.elementor-nav-menu .elementor-sub-item,
.elementor-nav-menu--dropdown a,
.hfe-nav-menu .sub-menu a,
.elementskit-submenu-panel li a { font-size: 13px; }

/* ---------- 7. remaining touch targets ---------- */
@media (max-width: 1024px) {
  .elementor-icon-list-item > a,[data-elementor-type="footer"] a,.ekit-btn-wraper > a,.elementskit-btn { min-height: 40px; display: inline-flex; align-items: center; }

  /* the two header buttons sit just under the comfortable minimum */
  .ekit-btn-wraper > a,
  .elementskit-btn,
  .elementor-button { min-height: 44px; padding-top: 10px; padding-bottom: 10px; }
}

/* inline icon-list rows (the footer's Privacy Policy / Terms bar) */
@media (max-width: 1024px) {
  .elementor-icon-list-items.elementor-inline-items > li > a,
  .elementor-icon-list-items.elementor-inline-items > li > a > .elementor-icon-list-text {
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center;
  }
}

/* Inline links inside body copy are intentionally left at text height —
   forcing 40px there would break paragraph leading. They are spaced far
   enough apart that touch guidance treats them as prose links, not controls. */

/* cookie bar controls */
@media (max-width: 1024px) {
  #cn-accept-cookie, #cn-refuse-cookie, #cn-more-info, .cn-set-cookie, .cn-more-info {
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center;
  }
}

/* ---------- 8. links inside prose need more than colour ----------
   WCAG 1.4.1: colour alone cannot be the only distinguishing signal. */
.elementor-widget-text-editor p a:not(.elementor-button),p > a:not(.elementor-button):not([class*="btn"]) {
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}

/* ===== Trybus editorial additions (injected) =====================
   The Elementor theme has no styling for long-form tables, pull quotes
   or a share row. Scoped to .trybus-article so nothing else is touched. */
.trybus-article table{width:100%;border-collapse:collapse;margin:1.8rem 0;font-size:15px}
.trybus-article table caption{caption-side:top;text-align:left;font-size:12px;letter-spacing:1.2px;
  text-transform:uppercase;color:#B98F5E;padding-bottom:10px}
.trybus-article th,.trybus-article td{border:1px solid #E4E4E4;padding:11px 13px;text-align:left;vertical-align:top}
.trybus-article thead th{background:#1A1A2E;color:#fff;font-weight:600;font-size:13px;border-color:#1A1A2E}
.trybus-article tbody tr:nth-child(even){background:#F7F7F8}
@media(max-width:680px){.trybus-article table{display:block;overflow-x:auto}
  .trybus-article td,.trybus-article th{min-width:150px}}
.trybus-article blockquote{margin:1.8rem 0;padding:18px 22px;background:#F7F7F8;
  border-left:3px solid #D9A774;color:#33373D}
.trybus-article blockquote p{margin:0}
.trybus-article h2{margin:1.8em 0 .5em}
.trybus-share{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:24px 0;
  padding:14px 0;border-top:1px solid #E4E4E4;border-bottom:1px solid #E4E4E4}
.trybus-share .lbl{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#9A9AA2}
.trybus-share a{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;padding:8px 16px;
  border:1px solid #E4E4E4;color:#33373D;background:#fff;text-decoration:none}
.trybus-share a:hover{border-color:#D9A774;color:#B98F5E}
.trybus-share a.li{background:#D9A774;border-color:#D9A774;color:#fff}
.trybus-sources{margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid #E4E4E4;font-size:13.5px}
.trybus-disclaimer{margin-top:1.4rem;font-size:12.5px;color:#8A8A8A;font-style:italic;
  border-left:2px solid #E4E4E4;padding-left:14px}
