/*!*******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./assets/scss/main.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* Colors */
/* Message colors */
/* Element colors */
/* Breakpoints */
/* mobile */
/* mobile plus */
/* tablet */
/* laptop */
/* desktop */
/* Breakpoint starts */
/* Media queries */
/* Global typography settings */
/* 69px */
/* 57px */
/* 48px */
/* 23px */
/* 19px */
/* 16px */
/* 13px */
/* 12px */
/* Mixins - Bigger */
/* Mixins - Smaller */
/* Mixins - Only */
/**
 * Line Height mixin
* @param {number} $value - The line height value
* @param {number} $font-size - The font size value
*/
/**
 * Letter spacing mixin
 * @param {number} $value - The letter spacing value
 */
/**
 * Clamp mixin
 * @param {number} $height - The height of the element
 * @param {number} $lines - The number of lines to display
 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  scroll-padding-top: 6rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  html {
    scroll-padding-top: 2.75rem;
  }
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-size: 1rem;
  line-height: 1.6;
  color: #171412;
  background-color: #fcfaf8;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overscroll-behavior: none;
}

/* Font faces */
@font-face {
  font-family: "Montserrat";
  font-weight: medium;
  src: url(fonts/Montserrat-Medium.b8c6753b.ttf) format("ttf");
}
@font-face {
  font-family: "Montserrat";
  font-weight: bold;
  src: url(fonts/Montserrat-Bold.50f0257a.ttf) format("ttf");
}
@font-face {
  font-family: "Montserrat-semibold";
  font-weight: 600;
  src: url(fonts/Montserrat-SemiBold.93b37a46.ttf) format("ttf");
}
/* Typography styling */
body {
  font-family: "Roboto", sans-serif;
}

h2, .error-page__heading h1,
h3,
.reviews__rating__average,
.error-page__heading span,
.reviews_section__ratings .reviews_section__ratings__average,
.service-card__row .service-card__link .service-card__label,
h4,
h5,
h6 {
  font-family: "Montserrat", sans-serif;
}

h1 {
  font-family: "Montserrat", sans-serif;
  font-size: 3.563rem;
  line-height: 1.0524838619;
  font-weight: 700;
  text-transform: uppercase;
}

h2, .error-page__heading h1 {
  font-family: "Montserrat", sans-serif;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.0416666667;
  letter-spacing: 0.05rem;
}

h3, .reviews__rating__average, .error-page__heading span, .reviews_section__ratings .reviews_section__ratings__average, .service-card__row .service-card__link .service-card__label {
  font-family: "Montserrat", sans-serif;
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1.2191304348;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
}

button, .reviews__total_ratings, .service__price, .error-page__code .label, .reviews_section__ratings .reviews_section__ratings__count, .page-header__title, .button--primary, .contact_section .contact__button,
.button_text,
.review-form button,
.review-form .button--primary,
.review-form .page-header__title,
.review-form .service__price,
.review-form .reviews__total_ratings,
.review-card__title,
.button--ghost,
.site-navigation__menu > li {
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-size: 1.1875rem;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.1721052632;
  letter-spacing: 0.05rem;
}

@media only screen and (max-width: calc(768px - 0.5rem)) {
  button, .reviews__total_ratings, .service__price, .error-page__code .label, .reviews_section__ratings .reviews_section__ratings__count, .page-header__title, .button--primary, .contact_section .contact__button {
    font-size: 0.75rem;
  }
}

.text-display {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 4.3rem;
  text-transform: uppercase;
  line-height: 0.8720930233;
  letter-spacing: 0.05rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .text-display {
    font-family: "Montserrat", sans-serif;
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.0416666667;
    letter-spacing: 0.05rem;
  }
}

.paragraph-lg, .reviews__chart__bar__percentage, .contact_section input,
.contact_section textarea, .site-footer__menu > li:not(:last-child)::after, .site-footer__menu > li > a, .review-card__city {
  font-family: "Roboto", sans-serif;
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.1721052632;
  letter-spacing: 0.02rem;
}

p, .paragraph-md, .service__content > *, .site-footer__credits-links > li > a, .site-footer__credits-links > li:not(:last-child)::after, :is(.site-footer__credits, b) > a, .site-footer__credits > p, .site-footer__aditional-links > li > a, .review-card__content {
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.25;
}

