@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/poppins-400.woff2") format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/poppins-500.woff2") format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/poppins-600.woff2") format("woff2");
}
#lc-header .navbar {
  --bs-navbar-color: #242424;
  --bs-navbar-hover-color: #000;
  --bs-navbar-active-color: #000;
}

#lc-header .nav-link.active {
  font-weight: 600;
}

@media (min-width: 992px) {
  #lc-header .navbar {
    min-height: 90px;
  }
}
#lc-header .navbar-brand img {
  --logo-w: 220px;
  width: var(--logo-w);
  max-width: none;
  height: auto;
  margin: calc(var(--logo-w) * -0.06) calc(var(--logo-w) * -0.25);
}

@media (min-width: 992px) {
  #lc-header .navbar-brand img {
    --logo-w: 280px;
  }
}
.home:has(.ns-hero) #lc-header {
  position: fixed;
  top: var(--wp-admin--admin-bar--height, 0px);
  left: 0;
  right: 0;
  background-color: transparent !important;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
.home:has(.ns-hero) #lc-header.is-solid {
  background-color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

@media (max-width: 600px) {
  .home:has(.ns-hero) #lc-header {
    top: 0;
  }
}
.font-helvetica {
  font-family: Helvetica, Arial, sans-serif;
}

.soho-footer-nav .nav-link,
.soho-footer-nav span.nav-link {
  --bs-nav-link-color: #242424;
  --bs-nav-link-hover-color: #000;
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: .3125rem;
}

.soho-footer-logo {
  --logo-w: 312px;
  width: var(--logo-w);
  max-width: none;
  height: auto;
  margin: calc(var(--logo-w) * -0.06) calc(var(--logo-w) * -0.25);
}

.soho-overline {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 0.8125rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  white-space: nowrap;
}

.ns-carousel {
  --swiper-navigation-color: #adb5bd;
  --swiper-navigation-size: 1.75rem;
  --swiper-pagination-color: #000;
}

.soho-breadcrumb {
  font-size: 0.75rem;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.soho-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.text-justify {
  text-align: justify;
}

.post-password-form {
  font-size: 0.875rem;
}
.post-password-form label {
  display: block;
}
.post-password-form input[type=password] {
  display: block;
  width: 100%;
  margin-top: 0.75rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid #dee2e6;
}
.post-password-form input[type=submit] {
  margin-top: 1rem;
  padding: 0.75rem 1.5rem;
  border: 0;
  background: #242424;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
}

.soho-tagline {
  font-size: 0.875rem;
  letter-spacing: 0.5em;
  text-transform: uppercase;
}

.soho-rule {
  flex: 0 0 6rem;
  width: 6rem;
}

.container-xxl {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 1400px) {
  .container-xxl {
    max-width: 1320px;
  }
}

.soho-keywords {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  justify-content: center;
  column-gap: 2.5rem;
  row-gap: 1rem;
}
.soho-keywords > .soho-keywords-line {
  grid-column: 1/-1;
  width: 100%;
}
.soho-keywords > span:nth-of-type(4n + 1), .soho-keywords > span:nth-of-type(4n + 2) {
  transform: translateX(-1.25rem);
}
.soho-keywords > span:nth-of-type(4n + 3), .soho-keywords > span:nth-of-type(4n + 4) {
  transform: translateX(1.25rem);
}
.soho-keywords > span:last-of-type:nth-of-type(odd) {
  grid-column: 1/-1;
  justify-self: center;
  transform: none;
}
@media (min-width: 992px) {
  .soho-keywords > span {
    transform: none !important;
  }
}

.wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

.wpcf7-acceptance input[type=checkbox] {
  width: 1em;
  height: 1em;
  margin: 0 0.5em 0 0;
  vertical-align: -0.125em;
  accent-color: #000;
}

.wpcf7-not-valid {
  border-color: #dc3545 !important;
}

.wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #dc3545;
}

.wpcf7 form .wpcf7-response-output {
  margin: 1.25rem 0 0;
  padding: 0.75rem 1rem;
  border: 0;
  border-left: 2px solid #242424;
  background: rgba(0, 0, 0, 0.03);
  font-size: 0.875em;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
  border-left-color: #dc3545;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-left-color: #198754;
}

.wpcf7-spinner {
  margin: 0 0 0 0.75rem;
  vertical-align: middle;
}

.soho-contact-icon {
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 50%;
}

@media (prefers-reduced-motion: no-preference) {
  .ns-anim .ns-anim-parole,
  .ns-anim .ns-anim-breve,
  .ns-anim .ns-hero .ns-hero-title,
  .ns-anim .ns-hero .soho-overline,
  .ns-anim .ns-hero .soho-tagline,
  .ns-anim .ns-hero .btn,
  .ns-anim .ns-hero .lc-block.d-flex,
  .ns-anim #theme-main h1,
  .ns-anim #theme-main h2,
  .ns-anim #theme-main .soho-breadcrumb,
  .ns-anim #theme-main .soho-overline,
  .ns-anim #theme-main .soho-tagline,
  .ns-anim #theme-main .lc-block.d-flex.gap-3,
  .ns-anim #theme-main .soho-keywords > span,
  .ns-anim #theme-main .lc-block:not(.d-flex) > div > p,
  .ns-anim #theme-main .btn,
  .ns-anim #theme-main [data-ns-galleria] > img,
  .ns-anim #theme-main .lc-block > img,
  .ns-anim #theme-main .lc-block > .ratio > img,
  .ns-anim #lc-footer .lc-block {
    opacity: 0;
  }
  .ns-anim .ns-anim-no,
  .ns-anim .ns-anim-no * {
    opacity: 1 !important;
  }
  .ns-hero .ns-hero-img {
    transition: transform 7s linear;
  }
  .ns-hero .swiper-slide-active .ns-hero-img {
    transform: scale(1.06);
  }
  [data-ns-galleria] {
    overflow: hidden;
  }
  [data-ns-galleria] > img {
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.6s ease;
  }
  [data-ns-galleria]:not([data-lightbox=false]) > img:hover {
    transform: scale(1.02);
    filter: brightness(1.03);
  }
  #lc-footer .soho-footer-nav .nav-link {
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: left calc(100% - 0.25rem);
    background-size: 0 1px;
    transition: background-size 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  #lc-footer .soho-footer-nav .nav-link:hover,
  #lc-footer .soho-footer-nav .nav-link:focus-visible {
    background-size: 100% 1px;
  }
  .btn-primary {
    position: relative;
    overflow: hidden;
    z-index: 0;
  }
  .btn-primary::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: #fff;
    opacity: 0.14;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  .btn-primary:hover::before,
  .btn-primary:focus-visible::before {
    transform: scaleX(1);
  }
}
[data-ns-parola] {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}

[data-ns-parola] > span {
  display: inline-block;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .ns-anim [data-ns-anim] {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
  }
}
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid currentColor !important;
  outline-offset: 3px !important;
}
