 
  form,
  form > section {
    display: grid;
    
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    
    gap: 2rem;
    
    justify-items: stretch;
    align-items: start;
  }
  
  form > section {
    padding-bottom: 1rem;
    border-bottom: 0.05em solid #dbdddd;
  }
  
  form > section:last-of-type {
    padding-bottom: 0em;
    border-bottom: none;
  }
  
  
  
  input:disabled {
    background: #dddddd;
  }
  
  form > label,
  form > section > label,
  form > div label,
  form .radioContainer,
  form .checkboxContainer {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    gap: 0.3em;
    
    justify-items: stretch;
    align-items: stretch;
  }
  
  form .checkboxContainer > label,
  form .radioContainer > label {
    grid-template-columns: auto 1fr;
    gap: 0.3em;
    align-items: start;
  }
  
  form .radioContainer input[type="checkbox"],
  form .checkboxContainer input[type="radio"] {
    margin-top: 0.5em;
  }
  
  form > button[type=submit] {
    justify-self: start;
  }

  label.buttonCheckbox {
    display: grid;
    gap: 0em;
    grid-template-columns: auto;
    
    border-radius: 0.3em;
    background-color: #efefef;
  }
  
  label.buttonCheckbox:hover {
    cursor: pointer;
  }
  
  label.buttonCheckbox > input[type="checkbox"] {
    width: 0em;
    height: 0em;
    margin-top: 0em;
    visibility: hidden;
  }
  
  label.buttonCheckbox > span {
    display: block;
    padding: 0.2em 0.5em;
    border-radius: 0.3em;
  }
  
  label.buttonCheckbox > input[type="checkbox"]:checked + span {
    color: #ffffff;
    background-color: #fb6262;
  }
  
  .checkboxButtonsContainer {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
  }
  
  .checkboxButtonsContainer > label.buttonCheckbox {
    margin-right: 0.5em;
    margin-bottom: 0.5em;
  }

  .password-field {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    row-gap: 1em;
  }
  
  .password-field button {
    position: absolute;
    right: 0;
    background: transparent;
  }

  .password-field button > svg {
    display: block;
  }

  @media screen and (min-width: 700px) {
    
    form > section {
      grid-template-columns: 1fr 1fr;
    }
    
    form > section:last-of-type {
      padding-bottom: 0em;
    }
  }
