body{ background-color:var(--bg); color:var(--fg); }

.btn{ border-radius:var(--btn-radius); text-transform:var(--btn-transform); letter-spacing:var(--btn-tracking); font-weight:var(--btn-weight); }

.hero--overlay-layer::after{ background-color: rgba(0,0,0, var(--hero-overlay-alpha, .55)); }

.google-maps{ position:relative; }
.google-maps iframe,.google-maps ymaps{ position:absolute; top:0; left:0; width:100% !important; height:100% !important; border:0; }
.google-maps.height-auto\@md iframe{ min-height:320px; }

.hero-video-bg.hero--overlay-layer::after{ z-index:1; }

.sticky-hero--overlay-layer .sticky-hero__media::after{
  background-color:var(--color-black);
  opacity: var(--hero-overlay-alpha, .55);
}
.sticky-hero--media-is-fixed.sticky-hero--overlay-layer .sticky-hero__media::after{
  opacity: calc(var(--hero-overlay-alpha, .55) + .1);
}

.loop-slideshow-v2__control{ --size: 48px; }

.vetro-slide-dim::before{
  content:""; position:absolute; top:0; left:0; width:100%; height:100%;
  background-color: rgba(0,0,0, var(--slide-overlay-alpha, .45));
  pointer-events:none; z-index:1;
}

.vetro-slideshow-full{ --slideshow-height: 100vh; }

.vetro-slide-video{ position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; z-index:0; margin:0; }
.vetro-slide-video video{ display:block; width:100%; height:100%; object-fit:cover; }

@font-face{
  font-family:'TT Wellingtons';
  src:url('../fonts/TTWellingtons-Light.otf') format('opentype');
  font-weight:300; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'TT Wellingtons';
  src:url('../fonts/TTWellingtons-Regular.otf') format('opentype');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'TT Wellingtons';
  src:url('../fonts/TTWellingtons-Medium.otf') format('opentype');
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'TT Wellingtons';
  src:url('../fonts/TTWellingtons-DemiBold.otf') format('opentype');
  font-weight:600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'TT Wellingtons';
  src:url('../fonts/TTWellingtons-Bold.otf') format('opentype');
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'TT Wellingtons';
  src:url('../fonts/TTWellingtons-Black.otf') format('opentype');
  font-weight:900; font-style:normal; font-display:swap;
}

body{ font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1, "onum" 0; }

h1,h2,h3,h4{ --heading-font-weight: var(--heading-weight, 700); }
.text-component h1,.text-component h2,.text-component h3{ text-transform: var(--display-transform, none); }

:root{
  --reveal-fx-duration: var(--dur-slow, 700ms);
  --reveal-fx-timing-function: var(--ease, cubic-bezier(.16,1,.3,1));
}

.reveal-fx .grid > *,
.reveal-fx .carousel__item,
.reveal-fx .hiw-list__item{
  opacity:0; transform: translateY(var(--reveal-y, 16px));
  transition: opacity var(--dur-base,300ms) var(--ease), transform var(--dur-base,300ms) var(--ease);
}
.reveal-fx--is-visible .grid > *,
.reveal-fx--is-visible .carousel__item,
.reveal-fx--is-visible .hiw-list__item{ opacity:1; transform:none; }
.reveal-fx--is-visible .grid > *:nth-child(1){ transition-delay: 0ms; }
.reveal-fx--is-visible .grid > *:nth-child(2){ transition-delay: 70ms; }
.reveal-fx--is-visible .grid > *:nth-child(3){ transition-delay: 140ms; }
.reveal-fx--is-visible .grid > *:nth-child(4){ transition-delay: 210ms; }
.reveal-fx--is-visible .grid > *:nth-child(n+5){ transition-delay: 280ms; }
@media (prefers-reduced-motion: reduce){
  .reveal-fx, .reveal-fx .grid > *{ opacity:1 !important; transform:none !important; transition:none !important; }
}

.btn{ font-family:var(--btn-font, var(--font-display)); }
.btn:hover,.btn--primary:hover,.btn--secondary:hover,.btn--subtle:hover,.btn--accent:hover{
  border-radius:var(--btn-radius);
  font-family:var(--btn-font, var(--font-display));
  font-weight:var(--btn-weight);
  text-transform:var(--btn-transform);
  letter-spacing:var(--btn-tracking);
  opacity:var(--btn-hover-opacity,.85);
  transition:opacity var(--btn-hover-dur,.25s) var(--ease-out, ease),
             background-color var(--btn-hover-dur,.25s) var(--ease-out, ease),
             color var(--btn-hover-dur,.25s) var(--ease-out, ease);
}

.header__nav-btn,.header__nav-btn:hover{ font-size:var(--nav-btn-size,1.125rem); }
.btn:active{ transform:none; }

.loop-tabs__control{ color:var(--color-contrast-medium); }
.loop-tabs__control--selected{ color:var(--color-contrast-higher); }
