.modal-callback {
  font-family: 'SF Pro Display', Arial, sans-serif;
}
.modal-callback .modal-dialog {
  width: calc(100% - 30px);
  max-width: 431px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .modal-callback .modal-dialog {
    width: 98%;
    min-height: calc(100% - 20px);
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
.modal-callback .modal-content {
  max-height: calc(100vh - 56px);
  background: #FFFFFF;
  border: 0;
  border-radius: 8px;
  -webkit-box-shadow: 0 4px 19.5px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 19.5px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .modal-callback .modal-content {
    max-height: calc(100vh - 20px);
  }
}
.modal-callback__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 22px;
  padding: 50px;
  overflow-x: hidden;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .modal-callback__body {
    padding: 42px 20px 28px;
  }
}
@media screen and (max-width: 374.9px) {
  .modal-callback__body {
    padding-right: 16px;
    padding-left: 16px;
  }
}
.modal-callback__close {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.modal-callback__close:focus-visible {
  outline: 2px solid #4AA13C;
  outline-offset: 1px;
}
.modal-callback__close-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 14px;
  height: 14px;
}
.modal-callback__close-icon svg {
  display: block;
  width: 14px;
  height: 14px;
}
.modal-callback__intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 14px;
  width: 100%;
}
.modal-callback__title {
  margin: 0;
  color: #242623;
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.48px;
  text-align: center;
}
@media screen and (max-width: 374.9px) {
  .modal-callback__title {
    font-size: 22px;
  }
}
.modal-callback__text {
  margin: 0;
  padding: 0 10px;
  color: #6D706C;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.32px;
  text-align: center;
}
@media screen and (max-width: 374.9px) {
  .modal-callback__text {
    padding: 0;
    font-size: 15px;
  }
}
.modal-callback .form-modal-callback {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 22px;
  width: 100%;
}
.modal-callback .form-modal-callback__fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  width: 100%;
}
.modal-callback .form-modal-callback__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
.modal-callback .form-modal-callback__control-label,
.modal-callback .form-modal-callback__file-input,
.modal-callback .form-modal-callback__agreement-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.modal-callback .form-modal-callback__input {
  display: block;
  width: 100%;
  height: 52px;
  padding: 10px 14px;
  color: #242623;
  background: #FFFFFF;
  border: 1px solid #E1E1E1;
  border-radius: 3px;
  outline: none;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.28px;
}
.modal-callback .form-modal-callback__input::-webkit-input-placeholder {
  color: #8C8C8C;
  opacity: 1;
}
.modal-callback .form-modal-callback__input::-moz-placeholder {
  color: #8C8C8C;
  opacity: 1;
}
.modal-callback .form-modal-callback__input:-ms-input-placeholder {
  color: #8C8C8C;
  opacity: 1;
}
.modal-callback .form-modal-callback__input::-ms-input-placeholder {
  color: #8C8C8C;
  opacity: 1;
}
.modal-callback .form-modal-callback__input::placeholder {
  color: #8C8C8C;
  opacity: 1;
}
.modal-callback .form-modal-callback__input:focus {
  border-color: #4AA13C;
}
.modal-callback .form-modal-callback__input.error {
  border-color: #D9534F;
}
.modal-callback .form-modal-callback__files {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  min-width: 0;
}
.modal-callback .form-modal-callback__files.active .form-modal-callback__file-label {
  display: none;
}
.modal-callback .form-modal-callback__file-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2px;
  max-width: 100%;
  margin: 0;
  color: #ADADAD;
  font-size: 14px;
  font-weight: 400;
  line-height: 17px;
  letter-spacing: 0.28px;
  cursor: pointer;
}
.modal-callback .form-modal-callback__file-label-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 12px;
          flex: 0 0 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 12px;
  height: 12px;
}
.modal-callback .form-modal-callback__file-label-icon svg {
  display: block;
  width: 12px;
  height: 12px;
}
.modal-callback .form-modal-callback__file-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  width: 100%;
  min-width: 0;
}
.modal-callback .form-modal-callback__file-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  color: #ADADAD;
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.28px;
}
.modal-callback .form-modal-callback__file-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.modal-callback .form-modal-callback__file-remove {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20px;
          flex: 0 0 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  margin-left: auto;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.modal-callback .form-modal-callback__file-remove svg {
  display: block;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
.modal-callback .form-modal-callback__file-remove:focus-visible {
  outline: 2px solid #4AA13C;
  outline-offset: 1px;
}
.modal-callback .form-modal-callback__submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 61px;
  padding: 0 30px;
  color: #FFFFFF;
  background: #4AA13C;
  border: 0;
  border-radius: 8px;
  font-family: inherit;
  font-size: 18px;
  font-weight: 500;
  line-height: 27px;
  text-align: center;
  cursor: pointer;
}
.modal-callback .form-modal-callback__submit:hover,
.modal-callback .form-modal-callback__submit:focus {
  background: #409C31;
}
.modal-callback .form-modal-callback__submit:focus-visible {
  outline: 2px solid #242623;
  outline-offset: 2px;
}
.modal-callback .form-modal-callback__agreement {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
.modal-callback .form-modal-callback__agreement-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  max-width: 100%;
  margin: 0;
  color: #434343;
  font-size: 12px;
  font-weight: 400;
  line-height: 22px;
  white-space: nowrap;
  cursor: pointer;
}
.modal-callback .form-modal-callback__agreement-label a {
  color: #4AA13C;
  text-decoration: none;
}
.modal-callback .form-modal-callback__agreement-label a:hover {
  color: #4AA13C;
  text-decoration: underline;
}
@media screen and (max-width: 374.9px) {
  .modal-callback .form-modal-callback__agreement-label {
    white-space: normal;
  }
}
.modal-callback .form-modal-callback__agreement-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 14px;
          flex: 0 0 14px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 14px;
  height: 14px;
  background: #FFFFFF;
  border: 1px solid #E1E1E1;
}
.modal-callback .form-modal-callback__agreement-check svg {
  display: none;
  width: 9px;
  height: 9px;
  margin: 1px 0 0 1px;
}
.modal-callback .form-modal-callback__agreement-input:checked + .form-modal-callback__agreement-label .form-modal-callback__agreement-check {
  background: #7BB459;
  border-color: #7BB459;
}
.modal-callback .form-modal-callback__agreement-input:checked + .form-modal-callback__agreement-label .form-modal-callback__agreement-check svg {
  display: block;
}
.modal-callback .form-modal-callback label.error {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  width: 100%;
  margin: 4px 0 0;
  color: #D9534F;
  font-size: 12px;
  font-weight: 400;
  line-height: 15px;
  text-align: left;
}
.modal-callback .form-modal-callback__agreement label.error {
  text-align: center;
}
.modal-calculation .modal-dialog {
  max-width: 543px;
}
.modal-portfolio {
  font-family: 'SF Pro Display', Arial, sans-serif;
}
.modal-portfolio .modal-dialog {
  width: calc(100% - 30px);
  max-width: 1197px;
  margin-right: auto;
  margin-left: auto;
}
.modal-portfolio .modal-content {
  height: min(804px, calc(100vh - 56px));
  overflow: hidden;
  background: #1D2020;
  border: 0;
  border-radius: 8px;
}
.modal-portfolio__body {
  position: relative;
  height: 100%;
  padding: 0;
}
.modal-portfolio .portfolio-modal__image {
  position: absolute;
  inset: 0;
  background: center / cover no-repeat;
}
.modal-portfolio .portfolio-modal__info {
  position: absolute;
  z-index: 2;
  bottom: 30px;
  left: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  max-width: calc(100% - 60px);
  padding: 24px;
  color: #FFFFFF;
  background: rgba(0, 0, 0, 0.41);
  border-radius: 8px;
  backdrop-filter: blur(11.3px);
}
.modal-portfolio .portfolio-modal__title {
  margin: 0;
  color: #FFFFFF;
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  letter-spacing: 0;
}
.modal-portfolio .portfolio-modal__description {
  display: none;
  font-size: 14px;
  line-height: 21px;
}
.modal-portfolio .portfolio-modal__description.visible {
  display: block;
}
.modal-portfolio .portfolio-modal__features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 36px;
}
.modal-portfolio .portfolio-modal__feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  font-size: 14px;
  line-height: 21px;
  white-space: nowrap;
}
.modal-portfolio .portfolio-modal__feature-icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20px;
          flex: 0 0 20px;
  width: 20px;
  height: 20px;
}
.modal-portfolio .portfolio-modal__feature-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}
.modal-portfolio .portfolio-modal__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.modal-portfolio .portfolio-modal__link {
  color: #4AA13C;
  font-size: 14px;
  line-height: 21px;
  text-decoration: none !important;
}
.modal-portfolio .portfolio-modal__link[aria-disabled="true"] {
  cursor: default;
}
@media screen and (max-width: 991px) {
  .modal-portfolio .portfolio-modal__features {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
  }
  .modal-portfolio .portfolio-modal__feature {
    white-space: normal;
  }
}
@media screen and (max-width: 767px) {
  .modal-portfolio .modal-dialog {
    width: calc(100% - 20px);
    min-height: calc(100% - 20px);
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .modal-portfolio .modal-content {
    height: 50vh;
  }
  .modal-portfolio .portfolio-modal__info {
    right: 10px;
    bottom: 10px;
    left: 10px;
    max-width: none;
    padding: 18px;
  }
  .modal-portfolio .portfolio-modal__title {
    font-size: 18px;
    line-height: 24px;
  }
}
