main .ctype-form header{
    position:unset;
    left:unset;
    top:unset;
}

section.ctype-form {
    padding:0;
}

section.ctype-form + section.inverted {
    padding-top: 80px;
}

section.ctype-form .subsection {
    padding: 0;
}


.ctype-form *::-webkit-input-placeholder {
    opacity:0!important;
}
.ctype-form *::-moz-placeholder {
    opacity:0!important;
}
.ctype-form *:-ms-input-placeholder {
    opacity:0!important;
}
.ctype-form *:-moz-placeholder {
    opacity:0!important;
}
.ctype-form *::placeholder {
    opacity:0!important;
}
.ctype-form .form-group {
  position:relative;
}
.ctype-form .form-group label{
  position:absolute;
  top:1px;
  left:1px;
  
}

.ctype-form .form-group ol {
    list-style:none;
    margin:0;
    padding:0;
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
    column-gap: 1.5rem;
}
.ctype-form .form-group ol li{
    padding-bottom:1.5rem;
    position:relative;
}

.ctype-form .form-group {
    margin-bottom: 0;
}

.ctype-form .form-group label p {
    margin-bottom:0;
    line-height:inherit;
}

.flexible-form .row .col .row .col {
    padding-bottom:0;
}

.nonhumanfield {

}

.form-group label {
  display:inline-block;
  transition: all 250ms ease-in-out;
}


.form-group.filled label,
.form-group:has(textarea:focus) label, 
.form-group:has(input:active) label,
.form-group:has(input:focus) label {
  top:-1.05em;
  padding-top:0!important;
  padding-bottom:0!important;
  background-color: var(--white);
  font-size: 0.8em;
}


.flexible-form label.form-check-label p {
    display:inline;
}

.ctype-form .row > .col.col-with-field-type-newline {
    padding:0;
    margin-bottom:0!important;
}

.ctype-form input[type="checkbox"],
.ctype-form input[type="radio"] {
    position: unset;
    left: unset;
    width:0;
    height:0;
    opacity:0;
    position:absolute;
    left:0;
    z-index:0;
    height:3em;
    width:3em;
}

.ctype-form textarea {
    padding-top:8px;
    padding-bottom:8px;
}



  .lds-ripple {
    display: inline-block;
    position: absolute;
    width: 80px;
    height: 80px;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
    z-index:2;
  }
  .lds-ripple div {
    position: absolute;
    border: 4px solid var(--secondary);
    opacity: 1;
    border-radius: 50%;
    animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
  }
  .lds-ripple div:nth-child(2) {
    animation-delay: -0.5s;
  }
  @keyframes lds-ripple {
    0% {
      top: 36px;
      left: 36px;
      width: 0;
      height: 0;
      opacity: 0;
    }
    4.9% {
      top: 36px;
      left: 36px;
      width: 0;
      height: 0;
      opacity: 0;
    }
    5% {
      top: 36px;
      left: 36px;
      width: 0;
      height: 0;
      opacity: 1;
    }
    100% {
      top: 0px;
      left: 0px;
      width: 72px;
      height: 72px;
      opacity: 0;
    }
  }



  .flexible-form .prologue {
    font-size:1.25em;
    padding:2rem 0;
  }
  .form-control {
    border-radius:0;
  }

  .form-control:focus {
    color: #212529;
    background-color: #fff;
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);

    color: inherit;
    background-color: inherit;
    border-color: inherit;
    outline: 0;
    box-shadow: none;
  }

  .field-type-tel,
  .field-type-email,
  .field-type-input {
    display:flex;
    flex-direction: column-reverse;
  }

  .field-type-textarea textarea {
    height:12em;
  } 

  .flexible-form button[type="submit"] {
    display: inline-block;
    padding: 0.5em 1em;
    background-color: var(--primary);
    color: #fff;
    text-decoration: none;
    border: 1px solid var(--primary);
    transition: all 350ms ease-in-out;
    font-family: var(--accentFont);
    font-weight:200;
    border-radius: 0;
  }
  .flexible-form button[type="submit"]:hover {
    display: inline-block;
    padding: 0.5em 1em;
    background:transparent;
    color: var(--primary);
    text-decoration: none; 
  }


  .flexible-form .form-submit {
    margin:0 0 0 0;
  }
  .flexible-form .col-with-field-type-check {
    margin:0.75em 0;
  }

  .flexible-form label:not(.form-check-label) {
    padding: 0.375em 0.75rem;
  }

  .flexible-form-form > .row {
    row-gap:0;
  }
  .flexible-form-form > .row > .col{
    margin-bottom:var(--bs-gutter-x);
  }
  .flexible-form-form > .row > .col.col-with-field-type-newline{
    
  }
  .flexible-form .epilogue {
    flex-shrink:1;
    flex-grow:0;  
    font-size:1.25em;
  }
  .flexible-form .form-submit {
    flex-grow:1;
  } 
  .form-controls-row {
    display:flex;
    flex-direction:row;
    margin-top:1.5em;
    align-items: center;
  }

