/*
| ------------------------------------------
| Apply Drawer — slides from right (desktop) / bottom (mobile)
| ------------------------------------------
*/
.ApplyDrawer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
}
.ApplyDrawer--open {
  pointer-events: all;
}
.ApplyDrawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.ApplyDrawer--open .ApplyDrawer__overlay {
  opacity: 1;
}
.ApplyDrawer__panel {
  position: absolute;
  background: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
}
@media (min-width: 768px) {
  .ApplyDrawer__panel {
    top: 30px;
    right: 0;
    bottom: auto;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    max-height: calc(100vh - 30px);
    width: min(520px, 50vw);
    border-radius: 1rem 0 0 1rem;
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    transition: -webkit-transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .ApplyDrawer--open .ApplyDrawer__panel {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
}
@media (max-width: 767px) {
  .ApplyDrawer__panel {
    left: 0;
    right: 0;
    bottom: 0;
    max-height: 90vh;
    border-radius: 16px 16px 0 0;
    -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
            transform: translateY(100%);
    -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    transition: -webkit-transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .ApplyDrawer--open .ApplyDrawer__panel {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
  }
}
.ApplyDrawer--modal .ApplyDrawer__panel {
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  width: 90vw;
  max-width: 780px;
  max-height: 90vh;
  border-radius: 1.6rem;
  -webkit-transform: translate(-50%, -48%) scale(0.97);
      -ms-transform: translate(-50%, -48%) scale(0.97);
          transform: translate(-50%, -48%) scale(0.97);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 0.3s ease, -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (max-width: 767px) {
  .ApplyDrawer--modal .ApplyDrawer__panel {
    width: 92vw;
    border-radius: 1.2rem;
  }
}
.ApplyDrawer--modal.ApplyDrawer--open .ApplyDrawer__panel {
  -webkit-transform: translate(-50%, -50%) scale(1);
      -ms-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}
.ApplyDrawer__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  padding: 2rem 2.4rem 1.6rem;
  border-bottom: 1px solid #F1F1F1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.ApplyDrawer__job-title {
  font-size: 1.8rem;
  font-weight: 600;
  color: #1C1C1E;
  line-height: 1.3;
}
.ApplyDrawer__close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.2rem 0.4rem;
  color: #808285;
  font-size: 2rem;
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.ApplyDrawer__close:hover {
  color: #1C1C1E;
}
.ApplyDrawer__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: auto;
  padding: 2.4rem;
  -webkit-overflow-scrolling: touch;
}
.ApplyDrawer__multi-form {
  display: none;
}
.ApplyDrawer__success {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  padding: 4rem 2rem;
  gap: 1.6rem;
  height: 100%;
}
.ApplyDrawer__success-icon {
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background: #575757;
  color: white;
  font-size: 3rem;
  line-height: 6rem;
}
.ApplyDrawer__success-title {
  font-size: 2.4rem;
  font-weight: 700;
  color: #1C1C1E;
}
.ApplyDrawer__success-message {
  font-size: 1.8rem;
  color: #616161;
  line-height: 1.6;
  max-width: 36rem;
}

.ApplyForm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.ApplyForm[hidden] {
  display: none;
}
.ApplyForm__fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
/* Address group: stack vertically by default; only pair city + state when
   both are present (using :has()). Narrow drawer width makes broader inline
   pairing of postal-code / address-line cramped, and which subset Appcast
   returns varies job to job. */
.ApplyForm__fieldset--address > .ApplyForm__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.ApplyForm__fieldset--address .ApplyForm__info {
  grid-column: 1 / -1;
  margin-bottom: -0.4rem;
}
.ApplyForm__fieldset--address .ApplyForm__field,
.ApplyForm__fieldset--address .ApplyForm__field--grow,
.ApplyForm__fieldset--address .ApplyForm__field--shrink,
.ApplyForm__fieldset--address .ApplyForm__field--state {
  flex: unset;
  min-width: 0;
  width: auto;
  grid-column: 1 / -1;
}
.ApplyForm__fieldset--address:has(.ApplyForm__field--grow):has(.ApplyForm__field--state) .ApplyForm__field--grow,
.ApplyForm__fieldset--address:has(.ApplyForm__field--grow):has(.ApplyForm__field--state) .ApplyForm__field--state {
  grid-column: span 1;
}
/* .ApplyInline (variant f, desktop-width) can afford narrower State +
   Postal Code fields sharing one row — unlike the narrow drawer above,
   which keeps every address field full-width except city+state. */
.ApplyInline .ApplyForm__fieldset--address > .ApplyForm__row {
  grid-template-columns: repeat(4, 1fr);
}
.ApplyInline .ApplyForm__fieldset--address .ApplyForm__field--state,
.ApplyInline .ApplyForm__fieldset--address .ApplyForm__field--shrink {
  grid-column: span 1;
}
.ApplyForm__legend {
  display: block;
  font-size: 1.5rem;
  font-weight: 600;
  color: #616161;
  margin-bottom: 1rem;
  width: 100%;
}
.ApplyForm__required {
  color: #C0392B;
  white-space: nowrap;
}
.ApplyForm__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.ApplyForm__row .ApplyForm__field {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 12rem;
}
.ApplyForm__field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.ApplyForm__field--grow {
  -webkit-box-flex: 2;
      -ms-flex: 2;
          flex: 2;
}
/* Date fields don't need to stretch full-width like text inputs — the
   native picker UI has a fixed intrinsic size regardless of box width. */
.ApplyForm__field:has(> .ApplyForm__input[type="date"]) {
  max-width: 22rem;
}
.ApplyForm__field--shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 10rem;
          flex: 0 0 10rem;
}
.ApplyForm__label {
  font-size: 1.5rem;
  font-weight: 600;
  color: #616161;
}
.ApplyForm__input, .ApplyForm__select, .ApplyForm__textarea {
  width: 100%;
  padding: 1rem 1.4rem;
  font-size: 1.5rem;
  font-family: var(--primary-font);
  color: #1C1C1E;
  background: #F9FAFB;
  border: 1.5px solid #E2E5EA;
  border-radius: 0.8rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
}
.ApplyForm__input[type="email"],
.ApplyForm__input[type="tel"] {
  padding-left: 3.6rem;
  background-repeat: no-repeat;
  background-position: left 1.2rem center;
  background-size: 1.6rem;
}
.ApplyForm__input[type="email"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M14.95 3.684L8.637 8.912C8.45761 9.06063 8.23196 9.14196 7.999 9.14196C7.76604 9.14196 7.54039 9.06063 7.361 8.912L1.051 3.684C1.01714 3.78591 0.999922 3.89261 1 4V12C1 12.2652 1.10536 12.5196 1.29289 12.7071C1.48043 12.8946 1.73478 13 2 13H14C14.2652 13 14.5196 12.8946 14.7071 12.7071C14.8946 12.5196 15 12.2652 15 12V4C15.0004 3.89267 14.9835 3.78597 14.95 3.684ZM2 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V12C16 12.5304 15.7893 13.0391 15.4142 13.4142C15.0391 13.7893 14.5304 14 14 14H2C1.46957 14 0.960859 13.7893 0.585786 13.4142C0.210714 13.0391 0 12.5304 0 12V4C0 3.46957 0.210714 2.96086 0.585786 2.58579C0.960859 2.21071 1.46957 2 2 2ZM1.79 3L7.366 7.603C7.54459 7.7505 7.76884 7.83144 8.00046 7.83199C8.23209 7.83254 8.45672 7.75266 8.636 7.606L14.268 3H1.79Z' fill='%23808285'/%3E%3C/svg%3E");
}
.ApplyForm__input[type="tel"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23808285' d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
}
.ApplyForm__input:focus, .ApplyForm__select:focus, .ApplyForm__textarea:focus {
  outline: none;
  border-color: #005CCC;
  -webkit-box-shadow: 0 0 0 3px rgba(0, 92, 204, 0.12);
          box-shadow: 0 0 0 3px rgba(0, 92, 204, 0.12);
  background: white;
}
.ApplyForm__input::-webkit-input-placeholder, .ApplyForm__select::-webkit-input-placeholder, .ApplyForm__textarea::-webkit-input-placeholder {
  color: #808285;
}
.ApplyForm__input::-moz-placeholder, .ApplyForm__select::-moz-placeholder, .ApplyForm__textarea::-moz-placeholder {
  color: #808285;
}
.ApplyForm__input:-ms-input-placeholder, .ApplyForm__select:-ms-input-placeholder, .ApplyForm__textarea:-ms-input-placeholder {
  color: #808285;
}
.ApplyForm__input::-ms-input-placeholder, .ApplyForm__select::-ms-input-placeholder, .ApplyForm__textarea::-ms-input-placeholder {
  color: #808285;
}
.ApplyForm__input::placeholder, .ApplyForm__select::placeholder, .ApplyForm__textarea::placeholder {
  color: #808285;
}
.ApplyForm__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23808285' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
  background-color: #F9FAFB;
  padding-right: 3.2rem;
  cursor: pointer;
}
.ApplyForm__textarea {
  resize: vertical;
  min-height: 12rem;
}
.ApplyForm__file {
  width: 100%;
  padding: 0.8rem 1.2rem;
  font-size: 1.4rem;
  background: #F9FAFB;
  border: 1.5px dashed #CBD0D8;
  border-radius: 0.8rem;
  cursor: pointer;
}
.ApplyForm__file:focus {
  outline: none;
  border-color: #005CCC;
}
.ApplyForm__fieldset--radio .ApplyForm__legend {
  margin-bottom: 0.6rem;
}
.ApplyForm__choices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0.6rem 2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.ApplyForm__choice-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  font-size: 1.5rem;
  font-weight: 400;
  color: #1C1C1E;
  cursor: pointer;
}
.ApplyForm__choice-input {
  width: 1.8rem;
  height: 1.8rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  accent-color: #005CCC;
  cursor: pointer;
}

