.container {
  max-width: var(--container-width);
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
.container.--large {
  max-width: calc(1080px + 15px + 15px);
}
.container.--medium {
  max-width: calc(980px + 30px);
}
.container.--small {
  max-width: calc(780px + 30px);
}
.--ibm {
  font-family: "IBM Plex Serif";
}
h1,
.h1 {
  display: block;
  font-family: "IBM Plex Serif";
  font-size: 70px;
  font-style: italic;
  font-weight: 400;
  line-height: 70px; /* 100% */
}
h2,
.h2 {
  display: block;
  font-family: "IBM Plex Serif";
  font-size: 50px;
  font-style: italic;
  font-weight: 400;
  line-height: 55px; /* 110% */
}
h1 span,
.h1 span,
h2 span,
.h2 span {
  color: #bf9b47;
}
h3,
.h3 {
  display: block;
  font-size: 30px;
  font-weight: 500;
  line-height: 35px; /* 116.667% */
}
h4,
.h4 {
  display: block;
  color: #000;
  font-size: 25px;
  font-weight: 600;
  line-height: 35px; /* 140% */
}
h5,
.h5 {
  display: block;
  font-size: 20px;
  font-weight: 600;
}

.--fs-normal {
  font-style: normal;
}

.--text-medium {
  font-size: 17px;
  font-weight: 500;
  line-height: 22px; /* 129.412% */
}
.--text-small {
  font-size: 16px;
  font-weight: 500;
}

h6,
.h6 {
}
p {
}
.--relative {
  position: relative;
}
a {
  display: inline-block;
}
img {
  display: block;
  max-width: 100%;
}

section.section {
  padding: 45px 0;
  position: relative;
}
section.section.--first {
  padding-top: 88px;
}
section.section.--p-100 {
  padding: 100px 0;
}

.--mt-5 {
  margin-top: 5px;
}

.--mt-10 {
  margin-top: 10px;
}
.--mt-12 {
  margin-top: 12px;
}

.--mt-15 {
  margin-top: 15px;
}

.--mt-20 {
  margin-top: 20px;
}

.--mt-25 {
  margin-top: 25px;
}

.--mt-30 {
  margin-top: 30px;
}

.--mt-35 {
  margin-top: 35px;
}

.--mt-40 {
  margin-top: 40px;
}

.--mt-45 {
  margin-top: 45px;
}

.--mt-50 {
  margin-top: 50px;
}
.--mt-60 {
  margin-top: 60px;
}
.--mt-100 {
  margin-top: 100px;
}
.--pt-70 {
  padding-top: 70px !important;
}
.--pb-70 {
  padding-bottom: 70px !important;
}
.--pb-100 {
  padding-bottom: 100px !important;
}
.db {
  display: block;
}
.dib {
  display: inline-block;
}
.df {
  display: flex;
}
.--aic {
  align-items: center;
}
.--jcsb {
  justify-content: space-between;
}
.--jcc {
  justify-content: center;
}
.--aifs {
  align-items: flex-start;
}
.--fdc {
  flex-direction: column;
}
.--fwrap {
  flex-wrap: wrap;
}
.dg {
  display: grid;
}
.--gtc-2 {
  grid-template-columns: repeat(2, 1fr);
}
.--gtc-3 {
  grid-template-columns: repeat(3, 1fr);
}
.--gtc-4 {
  grid-template-columns: repeat(4, 1fr);
}
.--gtc-5 {
  grid-template-columns: repeat(5, 1fr);
}
.--gtc-6 {
  grid-template-columns: repeat(6, 1fr);
}
.--gap-5 {
  gap: 5px;
}
.--gap-10 {
  gap: 10px;
}
.--gap-15 {
  gap: 15px;
}
.--gap-20 {
  gap: 20px;
}
.--gap-25 {
  gap: 25px;
}
.--gap-30 {
  gap: 30px;
}
.--gap-35 {
  gap: 35px;
}
.--gap-40 {
  gap: 40px;
}
.--gap-45 {
  gap: 45px;
}
.--gap-50 {
  gap: 50px;
}

.--fz-15 {
  font-size: 15px;
}
.--fz-16 {
  font-size: 16px;
}
.--fz-17 {
  font-size: 16px;
}
.--fz-18 {
  font-size: 18px;
}
.--fz-20 {
  font-size: 20px;
}
.--fz-50 {
  font-size: 50px;
}
.--fw-400 {
  font-weight: 400;
}
.--fw-500 {
  font-weight: 500;
}
.--fw-600 {
  font-weight: 600;
}
.--fw-700 {
  font-weight: 700;
}

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

.clear-list {
  list-style: none;
}
.--color-white {
  color: #fff;
}
.--color-black {
  color: #3e3d41;
}
.--color-accent {
  color: #bf9b47;
}
.--color-grey {
  color: rgba(255, 255, 255, 0.7);
}
.--color-grey-2 {
  color: #848287;
}

.--br-10 {
  border-radius: 10px;
}
.--br-15 {
  border-radius: 15px;
}
button,
input,textarea {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  background: none;
  box-shadow: none;
  font-family: var(--font-main);
  outline: none;
}
select {
  outline: none;
}
button {
  cursor: pointer;
}
.button {
  padding: 14px 20px;
  border-radius: 30px;
  background: #bf9b47;
  color: #fff;
  font-size: 17px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  white-space: nowrap;
  text-align: center;
  transition: background 0.3s;
}
.button:hover {
  background: #dbba6c;
}
.button.--big {
  padding: 20px 25px;
}
.button.--medium {
  padding: 10px 15px;
}
.button.--small {
  padding: 8px 15px;
}
.button.--shadow {
  box-shadow: 0px 10px 20px 0px rgba(191, 155, 71, 0.2);
  transition: background 0.3s, box-shadow 0.3s;
}
.button.--shadow:hover {
  box-shadow: 0px 10px 20px 0px rgba(219, 186, 108, 0.2);
}
.button.--full {
  width: 100%;
  text-align: center;
}
.button.--outline {
  border: 2px solid #bf9b47;
  color: #fff;
  background: none;
}
.button.--outline.--white {
  color: #000;
}
.button.--outline:hover {
  background: #bf9b47;
}
.button.--black {
  background: #302f32;
  color: #fff;
}
.link {
  color: #bf9b47;
}
.link:hover {
  text-decoration: underline;
}
.link-wicon {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #fff;
}
.link-wicon.--black {
  color: #3e3d41;
}
.link-wicon.--black img {
  filter: invert(1);
}
.link-wicon.--gold {
  color: #3e3d41;
}
.link-wicon.--gold img {
  filter: brightness(0) saturate(100%) invert(76%) sepia(94%) saturate(392%) hue-rotate(334deg) brightness(81%) contrast(81%);
}
.link-wicon img {
  max-width: 26px;
  max-height: 26px;
}
.link-wicon.--medium img {
  max-width: 20px;
  max-height: 20px;
}
.link-wicon.--big {
  gap: 7px;
  font-size: 20px;
}
.link-wicon.--big img {
  width: 39px;
  height: 39px;
}
ul.list li {
  position: relative;
  padding-left: 17px;
}
ul.list li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #bf9b47;
}
ul.list.--marker-center li:before {
  top: calc(50% - 5px);
}
ul.list.--white li:before {
  background: #fff;
}
ul.list.--lighter li:before {
  background: #dcc99d;
}
.box {
  border-radius: 15px;
  background-color: #faf7f3;
  padding: 60px;
}
.box.--medium {
  padding: 40px;
}

