.contact-form-panel {
  box-sizing: border-box;
}

.contact-details dl dt, .social-media a {
  text-transform: uppercase;
}

.social-media, .contact-details dl {
  display: flex;
  flex-wrap: wrap;
}

.contact-details dl {
  justify-content: space-between;
}

.main-content > .main h2 {
  font-size: clamp(1.125rem, 1.4vw, 1.45rem);
}

.contact-details dl dt, .contact-details dl dd, .social-media a, .main-content > .main > p {
  font-size: 0.9em;
}

.main-content > .main h2 {
  margin-bottom: 0.6em;
  line-height: 1.25em;
  font-weight: normal;
}

.main-content > .main > p {
  font-weight: normal;
  line-height: 1.6em;
}

.main-content > .main > p {
  margin-bottom: 1.25em;
}

.contact-details dl:last-of-type {
  border-bottom: solid 1px #dddddd;
}

.contact-details dl {
  border-top: solid 1px #dddddd;
}

.main-content > .main h2 {
  margin: 0.4em 0 0.6em;
}
.contact-form-panel {
  margin-top: 1.5em;
  padding: 3em 0 0;
  background: transparent;
  width: 80%;
}
.contact-form-panel .basic-form {
  padding-top: 0;
}
.contact-form-panel.show-on-scroll {
  transform: translate(50px, 80px);
  opacity: 0;
  transition: transform 0.75s ease, opacity 0.75s ease;
}
.contact-form-panel.show-on-scroll.is-visible {
  transform: translate(0, 0);
  opacity: 1;
}
@media screen and (max-width: 960px) {
  .contact-form-panel {
    width: 100%;
  }
}

.contact-details {
  margin-top: 1.5em;
}
.contact-details dl {
  width: 100%;
  padding: 1.1em 0;
  margin: 0;
}
.contact-details dl dt, .contact-details dl dd {
  margin: 0;
}
.contact-details dl dt {
  width: 32%;
  font-weight: bold;
}
.contact-details dl dd {
  width: 68%;
}
.contact-details dl a {
  color: inherit;
}
.contact-details dl a:hover {
  color: #978a41;
}

.social-media {
  gap: 1.25em;
  margin-top: 1.5em;
}
.social-media a {
  font-weight: bold;
  color: #978a41;
}
.social-media a:hover {
  opacity: 0.7;
}
