form:not([class*="box"]) {
    text-align: left;
    display: flex;
    flex-flow: row wrap;
    margin: calc(-0.5 * var(--padding));
}
.headerform form {
    --flex-base: 100px;
}
form .form-field, form .form-spacer {
    display: block;
    padding: calc(0.5 * var(--padding));
}
.stellenfilter .form-field {
    padding: 0;
}
form .form-spacer h3 {
    margin: 1em 0 0
}
form .form-spacer p:empty {
    display: none
}
form .form-field.flex {
    display: flex;
}
form .form-field.quart, form .button-wrapper.quart {
    flex: 1 1 max(calc(.25 * var(--flex-base)), 24.5%);
}
form .form-field.half, form .button-wrapper.half {
    flex: 2 1 max(calc(.5 * var(--flex-base)), 49.5%);
}
form .form-field.full, form .buttons, form .button-wrapper {
    flex: 1 1 100%;
}
form .form-field.cond:not(.condvis) {
    display: none
}
.button-wrapper button, .buttons button,
.button-wrapper .button, .buttons .button {
    margin: calc(.5 * var(--padding));
}
form .form-field.fieldset {
    padding: 0;
    margin: 0;
}
form .form-field.conditional {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    height: auto;
    transition: opacity 0.5s ease-in-out, max-height 0.5s ease-in-out
}
form .form-field.conditional.scond {
    opacity: 1;
    max-height: 1000px;
}
form .form-field:not(.switchlabel) .form-label {
    margin-bottom: 5px;
}
.form-input-wrapper, .form-input-wrapper input  {
    width: 100%;
}
.form-data {
    position: relative;
}
.checkboxes {
    display: block;
}
.buttons, .button-wrapper {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    padding: calc(0.5 * var(--padding));
}
main .buttons, main .button-wrapper {
    margin: 0 calc(-.5 * var(--padding));
    margin-top: calc(1 * var(--padding));
}
.button-wrapper button,
.button-wrapper .button {
    flex: 1 1 calc(.5 * var(--flex-base));
}
.buttons > .button:only-of-type, .buttons > button:only-of-type,
.button-wrapper > .button:only-of-type, .button-wrapper > button:only-of-type {
    margin-left: auto;
    margin-right: auto;
    max-width: max-content;
}
.form-textarea-wrapper, .form-textarea-wrapper textarea {
    width: 100%;
}
button[type="reset"]:not(.minibutton){
    background-color: rgba(var(--dark-rgb),.7);
    color: var(--light)
}
button[type="reset"]:not(.minibutton):hover{
    background-color: rgba(var(--dark-rgb),1);
}
button.closebutton{
    padding: 0;
    border: none;
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.2rem;
    height: 1em;
    width: 1em;
    min-height: 0;
}
button#reload-captcha {
    padding: 0;
    margin: 0
}
form .form-field .basic-captcha .form-input-wrapper {
    border: none;
    border-radius: var(--border-radius)
}
.form-textarea-wrapper textarea {
    min-height: 200px;
    resize: none;
}
input, textarea, select, form fieldset {
    font-size: 1em;
    border-radius: calc(.25 * var(--border-radius));
    border: 2px solid rgba(var(--yellow-rgb), .4);
    background-color: rgba(var(--yellow-rgb), .1);
} 
input, textarea, select, input[class*="box"], 
.selectize-control, form .form-field .basic-captcha .form-input-wrapper {
    padding: calc(.5 * var(--padding));
    width: 100%;
    font-size: 1em;
    margin: 0;
    font-family: inherit;
    min-height: calc(1.4rem + var(--padding));
    font-weight: inherit;
    color: var(--dark);
    outline: none;
    border-radius: var(--border-radius);
    border: 2px solid rgba(var(--yellow-rgb), .4);
    background-color: rgba(var(--yellow-rgb), .1);
}
.form-data.basic-captcha button,
.form-data.basic-captcha input.form-input {
    border-radius: 0
}
form .form-data.basic-captcha .form-input-wrapper {
    padding: 0
}
.form-data.basic-captcha button {
    border: none;
    box-shadow: none;
}
input:focus, textarea:focus, select:focus, form fieldset:focus {
    border: 2px solid rgba(var(--yellow-rgb), 1);
    background-color: rgba(var(--yellow-rgb), 0);
}
header form {
    input, textarea, select, form fieldset,
    input:focus, textarea:focus, select:focus, form fieldset:focus {
        background-color: rgba(var(--light-rgb), .6);
    } 
    input, textarea, select, form fieldset {
        border: 2px solid rgba(var(--yellow-rgb), 0);
    } 
    input:focus, textarea:focus, select:focus, form fieldset:focus {
        border: 2px solid rgba(var(--yellow-rgb), 1);
    }
    .buttons, .button-wrapper {
        padding: 0;
    }
}
.selectize-control {
    padding: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.selectize-control > .selectize-input {
    height: 100%;
    display: flex;
    align-content: center;
    align-items: center;
    overflow: hidden;
}
form .form-field p {
    padding: 0px calc(0.25 * var(--padding))
}
textarea {
    height: 6rem;
    resize: none;
}
.switchlabel input, .switchlabel textarea, .switchlabel select {
    color: transparent;
}
.switchlabel ::-webkit-input-placeholder {
    color: transparent;
    transition: color 0.5s ease-in;
}
.switchlabel ::-moz-placeholder {
    color: transparent;
    transition: color 0.5s ease-in;
}
.switchlabel ::-ms-placeholder {
    color: transparent;
    transition: color 0.5s ease-in;
}
.switchlabel ::placeholder {
    color: transparent;
    transition: color 0.5s ease-in;
}
.labelup input, .labelup textarea, .switchlabel select:focus, .labelup select {
    color: var(--dark);
}
.labelup ::-webkit-input-placeholder {
    color: var(--dark);
}
.labelup ::-moz-placeholder {
    color: var(--dark);
}
.labelup ::-ms-placeholder {
    color: var(--dark);
}
.labelup ::placeholder {
    color: var(--dark);
}
input:focus, textarea:focus, select:focus, 
.labelup input, .labelup textarea, .labelup select {
    outline: none;
}
form fieldset {
    padding: calc(.5 * var(--padding)) 0;
    display: flex;
    flex-flow: row wrap;
    margin: 0px;
    flex: 1 1 100%;
    border-bottom: 2px solid rgba(var(--dark-rgb),.2)
}
form fieldset > .form-field {
    min-width: 0;
}
div.formular form .form-label {
    display: none;
}
form .form-select-wrapper {
    position: relative;
}
form .minibuttonbox {
    display: flex;
    justify-content: stretch;
}
form .minibuttonbox .minibutton {
    margin: 0;
    padding: 0 calc(.35 * var(--padding));
    min-height: 0;
    width: 2.5em;
    justify-content: center;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    box-shadow: none
}
form .minibuttonbox .minibutton:hover .fa-check:before {
    content: '\f00d'
}
form .minibuttonbox input,
form .minibuttonbox select,
form .minibuttonbox .selectize-input,
form .minibuttonbox textarea {
    border-radius: calc(.25 * var(--border-radius));
    border: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
form .switchlabel {
    position: relative;
}
form label {
    display: block;
}
.switchlabel {
    position: relative;
}
.switchlabel label {
    position: absolute;
    top: calc(.5 * var(--padding));
    bottom: auto;
    left: calc(.5 * var(--padding));
    height: max-content;
    margin: auto;
    padding: calc(.45 * var(--padding)) calc(.5 * var(--padding));
    transform: scale(1) translate(0,0);
    transform-origin: bottom left;
    transition: opacity .5s ease-in-out, transform .5s ease-in-out;
    z-index: 2;
    pointer-events: none;
    line-height: 1.4;
    opacity: 1;
}
.stellenfilter .switchlabel label {
    top: 0;
    left: 0
}
.switchlabel.labelup label {
    transform: scale(0.6) translate(4%,-150%);
    opacity: .8
}


input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button
{
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
    text-align: center;
    padding-left: calc(20px + 1rem);
    padding-right: calc(20px + 1rem);
}
.quantity-nav {
    position: absolute;
    width: 100%;
    height: 2.5em;
    bottom: 0;
    left: 0;
    pointer-events: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.quantity-nav .quantity-button {
    pointer-events: auto;
    color: rgba(var(--base-color-color-rgb), 1);
    width: auto;
    padding: 10px;
    cursor: pointer;
    opacity: 0.33;
    transition: opacity 0.5s ease-in;
}
input:hover + .quantity-nav .quantity-button {
    opacity: 0.7;
}
.quantity-nav .quantity-button:hover {
    opacity: 1;
}
.radio {
	display: block;
}
input[type='checkbox'],
input[type='radio'] {
  width:auto;
  float:left;
  margin-right: .75em;
  background:transparent;
  border:none;
}
input[type='checkbox']:checked,
input[type='checkbox']:not(:checked),
input[type='radio']:checked,
input[type='radio']:not(:checked) {
  background: transparent;
  position: relative;
  visibility: hidden;
  margin:0;
  padding:0;
}

input[type='checkbox'] + label,
input[type='radio'] + label {
    cursor: pointer;
    display: flex !important;
    justify-content: flex-start;
    align-items: flex-start;
    line-height: 1.1
}
div.formular input[type='checkbox'] + label,
div.formular input[type='radio'] + label {
    display: block !important;
}

input[type='checkbox']:not(.cm-app-label) + label:before,
input[type='checkbox']:not(.cm-app-label) + label:before,
input[type='radio'] + label::before {
    content: '';
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1rem;
    height:1rem;
    border-radius: 50%;
    position: relative;
    background-color: var(--dark);
    background-image: url(../images/check.png);
    margin-right: 0.3em;
    background-size: 0%;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-size .2s ease-in;
    text-align: center;
    font-size: 1rem;
    line-height: 1.7em;
    text-indent: 0px;
    flex: 0 0 1rem;
    top: .15rem;
}
input[type='checkbox']:hover  + label::before,
input[type='radio']:hover  + label::before {
    background-size: 65%;
}
input[type='checkbox']:checked  + label::before,
input[type='radio']:checked  + label::before {
    background-size: 85%;
}
.datasec label{
    font-size: 0.8rem;
}
#form-result > p {
    text-align: center;
}
#form-result > p > i {
    display: block;
    margin: 0 auto 0.5em;
    font-size: 3rem;
}
form input.hpt,
form input#files,
form input#uploadedfiles {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -100;
    visibility: hidden;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px,1px,1px,1px);
}

