.fineuploader-wrapper .qq-upload-drop-area {
    width: 99%;
}

form.onlineformular .widget.error fieldset {
	flex-direction: column;
}

form.onlineformular .widget.error fieldset span {
    width: auto;
}

form.onlineformular h2 {
	font-weight: 600;
	margin-top:3rem;
	color: #003560;
}

#main form.onlineformular h3 {
	margin-top:50px;
}


form.onlineformular input.text, 
form.onlineformular textarea, 
form.onlineformular select, 
form.onlineformular input.submit, 
form.onlineformular button.submit, button {
    transition: all 0.3s ease;
    outline:none;
}

form.onlineformular .widget {
    display:block;
    margin-right:0;
}

form.onlineformular .widget-radio {
    border: 0;
    border-radius: 0;
    display: block;
    /*justify-content: space-between;*/
}


form.onlineformular fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    /*display: flex;
    justify-content: flex-start;
	flex-wrap: wrap;
	gap:0.5rem;*/
}

form.onlineformular fieldset.bedingung {
    border: 0;
    margin: 0;
    padding: 0;
    display: block;
    justify-content: flex-start;
	flex-wrap: wrap;
	gap:0;
}

form.onlineformular fieldset.radio_container {
	gap:2rem;
    display: flex;
}

form.onlineformular fieldset.radio_container.switch-field {
	gap:0;
}

form.onlineformular .radio_container span {
    width: calc(100% / 2 - 1rem);
}

form.onlineformular .widget-radio input {
    height: 45px;
    position: absolute;
    visibility: hidden;
    left: -9999px;
    overflow: visible;
    border: 1px solid transparent;
    border-radius: 8px;
}

form.onlineformular .widget-radio label {
    background-color: #fff;
    outline: none;
    border: 1px solid #e1e1e1;
    border-radius: 10px;
    color: #000000;
    font-size: 1rem;
    line-height: 1.4rem;
    cursor: pointer;
    height: 70px;
    display: flex;
    flex-grow: 1;
    /*margin: 0 14px 0 0;*/
	margin:0;
    align-items: center;
    padding: 0 20px;
}

form.onlineformular .widget-radio label:before {
    content: "\f111";
    color: #e1e1e1;
    margin-right: 1.2rem;
    font-size: 1.3rem;
    font-family: FontAwesome;
	font-weight: normal;
}

form.onlineformular .widget-radio input:checked+label:before {
	color: #94c11c;
}

form.onlineformular .widget-radio input:checked+label {
	border: 1px solid #94c11c;
}

form.onlineformular .widget-pagebreak {
   display: flex;
   gap: 2rem;
}

form.onlineformular .widget-submit button,
form.onlineformular .widget-pagebreak button {
    display: block;
    border-radius: 8px;
    margin-top: 2rem;
    border: 1px solid #94c11c;
    color: #ffffff;
    text-transform:uppercase;
    align-items: center;
    justify-content: center;
    padding: 1.6rem 2.5rem;
    background-color: #94c11c;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    background-image: none;
    width:100% !important;
    line-height: 1.4rem;
}

form.onlineformular button.submit:hover {
    color: #000000;
    background-color: #fff;
}

form.onlineformular fieldset .widget {
    width: calc(100% / 2 - 1rem);
    position: relative;
}

form.onlineformular fieldset.bedingung .widget {
    width: 100%;
}

form.onlineformular fieldset .widget input {
    width: 90% !important;
}

form.onlineformular input.text, 
form.onlineformular textarea {
    background-color: #f5f5f5;
    border: 1px solid #e1e1e1;
    border-radius: 8px;
    font-family: "aller", Arial, sans-serif;
    padding:1rem;
    width: 100%;
}

form.onlineformular input:focus, 
form.onlineformular textarea:focus {
    background-color: #ececec;
    border: 1px solid #94c11c;
    color: #000000;
}

form.onlineformular table td {
    vertical-align:top;
}


/* PROGRESS BAR */

