.gd37-dialog[hidden] { display: none !important; }

body.gd37-dialog-open { overflow: hidden; }

.gd37-dialog {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  font-family: "Noto Sans", Arial, sans-serif;
}

.gd37-dialog__backdrop { position: absolute; inset: 0; background: rgba(10, 55, 48, .68); backdrop-filter: blur(4px); }

.gd37-dialog__panel {
  position: relative;
  width: min(100%, 590px);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  box-sizing: border-box;
  padding: clamp(34px, 5vw, 58px);
  border: 2px solid #FFB72C;
  border-radius: 42px 42px 54px 38px;
  background: #FFF3D8;
  color: #15594F;
  box-shadow: 0 22px 70px rgba(7, 56, 48, .24);
}

.gd37-dialog__close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #15594F;
  font: 300 30px/1 Arial, sans-serif;
  cursor: pointer;
}

.gd37-dialog__kicker { margin: 0 0 12px; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.gd37-dialog__kicker span { display: inline-block; width: 9px; height: 9px; margin-right: 10px; border-radius: 50%; background: #71C43A; }
.gd37-dialog h2 { margin: 0 0 14px; font-family: "Adigiana 2", "Comic Sans MS", cursive; font-size: clamp(34px, 5vw, 48px); line-height: 1; }
.gd37-dialog__intro { margin: 0 0 26px; font-size: 16px; font-weight: 700; line-height: 1.55; color: #557D76; }

.gd37-callback-form__fields,
.gd37-dialog .form-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gd37-dialog .form-wrapper .input-group:last-child { grid-column: 1 / -1; }
.gd37-dialog .form-wrapper p { margin: 0; }
.gd37-callback-field { display: block; }
.gd37-callback-field > span:first-child { display: block; margin: 0 0 7px 16px; font-size: 10px; font-weight: 800; text-transform: uppercase; color: #6E8D87; }
.gd37-callback-field .wpcf7-form-control-wrap { display: block; }
.gd37-callback-field input,
.gd37-dialog .form-wrapper input[type="text"],
.gd37-dialog .form-wrapper input[type="tel"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 62px;
  padding: 0 18px;
  border: 2px solid #D9D9CF;
  border-radius: 20px;
  background: #FFFDF8;
  color: #15594F;
  font: 700 15px/1.2 "Noto Sans", Arial, sans-serif;
}
.gd37-callback-field input::placeholder,
.gd37-dialog .form-wrapper input::placeholder { color: #B4C3C0; }

.gd37-callback-form__consent,
.gd37-dialog .form-agreement { margin-top: 20px; color: #557D76; font-size: 10px; font-weight: 700; line-height: 1.45; }
.gd37-dialog .form-agreement p { margin: 0; }
.gd37-callback-form__consent .wpcf7-list-item { margin: 0; }
.gd37-callback-form__consent label,
.gd37-dialog .form-agreement label { display: flex; align-items: flex-start; gap: 10px; }
.gd37-callback-form__consent input[type="checkbox"],
.gd37-dialog .form-agreement input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; margin: 0; accent-color: #71C43A; }
.gd37-callback-form__consent a,
.gd37-dialog .form-agreement a { color: inherit; text-decoration: underline; }

.gd37-callback-form__submit { position: relative; margin-top: 24px; }
.gd37-callback-form__submit input[type="submit"],
.gd37-dialog .form-wrapper input[type="submit"] {
  width: 100%;
  min-height: 66px;
  padding: 0 58px 0 28px;
  border: 0;
  border-radius: 50% / 40%;
  background: #FF7A1A;
  color: #fff;
  font: 800 13px/1 "Noto Sans", Arial, sans-serif;
  text-transform: uppercase;
  cursor: pointer;
}
.gd37-callback-form__submit > span:last-child { position: absolute; top: 50%; right: 27px; transform: translateY(-55%); color: #fff; font-size: 31px; pointer-events: none; }
.gd37-dialog .wpcf7-spinner { display: none; }
.gd37-dialog .wpcf7-not-valid-tip { margin: 5px 0 0 12px; font-size: 10px; }
.gd37-dialog .wpcf7-response-output { margin: 14px 0 0 !important; padding: 9px 12px !important; border-radius: 12px; font-size: 11px; }
.gd37-dialog .wpa-test-msg,
.gd37-dialog .wpa_hidden_field,
.gd37-dialog .wpa-test-message,
.gd37-dialog .altEmail_container,
.gd37-dialog [class*="wpa_"],
.gd37-dialog [class*="wpa-"] { display: none !important; }

.gd37-dialog__panel--thanks { width: min(100%, 490px); text-align: center; }
.gd37-dialog__success { display: grid; place-items: center; width: 76px; height: 76px; margin: 0 auto 20px; border-radius: 50%; background: #71C43A; color: #fff; font-size: 42px; }
.gd37-dialog__panel--thanks p { margin: 0 auto 25px; max-width: 350px; color: #557D76; font-size: 16px; font-weight: 700; line-height: 1.55; }
.gd37-dialog__done { min-width: 190px; min-height: 54px; border: 0; border-radius: 28px; background: #FF7A1A; color: #fff; font: 800 13px/1 "Noto Sans", Arial, sans-serif; text-transform: uppercase; cursor: pointer; }

.gd37-dialog--video { padding: 28px; }
.gd37-dialog__panel--video {
  width: min(100%, 960px);
  padding: 0;
  overflow: hidden;
  border-color: #fff;
  border-radius: 28px;
  background: #0B2622;
}
.gd37-dialog__panel--video .gd37-dialog__close { z-index: 2; box-shadow: 0 5px 18px rgba(0, 0, 0, .2); }
.gd37-dialog__panel--video video { display: block; width: 100%; height: auto; max-height: calc(100vh - 60px); background: #0B2622; }

/* One optical centre for arrows in every button on the page. */
.gd37-button > img,
.gd37-big-home__cta > span[aria-hidden="true"],
.gd37-group-card__button > span[aria-hidden="true"],
.gd37-health-programs__cta > span[aria-hidden="true"],
.gd37-program-more__cta > span[aria-hidden="true"],
.gd37-footer-project__arrow,
.gd37-footer-contact__button > b,
.gd37-footer-doc > b,
.gd37-news__all > span {
  align-self: center;
  flex: 0 0 auto;
  line-height: 1;
  vertical-align: middle;
  transform: translateY(-1px);
}
.gd37-button > img { display: block; transform: none; }
.gd37-footer-doc > b { display: grid; place-items: center; margin: 0; }

@media (max-width: 620px) {
  .gd37-dialog { padding: 14px; }
  .gd37-dialog__panel { max-height: calc(100vh - 28px); padding: 44px 20px 28px; border-radius: 30px; }
  .gd37-dialog__close { top: 10px; right: 12px; }
  .gd37-callback-form__fields,
  .gd37-dialog .form-wrapper { grid-template-columns: 1fr; gap: 13px; }
  .gd37-dialog__intro { font-size: 14px; }
  .gd37-dialog--video { padding: 10px; }
  .gd37-dialog__panel--video { border-radius: 18px; }
}
