/* =====================================================================
   modern.css  -  tasteful modern polish for www.ntc.sk (ported from ntckosice.sk)
   Additive override, loaded LAST. Refines interaction, depth and
   typography only; does NOT change layout dimensions, so it is safe
   and fully reversible (remove this file + its <link> to revert).
   Accent: antuka clay-court orange #BC4A22 (hover #9C3609) + tennis-ball yellow #fff200.
   ===================================================================== */

/* ---- Liquid glass on the semi-transparent white panels (.white-bg-tr) that
   sit over the hero: frosted blur so the courts show through. Desktop only
   (on mobile these are over a solid bg, so there is nothing to blur and it
   saves the backdrop-filter cost). Opacity kept high enough that the small
   antuka text on them (hero eyebrow, see-all buttons) still passes AA. ---- */
@media (min-width: 992px) {
  .white-bg-tr {
    background: rgba(255, 255, 255, .82);
    -webkit-backdrop-filter: blur(18px) saturate(1.4);
    backdrop-filter: blur(18px) saturate(1.4);
    border-radius: 12px;
  }
  /* Same glass on the opaque .white-bg content panels (listing/detail/CMS
     pages). EXCLUDES the hero login inputs (.form-control) so they stay
     solid + legible. Their top overlaps the hero, so the frost shows there. */
  .white-bg:not(.form-control) {
    background: rgba(255, 255, 255, .85) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.4);
    backdrop-filter: blur(18px) saturate(1.4);
    border-radius: 12px;
  }
}
/* NOTE: the hero-box glass override lives at the END of this file so it wins
   over the opaque #zoom .white-bg-tr {#fff} rule declared further down. */

/* ---- Crisper text rendering ---- */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* ---- Smooth, consistent micro-interactions ---- */
a,
.btn,
.hoverable,
.rounded-corners,
.navbar-white,
.navbar-nav > li > a,
.social-links a,
.thumbnails > li,
img.img-responsive {
  transition: color .2s ease, background-color .25s ease,
              box-shadow .28s ease, transform .28s ease, opacity .2s ease;
}

/* ---- Buttons: modern radius, spacing and a soft hover lift ---- */
.btn {
  border-radius: 6px;
  letter-spacing: .3px;
}
.btn:hover,
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(188, 74, 34, .22);
}
.btn:active { transform: translateY(0); box-shadow: none; }

/* ---- Accessible, modern keyboard focus rings ---- */
a:focus-visible,
.btn:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #BC4A22;
  outline-offset: 2px;
}

/* ---- Content cards (column-based .hoverable): gentle elevation ---- */
[class*="col-"].hoverable {
  border-radius: 8px;
}
[class*="col-"].hoverable:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, .13);
  transform: translateY(-4px);
}

/* ---- Softer, more modern rounded panels ---- */
.rounded-corners {
  box-shadow: 0 6px 24px rgba(0, 0, 0, .09);
}

/* ---- Sticky nav gains subtle depth once it condenses on scroll ---- */
.navbar-white.scrolling {
  box-shadow: 0 2px 14px rgba(0, 0, 0, .09);
}

/* ---- Slightly tighter, more modern heading rhythm ---- */
h1, h2, h3, .title {
  letter-spacing: .2px;
}
.title {
  position: relative;
}

/* ---- Forms: modern rounded inputs with a brand focus tint ---- */
.form-control {
  border-radius: 6px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.form-control:focus {
  border-color: #BC4A22;
  box-shadow: 0 0 0 3px rgba(188, 74, 34, .12);
}

/* ---- Images inside rounded cards inherit the rounding cleanly ---- */
[class*="col-"].hoverable img.img-responsive {
  border-radius: 6px;
}

/* ---- Contrast fixes (WCAG AA) ---- */
.btn-grey {
  background: rgba(255, 255, 255, .92) !important;
  color: #333 !important;
  border-color: #b9b9b9;
}
.btn-grey:hover,
.btn-primary.btn-grey:hover {
  color: #000 !important;
}
/* cookie-consent (orestbida v3) secondary/link button readability */
#cc-main .c-bn.c_link,
#cc-main .cm__btn--secondary,
button.c-bn.c_link {
  color: #1a1a1a !important;
}

/* cookie-consent primary accept button: on-brand, high-contrast */
#cc-main #c-p-bn,
#cc-main .c-bn#c-p-bn {
  background: #BC4A22 !important;
  border-color: #BC4A22 !important;
  color: #fff !important;
}
/* footer headings kept compact after h5->h3 semantic fix */
#contact .footer-h {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 8px;
  line-height: 1.3;
}

/* PERF: the legacy #preloader white overlay only faded on window.load, which
   gated FCP/LCP to ~9s on mobile (blank white until every image finished).
   Neutralize it so content paints immediately; body stays scrollable. */
#preloader { display: none !important; }
body { overflow: visible !important; }

/* Hero LCP as a real <img> (first slide) instead of a CSS background:
   fetchpriority-eligible and not gated behind full CSSOM, so it paints sooner. */
.fill-img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }

/* PERF: mdb.min.css ships a Roboto webface (3 files, ~145 KB) but nothing on the
   site renders in Roboto (every element resolves to Saira). Redefine the Roboto
   @font-face to a local system font so those files are never downloaded. */
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local('Arial'); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local('Arial'); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local('Arial'); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local('Arial'); }

/* PERF/BP: NTC + Peugeot logos are now higher-res (retina) source files so PageSpeed
   image-size-responsive passes. Pin every instance to its prior display width
   (aspect ratio unchanged) so the bigger source never enlarges the logo.
   Peugeot always renders 227 wide (nav + hero axalogomob, whose -118 centering
   assumes ~227), so a single src rule covers it. NTC varies by context. */