/* Yes/No groups use standard radio buttons but with extra spacing between
   options so they feel more like the screening questions on the client's form. */
.ApplyForm__fieldset--yesno .ApplyForm__choices {
  gap: 0.8rem 3.6rem;
}
.ApplyForm__error {
  font-size: 1.4rem;
  color: #C0392B;
  background: #FDF2F2;
  border: 1px solid #F5C6CB;
  border-radius: 0.6rem;
  padding: 1rem 1.4rem;
}
.ApplyForm__footer {
  margin-top: 0.4rem;
  padding-top: 2rem;
  border-top: 1px solid #F1F1F1;
}
.ApplyForm__submit {
  width: 100%;
  padding: 1.4rem 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  font-family: var(--primary-font);
  border-radius: var(--button-radius);
  cursor: pointer;
  color: white;
  background: #005CCC;
  border: none;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.ApplyForm__submit:hover,
.ApplyForm__submit:focus {
  background: #004B9B;
}
.ApplyForm__disclaimer {
  margin-top: 1.2rem;
  font-size: 1.2rem;
  color: #808285;
  line-height: 1.5;
}
.ApplyForm__disclaimer a {
  color: #1C1C1E;
  text-decoration: underline;
}

.ApplyForm--multi .ApplyForm__step {
  display: none;
}
.ApplyForm--multi .ApplyForm__step--active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
/* Multi-step questions container holds the fieldsets/fields directly; mirror
   the form-level gap so radio fieldsets don't collapse against the field
   above them. */
.ApplyForm__questions {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.ApplyForm--multi .ApplyForm__step--exit-left {
  -webkit-animation: stepExitLeft 0.25s ease forwards;
          animation: stepExitLeft 0.25s ease forwards;
}
.ApplyForm--multi .ApplyForm__step--exit-right {
  -webkit-animation: stepExitRight 0.25s ease forwards;
          animation: stepExitRight 0.25s ease forwards;
}
.ApplyForm--multi .ApplyForm__step--enter-left {
  -webkit-animation: stepEnterLeft 0.25s ease forwards;
          animation: stepEnterLeft 0.25s ease forwards;
}
.ApplyForm--multi .ApplyForm__step--enter-right {
  -webkit-animation: stepEnterRight 0.25s ease forwards;
          animation: stepEnterRight 0.25s ease forwards;
}
.ApplyForm--multi .ApplyForm__progress {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
  margin-bottom: 0.4rem;
}
.ApplyForm--multi .ApplyForm__progress-track {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 0.8rem;
  background: #E2E5EA;
  border-radius: 99rem;
  overflow: hidden;
}
.ApplyForm--multi .ApplyForm__progress-fill {
  height: 100%;
  background: #005CCC;
  border-radius: 99rem;
  -webkit-transition: width 0.35s ease;
  transition: width 0.35s ease;
  width: 33%;
}
.ApplyForm--multi .ApplyForm__progress-label {
  font-size: 1.4rem;
  font-weight: 600;
  color: #616161;
  white-space: nowrap;
  margin: 0;
}
.ApplyForm--multi .ApplyForm__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.2rem;
}
/* No Back button on this step (e.g. step 1) — Next/Submit shouldn't stretch
   to fill the row alone, so it's pinned to half width, right-aligned. */
.ApplyForm--multi .ApplyForm__nav--single .ApplyForm__next,
.ApplyForm--multi .ApplyForm__nav--single .ApplyForm__submit {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  margin-left: auto;
}
.ApplyForm--multi .ApplyForm__prev,
.ApplyForm--multi .ApplyForm__next,
.ApplyForm--multi .ApplyForm__submit {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.6rem;
  padding: 1.4rem 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  font-family: var(--primary-font);
  border-radius: var(--button-radius);
  cursor: pointer;
  -webkit-transition: background 0.2s ease, border-color 0.2s ease;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.ApplyForm--multi .ApplyForm__nav-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.ApplyForm--multi .ApplyForm__prev {
  color: #1C1C1E;
  background: white;
  border: 1.5px solid #E2E5EA;
}
.ApplyForm--multi .ApplyForm__prev:hover,
.ApplyForm--multi .ApplyForm__prev:focus {
  background: #F9FAFB;
  border-color: #CBD0D8;
}
.ApplyForm--multi .ApplyForm__next,
.ApplyForm--multi .ApplyForm__submit {
  color: white;
  background: #005CCC;
  border: none;
}
.ApplyForm--multi .ApplyForm__next:hover,
.ApplyForm--multi .ApplyForm__next:focus,
.ApplyForm--multi .ApplyForm__submit:hover,
.ApplyForm--multi .ApplyForm__submit:focus {
  background: #004B9B;
}

@-webkit-keyframes stepExitLeft {
  to {
    opacity: 0;
    -webkit-transform: translateX(-2rem);
            transform: translateX(-2rem);
  }
}

@keyframes stepExitLeft {
  to {
    opacity: 0;
    -webkit-transform: translateX(-2rem);
            transform: translateX(-2rem);
  }
}
@-webkit-keyframes stepExitRight {
  to {
    opacity: 0;
    -webkit-transform: translateX(2rem);
            transform: translateX(2rem);
  }
}
@keyframes stepExitRight {
  to {
    opacity: 0;
    -webkit-transform: translateX(2rem);
            transform: translateX(2rem);
  }
}
@-webkit-keyframes stepEnterLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(2rem);
            transform: translateX(2rem);
  }
}
@keyframes stepEnterLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(2rem);
            transform: translateX(2rem);
  }
}
@-webkit-keyframes stepEnterRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(-2rem);
            transform: translateX(-2rem);
  }
}
@keyframes stepEnterRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(-2rem);
            transform: translateX(-2rem);
  }
}
.ApplyDrawer__body .gform_wrapper fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
.ApplyDrawer__body .gform_wrapper fieldset legend {
  display: none;
}
.ApplyDrawer__body .gform_wrapper .gfield_label {
  display: block;
  font-size: 1.3rem;
  font-weight: 600;
  color: #616161;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin-bottom: 0.6rem;
}
.ApplyDrawer__body .gform_wrapper .gform-field-label--type-sub {
  font-size: 1.1rem;
  font-weight: 500;
  color: #808285;
  text-transform: none;
  letter-spacing: 0;
  margin-top: 0.4rem;
}
.ApplyDrawer__body .gform_wrapper input[type=text],
.ApplyDrawer__body .gform_wrapper input[type=email],
.ApplyDrawer__body .gform_wrapper input[type=tel],
.ApplyDrawer__body .gform_wrapper input[type=number],
.ApplyDrawer__body .gform_wrapper input[type=url],
.ApplyDrawer__body .gform_wrapper select,
.ApplyDrawer__body .gform_wrapper textarea {
  width: 100%;
  padding: 1rem 1.4rem;
  font-size: 1.5rem;
  font-family: var(--primary-font);
  color: #1C1C1E;
  background: #F9FAFB;
  border: 1.5px solid #E2E5EA;
  border-radius: 0.8rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
}
.ApplyDrawer__body .gform_wrapper input[type=text]:focus,
.ApplyDrawer__body .gform_wrapper input[type=email]:focus,
.ApplyDrawer__body .gform_wrapper input[type=tel]:focus,
.ApplyDrawer__body .gform_wrapper input[type=number]:focus,
.ApplyDrawer__body .gform_wrapper input[type=url]:focus,
.ApplyDrawer__body .gform_wrapper select:focus,
.ApplyDrawer__body .gform_wrapper textarea:focus {
  outline: none;
  border-color: #005CCC;
  -webkit-box-shadow: 0 0 0 3px rgba(0, 92, 204, 0.12);
          box-shadow: 0 0 0 3px rgba(0, 92, 204, 0.12);
  background: white;
}
.ApplyDrawer__body .gform_wrapper input[type=text]::-webkit-input-placeholder, .ApplyDrawer__body .gform_wrapper input[type=email]::-webkit-input-placeholder, .ApplyDrawer__body .gform_wrapper input[type=tel]::-webkit-input-placeholder, .ApplyDrawer__body .gform_wrapper input[type=number]::-webkit-input-placeholder, .ApplyDrawer__body .gform_wrapper input[type=url]::-webkit-input-placeholder, .ApplyDrawer__body .gform_wrapper select::-webkit-input-placeholder, .ApplyDrawer__body .gform_wrapper textarea::-webkit-input-placeholder {
  color: #808285;
}
.ApplyDrawer__body .gform_wrapper input[type=text]::-moz-placeholder, .ApplyDrawer__body .gform_wrapper input[type=email]::-moz-placeholder, .ApplyDrawer__body .gform_wrapper input[type=tel]::-moz-placeholder, .ApplyDrawer__body .gform_wrapper input[type=number]::-moz-placeholder, .ApplyDrawer__body .gform_wrapper input[type=url]::-moz-placeholder, .ApplyDrawer__body .gform_wrapper select::-moz-placeholder, .ApplyDrawer__body .gform_wrapper textarea::-moz-placeholder {
  color: #808285;
}
.ApplyDrawer__body .gform_wrapper input[type=text]:-ms-input-placeholder, .ApplyDrawer__body .gform_wrapper input[type=email]:-ms-input-placeholder, .ApplyDrawer__body .gform_wrapper input[type=tel]:-ms-input-placeholder, .ApplyDrawer__body .gform_wrapper input[type=number]:-ms-input-placeholder, .ApplyDrawer__body .gform_wrapper input[type=url]:-ms-input-placeholder, .ApplyDrawer__body .gform_wrapper select:-ms-input-placeholder, .ApplyDrawer__body .gform_wrapper textarea:-ms-input-placeholder {
  color: #808285;
}
.ApplyDrawer__body .gform_wrapper input[type=text]::-ms-input-placeholder, .ApplyDrawer__body .gform_wrapper input[type=email]::-ms-input-placeholder, .ApplyDrawer__body .gform_wrapper input[type=tel]::-ms-input-placeholder, .ApplyDrawer__body .gform_wrapper input[type=number]::-ms-input-placeholder, .ApplyDrawer__body .gform_wrapper input[type=url]::-ms-input-placeholder, .ApplyDrawer__body .gform_wrapper select::-ms-input-placeholder, .ApplyDrawer__body .gform_wrapper textarea::-ms-input-placeholder {
  color: #808285;
}
.ApplyDrawer__body .gform_wrapper input[type=text]::placeholder,
.ApplyDrawer__body .gform_wrapper input[type=email]::placeholder,
.ApplyDrawer__body .gform_wrapper input[type=tel]::placeholder,
.ApplyDrawer__body .gform_wrapper input[type=number]::placeholder,
.ApplyDrawer__body .gform_wrapper input[type=url]::placeholder,
.ApplyDrawer__body .gform_wrapper select::placeholder,
.ApplyDrawer__body .gform_wrapper textarea::placeholder {
  color: #808285;
}
.ApplyDrawer__body .gform_wrapper select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23808285' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
  padding-right: 3.2rem;
}
.ApplyDrawer__body .gform_wrapper textarea {
  resize: vertical;
  min-height: 12rem;
}
.ApplyDrawer__body .gform_wrapper .ginput_complex.gform-grid-row {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  gap: 1.2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.ApplyDrawer__body .gform_wrapper .ginput_complex.gform-grid-row > span {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.ApplyDrawer__body .gform_wrapper .ginput_complex.gform-grid-row .address_zip {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 12rem;
          flex: 0 0 12rem;
}
.ApplyDrawer__body .gform_wrapper .ginput_complex.gform-grid-row .gf_clear {
  display: none;
}
.ApplyDrawer__body .gform_wrapper .gfield--type-radio .gfield_radio,
.ApplyDrawer__body .gform_wrapper .gfield--type-radio .gfield_checkbox,
.ApplyDrawer__body .gform_wrapper .gfield--type-checkbox .gfield_radio,
.ApplyDrawer__body .gform_wrapper .gfield--type-checkbox .gfield_checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6rem 2rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
.ApplyDrawer__body .gform_wrapper .gfield--type-radio .gchoice,
.ApplyDrawer__body .gform_wrapper .gfield--type-checkbox .gchoice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
}
.ApplyDrawer__body .gform_wrapper .gfield--type-radio .gchoice input[type=radio],
.ApplyDrawer__body .gform_wrapper .gfield--type-radio .gchoice input[type=checkbox],
.ApplyDrawer__body .gform_wrapper .gfield--type-checkbox .gchoice input[type=radio],
.ApplyDrawer__body .gform_wrapper .gfield--type-checkbox .gchoice input[type=checkbox] {
  width: 1.8rem;
  height: 1.8rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  accent-color: #005CCC;
  cursor: pointer;
}
.ApplyDrawer__body .gform_wrapper .gfield--type-radio .gchoice label,
.ApplyDrawer__body .gform_wrapper .gfield--type-checkbox .gchoice label {
  font-size: 1.5rem;
  font-weight: 400;
  color: #1C1C1E;
  cursor: pointer;
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
}
.ApplyDrawer__body .gform_wrapper .ginput_container_fileupload input[type=file] {
  width: 100%;
  padding: 0.8rem 1.2rem;
  font-size: 1.4rem;
  background: #F9FAFB;
  border: 1.5px dashed #CBD0D8;
  border-radius: 0.8rem;
  cursor: pointer;
}
.ApplyDrawer__body .gform_wrapper .ginput_container_fileupload input[type=file]:focus {
  outline: none;
  border-color: #005CCC;
}
.ApplyDrawer__body .gform_wrapper .gform_fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.ApplyDrawer__body .gform_wrapper .gfield {
  margin: 0;
}
.ApplyDrawer__body .gform_wrapper .gform_footer,
.ApplyDrawer__body .gform_wrapper .gform_page_footer {
  margin-top: 2.4rem;
  padding-top: 2rem;
  border-top: 1px solid #F1F1F1;
}
.ApplyDrawer__body .gform_wrapper .gform_footer input[type=submit],
.ApplyDrawer__body .gform_wrapper .gform_footer button[type=submit],
.ApplyDrawer__body .gform_wrapper .gform_page_footer input[type=submit],
.ApplyDrawer__body .gform_wrapper .gform_page_footer button[type=submit] {
  width: 100%;
  padding: 1.4rem 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  font-family: var(--primary-font);
  color: white;
  background: #005CCC;
  border: none;
  border-radius: 8rem;
  cursor: pointer;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.ApplyDrawer__body .gform_wrapper .gform_footer input[type=submit]:hover, .ApplyDrawer__body .gform_wrapper .gform_footer input[type=submit]:focus,
.ApplyDrawer__body .gform_wrapper .gform_footer button[type=submit]:hover,
.ApplyDrawer__body .gform_wrapper .gform_footer button[type=submit]:focus,
.ApplyDrawer__body .gform_wrapper .gform_page_footer input[type=submit]:hover,
.ApplyDrawer__body .gform_wrapper .gform_page_footer input[type=submit]:focus,
.ApplyDrawer__body .gform_wrapper .gform_page_footer button[type=submit]:hover,
.ApplyDrawer__body .gform_wrapper .gform_page_footer button[type=submit]:focus {
  background: #004B9B;
  outline: none;
}
.ApplyDrawer__body .gform_wrapper .gform_footer p,
.ApplyDrawer__body .gform_wrapper .gform_page_footer p {
  margin-top: 1.2rem;
  font-size: 1.2rem;
  color: #808285;
  line-height: 1.5;
}
.ApplyDrawer__body .gform_wrapper .gform_footer a,
.ApplyDrawer__body .gform_wrapper .gform_page_footer a {
  color: #1C1C1E;
  text-decoration: underline;
}
.ApplyDrawer__body .gform_wrapper .gfield_validation_message,
.ApplyDrawer__body .gform_wrapper .validation_message {
  font-size: 1.2rem;
  color: #C0392B;
  margin-top: 0.4rem;
}
.ApplyDrawer__body .gform_wrapper .gfield--error input,
.ApplyDrawer__body .gform_wrapper .gfield--error select,
.ApplyDrawer__body .gform_wrapper .gfield--error textarea {
  border-color: #C0392B;
}

.ResumeStep {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  gap: 1.6rem;
  padding: 0.4rem 0;
}
.ResumeStep__hero {
  width: 7.2rem;
  height: 7.2rem;
  border-radius: 50%;
  background: #F9FAFB;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #575757;
}
.ResumeStep__title {
  font-size: 2rem;
  font-weight: 700;
  color: #1C1C1E;
  margin: 0;
}
.ResumeStep__desc {
  font-size: 1.5rem;
  color: #616161;
  line-height: 1.6;
  max-width: 36rem;
  margin: 0;
}
.ResumeStep__upload-area {
  width: 100%;
  border: 1.5px dashed #CBD0D8;
  border-radius: 1rem;
  padding: 1.6rem 2rem;
  background: #F9FAFB;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  -webkit-transition: border-color 0.2s ease;
  transition: border-color 0.2s ease;
}
.ResumeStep__upload-area:focus-within {
  border-color: #005CCC;
}
.ResumeStep__file-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
  cursor: pointer;
}
.ResumeStep__file-btn {
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.ResumeStep__file-name {
  font-size: 1.4rem;
  color: #808285;
  word-break: break-all;
}
.ResumeStep__file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.ResumeStep__file-hint {
  font-size: 1.2rem;
  color: #808285;
  margin: 0;
}
.ResumeStep__spinner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
}
.ResumeStep__spinner[hidden] {
  display: none;
}
.ResumeStep__spinner-ring {
  width: 3.6rem;
  height: 3.6rem;
  border: 3px solid #F1F1F1;
  border-top-color: #575757;
  border-radius: 50%;
  -webkit-animation: resumeSpinnerRotate 0.8s linear infinite;
          animation: resumeSpinnerRotate 0.8s linear infinite;
}
.ResumeStep__spinner-text {
  font-size: 1.4rem;
  color: #616161;
  margin: 0;
}
.ResumeStep__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
  width: 100%;
}
.ResumeStep__parse-btn {
  width: 100%;
  padding: 1.4rem 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  font-family: var(--primary-font);
  border-radius: var(--button-radius);
  cursor: pointer;
}
.ResumeStep__parse-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.ResumeStep__skip-btn {
  background: none;
  border: none;
  font-size: 1.4rem;
  color: #808285;
  cursor: pointer;
  text-decoration: underline;
  padding: 0.4rem;
}
.ResumeStep__skip-btn:hover {
  color: #1C1C1E;
}
.ResumeStep__loaded-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 1rem 1.4rem;
  background: #EBF5EB;
  border: 1px solid #A8D5A8;
  border-radius: 0.8rem;
  font-size: 1.4rem;
  color: #1C1C1E;
}
.ResumeStep__loaded-icon {
  color: #2E7D32;
  font-size: 1.6rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.ResumeStep__loaded-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: left;
}
.ResumeStep__loaded-change {
  background: none;
  border: none;
  font-size: 1.3rem;
  color: #005CCC;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.ResumeStep__loaded-change:hover {
  color: #004B9B;
}