.box.--dark {
  background-color: #302f32;
  color: #fff;
}
.box.--dark-light {
  background-color: #434244;
}
.box.--price {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 50px;
  padding-bottom: 50px;
}
.box.--small {
  padding: 20px 30px 30px;
}

.box.--decor-1 {
  background-image: url("data:image/svg+xml,%3Csvg width='221' height='222' viewBox='0 0 221 222' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='242.5' cy='-20.5' r='242' stroke='%23434245'/%3E%3Ccircle cx='239.5' cy='-20.5' r='173' stroke='%23434245'/%3E%3Ccircle cx='242.5' cy='-20.5' r='107' stroke='%23434245'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: top right;
}
.box.--decor-2 {
  background-image: url("data:image/svg+xml,%3Csvg width='179' height='397' viewBox='0 0 179 397' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='242.5' cy='207.5' r='242' stroke='%23434245'/%3E%3Ccircle cx='239.5' cy='207.5' r='173' stroke='%23434245'/%3E%3Ccircle cx='242.5' cy='207.5' r='107' stroke='%23434245'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: right 50%;
}

.table-list li {
  padding: 20px 0;
  border-bottom: 1px solid #d9d9d9;
}

.nums-list {
  counter-reset: list-counter;
}
.nums-list li {
  counter-increment: list-counter;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid #434244;
}
.nums-list li:before {
  content: "0" counter(list-counter);
  display: block;
  color: #bf9b47;
  font-family: "IBM Plex Serif";
  font-size: 50px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.label {
  color: #3e3d41;
  font-size: 16px;
  font-weight: 500;
  border-radius: 20px;
  background: #faf7f3;
  padding: 8px 15px;
  transition: all 0.3s;
}
.label.--black {
  background: #434244;
  color: #fff;
}
.label:hover,
.label.--active {
  background: #dbba6c;
  color: #fff;
}

.icon-button {
  display: flex;
  border-radius: 15px;
  background: #faf7f3;
  padding: 27px 20px;
  gap: 10px;

  color: #3e3d41;
  font-size: 17px;
  font-weight: 600;
  line-height: 22px; /* 129.412% */
}

.icon-button__icon {
  flex: 0 0 40px;
}

.icon-button__icon img {
  max-width: 100%;
  max-height: 100%;
}
.icon-button__text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-grow: 1;
}
.icon-button__text:after {
  content: "";
  display: block;
  background: center / cover
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M7.99989 18L6.66655 18C6.40922 18 6.17455 17.8513 6.06389 17.6187C5.95322 17.386 5.98722 17.1107 6.15055 16.9107L11.8052 10L6.15056 3.08867C5.98722 2.88933 5.95389 2.614 6.06389 2.38067C6.17389 2.14733 6.40922 2 6.66656 2L7.99989 2C8.19989 2 8.38922 2.09 8.51589 2.24467L14.5159 9.578C14.7166 9.824 14.7166 10.1767 14.5159 10.4227L8.51589 17.756C8.38922 17.91 8.19989 18 7.99989 18Z' fill='%233E3D41'/%3E%3C/svg%3E");
  width: 20px;
  height: 20px;
  transition: transform 0.3s;
}

.icon-button__text:hover:after {
  transform: translateX(3px);
}

.input-wrap {
  margin: 20px 0;
}

.input-text {
  border-radius: 30px;
  border: 1px solid #7a7a7a;
  background: #434244;
  padding: 13px 15px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  width: 100%;
}

.input-name {
  font-size: 17px;
  font-weight: 500;
  margin-bottom: 10px;
}

.input-subtext {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 500;
}

.reviews-wapper {
  position: relative;
}
.reviews-img {
  position: relative;
  z-index: 0;
}
.reviews-img img {
  position: relative;
  z-index: 0;
  max-width: 100%;
}
.reviews-overlay {
  position: absolute;
  background: linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, 0) 100%);

  height: 420px;
  width: 100%;
  z-index: 1;
  bottom: 0;
  left: 0;
}

.reviews-block {
  margin-top: -250px;
  position: relative;
  z-index: 1;
}

.reviews-block__title {
  max-width: 757px;
  margin-left: auto;
  margin-right: auto;
}
