/* =========================================
   CONTACT PAGE
========================================= */

.contact-page__header {
   margin-bottom: 2rem;
}

.contact-page__section {
   margin-bottom: 1.35rem;
}

.contact-page__content {
   margin-bottom: 3.25rem;
}

.contact-page__intro {
   max-width: 1040px;
   margin-bottom: 1.25rem;
   font-size: 1.05rem;
   line-height: 1.7;
}

.contact-alert {
   margin-bottom: 1.25rem;
}

/* =========================================
   FORM PANELS
========================================= */

.contact-form__top,
.contact-form__bottom {
   margin-bottom: 1.25rem;
}

.contact-panel {
   height: 100%;
}

.contact-panel__header {
   margin-bottom: 1rem;
}

.contact-panel__title {
   margin: 0 0 0.65rem;
   font-size: 1.2rem;
   font-style: italic;
   font-weight: 500;
   color: var(--dmafc-color-text);
   line-height: 1.3;
}

.contact-panel__help {
   margin: 0.4rem 0 0;
   color: var(--dmafc-color-text-muted);
   font-size: 14px;
   line-height: 1.5;
}

.contact-form-message {
   min-height: 240px;
}

/* =========================================
   RECAPTCHA
========================================= */

.contact-recaptcha-wrap {
   margin-top: 0.75rem;
   display: flex;
   align-items: center;
   justify-content: flex-start;
   min-height: 100%;
}

/* =========================================
   SUBMIT LAYOUT
========================================= */

.contact-form__submit-row {
   justify-content: flex-end;
   margin-top: 0.75rem;
}

.contact-form__submit-wrap {
   width: 100%;
   max-width: 320px;
}

/* =========================================
   MEETING / LOCATION
========================================= */

.contact-meeting {
   margin-top: 1rem;
   margin-bottom: 2.5rem;
}

.contact-location__link {
   display: block;
   color: inherit;
   text-decoration: none;
   margin-bottom: 1rem;
}

.contact-location__link:hover,
.contact-location__link:focus {
   color: inherit;
   text-decoration: none;
}

.contact-location-card {
   transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.contact-location__link:hover .contact-location-card,
.contact-location__link:focus .contact-location-card {
   transform: translateY(-2px);
   box-shadow: 0 10px 26px rgba(0, 0, 0, 0.07);
}

.contact-location__list {
   list-style: none;
   margin: 0;
   padding: 0;
}

.contact-location__list li {
   color: var(--dmafc-color-text-body);
   font-size: var(--dmafc-copy-size, 15px);
   line-height: 1.6;
}

.contact-location__map {
   border-radius: var(--dmafc-radius-lg, 10px);
   box-shadow: var(--dmafc-shadow-lg, 0 4px 14px rgba(0, 0, 0, 0.06));
}

/* =========================================
   CONTACT CONFIRMATION
========================================= */

.contact-confirmation-page {
   padding-top: var(--dmafc-page-pad-top, 2.5rem);
   padding-bottom: var(--dmafc-page-pad-bottom, 3rem);
}

.contact-confirmation-wrap {
   max-width: 760px;
   margin: 0 auto;
}

.contact-confirmation-header {
   margin-bottom: 1.5rem;
}

.contact-confirmation-header .section-header__title {
   text-align: center;
}

.contact-confirmation-header .section-header__title::after {
   margin-left: auto;
   margin-right: auto;
}

.contact-confirmation-card {
   text-align: center;
}

.contact-confirmation-card__text {
   max-width: 560px;
   margin: 0 auto;
   color: var(--dmafc-color-text-body);
   font-size: 16px;
   line-height: 1.65;
}

.contact-confirmation-card__actions {
   margin-top: 1.5rem;
   display: flex;
   justify-content: center;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {
   .contact-page__content {
      margin-bottom: 2.75rem;
   }

   .contact-form__submit-wrap {
      max-width: none;
   }

   .contact-recaptcha-wrap {
      justify-content: flex-start;
   }
}

@media (max-width: 767px) {
   .contact-page__header {
      margin-bottom: 1.5rem;
   }

   .contact-page__intro {
      margin-bottom: 1.5rem;
      font-size: 1rem;
      line-height: 1.65;
   }

   .contact-form__top,
   .contact-form__bottom {
      margin-bottom: 1rem;
   }

   .contact-panel__title {
      font-size: 1.05rem;
   }

   .contact-form-message {
      min-height: 180px;
   }

   .contact-recaptcha-wrap {
      overflow-x: auto;
      padding-bottom: 0.25rem;
   }

   .contact-location__map {
      height: 420px;
   }

   .contact-confirmation-header {
      margin-bottom: 1.25rem;
   }

   .contact-confirmation-card__text {
      font-size: 15px;
   }

   .contact-confirmation-card__actions .btn-dmafc {
      width: 100%;
   }
}