.public-social-links {
  align-items: center;
  display: flex;
  gap: 0.25rem;
  justify-content: center;
}

.public-header-social-links {
  align-items: center;
  gap: 0.125rem;
}

.public-social-links a {
  color: inherit;
  text-decoration: none;
}

.public-header-social-links a {
  display: inline-flex;
}

.public-mobile-social-strip {
  background-color: #28292d;
  padding: 2rem 0 0.75rem;
}

.public-mobile-social-links {
  gap: 0.375rem;
}

.public-mobile-social-links a,
.public-mobile-social-links .public-phone-dropdown {
  display: inline-flex;
}

.public-social-button {
  background: transparent;
  border: 0;
  padding: 0;
}

.public-send-pip-button:hover,
.public-send-pip-button:focus {
  background-color: #feb600;
  border-color: #feb600;
  color: #28292d;
}

.public-phone-dropdown {
  cursor: pointer;
}

.public-map {
  height: 600px;
}

.public-map-detail {
  height: 300px;
}

.public-map-popup-img {
  height: auto;
  max-width: 100%;
}

.leaflet-attribution-flag {
  display: none !important;
}

.contact-message {
  min-height: 150px;
}

.career-message {
  height: 100px;
}

.public-success-page {
  min-height: 70vh;
}

.job-application-form-wrap {
  max-width: 1000px;
}

.contact-form-wrap {
  max-width: 1000px;
}

.pip-submission-form-wrap {
  max-width: 1000px;
}

form[data-submitting-form].is-submitting {
  cursor: progress;
  pointer-events: none;
}

form[data-submitting-form] .btn-yellow:disabled {
  background-color: #feb600;
  border-color: transparent;
  color: #28292d;
  opacity: 1;
}

form[data-submitting-form] .spinner-border {
  border: 0.16em solid #28292d;
  border-right-color: transparent;
  margin-right: 0.35rem;
  vertical-align: -0.12em;
}

.first_name_input {
  display: none;
}

.job-application-attachment-preview {
  height: auto;
  max-height: 180px;
  max-width: 240px;
}

.portfolio-detail-container {
  max-width: 1150px;
}

.portfolio-description-wrap {
  margin: 0 auto;
  max-width: 600px;
}

.description-container {
  max-height: 150px;
  overflow: hidden;
  transition: max-height 0.3s ease;
  white-space: pre-line;
}

.description-container.expanded {
  max-height: 1300px;
}

.description-toggle-link {
  background: transparent;
  border: 0;
  border-bottom: 1px dashed gray;
  color: gray;
  cursor: pointer;
  display: none;
  padding: 0;
  user-select: none;
}

.description-toggle-link.is-visible {
  display: inline-block;
}

@media (max-width: 768px) {
  .job-application-form-wrap {
    max-width: 100%;
  }

  .contact-form-wrap {
    max-width: 100%;
  }

  .pip-submission-form-wrap {
    max-width: 100%;
  }
}