.paragraph-sm, .review-card__date {
  font-family: "Roboto", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.1538461538;
  letter-spacing: 0.02rem;
}

.button--primary, .contact_section .contact__button {
  background-color: #f28f0d;
  color: #fcfaf8;
  border-radius: 0.25rem;
  padding: 0.75rem 1rem;
  transition: background-color 0.3s;
  border: none;
}
.button--primary:hover, .contact_section .contact__button:hover {
  background-color: #bb661c;
  color: #fcfaf8;
}

.button--ghost, .site-navigation__menu > li {
  color: #bb661c;
  padding: 0.75rem 1rem;
}
.button--ghost::after, .site-navigation__menu > li::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transform: scaleX(0);
  transition: transform 0.3s;
  transform-origin: right;
}
.button--ghost:hover, .site-navigation__menu > li:hover {
  color: #bb661c;
}
.button--ghost:hover::after, .site-navigation__menu > li:hover::after {
  background-color: currentColor;
  transform: scaleX(1);
  transform-origin: left;
}
.button--ghost .active, .site-navigation__menu > li .active {
  color: #171412 !important;
}
.button--ghost .active_line::after, .site-navigation__menu > li .active_line::after {
  background-color: currentColor;
  transform: scaleX(1);
}

.button--cta, .contact_section .contact__button {
  min-width: 22.125rem;
  max-width: 28.0625rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .button--cta, .contact_section .contact__button {
    min-width: 16.625rem;
    max-width: 22.5625rem;
  }
}

.site-section {
  padding: 1rem;
  padding-top: 7.5rem;
  background-color: #fcfaf8;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-section {
    padding-top: 3.75rem;
  }
}

.site-section__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-section__header {
    flex-direction: column;
    align-items: center;
    margin-bottom: 1.5rem;
  }
}

.site-section__title {
  margin: 0;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-section__title {
    font-size: 1.4375rem;
  }
}

@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-section__cta {
    font-size: 0.75rem;
  }
}

.button__content {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.button__content svg path {
  stroke: currentColor;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .button__content {
    gap: 0.375rem;
  }
}

.button__icon {
  width: 1.5rem;
  height: 1.5rem;
}

.service-card__row {
  display: grid;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .service-card__row {
    grid-template-columns: repeat(3, 6.8125rem);
    gap: 1rem;
  }
}
.service-card__row .service-card__link {
  display: block;
  height: auto;
  width: 1fr;
}
.service-card__row .service-card__link .service-card {
  display: flex;
  flex-direction: column;
  aspect-ratio: 0.743697479;
  height: auto;
  width: 100%;
  max-width: 22.125rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .service-card__row .service-card__link .service-card {
    aspect-ratio: 1;
    max-width: 6.8125rem;
  }
}
.service-card__row .service-card__link .service-card__image {
  aspect-ratio: 1;
  width: 84.1807909605%;
  max-width: 18.625rem;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 4.5rem auto 0;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .service-card__row .service-card__link .service-card__image {
    margin: 0 auto 0;
  }
}
.service-card__row .service-card__link .service-card__label {
  width: 100%;
  text-align: center;
  margin-top: 2rem;
  color: #171412;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .service-card__row .service-card__link .service-card__label {
    margin-top: 0.5rem;
    font-size: 0.75rem;
  }
}
.service-card__row .service-card__link:hover .service-card__image {
  transform: rotateZ(14deg) scale(117.4496644295%);
  margin-top: 0;
}
.service-card__row .service-card__link:hover .service-card__label {
  transform: translateY(2.5rem);
}

.hero {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(100vh - 100px);
  overflow: hidden;
}
.hero::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 150px;
  background: linear-gradient(180deg, rgba(252, 250, 248, 0) 71.26%, rgba(252, 250, 248, 0.4) 89.73%, #FCFAF8 99.31%);
  z-index: 1;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .hero {
    height: 19.5625rem;
  }
}

.hero__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  z-index: -1;
}

.hero__content {
  display: flex;
  flex-direction: column;
  position: relative;
  text-align: center;
  color: #fcfaf8;
  width: 100%;
  max-width: 28.125rem;
  height: auto;
}

.hero__description {
  font-family: "Montserrat", sans-serif;
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1.2191304348;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  margin-top: 1rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .hero__description {
    font-size: 1.1875rem;
    color: #DCD1C6;
  }
}

.hero__cta {
  margin: 2.625rem auto 0;
  z-index: 2;
}

