/* GLOBAL */
html.no-transition *,
html.no-transition *::before,
html.no-transition *::after {
  transition: none !important;
}
@view-transition {
  navigation: auto;
}
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
* {
  margin: 0;
}
::-moz-selection {
  background: var(--color-body);
  color: var(--color-body-bg);
}
::selection {
  background: var(--color-body);
  color: var(--color-body-bg);
}
body {
  overflow-x: hidden;
  background: var(--color-body-bg);
  color: var(--color-body);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}
input,
button,
textarea,
select {
  outline: 0;
  -webkit-appearance: none;
  box-shadow: none;
  border-radius: 0;
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  min-width: 0;
  font: inherit;
  line-height: normal;
  text-transform: inherit;
  text-align: inherit;
  letter-spacing: inherit;
  text-indent: inherit;
  color: inherit;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
  letter-spacing: 0.04em;
}
a {
  color: inherit;
  letter-spacing: 0.04em;
}
a,
a:hover,
a:focus {
  outline: 0;
  text-decoration: none;
  box-shadow: none;
}
a[href^="tel"] {
  white-space: nowrap;
}
table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
th,
td {
  padding: 0;
  font-weight: inherit;
}
iframe {
  border: 0;
}
[tabindex="-1"]:focus {
  outline: 0 !important;
}
script {
  margin: 0 !important;
}
.fw-light {
  font-weight: var(--weight-light);
}
.fw-regular {
  font-weight: var(--weight-regular);
}
.fw-medium {
  font-weight: var(--weight-medium);
}
.list-reset {
  list-style: none;
  padding: 0;
  margin: 0;
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.c-white {
  color: var(--color-white);
}
.c-black {
  color: var(--color-black);
}
.c-gray {
  color: var(--color-gray);
}
.c-brown {
  color: var(--color-brown);
}
.c-beige {
  color: var(--color-beige);
}
.bg-beige {
  background-color: var(--color-beige);
}
.w-100 {
  width: 100%;
}
.h-100 {
  height: 100%;
}
html {
  font-family: var(--font-body);
  font-size: 12px;
}
#main {
  position: relative;
  min-height: 100svh;
}
.wrapper {
  width: var(--container-default);
  padding: 0 var(--container-padding);
  margin: 0 auto;
  position: relative;
  height: 100%;
  z-index: 1;
}
.wrapper.no-padding {
  padding: 0;
}
.wrapper.wrapper-narrow {
  padding: 0 var(--container-narrow);
  max-width: calc(67.2280702% + (var(--container-narrow) * 2));
}
.bg-obj {
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  z-index: 0;
}
.bg-obj.bg-overlay::before {
  content: "";
  display: block;
  opacity: 0.2;
  background: var(--color-black);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.bg-obj * {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.bg-obj.bg-contain * {
  margin: 0 auto;
  object-fit: contain;
}
/* FONT */
h1,
.fsw-h1 {
  font-size: var(--font-size-h1);
  font-weight: var(--weight-medium);
}
h2,
.fsw-h2 {
  font-size: var(--font-size-h2);
  font-weight: var(--weight-medium);
}
h3,
.fsw-h3 {
  font-size: var(--font-size-body);
  font-weight: var(--weight-medium);
}
h4,
.fsw-h4 {
  font-size: var(--font-size-body);
  font-weight: var(--weight-medium);
}
h5,
.fsw-h5 {
  font-size: var(--font-size-body);
  font-weight: var(--weight-medium);
}
.fsw-sub {
  font-size: var(--font-size-sub);
  font-weight: var(--weight-medium);
}
.fsw-btn,
.btn-main {
  font-size: var(--font-size-btn);
  font-weight: var(--weight-medium);
}
.fsw-desc {
  font-size: var(--font-size-desc);
  font-weight: var(--weight-regular);
}
body p,
body a {
  font-size: var(--font-size-body);
  font-weight: var(--weight-medium);
  line-height: 1.2;
}
/* MEDIA WRAPPER */
.media-wrapper {
  display: block;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.media-wrapper.media-overlay:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--color-black);
  opacity: 0.2;
  z-index: 2;
}
.media-wrapper:not(.media-auto):before {
  content: "";
  display: block;
}
.media-wrapper.media-h100 {
  height: 100%;
}
.media-wrapper.media1-1:before {
  padding-top: 100%;
}
.media-wrapper.media2-1:before {
  padding-top: calc((1 / 2) * 100%);
}
.media-wrapper.media3-2:before {
  padding-top: calc((2 / 3) * 100%);
}
.media-wrapper.media3-4:before {
  padding-top: calc((4 / 3) * 100%);
}
.media-wrapper.media4-5:before {
  padding-top: calc((5 / 4) * 100%);
}
.media-wrapper.media16-9:before {
  padding-top: calc((9 / 16) * 100%);
}
.media-wrapper * {
  pointer-events: none;
}
.media-wrapper:not(.media-auto) * {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.media-wrapper.media-auto * {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.media-wrapper.media-contain * {
  object-fit: contain;
}
.hover-media .media-wrapper * {
  transition: all var(--transition) var(--timing-function);
}
.hover-media:hover .media-wrapper * {
  transform: scale(1.05);
}
.hover-img .media-wrapper * {
  transition: all var(--transition) var(--timing-function);
}
.hover-img .media-wrapper .img-hover {
  opacity: 0;
}
.hover-img:hover .media-wrapper .img-hover {
  opacity: 1;
}
/* INPUT */
input:-webkit-autofill {
  -webkit-background-clip: text;
  -webkit-text-fill-color: var(--color-body) !important;
}
.form-label {
  color: var(--color-body);
}
.contact-form > * {
  width: 100%;
}
.contact-form > *.input-group.input-half,
.contact-form > .form-column {
  width: 100%;
}
.contact-form > .form-column > .input-group:not(:first-child) {
  margin-top: var(--spacing-xs);
}
.contact-form > .form-label:first-child {
  margin-bottom: var(--spacing-md);
}
.contact-form > .hidden-fields-container + .form-label {
  margin-top: 0 !important;
}
.form-container .input-submit {
  margin-top: var(--spacing-md);
}
.contact-form > .form-label:not(:first-child) {
  margin-top: var(--spacing-md);
  margin-bottom: var(--spacing-2xs);
}
.contact-form {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  column-gap: var(--spacing-3xs);
}
.input-group {
  position: relative;
  width: 100%;
}
.input-group input::placeholder {
  opacity: 0.5;
}
.input-group input {
  color: var(--color-body);
  font-weight: var(--weight-medium);
  width: 100%;
  height: var(--input-height);
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(var(--color-brown-rgb), 0.5);
}
.input-group input:focus {
  box-shadow: none;
  border-bottom: 1px solid rgba(var(--color-brown-rgb), 1);
}
.input-group > label {
  cursor: text;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-body);
  opacity: 0.5;
  transition: all var(--transition) var(--timing-function);
}
.input-group.filled > label {
  top: 0;
  transform: translateY(-1em);
}
.input-group .wpcf7-not-valid-tip {
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(1.25em);
  color: var(--color-error);
  font-size: 1rem;
}
/* SWIPER */
.swiper-container {
  width: 100%;
  height: 100%;
  position: relative;
}
.swiper-container .swiper-button {
  will-change: opacity;
  transition: opacity var(--transition) var(--timing-function);
}
.swiper-container:has(.fix) .swiper-button {
  pointer-events: none;
}
.swiper-container .swiper-button:hover::after {
  color: var(--color-theme-blue);
}
.swiper-container .swiper-button-next.swiper-button-disabled,
.swiper-container .swiper-button-prev.swiper-button-disabled {
  opacity: 0.2;
}
.swiper-container .swiper-button:after {
  pointer-events: all;
  transition: all var(--transition) var(--timing-function);
  color: var(--color-body);
  font-size: 18px;
  font-family: "iconfont";
}
.swiper-container .swiper-button-prev {
  left: 0;
}
.swiper-container .swiper-button-next {
  right: 0;
}
.swiper-container .swiper-button-prev:after {
  content: "\e906";
}
.swiper-container .swiper-button-next:after {
  content: "\e907";
}
/* ACCORDION */
.accordion-container {
  display: block;
}
.accordion-container .accordion {
  background-color: var(--color-theme-blue);
  border: 1px solid var(--color-theme-blue);
  transition: all var(--transition) var(--timing-function);
}
.accordion-container .accordion.active {
  background-color: var(--color-body-bg);
}
.accordion-container .accordion:not(:last-child) {
  margin-bottom: var(--spacing-2xs);
}
.accordion-container .accordion.active {
  padding: var(--spacing-md) 0;
}
.accordion-container .accordion .entry-panel {
  overflow: hidden;
  display: none;
}
.accordion-container .accordion .entry-title {
  padding: var(--spacing-xs);
  color: var(--color-white);
  cursor: pointer;
  transition: all var(--transition) var(--timing-function);
}
.accordion-container .accordion .entry-title > * {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.accordion-container .accordion .entry-title > *::after {
  color: var(--color-body);
  content: "\e905";
  font-family: "iconfont";
  font-size: 26px;
}
.accordion-container .accordion.active .entry-title > *::after {
  content: "\e904";
}
.accordion-container .accordion.active .entry-title {
  color: var(--color-body);
  padding: 0 var(--spacing-sm);
}
.accordion-container .accordion .entry-title > *,
.accordion-container .accordion .entry-panel > * {
  max-width: 85.7142857%;
  margin: 0 auto;
}
.accordion-container .accordion .entry-panel > * {
  padding: var(--spacing-xs);
}
/* BURGER ICON */
.burger-icon {
  color: var(--color-body);
  cursor: pointer;
  position: relative;
  width: 28px;
  height: 18px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  float: right;
  display: flex;
}
.burger-line {
  transition: 0.4s;
  width: 100%;
  height: 1px;
  background-color: var(--color-body);
}
.burger-icon .burger-line:last-child {
  margin-bottom: 0;
}
.burger-line-1 {
  position: relative;
  top: 0;
}
.burger-line-3 {
  position: relative;
  bottom: 0;
}
.menu-open .burger-icon .burger-line-1 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}
.menu-open .burger-icon .burger-line-2 {
  opacity: 0;
}
.menu-open .burger-icon .burger-line-3 {
  position: absolute;
  bottom: 50%;
  transform: translateY(50%) rotate(45deg);
}
/* CONTENT STYLE */
.entry-content {
  padding-bottom: var(--spacing-2xl);
}
.entry-content > .content-group:not(:last-child) {
  margin-bottom: var(--spacing-2lg);
}
.entry-content > .content-group > *:not(:last-child) {
  margin-bottom: 1em;
}
.entry-content
  > .content-group
  > *:is(img, video, figure, iframe):not(:only-child) {
  margin-bottom: var(--spacing-sm);
}
.entry-content > .content-group > .media-group {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  grid-gap: var(--spacing-sm);
}
.entry-content > .content-group > .media-group > * {
  display: inline-flex;
  flex: 1 1 auto;
}
.entry-content > .content-group figure figcaption {
  font-style: italic;
  text-align: center;
  margin-top: var(--spacing-xs);
}
.entry-content *:is(h1, h2, h3, h4, h5, h6) {
  font-weight: var(--weight-regular);
}
.entry-content h1 {
  font-size: var(--font-size-h2);
}
.entry-content h2 {
  font-size: var(--font-size-body);
}
.entry-content h3 {
  font-size: var(--font-size-body);
}
.entry-content h4 {
  font-size: var(--font-size-body);
}
.entry-content h5 {
  font-size: var(--font-size-body);
}
.entry-content p {
  font-size: var(--font-size-body);
}
.entry-content b {
  display: inline-block;
  font-size: var(--font-size-body);
  font-weight: var(--weight-medium);
}
.entry-content a {
  display: inline-block;
}
.entry-content strong {
  font-weight: var(--weight-medium);
}
ul:not(.list-reset) {
  padding-left: 1.4em;
  margin: 0;
}
ul li::marker {
  font-size: 8px;
}
/* COOKIES POPUP */
.cookies-popup {
  z-index: 99999;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  max-width: 440px;
  padding: var(--spacing-2sm);
  background-color: var(--color-body);
  color: var(--color-body-bg);
  font-size: var(--font-size-tagline);
}
.cookies-popup .cookies-container {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  grid-row-gap: var(--spacing-sm);
}
.cookies-popup .cookies-buttons {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  grid-column-gap: var(--spacing-md);
}
.cookies-popup .cookies-buttons:hover .btn-text {
  opacity: 0.5;
}
.cookies-popup .cookies-buttons .btn-text:hover {
  opacity: 1;
}
/* MEDIA MIN */
@media (min-width: 1399.98px) {
}
@media (min-width: 1199.98px) {
}
@media (min-width: 991.98px) {
  .burger-icon {
    display: none;
  }
}
@media (min-width: 767.98px) {
  .visible-mb {
    display: none !important;
  }
  .contact-form > *.input-group.input-half,
  .contact-form > .form-column {
    width: calc((100% - var(--spacing-3xs)) / 2);
  }
}
@media (min-width: 575.98px) {
}
/* MEDIA MAX */
@media (max-width: 1399.98px) {
}
@media (max-width: 1199.98px) {
}
@media (max-width: 991.98px) {
}
@media (max-width: 767.98px) {
  .contact-form{
    flex-direction: column;
  }
  .contact-form > .input-group.input-half + .input-group.input-half {
    margin-top: var(--spacing-xs);
  }
  .contact-form > *.input-group.input-half,
  .contact-form > .form-column {
    max-width: 195px;
  }
  .wrapper.wrapper-narrow {
    max-width: 100%;
  }
  .hidden-mb {
    display: none !important;
  }
  .accordion-container .accordion .entry-title > *,
  .accordion-container .accordion .entry-panel > * {
    max-width: 100%;
  }
  .accordion-container .accordion.active {
    padding: var(--spacing-sm) 0;
  }
  .accordion-container .accordion .entry-panel > * {
    padding: var(--spacing-sm);
  }
}
@media (max-width: 575.98px) {
  .cookies-popup {
    max-width: unset;
    width: calc(100% - (var(--container-padding) * 2));
    left: var(--container-padding);
    right: var(--container-padding);
  }
}
