/* Layout when site header/footer wrap public /jobs/ pages */
.sf-public-page__main {
  max-width: 28rem;
  margin: 0 auto;
  padding: 2rem 1rem 3rem;
}

.sf-public-page__main--wide {
  max-width: 42rem;
}

#jobs-public-header-mount,
#jobs-public-footer-mount {
  width: 100%;
  flex-shrink: 0;
}

body.ws-login.ws-login--shell,
body.ws-login:has(#jobs-public-header-mount) {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  align-items: stretch;
  justify-content: flex-start;
  padding: 0;
}

body.ws-login.ws-login--shell .ws-login__center,
body.ws-login:has(#jobs-public-header-mount) .ws-login__center {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.5rem 3rem;
  width: 100%;
}

body.ws-login:has(#jobs-public-footer-mount) .sf-site-footer {
  margin-top: auto;
}