.progress_wrapper {
  margin: 0 0 20px;
  height: 30px;
  position: relative;
}
.progress_wrapper .progress-bar {
  width: 100%;
  height: 100%;
  background-color: rgba(148, 193, 28, 0.18);
}
.progress_wrapper .progress-bar-inner {
  background: #94c11c;
  height: 100%;
}
.progress_wrapper .numbers {
  position: absolute;
  color: #fff;
  font-size: 18px;
  height: 100%;
  padding: 0 10px;
}

.mod_mp_form_steps .progress_bar__line {
  width: 76%;
  height: 2px;
  background-color: #979797;
  margin: 0 auto 0;
  margin-top: 2rem;
}
.mod_mp_form_steps ul {
  list-style-type: none;
  counter-reset: css-counters 0;
  padding: 0;
  margin-top: -15px;
  margin-bottom: 2rem;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.mod_mp_form_steps li {
	display: inline-block;	
	width: calc(100% / 2 - 1rem);
	justify-content: center;
	text-align: center;
    padding-left: 0;
    line-height: normal;
}
.mod_mp_form_steps li:before {
    content: unset;
}
.mod_mp_form_steps li.forbidden strong:before {
  border: 1px solid #979797;
  color: #979797;
}
.mod_mp_form_steps li a,
.mod_mp_form_steps li strong {
  text-align: center;
  line-height: 1.3;
}
.mod_mp_form_steps li a:hover,
.mod_mp_form_steps li strong:hover {
  opacity: 1;
}
.mod_mp_form_steps li a:before,
.mod_mp_form_steps li strong:before {
  counter-increment: css-counters;
  content: counters(css-counters, ".") " ";
  display: block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  background-color: #fff;
  padding: 0;
  border-radius: 100px;
  margin: auto;
  margin-bottom: 0.5rem;
  font-size: 1em;
  transition: background-color 0.5s;
  box-shadow: 0 0 0 3px #fff;
}
.mod_mp_form_steps li:not(.forbidden) strong:before {
  background-color: #444;
  border: 1px solid #444;
  color: #fff;
}
.mod_mp_form_steps li:not(.forbidden) a {
  display: block;
  text-decoration: none;
  color: #94c11c;
  border-bottom: 0;
}
.mod_mp_form_steps li:not(.forbidden) a:before {
  background-color: #94c11c;
  border: 1px solid #94c11c;
  color: #fff;
  content:"\f00c";
  display: block;
  line-height: 28px;
  font-family: FontAwesome;
  font-weight:normal;
}


/* PROGRESS BAR - END */


@media (max-width:1024px) {
	form.onlineformular .widget-radio label {
	    margin: 0 0 0 0;
	    padding: 16px;
	}
}

@media (max-width:940px) {
	form.onlineformular table td {
	    display: table-cell;
		padding-right: 2rem;
	}
}

@media (max-width:810px) {
	form.onlineformular .radio_container span {
	    width: 100%;
	}
	
	form.onlineformular .widget-radio label {
	    height:auto;
	}
}

@media (max-width:640px) {
	#main form.onlineformular .widget-checkbox,
	#main form.onlineformular .checkbox_container input {
	    width: auto !important;
	}
}

@media (max-width:320px) {
	.mod_mp_form_steps li a, .mod_mp_form_steps li strong {
		font-size:0.8rem;
	}
	
	form.onlineformular .widget-pagebreak {
	    display:block;
	}
}



/* SWITCH  */
@media (max-width: 810px) {
form fieldset.radio_container:not(form fieldset.switch-field) {
        flex-direction: column;
        gap: 0.5rem;
    }
}
@media (max-width: 600px) {
    form fieldset.radio_container:not(form fieldset.switch-field) {
        width: 100%;
    }
}   