.form-input-wrapper.dropzone {
    border: 2px dashed rgba(var(--dark-rgb), .4);
    transition: border-color .5s ease-in-out
}
.form-input-wrapper.dropzone.dz-drag-hover {
    border-color: rgba(var(--yellow-rgb), 1)
}
p.forminfo {
    font-size: .8em
}
body .form-data.basic-captcha .form-input-prepend {
    align-items: stretch;
}
body .form-data.basic-captcha .form-input-prepend img {
    align-self: center;
}
body .selectize-input,
body .selectize-input:focus,
body .selectize-input.focus {
    border: 2px solid var(--blue);
    box-shadow: none;
    overflow-x: scroll;
}
form .selectize-control.multi .selectize-input [data-value],
form .selectize-control.multi .selectize-input [data-value].active {
    text-shadow: none;
    border-radius: calc(.25 * var(--border-radius));
    background-color: var(--yellow);
    background-image:none;
    border: none;
    color: var(--dark);
    box-shadow:none
}
form .selectize-control.multi .selectize-input [data-value].active {
    background-color: var(--dark);
    color: var(--yellow);
}
body .grecaptcha-badge {
    visibility: hidden;
}
body .selectize-dropdown, 
body .selectize-input, 
body .selectize-input input {
    color: var(--dark);
    font-weight: 400;
}
body .selectize-dropdown .active:not(.selected) {
    color: var(--dark);
}
body .form-field.disabled {
    pointer-events: none;
    cursor: not-allowed;
}