.banner {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 32.9375rem;
  overflow: hidden;
}
.banner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #504031;
  opacity: 0.4;
  z-index: 0;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .banner {
    height: 21rem;
  }
}

.banner__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  z-index: -1;
}

.banner__wrapper {
  position: relative;
  display: flex;
  width: 100%;
}

.banner__content {
  display: flex;
  flex-direction: column;
  position: relative;
  text-align: center;
  width: max;
  max-width: 55.5rem;
  height: auto;
  gap: 2.75rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .banner__content {
    gap: 1rem;
  }
}

.banner__title {
  font-family: "Montserrat", sans-serif;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.0416666667;
  letter-spacing: 0.05rem;
  width: 100%;
  text-align: left;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .banner__title {
    font-size: 1.1875rem;
  }
}

.banner__text {
  width: 100%;
  text-align: left;
  text-transform: uppercase;
  font-weight: 600;
}
.banner__text ul {
  width: 100%;
  justify-content: left;
  text-align: left;
}
.banner__text li {
  list-style: none;
  font-size: 1.1875rem;
  line-height: 1.1721052632;
  letter-spacing: 0.05rem;
}
.banner__text li:not(:last-child) {
  margin-bottom: 1rem;
}
.banner__text li::before {
  content: "•";
  margin-right: 0.5rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .banner__text li {
    font-size: 0.75rem;
  }
}

.banner__cta {
  margin: 0 auto;
}

.images_grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1.5rem;
  margin: 0 auto;
  padding: 0;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .images_grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
  }
}

.images_grid__image {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 354/382;
  border: 1px solid rgba(80, 64, 49, 0.5);
  border-radius: 1rem;
  box-shadow: 0px 4px 4px 0px rgba(80, 64, 49, 0.08);
}

.page-header {
  background-color: #DCD1C6;
  border-bottom: 1px solid #c1b7af;
  width: 100%;
  height: 3.3125rem;
  position: sticky;
  top: 0;
  z-index: 2;
}

.page-header__content {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}

.page-header__back-button {
  position: absolute;
  left: 0.9375rem;
  place-self: center;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.8125rem;
  height: 1.8125rem;
  border-radius: 100%;
  background-color: #bb661c;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .page-header__back-button {
    background-color: transparent;
  }
  .page-header__back-button svg > path {
    stroke: #504031;
  }
}

.page-header__title {
  color: #504031;
  max-width: 70%;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: auto;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .page-header__title {
    font-size: 1.4375rem;
  }
}

.review-card {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
}

.review-card__header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 0.5rem;
}
.review-card__header .rating-stars {
  margin-bottom: 0.5rem;
}

.review-card__author-info {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .review-card__author-info h3, .review-card__author-info .reviews__rating__average, .review-card__author-info .error-page__heading span, .error-page__heading .review-card__author-info span, .review-card__author-info .reviews_section__ratings .reviews_section__ratings__average, .reviews_section__ratings .review-card__author-info .reviews_section__ratings__average, .review-card__author-info .service-card__row .service-card__link .service-card__label, .service-card__row .service-card__link .review-card__author-info .service-card__label {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: auto;
  }
}

.review-card__city {
  color: #504031;
  display: flex;
  gap: 0.25rem;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .review-card__city {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: auto;
  }
}

.review-card__icon {
  width: 0.8125rem;
  height: 1rem;
  margin: auto 0;
}

.review-card__content {
  color: #504031;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  width: 100%;
}
.review-card__content .wp-block-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, 6.875rem);
  grid-gap: 1.5rem;
  width: 100%;
  border: none;
  box-shadow: none;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .review-card__content .wp-block-gallery {
    grid-template-columns: repeat(auto-fill, 5rem);
    grid-gap: 0.5rem;
  }
}
.review-card__content .wp-block-image {
  width: 6.875rem !important;
  height: 7.875rem;
  aspect-ratio: 110/126;
  border: 1px solid rgba(80, 64, 49, 0.5);
  border-radius: 1rem;
  box-shadow: 0 4px 4px 0 rgba(80, 64, 49, 0.08);
  overflow: hidden;
  margin-top: 1rem !important;
  position: relative;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .review-card__content .wp-block-image {
    width: 5rem !important;
    height: 5.75rem;
    aspect-ratio: 80/92;
  }
}
.review-card__content .wp-block-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.review-card__footer {
  margin-top: auto;
}

