/* Remove margin between consecutive line/solid components */
.line-component + .line-component,
.solid-component + .solid-component {
  margin-top: 0;
}
.contact-feature {
  padding-top: var(--spacing--2xlarge);
  padding-bottom: var(--spacing--2xlarge);
  background-color: var(--accent-green);
  background-image: url("assets/cube-pattern.png");
  background-size: 100px;
  background-attachment: fixed;
}

@media print, screen and (min-width: 48.0625em) {
  .contact-feature {
    padding-top: var(--spacing--3xlarge);
    padding-bottom: var(--spacing--4xlarge);
  }
}

@media print, screen and (min-width: 48.0625em) {
  .contact-feature .contact-feature-aside {
    display: flex;
    justify-content: flex-end;
  }
}

.contact-feature .button-group {
  list-style: none;
}
@media print, screen and (min-width: 48.0625em) {
  .contact-feature .button-group {
    max-width: 18.75em;
  }
}
.contact-feature .button-group .btn {
  border-color: var(--white);
  font-size: 1rem;
  text-align: center;
  width: 100%;
}
.contact-feature .button-group > li:not(:last-of-type) {
  margin-bottom: var(--spacing--2xsmall);
}
@media print, screen and (min-width: 48.0625em) {
  .contact-feature .button-group {
    margin-top: var(--spacing--medium);
  }
}
.contact-feature .positions {
  margin: 1em 0;
}
.contact-feature p {
  font-size: 1.125rem;
}

.contact-feature h2 {
  margin-bottom: var(--spacing--medium);
  color: var(--white);
  font-size: 1.75rem;
  font-weight: 600;
}
@media print, screen and (min-width: 48.0625em) {
  .contact-feature h2 {
    font-size: 4.5rem;
    margin-bottom: var(--spacing--large);
  }
}

.contact-feature .contact-information {
  color: var(--white);
}
.contact-feature .contact-information h3 {
  margin-bottom: var(--spacing--xsmall);
}
.contact-feature .contact-information a,
.contact-feature .contact-information address {
  color: var(--white);
}
.contact-feature .contact-information .contact-information__contact-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.contact-feature .contact-information .contact-information__contact-list > li {
  margin-bottom: var(--spacing--xsmall);
}
.contact-feature
  .contact-information
  .contact-information__contact-list
  > li:not(:last-of-type) {
  padding-right: 2.1875rem;
}
.contact-feature .contact-information__email,
.contact-feature .contact-information__phone,
.contact-feature .contact-information__fax {
  text-decoration: underline;
}
.contact-feature .contact-information__email:hover,
.contact-feature .contact-information__email:focus,
.contact-feature .contact-information__phone:hover,
.contact-feature .contact-information__phone:focus,
.contact-feature .contact-information__fax:hover,
.contact-feature .contact-information__fax:focus {
  text-decoration: none;
}
.contact-feature .contact-information address {
  font-style: normal;
}
.contact-feature .contact-information__email,
.contact-feature .contact-information__phone,
.contact-feature .contact-information__fax,
.contact-feature .contact-information__address {
  white-space: nowrap;
  position: relative;
  margin-left: 1.5em;
}
.contact-feature .contact-information__email::before,
.contact-feature .contact-information__phone::before,
.contact-feature .contact-information__fax::before,
.contact-feature .contact-information__address::before {
  font-family: var(--font-awesome);
  font-weight: 600;
  padding-right: 0.5em;
  position: absolute;
  right: 100%;
  top: 0.25em;
}
.contact-feature .contact-information__email::before {
  content: "\f0e0";
}
.contact-feature .contact-information__phone::before {
  content: "\f095";
}
.contact-feature .contact-information__fax::before {
  content: "\f1ac";
}
.contact-feature .contact-information__address::before {
  content: "\f279";
}

.contact-feature .contact-information__person {
  margin-top: var(--spacing--medium);
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 48.0625em) {
  .contact-feature .contact-information__person {
    flex-direction: row;
  }
}
.contact-feature .contact-information__photo {
  margin-bottom: var(--spacing--medium);
  max-width: 15.625rem;
  width: 100%;
}
.contact-feature .contact-information__photo .aspect-ratio-frame {
  --aspect-ratio: 0.663;
}
@media print, screen and (min-width: 48.0625em) {
  .contact-feature .contact-information__photo {
    margin-right: var(--spacing--medium);
    margin-bottom: 0;
    max-width: 16.25em;
  }
}

.contact-feature .office-hours-section {
  margin-top: 1.25rem;
}
.contact-feature .office-hours-section .btn {
  background: transparent;
}
.contact-feature .office-hours-section .btn:hover,
.contact-feature .office-hours-section .btn:focus {
  background: var(--secondary--fuchsia);
}
@media print, screen and (min-width: 48.0625em) {
  .contact-feature .office-hours-section {
    margin-top: 1.875em;
  }
}
.contact-information h3.link-arrow-parent a.link-arrow:hover::after {
  color: var(--white);
}
