form-header {
  display:flex;
  justify-content: space-between;
}
form-header :is(h1, h2, h3, h4, h5) {
  display: block;
}

:is(form-request,login-form-request) {
  display:block;
  position:relative;
  /* overflow:hidden; */
}

:is(form-request,login-form-request) > section{
  position:absolute;
  height:100%;
  width:100%;
  transition: transform .5s, opacity .5s;
}

:is(form-request[disabled]) {
  opacity: .4;
  pointer-events: disabled;
}

:is(form-request) fieldset {
  border: var(--project-color-table-border);
  background: white;
}

:is(form-request) fieldset > small {
  display: block;
  margin-bottom: var(--margin-m);
}

form-request + form-request,
:is(form-request) fieldset + fieldset {
  margin-top: var(--margin-l);
}

:is(form-request) fieldset > label {
  margin-top: .5rem;
}

fieldset:has(ul.directory--group) {
  padding-bottom: .5em;
  margin-bottom: 1em;
  border-bottom: 1px solid var(--project-color-inactive);
}

fieldset ul.directory--group {
  padding-left: 1em;
}

.form-request--feedback {
  opacity: 0;
  transition: opacity .5s;
}

.form-request--feedback.feedback-add {
  opacity: 1;
}

.form-request--feedback.feedback-remove {
  opacity: 0;
}

form-request[aria-disabled="true"], 
fieldset[aria-disabled="true"] {
  position: relative;
}

form-request[aria-disabled="true"]:after, 
fieldset[aria-disabled="true"]:after {
  content: "";
  inset: 0;
  position: absolute;
  background-color: rgb(255 255 255 / .6);
  backdrop-filter: blur(1px);
}

/* 
:is(form-request,login-form-request) > section.form-request--actual{
  position: relative;
} */

:is(form-request,login-form-request) > .form-request--processing {
  top:0;
}

:is(form-request,login-form-request) > .form-request--complete {
  top:0;
}

:is(form-request,login-form-request) > section.current.current{
  transform: translateX(0);
  opacity: 1;
}

:is(form-request,login-form-request) > section.next{
  transform: translateX(100%);
  opacity: 0;
}

:is(form-request,login-form-request) > section.previous{
  transform: translateX(-100%);
  opacity: 0;
}

#login-form-container {
  display: flex;
  height: 100vh;
  width: 100vw;
  justify-content: center;
  align-items: center;
}

#login-form-container fieldset input{
  display: block;
}
#login-form-container fieldset button{
  width:100%;
}

.current-to-previous{
  transform: translateX(100%);
}

:is(form-request) > .form-request--working-spinner {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(255,255,255,.5);
  background-filter: blur(1px);
  transition: opacity 500ms;
  pointer-events: none;
  opacity: 0;
}

:is(form-request) > .form-request--working-spinner.form-request--displayed {
  opacity: 1;
  pointer-events: all;
}

form-request fieldset {
  gap: 1fr;
}

form-request fieldset label > :is(input, select, textarea, input-*) {
  display:block;
}

form-request fieldset :is(input, select, textarea, input-*):not(input-switch, [type='radio'], [type='button'], [type='checkbox'], [type='file']) {
  width: 100%;
  box-sizing: border-box;
}

fieldset .hbox {
  flex-wrap: wrap;
}
fieldset .hbox label {
  width:100%;
}

form-request label:has(input-switch) {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: left;
  gap: 1ch;
}

form-request .form-request--autosave-feedback {
  opacity: .6;
  pointer-events: none;
}

form-request * {
  transition: opacity .5;
}

form-next-item {
  display:flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: absolute;
  translate: 100%;
  background-color: var(--project-body-background);
  opacity: 0;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  transition: translate .5s, opacity .5s;
  border: var(--project-color-table-border);
  box-sizing: border-box;
  text-align: center;
}

form-next-item:before {
  font-family: "Material Design Icons";
  font-size: 4em;
}

form-next-item.success:before {
  content: "\F05E1";
  color: var(--project-color-acknowledge);
}

form-next-item.displayed {
  translate: 0%;
  opacity: 1;
}

.form-request--excluded-element {
  display: none;
}