.review-card__date {
  color: #736659;
}

.rating-stars {
  display: flex;
  height: -moz-fit-content;
  height: fit-content;
}

.rating-stars__icon {
  width: 1.5rem;
  height: 1.5rem;
}

.card {
  width: 100%;
  padding: 1.5rem 1rem;
  border-radius: 0.5rem;
  background: rgba(238, 235, 230, 0.5);
  border: 1px solid rgba(80, 64, 49, 0.5);
  box-shadow: 0px 4px 4px rgba(80, 64, 49, 0.08);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .card {
    padding: 1rem 0.5rem;
  }
}

a {
  color: #007acc;
  text-decoration: none;
  font-weight: 600;
}

a:hover {
  color: #f28f0d;
}

.site-main {
  flex: 1;
}

.content {
  max-width: 71.25rem;
  padding: 0 0.9375rem;
  margin: 0 auto;
}
@media only screen and (max-width: calc(1024px - 0.5rem)) {
  .content {
    padding: 0;
    max-width: 42.5rem;
  }
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .content {
    padding: 0;
    max-width: 22.5625rem;
  }
}

.site-header {
  position: sticky;
  top: 0;
  background-color: #eeebe6;
  padding: 1.5rem;
  width: 100%;
  z-index: 1000;
  box-shadow: 0 4px 4px 0 rgba(80, 64, 49, 0.16);
}
@media only screen and (max-width: calc(1024px - 0.5rem)) {
  .site-header {
    background-color: #DCD1C6;
    height: 2.75rem;
  }
  .site-header::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #DCD1C6;
  }
}

.site-header__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

@media only screen and (max-width: calc(1024px - 0.5rem)) {
  .site-header__cta {
    display: none;
  }
}

.site-header__cta--mobile {
  display: none;
}
@media only screen and (max-width: calc(1024px - 0.5rem)) {
  .site-header__cta--mobile {
    display: block;
    text-align: center;
    margin-top: 2.375rem;
    margin-bottom: 1.5rem;
  }
}

.site-header__mobile-menu {
  display: none;
}
@media only screen and (max-width: calc(1024px - 0.5rem)) {
  .site-header__mobile-menu {
    display: flex;
    align-items: center;
    position: relative;
    border: none;
    z-index: 2;
    background-color: transparent;
  }
}

.site-header__mobile-menu__icon {
  display: grid;
  width: 2rem;
}
.site-header__mobile-menu__icon::before, .site-header__mobile-menu__icon::after {
  content: "";
  display: block;
  width: 1.75rem;
  height: 0.125rem;
  background-color: #504031;
  transition: 0.3s ease-in-out;
}
.site-header__mobile-menu__icon::before {
  width: 100%;
}
.site-header__mobile-menu__icon::after {
  width: 1.75rem;
  margin-top: 0.4375rem;
}

.active .site-header__mobile-menu__icon::before {
  transform: rotate(-45deg);
}
.active .site-header__mobile-menu__icon::after {
  width: 100%;
  margin-top: -0.0625rem;
  transform: rotate(45deg);
}

/*
**** Navigation
*/
.site-navigation {
  flex: 1;
}
@media only screen and (max-width: calc(1024px - 0.5rem)) {
  .site-navigation {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    margin: 2.8125rem 0 0;
    padding: 0;
    background-color: #DCD1C6;
    width: 100%;
    box-shadow: 0 4px 4px 0 rgba(80, 64, 49, 0.16);
    transition: 0.3s ease-in-out;
    transform: translateY(-100%);
    z-index: 0;
  }
}

@media only screen and (max-width: calc(1024px - 0.5rem)) {
  .site-navigation--open {
    transform: translateY(0);
  }
}

.site-navigation__menu {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 2.625rem;
}
.site-navigation__menu > li {
  list-style: none;
}
.site-navigation__menu > li::after {
  background-color: #bb661c;
}
.site-navigation__menu > li > a {
  color: #bb661c;
}
.site-navigation__menu .active > a {
  color: #171412;
}
.site-navigation__menu .active_line::after {
  transform: scaleX(1);
}
.site-navigation__menu .active_line.active::after {
  background-color: #171412;
}
@media only screen and (max-width: calc(1024px - 0.5rem)) {
  .site-navigation__menu {
    flex-direction: column;
    gap: 0;
  }
}