.form-check-default {
    position:relative;
}

.form-check-default input[type="checkbox"]{
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.form-check-default input[type="checkbox"] + label {
    position:relative;
    padding-left:2em;    
}

.form-check-default input[type="checkbox"] + label:before{
    position:absolute;
    left:0;
    width:1.2em;
    height:1.2em;
    border:1px solid var(--white);
    display:block;
    content:"";
}
.form-check-default input[type="checkbox"] + label:after{
    position:absolute;
    left:0.4em;
    top:0.1em;
    content: "";
    width: 7px;
    height: 15px;
    border: solid var(--white);
    border-width: 0 2px 2px 0;
    rotate: 45deg;
    translate: 0 -2px;
    scale: 0;
    transition: scale 250ms ease;
}

.form-check-default input[type="checkbox"]:checked + label:after{
    scale:1;
}



.form-file-upload.drag-over,
.form-file-upload.focus{
  /* border-color: var(--white); */
  background-color: var(--lightgrey);
  /* color: var(--white); */
}

.form-file-upload{
  min-height:1em;
  border:1px solid var(--primary);
  display:flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  transition: all 250ms ease-out;
  padding:0.25em;

}
.form-file-upload input[type="file"]{
  opacity:0;
  width:1px;
  height:1px;
  position:absolute;
  left:0;
  top:0;
  transform:translate(-100%,-100%);
}
.form-file-upload .form-file-actions{
  text-align: center;
}
.form-file-upload .form-file-button{
  cursor: pointer;
  background-color:var(--primary);
  padding:0.35em 1em;
  transition: all 250ms ease-out;
  color:var(--white);
  font-weight:700;
}
.form-file-upload.drag-over .form-file-button,
.form-file-upload.focus .form-file-button,
.form-file-upload .form-file-button:hover{
  /* background-color:var(--lightgrey);
  color:var(--white);
  border-color: var(--white); */
}

.form-file-upload .uploaded {
  position:relative;
  display:flex;
  flex-direction: row;
  width:100%;
  column-gap: 1em;
  row-gap: 1em;
  padding:0;
}

.form-file-upload .uploaded .file-label{
  word-break: break-all;
}
.form-file-upload .uploaded .uploaded-image{
  margin:0.5em 0;
  width:20%;
  max-width:80px;
}



.form-file-upload .uploaded .uploaded-image .delete-image{
  position:absolute;
  z-index:1;
  border:0;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:3em;
  height:3em;
  background-color:#fff;
  border-radius:100%;
  opacity:0;
  transition: all 250ms ease-in;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-items: center;
  align-items: center;
}
.delete-image:before, .delete-image:after {
  grid-area: 1 / 1 / 2 / 2;
  content: ' ';
  height: 2em;
  width: 1px;
  background-color: #333;
  margin-left:1px;
}
.delete-image:before {
transform: rotate(45deg);
}
.delete-image:after {
transform: rotate(-45deg);
}
.form-file-upload .uploaded .uploaded-image:hover .delete-image{
  opacity:1;
}
.form-file-upload .uploaded .uploaded-image .file-wrap{
  position:relative;
  background-color: var(--primary15);
  box-shadow:2px 2px 6px rgba(0, 0, 0, 0.1);
  transition: all 250ms ease-in;
}
.form-file-upload .uploaded .uploaded-image:hover .file-wrap{
  box-shadow:2px 2px 6px rgba(0, 0, 0, 0.3);
}
.file-wrap .file-mime-mp4,
.file-wrap .file-mime-pdf{
  display:block;
  position:absolute;
  top:20%;
  left:20%;
  width:60%;
  height:60%;
  background-image: url("data:image/svg+xml,%3Csvg id='Layer_1' enable-background='new 0 0 512 512' height='512' viewBox='0 0 512 512' width='512' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='Layer_2_00000127726356319517726790000012083634264802050972_'%3E%3Cg id='PDF'%3E%3Cpath d='m440.1 141.4v308.9c0 34.1-27.6 61.7-61.7 61.7h-244.8c-34.1 0-61.7-27.6-61.7-61.7v-388.6c0-34.1 27.6-61.7 61.7-61.7h165.1z' fill='%23f15642'/%3E%3Cpath d='m440.1 141.4h-115.9c-14.1 0-25.5-11.4-25.5-25.5v-115.9z' fill='%23ff9587'/%3E%3Cg fill='%23fff'%3E%3Cpath d='m217.9 276c0 21.3-11.3 33.1-31.2 33.1h-12.2v35.7h-14.6v-101.6h26.8c19.9 0 31.2 12.1 31.2 32.8zm-15 0c0-12.5-5.4-18.9-16.4-18.9h-12v38h12c11.1.1 16.4-6 16.4-19.1z'/%3E%3Cpath d='m230.3 243.2h25.2c19.7 0 31.3 11.6 31.3 31.6v38c0 20.1-11.6 31.9-31.2 31.9h-25.4v-101.5zm25.4 87.6c10.4 0 16.4-6.2 16.4-18.3v-37.4c0-11.9-5.8-18-16.4-18h-10.7v73.7z'/%3E%3Cpath d='m318.9 257v30.3h30.6v13.3h-30.6v44.1h-14.6v-101.5h47.9v13.8z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-position:center;
  background-size:contain;
}
.file-wrap .file-mime-mp4{
  background-image: url("data:image/svg+xml,%3Csvg id='Layer_1' enable-background='new 0 0 512 512' height='512' viewBox='0 0 512 512' width='512' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='Layer_2_00000174593177234215271390000001193126943448904834_'%3E%3Cg id='MP4'%3E%3Cpath d='m440.1 141.4v308.9c0 34.1-27.6 61.7-61.7 61.7h-244.8c-34.1 0-61.7-27.6-61.7-61.7v-388.6c0-34.1 27.6-61.7 61.7-61.7h165.1z' fill='%23f7b84e'/%3E%3Cpath d='m440.1 141.4h-115.9c-14.1 0-25.5-11.4-25.5-25.5v-115.9z' fill='%23ffd38a'/%3E%3Cg fill='%23fff'%3E%3Cpath d='m223.2 243.2v101.5h-14.3v-39.6c.3-11.6.6-22.2 1.2-32.8l-.6-.3c-2.9 8.1-6.4 17.4-9.9 26.7l-8.9 23.1h-14.5l-8.8-23.1c-3.5-9.3-7-18.6-9.9-26.7l-.6.3c.4 10.6.9 21.2 1.2 32.8v39.6h-14.4v-101.5h14.9l17.1 41.2c2.3 5.8 5.8 15.5 7.4 20.1h.6c1.6-4.6 5.1-14.4 7.4-20.1l17.1-41.2z'/%3E%3Cpath d='m301.5 276c0 21.3-11.3 33.1-31.2 33.1h-12.2v35.7h-14.6v-101.6h26.8c19.8 0 31.2 12.1 31.2 32.8zm-15 0c0-12.5-5.4-18.9-16.4-18.9h-12v38h12c11.1.1 16.4-6 16.4-19.1z'/%3E%3Cpath d='m368.3 319.5h-11.3v25.2h-13.8v-25.2h-36v-7.5l21-68.7h14.1l-19.5 63.4h20.6l1.5-35.6h12.1v35.7h11.3z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}


.form-file-upload .uploaded .uploaded-image .file-label{
  font-size:0.8em;
  margin-top:0.8em;
}

.form-file-upload .uploaded .uploaded-image .file-wrap:before{
  content:"";
  padding-top:100%;
  display:block;
}

.form-file-upload .uploaded .uploaded-image img{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  object-fit: cover;
}