img[src$="Peugeot_Arena_white2.png"] { width: 227px; height: auto; max-width: 90vw; }
.navbar-brand img.logo, .navbar-brand img.scrolling-logo { max-width: 390px; height: auto; }
/* logo vertical nudge (Adam), desktop only: scrolling 18->20, main navbar 26->28 */
@media (min-width: 992px) {
  .navbar-brand img.scrolling-logo { top: 20px; }
  .navbar-brand img.logo { top: 28px; }
}
/* NTC hero logo: cap at 390px on desktop, but never wider than the column (min()
   stops it overflowing off narrow phones), and center it once the hero stacks. */
#zoom img.img-responsive { max-width: min(390px, 100%); height: auto; }
@media (max-width: 991px) {
  #zoom .col-md-8 { text-align: center; float: none; }
  #zoom .col-md-8 img.img-responsive { margin-left: auto; margin-right: auto; }
}

/* cookie primary accept button (osano-style build): brand red, WCAG AA (white on #999 failed) */
#c-p-bn,
button#c-p-bn,
button#c-p-bn.c-bn {
  background: #BC4A22 !important;
  background-color: #BC4A22 !important;
  border-color: #BC4A22 !important;
  color: #ffffff !important;
}

/* ---- CLS: reserve image space so nothing shifts as images load ---- */
/* News/content cards: uniform 3:2 crop (nailthumb JS is disabled, so containers had no height) */
.nailthumb-container:not(.wide-thumb) {
  aspect-ratio: 3 / 2;
  height: auto;
  overflow: hidden;
}
.nailthumb-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}
/* Gallery wide-thumb already has a fixed height: just make the image fill it cleanly */
.nailthumb-container.wide-thumb img {
  object-fit: cover;
}
/* Adroller banners: reserve square space, contain (no crop) so banner text stays intact */
.adroller .carousel-inner .item img {
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: contain;
}

/* ---- YouTube facade (click-to-load; no iframe/cookies/JS until played) ---- */
.yt-facade {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 6px;
}
.yt-facade img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yt-facade .yt-play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 68px; height: 48px; border-radius: 12px;
  background: #BC4A22; opacity: .92; transition: opacity .2s ease, transform .2s ease;
}
.yt-facade .yt-play::after {
  content: ""; position: absolute; top: 50%; left: 53%; transform: translate(-50%, -50%);
  border-style: solid; border-width: 11px 0 11px 19px;
  border-color: transparent transparent transparent #fff;
}
.yt-facade:hover .yt-play,
.yt-facade:focus .yt-play { opacity: 1; transform: translate(-50%, -50%) scale(1.06); }
.yt-facade:focus { outline: 2px solid #BC4A22; outline-offset: 2px; }

/* ---- Base text contrast: darken body text (#7c7e7d was 4.08:1, now 5.06:1 on white) ---- */
body { color: #6d6f6e; }

/* btn-primary base text contrast (styles.css used grey ~3.5:1 on white) */
.btn-primary { color: #333 !important; }
.btn-primary:hover, .btn-primary:focus { color: #000 !important; }

/* Plain link contrast: styles.css used #8d8e8e (~3:1 on white); darken to pass WCAG AA */
a { color: #5a5a5a; }

/* =====================================================================
   Modern card grid: AKTUALITY (#projekt) + PODUJATIA (#amenities)
   Styles the existing <a> as a real card (layout-safe, reversible).
   ===================================================================== */
/* the column just provides the gutter + spacing; strip its own hover styling */
#amenities .col-md-3.hoverable,
#projekt .col-md-3.hoverable {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  margin-bottom: 18px !important;
  border-radius: 0;
  box-shadow: none;
}
/* neutralize the generic column hover-lift; the inner card owns the elevation
   (this also frees the wrapper's own transform for the scroll-reveal below) */
#amenities .col-md-3.hoverable:hover,
#projekt .col-md-3.hoverable:hover {
  transform: none;
  box-shadow: none;
}
/* the card itself = the anchor */
#amenities .col-md-3.hoverable > a,
#projekt .col-md-3.hoverable > a {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .06);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 3px 14px rgba(0, 0, 0, .06);
  transition: transform .3s ease, box-shadow .3s ease;
}
#amenities .col-md-3.hoverable:hover > a,
#projekt .col-md-3.hoverable:hover > a {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .15);
}
/* events (podujatia): square 1:1 crop so 500x500 ticketportal/predpredaj poster art shows uncropped.
   To revert to the 3:2 landscape crop, set the aspect-ratio below (and the /podujatie/ :has rule
   further down) back to 3 / 2. */
#amenities .nailthumb-container,
#amenities .nailthumb-container.wide-thumb {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  border-radius: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  flex: 0 0 auto;
}
/* news (aktuality): keep the 3:2 landscape crop */
#projekt .nailthumb-container {
  aspect-ratio: 3 / 2 !important;
  height: auto !important;
  border-radius: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  flex: 0 0 auto;
}
#amenities .nailthumb-container img,
#projekt .nailthumb-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 0 !important;
  transition: transform .55s ease;
}
#amenities .col-md-3.hoverable:hover img,
#projekt .col-md-3.hoverable:hover img {
  transform: scale(1.06);
}
/* captions: left aligned, padded, modern type; fill remaining height */
#amenities .caption,
#projekt .caption {
  padding: 14px 16px 16px !important;
  text-align: left !important;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
/* AKTUALITY title: show up to 3 lines before ellipsis (was clamped to ~1) */
#projekt .caption {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
  color: #232323;
}
/* keep the card title dark on hover (was turning orange via .hoverable:hover a) */
#amenities .col-md-3.hoverable:hover > a,
#projekt .col-md-3.hoverable:hover > a { color: #232323 !important; }
/* PODUJATIA: title on the left, brand-red date inline on the right (one row) */
#amenities .caption {
  flex-direction: row;
  align-items: flex-end;      /* date sits on the name's bottom line */
  align-items: last baseline; /* progressive: align date baseline to the name's last line where supported */
  flex: 0 0 auto;             /* natural height: full-length names sit right under the image (no sinking); equal-height slack goes to the card bottom */
  gap: 8px;
  padding: 8px 12px 10px !important; /* match the /podujatia.html listing so long names (AL BANO) wrap to 2 lines, not 3 */
}
#amenities .caption > div:first-child {
  font-weight: 600;
  font-size: 13.5px;
  line-height: 1.3;
  color: #232323;
  flex: 1 1 auto;
  min-width: 0;
}
#amenities .caption > div:last-child {
  color: #BC4A22 !important;
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: .4px;
  flex: 0 0 auto;
  white-space: nowrap;
}
/* Podujatia card sections (homepage #amenities + /podujatia.html listing #det): drop the two
   stacked .respad margin-bottom:20px (was ~58px of dead space) and give one comfortable 16px
   gap below the cards (also the row gap on the multi-row listing). */