@media (max-width: 640px) {
    form.onlineformular .switch-field.legend fieldset > * {
        width: 100%;
    }
}
@media (max-width: 640px) {
    form.onlineformular .switch-field.legend fieldset .legend {
        margin-bottom: 0.5rem;
    }
}
form.onlineformular .switch-field.legend fieldset .wrapper {
display: flex;
margin-bottom: 2rem;
}
form.onlineformular .switch-field {
    display: flex;
}
form.onlineformular .switch-field.legend fieldset > * {
    width: calc(100% / 2 - 1rem);
}
form.onlineformular .switch-field input {
    position: absolute !important;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    width: 1px;
    border: 0;
    overflow: hidden;
}
form.onlineformular .switch-field label {
    font-weight: 600;
    height: 46px;
    text-align: center;
    padding: 0 40px;
    margin-right: -1px;
    transition: all 0.1s ease-in-out;
    justify-content: center;
}
form.onlineformular .switch-field label:before {
    display: none;
}
form.onlineformular .switch-field label:hover {
    cursor: pointer;
}
form.onlineformular .switch-field input:checked + label {
    background-color: #94c11c;
    box-shadow: none;
    color: #FFFFFF;
}
form.onlineformular .switch-field input:checked + label:before {
    display: none;
}
form.onlineformular .switch-field span:first-of-type label {
    border-radius: 8px 0 0 8px;
}
form.onlineformular .switch-field span:last-of-type label {
    border-radius: 0 8px 8px 0;
}

form.onlineformular fieldset.switch-field span {
    width: calc(100% / 2);
}


.infobox--confirmation {
	border: 1px solid #94c11c;
	padding:2rem;
	position:relative;
	border-radius: 8px;
	display:flex;
	align-items:center;
}

.infobox--confirmation:before {
	content: "\f058";
    color: #94c11c;
    margin-right: 2rem;
    font-size: 4rem;
    font-family: FontAwesome;
    font-weight: normal;
}

button.back a {
    display: flex;
    border-radius: 8px;
    margin-top: 2rem;
    border: 1px solid #94c11c;
    color: #ffffff;
    text-transform:uppercase;
    align-items: center;
    justify-content: center;
    padding: 1.6rem;
    background-color: #94c11c;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    background-image: none;
    line-height: 1.4rem;
    align-items:center;
}

button.back a:hover {
    color: #000000;
    background-color: #fff;
}

button.back {
	-webkit-appearance: none;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
}


@media (max-width: 425px) {
    .infobox--confirmation:before {
	    margin-top: 1rem;
	}
	
	.infobox--confirmation {
	    align-items: flex-start;
	}
}




/* NEU */

.widget-headline p, 
div.widget-headline label, 
.widget-select label, 
.widget-radio legend, 
.widget-checkbox legend, 
.widget-textarea label, 
.widget-captcha label,
.ce_form .widget-textarea label {
    color: #94c11c;
    font-weight: 700;
    font-size: 1.2rem;
}

#main form.onlineformular .widget-text label, 
#main form.onlineformular .widget-captcha label, 
#main form.onlineformular .widget-select.inline label {
    display: block;
    width: 100%;
    padding-right: 0;
    margin-right: 0;
}

#main form.onlineformular span.mandatory, 
#main form.onlineformular strong.mandatory {
    margin-left: 3px;
    color: #ff0000;
}

#main form.onlineformular h3 {
    margin-top: 2rem;
    margin-bottom: 0;
}

form.onlineformular .radio_container span.mandatory {
    width: auto;
}

form.onlineformular .checkbox_container span {
    display:flex;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.5rem;
}

form.onlineformular .checkbox_container.mandatory legend span {
    display: inline-block;
    gap: 0;
}

form.onlineformular input.docked_input {
    padding: 0.5rem;
    width: 50%;
}

form.onlineformular .widget-pagebreak button {
    width: calc(100% / 2 - 1rem) !important;
}

form.onlineformular .widget.docked_input {
    margin-top: -3rem;
    margin-left: 2rem;
}


form.onlineformular .checkbox_container span input {
    zoom: 1.3;
}

@media (max-width:549px) {
    form.onlineformular .widget-pagebreak {
        display:block;
    }

    form.onlineformular .widget-pagebreak button {
        width: 100% !important;
    }

    form.onlineformular input.docked_input {
        width: 100%;
    }
}

@media (max-width:365px) {
    .mod_mp_form_steps li a, 
    .mod_mp_form_steps li strong {
        font-size: 0.8rem;
    }
}