.site-footer {
  background-color: #f28f0d;
  color: #fcfaf8;
  padding: 2rem;
  width: 100%;
}

.site-footer__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.site-footer__content h3, .site-footer__content .reviews__rating__average, .site-footer__content .error-page__heading span, .error-page__heading .site-footer__content span, .site-footer__content .reviews_section__ratings .reviews_section__ratings__average, .reviews_section__ratings .site-footer__content .reviews_section__ratings__average, .site-footer__content .service-card__row .service-card__link .service-card__label, .service-card__row .service-card__link .site-footer__content .service-card__label {
  color: #504031;
}

.site-footer__navigation {
  flex: 1;
}

.site-footer__menu {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  margin-top: 2rem;
  margin-bottom: 1.375rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-footer__menu {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 1rem;
    margin-top: 1rem;
  }
}
.site-footer__menu > li {
  display: inline-flex;
  list-style: none;
  margin: auto 0;
}
.site-footer__menu > li > a {
  color: #fcfaf8;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-footer__menu > li > a {
    font-size: 0.75rem;
  }
}
.site-footer__menu > li:not(:last-child)::after {
  content: "|";
  margin: auto 0.5rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-footer__menu > li:not(:last-child)::after {
    font-size: 0.75rem;
  }
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-footer__menu > li:nth-child(5)::after {
    display: none;
  }
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-footer__menu {
    flex-wrap: wrap;
  }
  .site-footer__menu > li > a {
    font-size: 0.75rem;
  }
}

.site-footer__aditional-links {
  display: flex;
  justify-content: center;
  width: 100%;
  gap: 1.5rem;
}
.site-footer__aditional-links > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.site-footer__aditional-links > li > a {
  color: #eeebe6;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-footer__aditional-links > li > a {
    font-size: 0.8125rem;
  }
}

.site-footer__credits {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  margin-top: 2rem;
  width: 100%;
  color: #736659;
}
:is(.site-footer__credits, b) > a {
  color: #736659;
  text-decoration: underline;
}
.site-footer__credits b > a {
  font-weight: bold;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-footer__credits {
    flex-direction: column-reverse;
    gap: 0.5rem;
    margin-top: 1.5rem;
  }
}

.site-footer__credits-links {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-footer__credits-links {
    justify-content: center;
    width: 100%;
  }
}
.site-footer__credits-links > li {
  list-style: none;
  display: inline;
}
.site-footer__credits-links > li:not(:last-child)::after {
  content: "|";
  margin: auto 0.5rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-footer__credits-links > li:nth-child(2)::after {
    display: none;
  }
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-footer__credits-links > li {
    font-size: 0.8125rem;
  }
}
.site-footer__credits-links > li > a {
  color: #736659;
  text-decoration: underline;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-footer__credits-links > li > a {
    font-size: 0.8125rem;
  }
}

#reviews {
  position: sticky;
  top: 0;
  z-index: 0;
}

.banner--home {
  position: sticky;
  top: 100px;
  z-index: 1;
}
@media only screen and (max-width: calc(1024px - 0.5rem)) {
  .banner--home {
    top: 44px;
  }
}

.homapage-second-half {
  position: relative;
  z-index: 2;
}

.about-section {
  display: flex;
  flex-direction: column;
}
.about-section .about-section__description {
  margin-top: 1rem;
  color: #504031;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .about-section .about-section__description {
    width: 80%;
  }
}
.about-section .about-section__image-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 16.25rem;
  height: auto;
  aspect-ratio: 1/1;
  margin-left: 3rem;
  shape-outside: circle();
  float: right;
}
@media only screen and (min-width: 1024px) {
  .about-section .about-section__image-wrapper {
    transform: translateY(-3.75rem);
  }
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .about-section .about-section__image-wrapper {
    position: relative;
    width: 11.25rem;
    margin-left: 0;
    margin-top: 50%;
    transform: translateY(-50%);
  }
}
.about-section .about-section__image {
  position: relative;
  aspect-ratio: 1/1;
  width: 85%;
  height: auto;
  border-radius: 100%;
}
.about-section .about-section__image__svg {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  text-align: end;
  transform: translateY(-7%);
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .about-section .about-section__image__svg {
    transform: translate(13%, -20%) scale(0.8);
  }
  .about-section .about-section__image__svg svg > path {
    fill: #171412;
  }
}