:is(#amenities, #det) .respad { margin-bottom: 0; }
:is(#amenities, #det) .col-md-3.hoverable { margin-bottom: 16px !important; } /* beat .mb-2 !important */
/* mobile: breathing room under the HOMEPAGE Podujatia title row only. Its h2 has mb-0 so the row
   hugs the cards without this. The /podujatia.html listing (#det) h2 keeps its default 15px margin
   and a taller Späť button, which already give the gap, so padding it too made it too much. */
@media (max-width: 991px) {
  /* half-height hero on mobile: the full 100vh reservation hero pushed all page content below the
     fold. Scoped to pages that carry the reservation form (homepage + content pages), so the gallery
     detail keeps its full-height photo carousel. */
  body:has(.form-signin) header#myCarousel { height: 50vh; }
  #amenities .col-md-12.respad:has(> .col-md-3.hoverable) { padding-top: 16px; }
  /* trim the big gap ABOVE the Podujatia title on mobile (the section's default 50px top padding).
     Desktop keeps it (the .main lift absorbs that space there). */
  :is(#amenities, #det) { padding-top: 16px !important; }
  /* keep the title and its button on ONE line: flex-center the row. The h2 and the button's <p>
     carry different top margins (h2 vs .mt-2 = 22.5px), which drift apart once the spacing is
     tightened; centering removes the dependency on those margins. */
  :is(#amenities, #det) .col-md-12.col-xs {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }
  :is(#amenities, #det) .col-md-12.col-xs > h2.title,
  :is(#amenities, #det) .col-md-12.col-xs > p {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
  }
}

/* ---- News card grid (AKTUALITY): equal height + tight 16px gutters (was 30px),
   desktop 4-up. Flex with column-gap; cards fill 1/4 with L/R padding zeroed so
   the gap is exactly 16px; the row is padded to 30px so the outer cards stay
   aligned with the section heading. PODUJATIA keeps plain equal-height flex
   (its card count varies). ---- */
@media (min-width: 992px) {
  #projekt .col-md-12:has(> .col-md-3.hoverable) {
    display: flex !important;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 0;
    align-items: stretch;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  #projekt .col-md-12:has(> .col-md-3.hoverable) > .col-md-3.hoverable {
    width: calc((100% - 30px) / 4) !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 10px !important;
    float: none !important;
  }
  #amenities .col-md-12:has(> .col-md-3.hoverable) {
    display: flex !important;
    flex-wrap: wrap;
    align-items: stretch;
  }
  /* drop stray <br>/whitespace so it does not become a flex item */
  #projekt .col-md-12:has(> .col-md-3.hoverable) > br,
  #amenities .col-md-12:has(> .col-md-3.hoverable) > br { display: none; }
}

/* =====================================================================
   FOTOGALÉRIE + VIDEÁ (homepage .galhead): same modern card feel as
   AKTUALITY/PODUJATIA. The selector is unique to the home gallery block,
   so it never touches gallery/news detail pages. Layout-safe, reversible.
   ===================================================================== */
/* each item is a tidy flex cell so a row of cards can equalise height */
.galhead .thumbnails > li.hoverable {
  display: flex;
  flex-direction: column;
  padding-top: 6px;
  padding-bottom: 6px;
  box-shadow: none;
}
/* neutralize the generic column hover-lift; the card/facade owns elevation */
.galhead .thumbnails > li.hoverable:hover {
  transform: none;
  box-shadow: none;
}
/* FOTOGALÉRIE card = the inner <a> (wraps image + caption) */
.galhead .thumbnails > li.hoverable > a {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .06);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 3px 14px rgba(0, 0, 0, .06);
  transition: transform .3s ease, box-shadow .3s ease;
}
.galhead .thumbnails > li.hoverable:hover > a {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .15);
}
/* keep the card label dark (base .hoverable:hover a turns links orange) */
.galhead .thumbnails > li.hoverable:hover > a,
.galhead .thumbnails .caption a { color: #232323 !important; }
/* uniform 3:2 crop, flush to the card top, gentle zoom on hover */
.galhead .thumbnails .nailthumb-container.wide-thumb {
  aspect-ratio: 3 / 2 !important;
  height: auto !important;
  border-radius: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  flex: 0 0 auto;
}
.galhead .thumbnails .nailthumb-container.wide-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 0 !important;
  transition: transform .55s ease;
}
.galhead .thumbnails > li.hoverable:hover .nailthumb-container.wide-thumb img {
  transform: scale(1.06);
}
/* VIDEÁ: keep the rounded facade, give it a matching frame + hover lift */
.galhead .thumbnails > li.hoverable > .yt-facade {
  flex: 0 0 auto;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, .06);
  box-shadow: 0 3px 14px rgba(0, 0, 0, .06);
  transition: transform .3s ease, box-shadow .3s ease;
}
.galhead .thumbnails > li.hoverable:hover > .yt-facade {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .15);
}
/* captions: fill the remaining height, tidy centered label */
.galhead .thumbnails .caption {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 12px 14px 14px !important;
  margin: 0 !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: #232323;
}
/* equal-height rows on desktop (4-up galleries / video row) */
@media (min-width: 992px) {
  .galhead .thumbnails {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }
}

/* =====================================================================
   Scroll reveal (AOS-style): homepage cards + headings fade/rise in.
   Self-hosted (js/reveal.js), reduced-motion safe, no layout shift.
   Runs only when html.js-reveal is set (added inline, before paint), so
   no-JS users and reduced-motion users always get the full content.
   ===================================================================== */
