:root {
  --max-vw: 1280px;
  --max-width: 1139px;
  --max-padding: 140px;
  --sl-input-height-large: 80px !important;
}

.register-header {
  max-width: 1024px;
  margin: 2em auto 1em;
  padding: 0 3rem;
  box-sizing: border-box;
  color: var(--primary-color);
}

body .register-form sl-select {
  --color-gray-40: #000;
}

.register-form {
  --sl-input-help-text-color-invalid: red;
  background-color: var(--reg-background-color);
  grid-column: var(--sixth)/span calc(var(--columns) - var(--quarter));
  padding: 3em;
  margin: 0 auto 6em;
  max-width: 1024px;
}
.register-form p {
  color: var(--body-text-color);
}
.register-form sl-form {
  max-width: 100%;
}
.register-form h1 {
  color: var(--body-text-color);
  padding: 0 0 1em;
  margin: 0;
}
.register-form h2 {
  margin: 0;
  padding: 1em 0;
  font-weight: 500;
}
.register-form h3 {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  margin: 0;
  padding: 6em 0em 2em;
  color: var(--body-text-color);
}
.register-form h3:first-of-type {
  padding: 0em 0em 2em;
}
.register-form h3::after {
  content: "";
  display: inline;
  background-color: var(--primary-color);
  height: 1em;
  width: auto;
  flex: 1 1 auto;
  margin-left: 1em;
}
.register-form label {
  font-weight: 500;
}
.register-form .checkbox-group {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  max-width: 50%;
}
.register-form .checkbox-group sl-checkbox {
  flex: 1 1 0;
  min-width: calc(250px - 2em);
  margin: 1em;
}
.register-form sl-input::part(label), .register-form sl-select::part(label), .register-form sl-textarea::part(label) {
  color: var(--body-text-color);
}
.register-form [invalid] sl-input::part(base), .register-form sl-input[invalid]::part(base), .register-form [invalid] sl-select::part(base), .register-form sl-select[invalid]::part(base), .register-form [invalid] sl-textarea::part(base), .register-form sl-textarea[invalid]::part(base) {
  border: 1px solid red;
}
.register-form sl-input, .register-form sl-select, .register-form sl-textarea {
  max-width: 80%;
}
.register-form sl-button {
  margin-top: 3em;
}
.register-form sl-button[submit]::part(base) {
  padding-left: 80px;
  padding-right: 80px;
  background-color: var(--sl-color-gray-40);
  color: #FFF;
}
.register-form sl-dialog sl-button {
  margin-top: 0;
}
.register-form.submitted p {
  font-size: 1.5em;
  color: var(--reg-confirm-color);
}
.register-form.submitted p b {
  font-weight: 600;
}
.register-form .submit {
  width: 100%;
  --sl-input-height-medium: 4em;
}
@media screen and (max-width: 1024px) {
  .register-form {
    grid-column: 1/span all;
  }
}
@media screen and (max-width: 980px) {
  .register-form sl-select {
    max-width: 100% !important;
  }
  .register-form sl-input {
    max-width: 100% !important;
  }
  .register-form .form-flex {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .register-form sl-form {
    max-width: 100%;
  }
}
@media screen and (max-width: 500px) {
  .register-form {
    margin: 3em calc(-1 * var(--padding-side));
  }
}
@media screen and (max-width: 425px) {
  .register-form {
    padding: 0 1em 1em;
  }
}