.contact_section {
  display: flex;
  flex-direction: column;
  max-width: 57.5625rem;
  width: 100%;
  padding-bottom: 7.5rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .contact_section {
    padding-bottom: 2.25rem;
  }
}
.contact_section input,
.contact_section textarea {
  background-color: #eeebe6;
  font-size: 1.1875rem;
  border-radius: 0.25rem;
  border: 1.5px solid #DCD1C6;
  padding: 0.75rem 0.5rem;
  width: 100%;
  transition: 0.3s ease-in-out;
}
.contact_section input:focus,
.contact_section textarea:focus {
  outline: none;
  box-shadow: none;
  border-color: #f28f0d;
  background-color: #fcfaf8;
}
.contact_section p {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.contact_section .contact__message {
  resize: none;
  margin-top: 1.125rem;
  height: 14.5rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .contact_section .contact__message {
    margin-top: 2rem;
    height: 7.125rem;
  }
}
.contact_section .contact__button {
  border: none;
  margin-top: 1.5rem;
  margin-left: auto;
  cursor: pointer;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .contact_section .contact__button {
    width: auto;
    margin: 1rem auto 0;
  }
}

.reviews_section {
  margin-top: 0.875rem;
}

.reviews_section__ratings {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 2rem;
}
.reviews_section__ratings .reviews_section__ratings__average {
  color: #f28f0d;
}
.reviews_section__ratings .reviews_section__ratings__count {
  color: #c1b7af;
}

.reviews_section__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1.5rem;
  margin-bottom: 7.5rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .reviews_section__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.reviews_section__card .review-card__header {
  flex-direction: column !important;
}
@media only screen and (min-width: 768px) {
  .reviews_section__card:last-child {
    display: none;
  }
}
.reviews_section__card .review-card__content {
  display: -webkit-box;
  -webkit-line-clamp: 9;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 11.25rem;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .reviews_section__card .review-card__content {
    display: none;
  }
}

.error-page {
  background-image: url(images/error-page-bg.65038913.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .error-page {
    background-image: url(images/content-page-bg-mobile.54cdba65.png);
    background-size: contain;
  }
}

.error-page__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 49rem;
  gap: 2.625rem;
}

.error-page__code {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
.error-page__code .label {
  color: #736659;
}

.error-page__text {
  max-width: 49.875rem;
  width: 100%;
  text-align: center;
}
.error-page__text a {
  color: #171412;
}

.site-page {
  background-image: url(images/content-page-bg.cadedef9.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  padding: 2.5rem 0;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .site-page {
    background-image: url(images/content-page-bg-mobile.54cdba65.png);
    background-size: contain;
  }
}

.gallery-page {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-gap: 1.5rem !important;
}
.gallery-page figure {
  width: 100% !important;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 354/382;
  border: 1px solid rgba(80, 64, 49, 0.5);
  border-radius: 1rem;
  box-shadow: 0px 4px 4px 0px rgba(80, 64, 49, 0.08);
  overflow: hidden;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .gallery-page {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0.5rem !important;
  }
}

.services__content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.service {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.service .hidden {
  display: none;
}

.service__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.service__price {
  color: #736659;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .service__price {
    font-size: 1.1875rem;
  }
}

.service__content {
  color: #504031;
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  transition: 0.3s ease-in-out;
}
.service__content:not(.active) {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 2.75rem;
}
.service__content.active {
  max-height: 1000px;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .service__content > * {
    font-size: 1.1875rem;
  }
}
.service__content ul {
  margin-top: 0.5rem;
}
.service__content ul li {
  list-style: none;
}
.service__content ul li::before {
  content: "•";
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
.service__content table {
  margin-top: 1rem;
}
.service__content iframe {
  border: none;
  margin: 1rem auto 0;
}
.service__content .wp-block-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, 6.875rem);
  grid-gap: 1.5rem;
  width: 100%;
  border: none;
  box-shadow: none;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .service__content .wp-block-gallery {
    grid-template-columns: repeat(auto-fill, 5rem);
    grid-gap: 0.5rem;
  }
}
.service__content .wp-block-image {
  width: 6.875rem !important;
  height: 7.875rem;
  aspect-ratio: 110/126;
  border: 1px solid rgba(80, 64, 49, 0.5);
  border-radius: 1rem;
  box-shadow: 0 4px 4px 0 rgba(80, 64, 49, 0.08);
  overflow: hidden;
  margin-top: 1rem !important;
  position: relative;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .service__content .wp-block-image {
    width: 5rem !important;
    height: 5.75rem;
    aspect-ratio: 80/92;
  }
}
.service__content .wp-block-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.service__button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}
.service__button svg > path {
  stroke: #fcfaf8;
}

.reviews__content {
  display: flex;
  flex-direction: column;
}

.reviews__rating_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .reviews__rating_wrapper {
    margin-bottom: 2rem;
  }
}