html.js-reveal #projekt .title,
html.js-reveal #amenities .title,
html.js-reveal .galhead .title,
html.js-reveal #projekt .hoverable,
html.js-reveal #amenities .hoverable,
html.js-reveal .galhead .thumbnails > li.hoverable {
  transition: opacity .6s ease, transform .6s cubic-bezier(.22, .61, .36, 1);
}
/* hidden until scrolled into view */
html.js-reveal #projekt .title:not(.is-visible),
html.js-reveal #amenities .title:not(.is-visible),
html.js-reveal .galhead .title:not(.is-visible),
html.js-reveal #projekt .hoverable:not(.is-visible),
html.js-reveal #amenities .hoverable:not(.is-visible),
html.js-reveal .galhead .thumbnails > li.hoverable:not(.is-visible) {
  opacity: 0;
  transform: translateY(24px);
}
/* gentle stagger so a row cascades in rather than snapping together */
html.js-reveal #projekt .hoverable:nth-child(2),
html.js-reveal #amenities .hoverable:nth-child(2),
html.js-reveal .galhead .thumbnails > li.hoverable:nth-child(2) { transition-delay: .08s; }
html.js-reveal #projekt .hoverable:nth-child(3),
html.js-reveal #amenities .hoverable:nth-child(3),
html.js-reveal .galhead .thumbnails > li.hoverable:nth-child(3) { transition-delay: .16s; }
html.js-reveal #projekt .hoverable:nth-child(4),
html.js-reveal #amenities .hoverable:nth-child(4),
html.js-reveal .galhead .thumbnails > li.hoverable:nth-child(4) { transition-delay: .24s; }
/* failsafe: if reveal.js never runs, the inline timer reveals everything */
html.reveal-fallback #projekt .title,
html.reveal-fallback #amenities .title,
html.reveal-fallback .galhead .title,
html.reveal-fallback #projekt .hoverable,
html.reveal-fallback #amenities .hoverable,
html.reveal-fallback .galhead .thumbnails > li.hoverable {
  opacity: 1 !important;
  transform: none !important;
}
/* respect users who prefer reduced motion: show everything, no animation */
@media (prefers-reduced-motion: reduce) {
  html.js-reveal #projekt .title,
  html.js-reveal #amenities .title,
  html.js-reveal .galhead .title,
  html.js-reveal #projekt .hoverable,
  html.js-reveal #amenities .hoverable,
  html.js-reveal .galhead .thumbnails > li.hoverable {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* =====================================================================
   MODERNIZATION Tier 1 (verified-safe subset of the design audit).
   Additive, loaded last, reversible. Bumped modern.css to ?v=7.
   Held for a visual pass (over the rotating hero): global 16px body
   rhythm, section vertical-padding scale, 16px form inputs, navbar
   underline/frosted, and the optional Inter body font.
   ===================================================================== */

/* ---- Font delivery: end FOIT. These re-declare the site faces (modern.css
   loads after styles.css, so they win) WITH font-display. The wide Eurostile
   BODY face uses `optional` so it never swap-reflows the largest text block
   (zero CLS); short display strings use `swap`. Azo now ships subsetted woff2
   (latin + latin-ext, full Slovak incl. l/r/l-acute + all carons) before the
   .otf, cutting ~135KB. No font preload (would contend with the preloaded
   hero image on mobile). Names/filenames copied verbatim from styles.css. ---- */
@font-face { font-family: EurostileLTPro; src: url(../fonts/2E29D5_1_0.woff2) format("woff2"), url(../fonts/2E29D5_1_0.woff) format("woff"); font-weight: 400; font-style: normal; font-display: optional; }
@font-face { font-family: EurostileLTPro-Bold; src: url(../fonts/2E29D5_0_0.woff2) format("woff2"), url(../fonts/2E29D5_0_0.woff) format("woff"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: AzoRegular; src: url(../fonts/azo-regular.woff2) format("woff2"), url(../fonts/azo-regular.otf) format("opentype"); font-display: swap; }
@font-face { font-family: AzoLight; src: url(../fonts/azo-light.woff2) format("woff2"), url(../fonts/azo-light.otf) format("opentype"); font-display: swap; }
@font-face { font-family: AzoBlack; src: url(../fonts/azo-black.woff2) format("woff2"), url(../fonts/azo-black.otf) format("opentype"); font-display: swap; }

/* ---- Section titles: firmer bold caps + a brand red-to-yellow accent bar
   (injects the brand palette + real hierarchy; .title was Eurostile 22px/400) ---- */
.title {
  font-family: "Saira SC", "Saira", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: clamp(22px, 4.6vw, 32px);
  line-height: 1.15;
  letter-spacing: .5px;
}
/* Title accent bar hidden per request. */
.title::after { display: none; }

/* ---- Grey bands: cooler cleaner neutral + hairline seams so sections read
   as distinct (body #6d6f6e on #f4f6f8 = 4.66:1, better than on #f2f2f2) ---- */
.grey-bg {
  background: #f4f6f8;
  border-top: 1px solid #e4e8ec;
  border-bottom: 1px solid #e4e8ec;
}
/* Partneri (#finance) white band: hairline top/bottom so the stack separates */
.main > section#finance {
  border-top: 1px solid rgba(0, 0, 0, .07);
  border-bottom: 1px solid rgba(0, 0, 0, .07);
}

/* ---- Buttons: firm the shared primary/grey pill (8px radius, even padding,
   weight 600). modern.css hover-lift + focus ring still apply on top. ---- */
.btn-primary,
.btn-grey {
  border-radius: 8px;
  padding: 11px 20px;
  font-weight: 600;
  letter-spacing: .3px;
  border: 1px solid #d0d0d0;
  line-height: 1.2;
}
.btn-primary.btn-block { padding-left: 14px; padding-right: 14px; }

/* ---- Links + hover: unify to brand deep red #BC4A22 (5.89:1 on white AA),
   kills the off-brand orange. Nav is left untouched (held for a visual pass). ---- */
.hoverable:hover a { color: #BC4A22 !important; }
.main a:not(.btn):hover { color: #BC4A22; }
.btn-grey:hover,
.btn-primary.btn-grey:hover { color: #BC4A22 !important; border-color: #BC4A22; }

/* ---- Footer: warmer near-black slab + brand-red social icon hover ---- */
footer#contact { background: #0e0f12; }
.social-links a:hover { background: #BC4A22; border-color: #BC4A22; }
.social-links a:hover i { color: #fff; }

/* ---- Inner-page heading scale: one fluid ramp on bare h1-h4. Homepage
   .title (an h2.title) is more specific so it keeps its own styling above. ---- */
h1 { font-size: clamp(28px, 5vw, 40px); line-height: 1.15; font-weight: 700; }
h2 { font-size: clamp(24px, 4vw, 32px); line-height: 1.2; font-weight: 700; }
h3 { font-size: clamp(20px, 3vw, 24px); line-height: 1.25; font-weight: 700; }
h4 { font-size: clamp(18px, 2.5vw, 20px); line-height: 1.3; font-weight: 700; }

/* ---- Hero reservation box: card it (near-opaque white, so legible over any
   slide), ONLINE becomes a red eyebrow, PRIHLASIT becomes a solid red CTA.
   Scoped to #zoom so the section .white-bg-tr wrappers are untouched. ---- */
#zoom .white-bg-tr {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .28);
  padding: 22px 24px;
}
#zoom .white-bg-tr h2 { font-size: 22px; font-weight: 700; line-height: 1.2; letter-spacing: .3px; }
#zoom .white-bg-tr h2 small {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #BC4A22;
  margin-bottom: 2px;
}
#zoom .carousel-caption .box_margin { margin-bottom: 16px; }
#zoom .form-signin .btn {
  background: #BC4A22 !important;
  border-color: #BC4A22 !important;
  color: #fff !important;
  font-weight: 700;
  letter-spacing: .5px;
}
#zoom .form-signin .btn:hover,
#zoom .form-signin .btn:focus {
  background: #9C3609 !important;
  border-color: #9C3609 !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(188, 74, 34, .32);
}

/* ---- Section see-all CTAs (Vsetky aktuality / fotogalerie / videa): a
   distinct brand-red outline that fills on hover. Scoped to the .text-right
   heading buttons, so the hero submit and the card links are excluded. ---- */
.respad p.text-right a.btn {
  background: transparent !important;
  border: 2px solid #BC4A22 !important;
  color: #BC4A22 !important;
  border-radius: 8px !important;
  font-weight: 600;
  letter-spacing: .6px;
  text-transform: uppercase;
  padding: 9px 18px !important;
}
.respad p.text-right a.btn:hover,
.respad p.text-right a.btn:focus {
  background: #BC4A22 !important;
  border-color: #BC4A22 !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(188, 74, 34, .26);
}

/* =====================================================================
   Brand typeface: SAIRA (a dynamic, technical, sporty grotesque that
   suits a fast sport). Self-hosted, no CDN. Saira SemiCondensed drives
   the display titles (punchy, fast, condensed); Saira (normal width) is
   the body/UI face. latin + latin-ext = full Slovak on every weight.
   Body uses font-display:optional (zero CLS: never swap-reflows the
   largest text block); short display titles use swap so the brand voice
   shows on first paint. Eurostile/Azo are now unused (do not download).
   ===================================================================== */
@font-face { font-family: "Saira SC"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/saira-sc-700-latext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Saira SC"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/saira-sc-700-lat.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: "Saira"; font-style: normal; font-weight: 400; font-display: optional; src: url(../fonts/saira-400-latext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Saira"; font-style: normal; font-weight: 400; font-display: optional; src: url(../fonts/saira-400-lat.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: "Saira"; font-style: normal; font-weight: 600; font-display: optional; src: url(../fonts/saira-600-latext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Saira"; font-style: normal; font-weight: 600; font-display: optional; src: url(../fonts/saira-600-lat.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: "Saira"; font-style: normal; font-weight: 700; font-display: optional; src: url(../fonts/saira-700-latext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Saira"; font-style: normal; font-weight: 700; font-display: optional; src: url(../fonts/saira-700-lat.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; }

/* Body / UI face */
body { font-family: "Saira", -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
/* leftover explicit Azo utilities move onto Saira too */
.service,
.strong { font-family: "Saira", -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
/* Display face: hero H2 + footer headings (section .title is set above) */
#zoom .white-bg-tr h2,
footer h3,
#contact .footer-h {
  font-family: "Saira SC", "Saira", "Arial Narrow", sans-serif;
}

/* =====================================================================
   Desktop menu: clean brand-yellow label on hover/open (no underline; it
   clashed with the dropdown panels, and almost every item has a submenu),
   plus rounded shadowed dropdown panels. Scoped to >=992px so the mobile
   menu is untouched; selectors are specific enough to beat styles.css.
   ===================================================================== */
@media (min-width: 992px) {
  .navbar .navbar-nav > li > a {
    letter-spacing: .5px;
    transition: color .2s ease;
  }
  /* hover AND open (dropdown parent) get the brand-yellow label, no block fill */
  .navbar .navbar-nav > li > a:hover,
  .navbar .navbar-nav > li > a:focus,
  .navbar .navbar-nav > li:hover > a,
  .navbar .navbar-nav > li.open > a,
  .navbar .navbar-nav > li.open > a:hover,
  .navbar .navbar-nav > li.open > a:focus,
  .navbar .nav > li > a:hover,
  .navbar .nav > li > a:focus {
    background: transparent !important;
    color: #fff200 !important;
  }
  /* dropdown submenus: rounded, shadowed panel with tidy items.
     Trim the top padding and pull the panel up closer to the nav so there
     is less empty space above the first item. */
  .navbar .dropdown-menu {
    border: 0;
    border-radius: 10px;
    padding: 3px 6px 6px;
    box-shadow: 0 14px 36px rgba(0, 0, 0, .18);
    overflow: hidden;
  }
  /* Bootstrap's .navbar-nav>li>.dropdown-menu forces margin-top:0 + square top
     corners at higher specificity, so the pull-up needs a more specific selector. */
  .navbar .navbar-nav > li > .dropdown-menu {
    margin-top: -16px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }
  .navbar .dropdown-menu > li > a {
    border-radius: 6px;
    padding: 9px 14px;
    transition: background-color .18s ease, color .18s ease;
  }
  .navbar .dropdown-menu > li > a:hover,
  .navbar .dropdown-menu > li > a:focus {
    background: #f4f6f8;
    color: #BC4A22;
  }
}

/* =====================================================================
   Layout tidy + de-inlined styles (moved out of the templates).
   ===================================================================== */
/* Hero reservation box higher + pull the main content up to meet it, closing
   the empty band the higher box left behind. Scoped to pages that actually
   have the reservation form (homepage + the headertable pages share the same
   hero); the gallery-detail hero and mobile are left as they were. */
@media (min-width: 992px) {
  body:has(.form-signin) #zoom.carousel-caption { bottom: 40%; }
  body:has(.form-signin) .main { margin-top: -376px; }
  /* Pages with the tall square Podujatia event grid (homepage #amenities + /podujatia.html
     listing #det): raise the reservation box and pull .main up so the event cards land in the
     first screen, consistently on both. Content pages and the event detail / news detail (no
     #amenities|#det podujatie grid) keep the base offsets above. */
  body:has(.main :is(#amenities, #det) a[href*="/podujatie/"]) #zoom.carousel-caption { bottom: 49%; }
  body:has(.form-signin) .main:has(:is(#amenities, #det) a[href*="/podujatie/"]) { margin-top: -456px; }
}
/* Hero logo column (col-md-8 .h-100): taller cell (was 125px in styles.css) */
.h-100 { height: 140px; display: table; }
/* Partners row (was an inline flex style on the container) */
#partners { min-height: 150px; }
.partners-row {
  display: flex;
  height: 150px;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
  justify-content: center;
}
@media (max-width: 768px) {
  .partners-row { flex-direction: column; height: auto; gap: 30px; }
}
/* Partner logos (were per-image inline max-heights) */
.partner-logo { width: auto; margin-bottom: 10px; }
.plh-77 { max-height: 77px; }
.plh-60 { max-height: 60px; }
.plh-40 { max-height: 40px; }
/* Adroller banner images (was inline min-width) */
.adroller .carousel-inner .item img { min-width: 100%; }
/* Contact textarea min height (was inline) */
#note { min-height: 50px; }

/* Section heading rows: align the "Vsetky ..." button to the BOTTOM of the
   title, instead of the top (desktop). Each heading wrapper holds a .title
   (h2) plus a p.text-right button; flex the wrapper and bottom-align. */
@media (min-width: 992px) {
  #projekt .col-md-12:has(> .title):has(> p.text-right),
  #amenities .col-md-12:has(> .title):has(> p.text-right),
  .galhead .col-md-12:has(> .title):has(> p.text-right) {
    display: flex;
    align-items: flex-end;
    margin-bottom: 0;
    padding-bottom: 12px;
  }
  #projekt .col-md-12:has(> p.text-right) > .title,
  #amenities .col-md-12:has(> p.text-right) > .title,
  .galhead .col-md-12:has(> p.text-right) > .title,
  #projekt .col-md-12:has(> .title) > p.text-right,
  #amenities .col-md-12:has(> .title) > p.text-right,
  .galhead .col-md-12:has(> .title) > p.text-right {
    margin-bottom: 0;
  }
}

/* Hero reservation box: liquid glass on desktop (placed last so it wins over the
   opaque #zoom .white-bg-tr rule above). Opacity .85 keeps the small antuka
   eyebrow + form text AA-legible over the blurred, rotating hero. Mobile keeps
   the opaque box (no blur target there). */
@media (min-width: 992px) {
  #zoom .white-bg-tr {
    background: rgba(255, 255, 255, .85);
    -webkit-backdrop-filter: blur(20px) saturate(1.4);
    backdrop-filter: blur(20px) saturate(1.4);
  }
}

/* =====================================================================
   News cards, SHARED by the homepage AKTUALITY and the aktuality.html
   listing. Matched by the card's own /aktualita/ link, so both pages get
   the identical card + tight 16px grid + 16px row spacing (this is what
   the homepage #projekt rules already do; here it extends to the listing,
   which has many rows). Values match, so the redundancy on the homepage
   is harmless.
   ===================================================================== */
@media (min-width: 992px) {
  .col-md-12:has(> .col-md-3.hoverable > a[href*="/aktualita/"]) {
    display: flex !important;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 0;
    align-items: stretch;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .col-md-12:has(> .col-md-3.hoverable > a[href*="/aktualita/"]) > .col-md-3.hoverable {
    width: calc((100% - 30px) / 4) !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 10px !important;
    float: none !important;
  }
}
.col-md-3.hoverable:has(> a[href*="/aktualita/"]) {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  box-shadow: none;
}
.col-md-3.hoverable:has(> a[href*="/aktualita/"]) > a {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .06);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 3px 14px rgba(0, 0, 0, .06);
  transition: transform .3s ease, box-shadow .3s ease;
}
.col-md-3.hoverable:has(> a[href*="/aktualita/"]):hover > a {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .15);
  color: #232323 !important;
}
.col-md-3.hoverable:has(> a[href*="/aktualita/"]) .nailthumb-container {
  aspect-ratio: 3 / 2 !important;
  height: auto !important;
  border-radius: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  flex: 0 0 auto;
}
.col-md-3.hoverable:has(> a[href*="/aktualita/"]) .nailthumb-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 0 !important;
  transition: transform .55s ease;
}
.col-md-3.hoverable:has(> a[href*="/aktualita/"]):hover .nailthumb-container img {
  transform: scale(1.06);
}
.col-md-3.hoverable:has(> a[href*="/aktualita/"]) .caption {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  flex: 1 1 auto;
  padding: 14px 16px 16px !important;
  text-align: left !important;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
  color: #232323;
}

/* ---- Logo (and all links): no focus ring on MOUSE click; the clean antuka
   ring still shows for keyboard focus via :focus-visible above. Removes the
   browser/Bootstrap blue auto focus-ring that appeared around the logo. ---- */
a:focus:not(:focus-visible) { outline: none; }

/* ---- Homepage galleries + videos: same tight 16px gutters as the news cards
   (were ~30px). 4-up galleries (col-md-3) and the video row (col-md-4); 15px
   row padding keeps the outer cards aligned with the section heading. ---- */
@media (min-width: 992px) {
  .galhead .thumbnails {
    column-gap: 10px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .galhead .thumbnails > li.hoverable {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 10px !important;
    float: none !important;
  }
  .galhead .thumbnails:has(> li.col-md-3.hoverable) > li.col-md-3.hoverable {
    width: calc((100% - 30px) / 4) !important;
    max-width: none !important;
  }
  .galhead .thumbnails:has(> li.col-md-4.hoverable) > li.col-md-4.hoverable {
    width: calc((100% - 32px) / 3) !important;
    max-width: none !important;
  }
}

/* ---- AKTUALITY (#projekt): one seamless glass panel. The template splits the
   heading and the cards into TWO separate .white-bg-tr rows, so each blurred a
   different slice of the hero and a seam showed between them. Move the frosted
   glass onto the single #projekt container and make the two rows transparent,
   so it is one continuous panel (matching #amenities, which already wraps both
   rows in one panel). Only when the rows carry .white-bg-tr (the no-events
   case, where the seam appears). Desktop only. ---- */
@media (min-width: 992px) {
  #projekt > .container:has(.white-bg-tr) {
    background: rgba(255, 255, 255, .82) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.4);
    backdrop-filter: blur(18px) saturate(1.4);
    border-radius: 12px 12px 0 0;
  }
  /* Homepage section panels: round the TOP only; the bottom flows into the
     next section, so a rounded bottom would leave a gap at the corners. */
  #amenities .white-bg-tr { border-radius: 12px 12px 0 0; }
  #projekt .col-md-12.white-bg-tr {
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* ---- "Back to home" (« Úvod) button on CMS pages: antuka outline that fills
   on hover, matching the section see-all CTAs. ---- */
.btn-home {
  display: inline-block;
  border: 2px solid #BC4A22;
  color: #BC4A22 !important;
  background: transparent;
  border-radius: 8px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
  padding: 8px 18px;
  font-size: 13px;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.btn-home:hover,
.btn-home:focus {
  background: #BC4A22;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(188, 74, 34, .26);
}

/* ---- Gallery listing page (/gallery): same white card + tight 16px grid as
   the homepage FOTOGALÉRIE (was plain images with wide gutters). ---- */
@media (min-width: 992px) {
  .col-lg-12.grey-bg .thumbnails {
    display: flex !important;
    flex-wrap: wrap;
    column-gap: 10px;
    padding-left: 15px !important;
    padding-right: 15px !important;
    align-items: stretch;
  }
  .col-lg-12.grey-bg .thumbnails > li.col-sm-3.hoverable {
    width: calc((100% - 30px) / 4) !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 10px !important;
    float: none !important;
    display: flex;
    flex-direction: column;
  }
}
.col-lg-12.grey-bg .thumbnails > li.col-sm-3.hoverable > a {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .06);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 3px 14px rgba(0, 0, 0, .06);
  transition: transform .3s ease, box-shadow .3s ease;
}
.col-lg-12.grey-bg .thumbnails > li.col-sm-3.hoverable:hover > a {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .15);
  color: #232323 !important;
}
.col-lg-12.grey-bg .thumbnails .nailthumb-container.wide-thumb {
  aspect-ratio: 3 / 2 !important;
  height: auto !important;
  border-radius: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  flex: 0 0 auto;
}
.col-lg-12.grey-bg .thumbnails .nailthumb-container.wide-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform .55s ease;
}
.col-lg-12.grey-bg .thumbnails > li.col-sm-3.hoverable:hover img {
  transform: scale(1.06);
}
.col-lg-12.grey-bg .thumbnails .caption {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 12px 14px 14px !important;
  margin: 0 !important;
  font-size: 12px;
  font-weight: 600;
  color: #232323;
}

/* ---- In-content document/PDF buttons (.btn1x, e.g. CENNÍK .PDF, PRAVIDLÁ
   VSTUPU DO HALY): antuka outline that fills on hover, matching the back
   buttons. ---- */
.btn1x {
  border: 2px solid #BC4A22 !important;
  color: #BC4A22 !important;
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  letter-spacing: .5px;
  text-transform: uppercase;
  padding: 8px 18px !important;
  font-size: 13px;
  box-shadow: none !important;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.btn1x:hover,
.btn1x:focus {
  background: #BC4A22 !important;
  background-color: #BC4A22 !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(188, 74, 34, .26) !important;
}

/* ---- Mobile: keep the "see all" header buttons (Vsetky aktuality/podujatia/
   fotogalerie/videa) on ONE line. In col-xs-6 the button is narrow, so the »
   or a longer label (Fotogalerie) wrapped. Same selector as the antuka-outline
   rule above (.respad p.text-right a.btn) so this wins on source order: trim the
   side padding, drop letter-spacing, nowrap, and shrink the label so it never
   wraps, even on 360px phones and before Saira loads (system font is ~10%
   wider). Does NOT touch the hero PRIHLASIT button. ---- */
@media (max-width: 767px) {
  .respad p.text-right a.btn {
    white-space: nowrap !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  /* Back buttons («  Uvod / «  Spat) sit in a very narrow col-xs-3, so the
     label broke onto two lines. Keep them on one line + trim the side padding
     so they fit. Right-aligned, so any tiny overflow hangs left into the
     gutter, never off-screen. */
  .btn-home {
    white-space: nowrap;
    padding-left: 10px;
    padding-right: 10px;
  }
  /* iOS Safari auto-zooms into any input whose font-size is < 16px. Theme
     inputs are 12.8px, so tapping Login / heslo (and the contact-form fields)
     zoomed the page. 16px on the text inputs stops the zoom without touching
     the viewport meta (keeps pinch-zoom / a11y intact). Buttons don't zoom. */
  .form-control,
  input[type="text"],
  input[type="password"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  textarea,
  select.form-control {
    font-size: 16px !important;
  }
}

/* =====================================================================
   ntc.sk: Event cards, SHARED by homepage PODUJATIA (#amenities) and the
   podujatia.html listing. Matched by the /podujatie/ link (ntckosice only
   styled /aktualita/); mirrors the news card + tight 10px grid so the
   events listing gets the same elevated white cards.
   ===================================================================== */
@media (min-width: 992px) {
  .col-md-12:has(> .col-md-3.hoverable > a[href*="/podujatie/"]) {
    display: flex !important;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 0;
    align-items: stretch;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .col-md-12:has(> .col-md-3.hoverable > a[href*="/podujatie/"]) > .col-md-3.hoverable {
    width: calc((100% - 30px) / 4) !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 10px !important;
    float: none !important;
  }
  .col-md-12:has(> .col-md-3.hoverable > a[href*="/podujatie/"]) > br { display: none; }
}
.col-md-3.hoverable:has(> a[href*="/podujatie/"]) {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  box-shadow: none;
}
.col-md-3.hoverable:has(> a[href*="/podujatie/"]) > a {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .06);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 3px 14px rgba(0, 0, 0, .06);
  transition: transform .3s ease, box-shadow .3s ease;
  color: #232323 !important;
}
.col-md-3.hoverable:has(> a[href*="/podujatie/"]):hover > a {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .15);
}
.col-md-3.hoverable:has(> a[href*="/podujatie/"]) .nailthumb-container,
.col-md-3.hoverable:has(> a[href*="/podujatie/"]) .nailthumb-container.wide-thumb {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  width: 100% !important;
  border-radius: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  flex: 0 0 auto;
}
.col-md-3.hoverable:has(> a[href*="/podujatie/"]) .nailthumb-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 0 !important;
  transition: transform .55s ease;
}
.col-md-3.hoverable:has(> a[href*="/podujatie/"]):hover .nailthumb-container img {
  transform: scale(1.06);
}
.col-md-3.hoverable:has(> a[href*="/podujatie/"]) .caption {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  align-items: last baseline;
  gap: 8px;
  flex: 1 1 auto;
  padding: 8px 12px 10px !important;
  text-align: left !important;
}
/* event name: left. On the listing (/podujatia.html, section #det) this shows the FULL name
   (wraps as needed). On the homepage the #amenities id rule above clamps it to 2 lines. */
.col-md-3.hoverable:has(> a[href*="/podujatie/"]) .caption > div:first-child {
  font-weight: 600;
  font-size: 13.5px;
  line-height: 1.3;
  color: #232323;
  flex: 1 1 auto;
  min-width: 0;
}
/* date: right, same row as the name, never wraps */
.col-md-3.hoverable:has(> a[href*="/podujatie/"]) .caption > div:last-child {
  color: #BC4A22 !important;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .3px;
  flex: 0 0 auto;
  white-space: nowrap;
}


/* ===================================================================
   AOS 2.3.4 (Animate On Scroll) - vendored here so the [data-aos] hidden
   state is set render-blocking (no flash of above-fold cards). JS is
   self-hosted (js/aos.js), deferred, and AOS.init runs on load + idle.
   =================================================================== */
[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,transform}[data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-up]{transform:translate3d(0,100px,0)}[data-aos=fade-down]{transform:translate3d(0,-100px,0)}[data-aos=fade-right]{transform:translate3d(-100px,0,0)}[data-aos=fade-left]{transform:translate3d(100px,0,0)}[data-aos=fade-up-right]{transform:translate3d(-100px,100px,0)}[data-aos=fade-up-left]{transform:translate3d(100px,100px,0)}[data-aos=fade-down-right]{transform:translate3d(-100px,-100px,0)}[data-aos=fade-down-left]{transform:translate3d(100px,-100px,0)}[data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,transform}[data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;transform:translateZ(0) scale(1)}[data-aos=zoom-in]{transform:scale(.6)}[data-aos=zoom-in-up]{transform:translate3d(0,100px,0) scale(.6)}[data-aos=zoom-in-down]{transform:translate3d(0,-100px,0) scale(.6)}[data-aos=zoom-in-right]{transform:translate3d(-100px,0,0) scale(.6)}[data-aos=zoom-in-left]{transform:translate3d(100px,0,0) scale(.6)}[data-aos=zoom-out]{transform:scale(1.2)}[data-aos=zoom-out-up]{transform:translate3d(0,100px,0) scale(1.2)}[data-aos=zoom-out-down]{transform:translate3d(0,-100px,0) scale(1.2)}[data-aos=zoom-out-right]{transform:translate3d(-100px,0,0) scale(1.2)}[data-aos=zoom-out-left]{transform:translate3d(100px,0,0) scale(1.2)}[data-aos^=slide][data-aos^=slide]{transition-property:transform}[data-aos^=slide][data-aos^=slide].aos-animate{transform:translateZ(0)}[data-aos=slide-up]{transform:translate3d(0,100%,0)}[data-aos=slide-down]{transform:translate3d(0,-100%,0)}[data-aos=slide-right]{transform:translate3d(-100%,0,0)}[data-aos=slide-left]{transform:translate3d(100%,0,0)}[data-aos^=flip][data-aos^=flip]{backface-visibility:hidden;transition-property:transform}[data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}[data-aos=flip-left].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}[data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}[data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}[data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}[data-aos=flip-down].aos-animate{transform:perspective(2500px) rotateX(0)}