/*
 * Original Design Specifications
 * Target: > 1800px
 * Test Resolution: 1920 x 1080
 */
:root {
  --page-contact-details-container-flex-direction: column;
  --page-contact-details-columns-flex-direction: row;
  --page-contact-details-columns-gap: 10rem;
  --page-contact-details-column-text-font-size: 2.2rem;
  --page-contact-details-column-address-margin-top: 2rem;
  --page-contact-linkedin-button-margin: 6rem 0;
  --page-contact-form-margin-top: 4rem;
  --page-contact-form-submit-button-offset: 3.2rem;
  --page-contact-details-column-text-align: left;
}

/*
 * 2XL Media Query (1536px)
 * Target: 1799px > 1536px
 * Test Resolution: 1536 x 864
 */
@media screen and (max-width: 1799px) {
  :root {
    --page-contact-details-columns-gap: 8rem;
    --page-contact-details-column-text-font-size: 2rem;
    --page-contact-details-column-address-margin-top: 1.8rem;
    --page-contact-linkedin-button-margin: 5rem 0;
    --page-contact-form-margin-top: 3.5rem;
    --page-contact-form-submit-button-offset: 3rem;
  }
}

/*
 * XL Media Query (1280px)
 * Target: 1535px > 1280px
 * Test Resolution: 1280 x 720
 */
@media screen and (max-width: 1535px) {
  :root {
    --page-contact-details-columns-gap: 6rem;
    --page-contact-details-column-text-font-size: 1.8rem;
    --page-contact-details-column-address-margin-top: 1.6rem;
    --page-contact-linkedin-button-margin: 4.5rem 0;
    --page-contact-form-margin-top: 3rem;
    --page-contact-form-submit-button-offset: 2.8rem;
    --page-contact-details-column-text-align: center;
  }
}

/*
 * L Media Query (1024px)
 * Target: 1279px > 1024px
 * Test Resolution: 1024 x 768
 */
@media screen and (max-width: 1279px) {
  :root {
    --page-contact-details-columns-gap: 3rem;
    --page-contact-details-column-text-font-size: 1.6rem;
    --page-contact-details-column-address-margin-top: 1.4rem;
    --page-contact-linkedin-button-margin: 4rem 0;
    --page-contact-form-margin-top: 2.5rem;
    --page-contact-form-submit-button-offset: 2.4rem;
  }
}

/*
 * M Media Query (768px)
 * Target: 1023px > 768px
 * Test Resolution: 768 x 1024
 */
@media screen and (max-width: 1023px) {
  :root {
    --page-contact-details-columns-gap: 2rem;
  }
}

/*
 * S Media Query (640px)
 * Target: < 767px
 * Test Resolution: 390 x 844
 */
@media screen and (max-width: 767px) {
  :root {
    --page-contact-details-container-flex-direction: column;
    --page-contact-details-columns-flex-direction: column;
    --page-contact-details-columns-gap: 2rem;
    --page-contact-details-column-text-font-size: 1.4rem;
    --page-contact-details-column-address-margin-top: 1.2rem;
    --page-contact-linkedin-button-margin: 3rem 0 3.5rem 0;
    --page-contact-form-submit-button-offset: 1rem;
    --page-contact-details-column-text-align: center;
  }
}

.page-contact-details-container {
  display: flex;
  flex-direction: var(--page-contact-details-container-flex-direction);
  align-items: center;
}

.page-contact-details-columns {
  display: flex;
  flex-direction: var(--page-contact-details-columns-flex-direction);
  gap: var(--page-contact-details-columns-gap);
}

.page-contact-details-column {
  flex: 1 1 0;
  text-align: var(--page-contact-details-column-text-align);
}

.page-contact-details-column-title,
.page-contact-details-column-address {
  font-size: var(--page-contact-details-column-text-font-size);
  line-height: 1.6;
}

.page-contact-details-column-title {
  font-weight: 700;
}

.page-contact-details-column-address:not(:first-child) {
  margin-top: var(--page-contact-details-column-address-margin-top);
}

.page-contact-linkedin-button {
  margin: var(--page-contact-linkedin-button-margin);
}

.page-contact-form {
  position: relative;
}

.page-contact-form:not(:first-child) {
  margin-top: var(--page-contact-form-margin-top);
}

.page-contact-form-submit-button {
  position: absolute;
  bottom: var(--page-contact-form-submit-button-offset);
  right: var(--page-contact-form-submit-button-offset);
}