.reviews__rating {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.reviews__rating__average {
  color: #f28f0d;
}

.reviews__total_ratings {
  color: #c1b7af;
  margin-top: 0.5rem;
}

.reviews__chart {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  list-style: none;
  width: 100%;
  max-width: 36.25rem;
  margin: 1.5rem auto 3rem;
}
.reviews__chart li {
  display: flex;
  gap: 0.5rem;
  width: 100%;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .reviews__chart {
    display: none;
  }
}

.reviews__chart__bar {
  display: flex;
  width: 100%;
  max-width: 28.625rem;
  margin-left: 1.25rem;
}

.reviews__chart__bar__fill {
  height: 100%;
  background-color: #f28f0d;
  border-radius: 0.25rem;
}

.reviews__chart__bar__percentage {
  color: #f28f0d;
  margin-left: 1rem;
}

.reviews__list {
  display: flex;
  flex-direction: column;
  gap: 2.625rem;
  width: 100%;
}
@media only screen and (max-width: calc(768px - 0.5rem)) {
  .reviews__list {
    gap: 1.5rem;
  }
}

.page-content {
  background-color: rgba(252, 250, 248, 0.8) !important;
  padding: 2.625rem 1rem !important;
  border: 1px solid rgba(80, 64, 49, 0.5) !important;
  box-shadow: 0 4px 4px 0 rgba(80, 64, 49, 0.16) !important;
  border-radius: 0.5rem !important;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}

.review-form form {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.review-form .wpforms-field-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}
.review-form .wpforms-field,
.review-form .wpforms-submit-container {
  max-width: 600px !important;
  width: 100% !important;
}
.review-form button, .review-form .button--primary, .review-form .page-header__title, .review-form .contact_section .contact__button, .contact_section .review-form .contact__button, .review-form .reviews_section__ratings .reviews_section__ratings__count, .reviews_section__ratings .review-form .reviews_section__ratings__count, .review-form .error-page__code .label, .error-page__code .review-form .label, .review-form .service__price, .review-form .reviews__total_ratings {
  background-color: #f28f0d !important;
  color: #fcfaf8 !important;
  border-radius: 0.25rem !important;
  padding: 0.75rem 1rem !important;
  transition: background-color 0.3s !important;
  width: 100% !important;
}
.review-form button:hover, .review-form .button--primary:hover, .review-form .page-header__title:hover, .review-form .contact_section .contact__button:hover, .contact_section .review-form .contact__button:hover, .review-form .reviews_section__ratings .reviews_section__ratings__count:hover, .reviews_section__ratings .review-form .reviews_section__ratings__count:hover, .review-form .error-page__code .label:hover, .error-page__code .review-form .label:hover, .review-form .service__price:hover, .review-form .reviews__total_ratings:hover {
  background-color: #bb661c;
  color: #fcfaf8;
}
.review-form input,
.review-form textarea {
  max-width: 600px !important;
  width: 100% !important;
  resize: none !important;
}
.review-form input:active, .review-form input:focus,
.review-form textarea:active,
.review-form textarea:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #f28f0d !important;
}
.review-form input[type=range],
.review-form textarea[type=range] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: transparent;
}
.review-form input[type=range]::-webkit-slider-thumb,
.review-form textarea[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  background: #f28f0d !important;
  border-radius: 50%;
  cursor: pointer;
}
.review-form input[type=range]::-moz-range-thumb,
.review-form textarea[type=range]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: #f28f0d !important;
  border-radius: 50%;
  cursor: pointer;
}
.review-form input[type=range]::-ms-thumb,
.review-form textarea[type=range]::-ms-thumb {
  width: 20px;
  height: 20px;
  background: #f28f0d !important;
  border-radius: 50%;
  cursor: pointer;
}

/*# sourceMappingURL=index.css.map*/