@font-face {
  font-family: Self Modern;
  src:
    url(https://cdn.prod.website-files.com/68483ae9b9193f5347f397e0/686bc5ae6e52356d76ed3656_self-modern_regular_web.woff2)
      format('woff2'),
    url(https://cdn.prod.website-files.com/68483ae9b9193f5347f397e0/686bc5ae003771fe920ecfb6_self-modern_regular_web.woff)
      format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Self Modern;
  src:
    url(https://cdn.prod.website-files.com/68483ae9b9193f5347f397e0/686bc5aed93bc71893af363e_self-modern_book_web.woff2)
      format('woff2'),
    url(https://cdn.prod.website-files.com/68483ae9b9193f5347f397e0/686bc5aedcf8d80796a7f9dd_self-modern_book_web.woff)
      format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: TWK Lausanne;
  src: url(https://cdn.prod.website-files.com/68483ae9b9193f5347f397e0/686bc7707111cae298b276c3_TWKLausanne-400.woff2)
    format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: TWK Lausanne;
  src: url(https://cdn.prod.website-files.com/68483ae9b9193f5347f397e0/690ce6dcbb262d36fb9a1c4b_TWKLausanne-350.woff2)
    format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: TWK Lausanne;
  src: url(https://cdn.prod.website-files.com/68483ae9b9193f5347f397e0/686bc770d93bc71893b13eae_TWKLausanne-300.woff2)
    format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: TWK Lausanne;
  src: url(https://cdn.prod.website-files.com/68483ae9b9193f5347f397e0/686bc770c491114bc83749d0_TWKLausanne-200.woff2)
    format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: TWK Lausanne;
  src: url(https://cdn.prod.website-files.com/68483ae9b9193f5347f397e0/6926e85438cbe5a746f8e229_TWKLausanne-100.woff2)
    format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

:root {
  --typography-typeface-copy: 'TWK Lausanne', Verdana, sans-serif;
  --typography-typeface-display: 'Self Modern', 'Times New Roman', sans-serif;
  --typography-copy-24-copy: 1.5rem;
  --typography-copy-24-line-height: 1.2;
  --typography-copy-24-font-weight: 400;
  --typography-copy-28-copy: 1.5rem;
  --typography-copy-28-line-height: 1.2;
  --typography-copy-28-font-weight: 400;
  --typography-copy-28-letter-spacing: -0.005em;
  --typography-copy-16-normal-16-copy: 1rem;
  --typography-copy-16-normal-line-height: 1.4;
  --typography-copy-16-normal-letter-spacing: 0.0025em;
  --typography-copy-16-extra-light-font-weight: 200;
  --typography-display-18-display: 1.125rem;
  --typography-display-18-line-height: 1.3;
  --typography-display-18-font-weight: 400;
  --typography-display-18-letter-spacing: -0.0075em;

  --typography-super-40: 1.875rem;
  --typography-super-40-line-height: 1.25;
  --typography-super-40-font-weight: 500;
  --typography-super-40-letter-spacing: -0.5px;

  --neutreals-black: #000;
  --neutreals-gray-90: #1a1a1a;
  --neutreals-gray-80: #404040;
  --neutreals-gray-70: #4d4d4d;
  --neutreals-gray-60: #666;
  --neutreals-gray-15: #d9d9d9;
  --neutreals-gray-07: #ebebeb;

  --status-error-red-60: #c2290a;
}

@media only screen and (min-width: 768px) {
  :root {
    --typography-copy-28-copy: 1.75rem;
    --typography-super-40: 2.5rem;
  }
}

* {
  font-family: var(--typography-typeface-copy);
  margin: 0;
  padding: 0;
}

*:focus-visible {
  outline: none;
}

/* First div after #root */
body > div:first-of-type > div:first-child {
  /* max-width: none !important; */
  max-width: var(--widthMaxContent) !important;
}

/* Titles container */
body > div:first-of-type > div:nth-child(1) > div:nth-child(1) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Content container */
body > div:first-of-type > div:nth-child(1) > div:nth-child(2) {
  padding: 0 !important;
}

/* Filters container */
body
  > div:first-of-type
  > div:nth-child(1)
  > div:nth-child(2)
  > div:first-of-type {
  background-color: transparent;
  margin-top: 1.125rem;
  padding: 0 !important;

  & button:first-of-type {
    display: none;
  }

  /* Filters header */
  & > div:nth-child(1) {
    margin-bottom: 0;
    max-height: 12.5rem;
    opacity: 1;
    overflow: visible;
    white-space: nowrap;

    & button:first-of-type {
      display: none;
    }

    & > div:nth-child(2) {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    /* Filters header label */
    & .ashby-job-board-filters-label {
      color: var(--neutreals-gray-90);
      font-size: var(--typography-copy-16-normal-16-copy);
      font-weight: var(--typography-copy-28-font-weight);
      letter-spacing: var(--typography-copy-16-normal-letter-spacing);
      line-height: var(--typography-copy-16-normal-line-height);
      margin-right: 1rem;
    }
  }

  /* Filter menu container */
  & > div:nth-child(2) {
    display: flex;
    gap: 0.75rem;
  }

  & .ashby-job-board-filter {
    border: 1px solid var(--neutreals-gray-90);
    border-radius: 0.125rem;
    font-size: var(--typography-copy-16-normal-16-copy);
    font-weight: var(--typography-copy-28-font-weight);
    letter-spacing: var(--typography-copy-16-normal-letter-spacing);
    line-height: var(--typography-copy-16-normal-line-height);
    height: 2.375rem;
    padding: 0 calc(0.75rem + 1.625rem) 0 0.75rem;

    &:focus-visible {
      box-shadow: none;
    }

    & > div:first-of-type {
      height: 2.375rem;
    }
  }

  @media only screen and (min-width: 768px) {
    flex-direction: row !important;
    min-height: auto;

    & .ashby-job-board-reset-filters-label {
      margin-left: 1rem;
      width: 0;
    }
  }
}

/* Departments container */
body
  > div:first-of-type
  > div:nth-child(1)
  > div:nth-child(2)
  > div:nth-child(2) {
  margin-top: 2rem;
}

.ashby-job-board-heading {
  color: var(--neutreals-gray-90);
  font-family: var(--typography-typeface-copy);
  font-size: var(--typography-copy-28-copy);
  font-weight: var(--typography-copy-28-font-weight);
  letter-spacing: var(--typography-copy-28-letter-spacing);
  line-height: var(--typography-copy-28-line-height);
}

.ashby-department-heading {
  border-bottom: 1px solid;
  border-color: rgb(0 0 0 / 12%);
  color: var(--neutreals-gray-90);
  font-size: var(--typography-display-18-display);
  font-weight: var(--typography-display-18-font-weight);
  letter-spacing: var(--typography-display-18-letter-spacing);
  line-height: var(--typography-display-18-line-height);
  margin: 0 0 1rem;
  padding-bottom: 0.75rem;
}

.ashby-job-posting-brief-list {
  margin-bottom: 2rem;

  & a:focus-visible {
    opacity: 0.8;
    outline: none;
  }

  @media only screen and (min-width: 768px) {
    margin-bottom: 2.5rem;
  }
}

.ashby-job-posting-brief {
  background-color: transparent;
  border-bottom: 1px solid;
  border-color: rgb(0 0 0 / 12%);
  border-radius: 0 !important;
  box-shadow: none;
  margin: 0 0 1rem;
  padding: 0 0 1rem;

  &:hover,
  &:active {
    background-color: transparent !important;
    opacity: 0.8;
  }

  @media only screen and (min-width: 768px) {
    margin-left: 0 !important;
  }
}

.ashby-job-posting-brief-title {
  font-size: var(--typography-copy-16-normal-16-copy);
  font-weight: var(--typography-copy-28-font-weight);
  letter-spacing: var(--typography-copy-16-normal-letter-spacing);
  line-height: var(--typography-copy-16-normal-line-height);
}

.ashby-job-posting-brief-details {
  color: var(--neutreals-gray-80) !important;
  font-size: var(--typography-copy-16-normal-16-copy);
  font-weight: var(--typography-copy-16-extra-light-font-weight);
  letter-spacing: var(--typography-copy-16-normal-letter-spacing);
  line-height: var(--typography-copy-16-normal-line-height);
  margin-top: 0.25rem !important;
}

.ashby-job-posting-heading {
  color: var(--neutreals-gray-90);
  font-family: var(--typography-typeface-display);
  font-size: var(--typography-super-40);
  line-height: var(--typography-super-40-line-height);
  font-weight: var(--typography-super-40-font-weight);
  letter-spacing: var(--typography-super-40-letter-spacing);
}

.ashby-job-board-back-to-all-jobs-button {
  color: #106793;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.2;
  padding: 0;

  &:hover,
  &:active,
  &:focus-visible {
    background-color: transparent;
    border-color: transparent;
    box-shadow: none;
    color: var(--neutreals-gray-90);
    outline: none;

    & > svg {
      fill: currentColor;
    }
  }
}

body > div:first-of-type > div:nth-child(2) {
  margin-top: 2.5rem;
}

/* Job details container */
body > div:first-of-type > div:nth-child(2) {
  & > div:first-of-type {
    border-bottom: 0.125rem solid var(--neutreals-black);
    margin: 0 0 2.5rem;
    padding-bottom: 0.75rem;
  }

  /* Job details content container */
  & > div:last-of-type {
    padding: 0;

    /* Job left column */
    & .ashby-job-posting-left-pane {
      border-radius: 0;
      box-shadow: none;
      margin: 0;
      padding: 0 2rem 0 0;

      & div {
        border: 0;
        padding: 0 0 1.5rem;

        & > h2 {
          color: var(--neutreals-gray-90);
          font-size: 0.875rem;
          font-weight: 400;
          letter-spacing: 0.0021875em;
          line-height: 1.4;
        }

        & > p,
        & > ul {
          color: var(--neutreals-gray-80);
          font-size: 1rem;
          font-weight: 200;
          letter-spacing: 0.0025em;
          line-height: 1.2;
        }

        /* See more list */
        & > ul {
          & li {
            line-height: 1.2;

            & > span {
              padding: 0;
            }
          }
        }

        & div:first-of-type {
          padding-right: 2rem;
        }

        & > button {
          border: 0;
          border-radius: 0;
          color: #106793;
          font-family: var(--typography-typeface-copy);
          font-size: 1rem;
          font-weight: 400;
          line-height: 1.2;
          margin: 1rem 0 0;
          padding: 0;

          &:hover,
          &:active,
          &:focus-visible {
            background-color: transparent;
            border: 0;
            box-shadow: none;
            color: var(--neutreals-black);
            outline: 0;
          }
        }
      }

      @media only screen and (min-width: 768px) {
        margin-top: 0;
      }
    }

    /* Job right column */
    & .ashby-job-posting-right-pane {
      & > nav {
        border-bottom: 1px solid;
        border-color: rgb(0 0 0 / 12%);
        box-shadow: none;
        font-size: 1.125rem;
        font-weight: 400;
        gap: 1.25rem;
        line-height: 1.2;
        margin: 0 0 2rem;

        & .ashby-job-posting-right-pane-tab-slider {
          margin: 0;
          width: auto;
        }

        & a {
          color: var(--neutreals-black);
          font-weight: 400;
          margin: 0;
          width: auto;

          &[aria-selected='true'] {
            color: #106793;
          }
        }
      }

      & > div[role='tabpanel'] {
        box-shadow: none;
        padding: 0;

        & p {
          color: var(--neutreals-gray-70);
          font-weight: 200;
          line-height: 1.4;
          margin-bottom: 1.5rem;

          & strong {
            font-weight: var(--typography-copy-24-font-weight);
          }
        }

        & h2 {
          color: var(--neutreals-gray-90);
          font-size: var(--typography-copy-24-copy);
          font-weight: var(--typography-copy-24-font-weight);
          line-height: var(--typography-copy-24-line-height);

          & strong {
            font-weight: var(--typography-copy-24-font-weight);
          }
        }

        & h3 {
          color: var(--neutreals-gray-90);

          & strong {
            font-weight: var(--typography-copy-24-font-weight);
          }
        }

        & ul {
          margin-bottom: 2rem;
          margin-left: 1.125rem;

          & p {
            margin-bottom: 0.25rem;
          }
        }
      }

      & > div[aria-labelledby='job-application-form'] {
        & > div {
          background-color: transparent;
          padding-left: 0;
          padding-right: 0;

          &:first-child {
            padding-top: 0;
          }
        }

        & .ashby-application-form-container {
          box-shadow: none;

          & [role='alert'] {
            background-color: var(--status-error-red-60);
            border-radius: 0.1875rem;
            box-shadow: none;
            margin: 0;

            & ul {
              margin: 0;
            }

            & p {
              color: #fff;
            }
          }
        }

        & .ashby-application-form-autofill-input-root {
          border-color: var(--neutreals-gray-15);
          border-radius: 0.1875rem;
          padding: 1rem 1.25rem;
        }

        & .ashby-application-form-autofill-input-base-layer {
          & button {
            background: var(--neutreals-gray-07);
            border: 0;
            border-radius: 0.125rem;
            box-shadow: none;
            color: var(--neutreals-gray-90);
            padding: 0.625rem 1rem;
          }
        }

        & .ashby-application-form-question-title {
          color: #212121;
          font-size: var(--typography-copy-16-normal-16-copy);
          font-weight: 300;
          line-height: var(--typography-copy-16-normal-line-height);
          letter-spacing: var(--typography-copy-16-normal-letter-spacing);
        }

        & .ashby-application-form-autofill-input-description {
          color: var(--neutreals-gray-60);
          font-size: 0.875rem;
          font-weight: 200;
          letter-spacing: 0.0021875em;
          line-height: 1.2;
          margin-bottom: 0;
        }

        & .ashby-application-form-field-entry {
          & > div[role='presentation'] {
            border: 0;
            border-radius: 0.1875rem;

            @media only screen and (min-width: 768px) {
              border: 1px solid var(--neutreals-gray-15);
            }

            & p {
              color: var(--neutreals-gray-60);
              font-size: 1rem;
              font-weight: 400;
              letter-spacing: 0.0025em;
              line-height: 1.2;
              margin: 0 0 0 0.75rem;
            }
          }

          & button:first-of-type {
            background: var(--neutreals-gray-07);
            border: 0;
            border-radius: 0.125rem;
            box-shadow: none;
            color: var(--neutreals-gray-90);
            padding: 0.625rem 1rem;

            & > svg {
              fill: currentColor;
            }

            & > span > span:first-child {
              display: inline-block;
              text-transform: lowercase;

              &::first-letter {
                text-transform: uppercase;
              }
            }
          }
        }
      }

      & input {
        border: 1px solid;
        border-color: var(--neutreals-gray-15);
        border-radius: 0.1875rem;
        color: var(--neutreals-gray-90);
        font-family: var(--typography-typeface-copy);
        font-size: 1rem;
        font-weight: 200;
        letter-spacing: 0.0025em;
        line-height: 1.2;

        &:focus-within {
          outline-offset: -1px;
          outline-width: 1px;
        }

        &::placeholder {
          color: rgba(0 0 0 / 50%);
          font-size: 1rem;
          font-weight: 200;
          letter-spacing: 0.0025em;
          line-height: 1.2;
        }
      }

      /* Job right column button */
      & button {
        border-radius: 0.1875rem;
        display: block;
        font-family: var(--typography-typeface-copy);
        font-size: var(--typography-copy-16-normal-16-copy);
        font-weight: 400;
        letter-spacing: var(--typography-copy-16-normal-letter-spacing);
        line-height: var(--typography-copy-16-normal-line-height);
        text-transform: lowercase;

        &::first-letter {
          text-transform: uppercase;
        }

        &:active,
        &:hover {
          box-shadow: none;
        }
      }

      /* Job right column submit button */
      & .ashby-application-form-submit-button {
        & > svg {
          display: none;
        }
      }
    }
  }
}