@-webkit-keyframes resumeSpinnerRotate {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes resumeSpinnerRotate {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.ApplyForm__input--autofilled {
  border-color: #A8D5A8 !important;
  background: #F4FBF4 !important;
  -webkit-transition: border-color 0.3s ease, background 0.3s ease;
  transition: border-color 0.3s ease, background 0.3s ease;
}

.Footer-01 {
  position: relative;
  padding-top: 9.6rem;
  padding-bottom: 9.6rem;
}
@media (max-width: 991px) {
  .Footer-01 {
    padding-top: 4rem;
  }
}
@media (max-width: 991px) {
  .Footer-01__container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media (max-width: 991px) {
  .Footer-01__col:not(:last-child) {
    margin-bottom: 4.8rem;
  }
}
.Footer-01__col--logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.Footer-01__logo {
  margin: auto 0 0 auto;
  max-width: 161.325px;
}
.Footer-01__social {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 991px) {
  .Footer-01__social {
    gap: 2rem;
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media (max-width: 767px) {
  .Footer-01__social {
    gap: 1.6rem;
  }
}
.Footer-01__social li + * {
  margin-top: 0;
}
.Footer-01__social + * {
  margin-top: 4.8rem;
}
.Footer-01__social a {
  display: block;
}
.Footer-01__social img {
  width: 3rem;
  max-height: 2.8rem;
}
.Footer-01__copyright p {
  font-size: 1.2rem;
}
.Footer-01__copyright a:hover, .Footer-01__copyright a:focus, .Footer-01__copyright a:active, .Footer-01__copyright a:target {
  text-decoration: underline;
}

.Footer-02 {
  position: relative;
  padding-top: 4rem;
  padding-bottom: 9.6rem;
}
@media (max-width: 991px) {
  .Footer-02__container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media (max-width: 991px) {
  .Footer-02__col:not(:last-child) {
    margin-bottom: 4rem;
  }
}
.Footer-02__col--logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.Footer-02__col--copyright {
  text-align: center;
}
@media (min-width: 992px) {
  .Footer-02__col--copyright {
    margin-top: 6rem;
  }
}
.Footer-02__logo {
  margin: auto 0 auto auto;
  max-width: 225px;
}
@media (max-width: 991px) {
  .Footer-02__logo {
    margin: auto;
  }
}
.Footer-02__social {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 991px) {
  .Footer-02__social {
    gap: 2rem;
    width: 100%;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
  }
}
@media (max-width: 767px) {
  .Footer-02__social {
    gap: 1.6rem;
  }
}
.Footer-02__social li + * {
  margin-top: 0;
}
.Footer-02__social + * {
  margin-top: 4.8rem;
}
@media (max-width: 991px) {
  .Footer-02__social + * {
    margin-top: 2.8rem;
  }
}
.Footer-02__social a {
  display: block;
}
.Footer-02__social img {
  width: 3rem;
  max-height: 2.8rem;
}
.Footer-02__copyright p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.Footer-02__copyright a:hover, .Footer-02__copyright a:focus, .Footer-02__copyright a:active, .Footer-02__copyright a:target {
  text-decoration: underline;
}
.Footer-02__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem 2rem;
}
@media (max-width: 991px) {
  .Footer-02__copy {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.Footer-02__copy a:hover, .Footer-02__copy a:focus, .Footer-02__copy a:active, .Footer-02__copy a:target {
  text-decoration: underline;
}
.page-template-landing .Footer-02 {
  padding-top: 0;
}

.Navbar-01 {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
}
.Navbar-01__container {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.Navbar-01__col--logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.Navbar-01__col--mobile {
  text-align: right;
}
@media (max-width: 991px) {
  .Navbar-01__col--mobile {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
.Navbar-01__col--links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 1199px) {
  .Navbar-01__col--links {
    display: none;
  }
}
.Navbar-01__hamburger {
  margin: auto 0 auto auto;
}
.Navbar-01 a[data-scroll] {
  border-radius: 80px;
  padding: 14px 34px;
  background: #3C7FFC;
  color: white;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.Navbar-01 a[data-scroll]:hover, .Navbar-01 a[data-scroll]:focus, .Navbar-01 a[data-scroll]:target, .Navbar-01 a[data-scroll]:active {
  text-decoration: none;
  background: #FF7D6F;
  color: white;
}
.Navbar-01__logo {
  display: inline-block;
  margin: auto auto auto 0;
}
.Navbar-01__logo img {
  min-height: 35px;
}
.Navbar-01 nav {
  text-align: right;
  position: relative;
  z-index: 2;
}
.Navbar-01 nav a {
  font-weight: 700;
}
.Navbar-01 nav a:not(:last-child) {
  margin-right: 4rem;
}
.Navbar-01 nav a:not(.Navbar-01__button).active {
  color: #575757;
}
.Navbar-01 nav a:not(.Navbar-01__button):hover, .Navbar-01 nav a:not(.Navbar-01__button):focus, .Navbar-01 nav a:not(.Navbar-01__button):target, .Navbar-01 nav a:not(.Navbar-01__button):active, .Navbar-01 nav a:not(.Navbar-01__button).active {
  text-decoration: underline;
}
.Navbar-01 .hamburger {
  padding-right: 0;
}
.Navbar-01 .hamburger.is-active .hamburger-inner:after {
  width: 35px;
}
.Navbar-01 .hamburger-box {
  width: 35px;
}
.Navbar-01 .hamburger-inner,
.Navbar-01 .hamburger-inner:after,
.Navbar-01 .hamburger-inner:before {
  height: 3px;
  width: 35px;
  right: 0;
}
.Navbar-01 .hamburger-inner:after {
  right: 0;
}

.Navbar-Mobile {
  overflow: scroll;
  position: fixed;
  z-index: 9;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: white;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
}
.Navbar-Mobile--active {
  top: 0;
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0%);
      -ms-transform: translateY(0%);
          transform: translateY(0%);
}
.Navbar-Mobile__container {
  padding-left: 2rem;
  padding-right: 2rem;
}
.Navbar-Mobile a {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
}
.Navbar-Mobile a:not(.Navbar-Mobile__button) {
  padding: 2.8rem 0;
}
.Navbar-Mobile a:not(:nth-last-child(-n+2)) {
  border-bottom: solid 1px #D9D9D9;
}
.Navbar-Mobile a.Navbar-Mobile__button {
  margin-top: 2rem;
  float: right;
}
.Navbar-Mobile a.active {
  color: black;
}
/*
| ------------------------------------------
| Apply page — standalone /apply/?jobid=...
| ------------------------------------------
*/
.Apply {
  padding: 6rem 0;
}
@media (max-width: 991px) {
  .Apply {
    padding: 4rem 0;
  }
}
.Apply__not-found {
  padding: 4rem 0;
  font-size: 1.6rem;
}
.Apply__not-found a {
  color: #005CCC;
  text-decoration: underline;
}
.Apply__row {
  gap: 4rem 0;
}
@media (min-width: 992px) {
  .Apply__row {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media (min-width: 992px) {
  .Apply__sidebar {
    position: sticky;
    top: 10rem;
  }
}
.Apply__summary {
  background: #F9FAFB;
  border-radius: 1.6rem;
  padding: 2.8rem;
}
.Apply__back {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.4rem;
  font-weight: 600;
  color: #005CCC;
  text-decoration: none;
  margin-bottom: 1.6rem;
}
.Apply__back:hover {
  color: #004B9B;
}
.Apply__title {
  margin-bottom: 2rem;
  line-height: 1.25;
}
.Apply__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2rem;
  margin: 0;
}
.Apply__meta__item dt {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #808285;
  margin-bottom: 0.2rem;
}
.Apply__meta__item dd {
  font-size: 1.5rem;
  color: #1C1C1E;
  margin: 0;
}
.Apply__form__heading {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 2.8rem;
  color: #1C1C1E;
}
.Apply__form__success {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: 6rem 2rem;
  gap: 1.6rem;
}
.Apply__form__success-icon {
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background: #575757;
  color: white;
  font-size: 3rem;
  line-height: 6rem;
}
.Apply__form__success-title {
  font-size: 2.4rem;
  font-weight: 700;
  color: #1C1C1E;
}
.Apply__form__success-message {
  font-size: 1.8rem;
  color: #616161;
  line-height: 1.6;
  max-width: 48rem;
}

/* Grey out Next/Submit when required fields in current step are incomplete */
.ApplyForm__next.is-incomplete,
.ApplyForm__submit.is-incomplete {
  opacity: 0.45;
  -webkit-filter: grayscale(40%);
          filter: grayscale(40%);
  cursor: default;
}

/* ── Repeatable question section ──────────────────────────────────────── */
.ApplyForm__repeatable {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.8rem;
}
.ApplyForm__repeatable-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6rem;
}
.RepeatableCard {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.4rem;
  background: #F9FAFB;
  border: 1.5px solid #E2E5EA;
  border-radius: 0.8rem;
}
.RepeatableCard__label {
  font-size: 1.4rem;
  color: #1C1C1E;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.RepeatableCard__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.4rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.RepeatableCard__btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.4rem 0.6rem;
  font-size: 1.4rem;
  color: #808285;
  border-radius: 0.4rem;
  line-height: 1;
}
.RepeatableCard__btn:hover {
  color: #1C1C1E;
  background: #E2E5EA;
}
.ApplyForm__repeatable-add {
  -ms-flex-item-align: start;
      align-self: flex-start;
  background: none;
  border: 1.5px dashed #CBD0D8;
  border-radius: 0.8rem;
  padding: 0.8rem 1.4rem;
  font-size: 1.4rem;
  font-weight: 600;
  color: #005CCC;
  cursor: pointer;
  -webkit-transition: border-color 0.2s, background 0.2s;
  transition: border-color 0.2s, background 0.2s;
}
.ApplyForm__repeatable-add:hover {
  border-color: #005CCC;
  background: #F0F5FF;
}

/* ── Repeatable entry modal ───────────────────────────────────────────── */
.RepeatableModal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2rem;
}
.RepeatableModal[hidden] {
  display: none;
}
.RepeatableModal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
.RepeatableModal__dialog {
  position: relative;
  background: white;
  border-radius: 1.2rem;
  width: 100%;
  max-width: 520px;
  max-height: 85vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
          box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}
.RepeatableModal__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  padding: 1.8rem 2rem 1.4rem;
  border-bottom: 1px solid #F1F1F1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.RepeatableModal__title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1C1C1E;
  margin: 0;
}
.RepeatableModal__close {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 2.2rem;
  line-height: 1;
  color: #808285;
  padding: 0.2rem 0.4rem;
}
.RepeatableModal__close:hover {
  color: #1C1C1E;
}
.RepeatableModal__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: auto;
  padding: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.6rem;
}
.RepeatableModal__footer {
  padding: 1.4rem 2rem;
  border-top: 1px solid #F1F1F1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.RepeatableModal__save {
  width: 100%;
  padding: 1.2rem 2rem;
  font-size: 1.5rem;
  font-weight: 700;
  font-family: var(--primary-font);
  border-radius: var(--button-radius);
  cursor: pointer;
}
/*
| ------------------------------------------
| Inline Apply Form (variant 'f') — all questions on the page itself,
| grouped into shaded "page" sections separated by dividers.
| ------------------------------------------
*/
.ApplyInline {
  background: #F7F7F8;
  border: 1px solid #E5E5E7;
  border-radius: 1.2rem;
  padding: 2.4rem;
  margin: 3.2rem 0;
}
.ApplyInline__title {
  font-size: 2.2rem;
  font-weight: 700;
  color: #1C1C1E;
  margin: 0 0 2rem;
}
.ApplyInline__section {
  /* gap, not margin-bottom on .ApplyForm__field — .ApplyForm__field/
     .ApplyForm__fieldset are direct children here with nothing to exempt
     the last one, so a margin-bottom would also add space below the final
     field, against the section's own bottom padding. */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  background: #fff;
  border: 1px solid #E5E5E7;
  border-radius: 1rem;
  padding: 2rem 2.4rem;
}
.ApplyInline__divider {
  /* No margin — each .ApplyInline__section already has its own top/bottom
     padding (2rem), which is all the breathing room this needs now that
     sections don't carry their own titles. */
  border: none;
  border-top: 1px solid #E5E5E7;
  margin: 0;
}
.ApplyInline .ApplyForm__footer {
  margin-top: 2.4rem;
}

/* Per-device apply variant: hide the inline form outside the breakpoint(s)
   it was configured for (see appcast_apply_resolve_context()). */
@media (max-width: 767.98px) {
  .ApplyInline[data-breakpoint="desktop"] {
    display: none;
  }
}
@media (min-width: 768px) {
  .ApplyInline[data-breakpoint="mobile"] {
    display: none;
  }
}

/*
| ------------------------------------------
| Inline Paginated Apply Form (variant 'g') — reuses the drawer's own
| multi-step form/progress-bar styling; only the outer shell and the
| "Hide Application" toggle are new.
| ------------------------------------------
*/
.ApplyInlinePaginated {
  background: #F7F7F8;
  border-radius: 1.2rem;
  padding: 2.4rem;
  margin: 3.2rem 0;
}
.ApplyInlinePaginated .ApplyForm--multi {
  background: #fff;
  border: 1px solid #E5E5E7;
  border-radius: 1rem;
  padding: 2rem 2.4rem;
}
.ApplyInlinePaginated__hide {
  display: block;
  margin: 1.2rem auto 0;
  background: none;
  border: none;
  cursor: pointer;
  color: #555;
  font-size: 1.3rem;
  font-weight: 600;
}
.ApplyInlinePaginated__hide:hover {
  color: #1C1C1E;
}
.ApplyInlinePaginated__hide-icon {
  font-size: 0.8em;
  margin-left: 0.3em;
}

/* Per-device apply variant: hide the paginated inline form outside the
   breakpoint(s) it was configured for (mirrors the .ApplyInline rules). */
@media (max-width: 767.98px) {
  .ApplyInlinePaginated[data-breakpoint="desktop"] {
    display: none;
  }
}
@media (min-width: 768px) {
  .ApplyInlinePaginated[data-breakpoint="mobile"] {
    display: none;
  }
}

/*
| ------------------------------------------
| Apply Panel (variant 'h', desktop only) — lives inside the theme's sticky
| job-details rail (.Desc__rail). Reuses the same multi-step form styling as
| the drawer/inline-paginated variants; only the close button and the
| grid-reflow rules below are new.
| ------------------------------------------
*/
.ApplyPanel {
  /* Below the theme's 992px breakpoint, .Desc__rail/.Desc__rail-inner are
     display:contents, so this panel (a sibling inside .Desc__rail) is
     hoisted into being a direct grid item of .Desc__layout alongside
     .Desc__intro (order:1), .Desc__attributes (order:2) and the
     .Desc__apply-wrap button it replaces (order:3) — match that order or
     it defaults to 0 and renders above the job title. */
  order: 3;
  /* Mirrors .Desc__apply-wrap (desc.scss ~line 100-122) so the panel
     continues that same card instead of dropping to a bare white
     background below it — $color-cream is a Sass variable in the theme,
     not a CSS custom property, so there's no way to reference it live;
     this hex must be kept in sync by hand if the theme's cream ever changes. */
  padding: 1rem 2rem 2.8rem;
  background: #F5F3EE;
}
@media (min-width: 992px) {
  .ApplyPanel {
    /* Desktop: .Desc__rail itself paints the cream background, and
       .Desc__apply-wrap goes transparent — match that here too. */
    padding: 0 5.8rem 15rem;
    background: transparent;
  }
}
/* The form itself gets its own bordered white card, distinct from the
   cream .ApplyPanel background around it (matches the Rivetpoint reference —
   a visibly framed application, not just fields floating on the page). */
.ApplyPanel #apply-form-multi {
  background: white;
  border: 1px solid #E2E5EA;
  border-radius: 1.2rem;
  padding: 2rem;
}
/* Matches .ApplyInlinePaginated__hide (variant g) — same "Hide Application"
   affordance below the form, reverting the panel without resetting progress. */
.ApplyPanel__hide {
  display: block;
  margin: 1.2rem auto 0;
  background: none;
  border: none;
  cursor: pointer;
  color: #555;
  font-size: 1.3rem;
  font-weight: 600;
}
.ApplyPanel__hide:hover {
  color: #1C1C1E;
}
.ApplyPanel__hide-icon {
  font-size: 0.8em;
  margin-left: 0.3em;
}

/* Per-device apply variant: hide the panel outside the breakpoint(s) it was
   configured for (mirrors the .ApplyInline/.ApplyInlinePaginated rules). */
@media (max-width: 767.98px) {
  .ApplyPanel[data-breakpoint="desktop"] {
    display: none;
  }
}
@media (min-width: 768px) {
  .ApplyPanel[data-breakpoint="mobile"] {
    display: none;
  }
}

/*
| ------------------------------------------
| File / Resume upload — drag-and-drop styled dropzone. The real
| <input type="file"> stays in the DOM (visually hidden, not display:none)
| so native required-field validation and keyboard/label interaction keep
| working; the label is what's actually shown and clickable.
| ------------------------------------------
*/
.ApplyForm__filedrop {
  position: relative;
}
.ApplyForm__filedrop-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.ApplyForm__filedrop-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  text-align: center;
  padding: 2.4rem 1.6rem;
  border: 1px dashed #C7C7CC;
  border-radius: 0.8rem;
  background: #FAFAFA;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.ApplyForm__filedrop-label:hover {
  border-color: #808285;
}
.ApplyForm__filedrop--dragover .ApplyForm__filedrop-label {
  border-color: #1C1C1E;
  background: #F1F1F1;
}
.ApplyForm__filedrop-input:focus-visible + .ApplyForm__filedrop-label {
  outline: 2px solid #1C1C1E;
  outline-offset: 2px;
}
.ApplyForm__filedrop-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  border: 1px solid #E5E5E7;
  color: #555;
}
.ApplyForm__filedrop-text {
  font-size: 1.4rem;
  color: #1C1C1E;
}
.ApplyForm__filedrop-text strong {
  color: #1C3F94;
}
.ApplyForm__filedrop-hint {
  font-size: 1.2rem;
  color: #808285;
}
.ApplyForm__filedrop-filename {
  font-size: 1.3rem;
  font-weight: 600;
  color: #1C1C1E;
}

/*
| ------------------------------------------
| Cloud-storage resume upload (Dropbox / Google Drive) — PLACEHOLDER ONLY,
| not wired up yet. See the code comment above these buttons in
| render_question.php, and the "Dropbox/Google Drive resume upload" memory,
| for what real integration requires.
| ------------------------------------------
*/
.ApplyForm__fileor {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin: 1.6rem 0;
  color: #808285;
  font-size: 1.3rem;
}
.ApplyForm__fileor::before,
.ApplyForm__fileor::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #E5E5E7;
}
.ApplyForm__cloudupload {
  display: flex;
  gap: 1.2rem;
  flex-wrap: wrap;
}
.ApplyForm__cloudupload-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  flex: 1;
  justify-content: center;
  padding: 1rem 1.6rem;
  border: 1px solid #1C3F94;
  border-radius: 999px;
  background: #fff;
  color: #1C3F94;
  font-size: 1.3rem;
  font-weight: 600;
  cursor: pointer;
  -webkit-transition: background 0.15s ease;
  transition: background 0.15s ease;
}
.ApplyForm__cloudupload-btn:hover,
.ApplyForm__cloudupload-btn:focus {
  background: #F4F6FB;
}
.ApplyForm__cloudupload-btn:disabled {
  cursor: not-allowed;
  opacity: 0.55;
  background: #fff;
}
