.form-wrapper .form-page aside {
	 display: none;
}
 .form-wrapper .step {
	 display: none;
	 min-height: 240px;
}
 .form-wrapper .active {
	 display: block;
}
 .form-wrapper input:focus {
	 border: 1px solid #009688;
	 outline: 0;
}
 .form-wrapper .invalid {
	 border: 1px solid #ffaba5;
}
 .form-wrapper .invalid + .invalid-feedback {
	 display: block;
}
 .form-wrapper #nextBtn, .form-wrapper #prevBtn {
	 background-color: #009688;
	 color: #fff;
	 border: none;
	 padding: 13px 30px;
	 font-size: 1em;
	 cursor: pointer;
	 border-radius: 5px;
	 margin-top: 5px;
	 transition: background-color 0.3s ease;
	 flex-basis: 50%;
}
 .form-wrapper #prevBtn {
	 background-color: #fff;
	 color: var(--color1);
	 border: 1px solid var(--color1);
}
 @media (max-width: 577px) {
	 .form-wrapper #prevBtn {
		 order: 2;
	}
}
 .form-wrapper #prevBtn:hover, .form-wrapper #nextBtn:hover {
	 background-color: var(--color2);
	 color: #fff;
}
 .form-wrapper .progress {
	 margin-bottom: 20px;
}
 .form-wrapper .options {
	 display: flex;
	 flex-wrap: wrap;
	 justify-content: center;
	 --gap: 10px;
	 gap: var(--gap);
}
 .form-wrapper .option-wrap {
	 flex-basis: calc(50% - var(--gap));
	 max-width: 205px;
	 min-width: 0;
}
 @media (max-width: 340px) {
	 .form-wrapper .option-wrap {
		 flex-basis: 100%;
	}
}
 .form-wrapper #label-birthday {
	display: block;
	 text-align: center;
	 font-size: 20px;
	 margin-bottom: 15px;
}
 .form-wrapper #label-birthday i {
	 font-size: 35px;
}
 .form-wrapper #birthday {
	margin: auto;
	 max-width: 210px;
}
 .form-wrapper #label-zipcode {
	 font-size: 26px;
	 margin: 0;
}
 .form-wrapper #label-zipcode i {
	 font-size: 26px;
}
 .form-wrapper .option-wrap label:has(> input[type="checkbox"]:checked), .form-wrapper .option-wrap label:has(> input[type="radio"]:checked) {
	 border-color: #de0a26;
}
 .form-wrapper .option-wrap label:has(> input[type="checkbox"].invalid), .form-wrapper .option-wrap label:has(> input[type="radio"].invalid) {
	 background-color: #ffebee;
}
 .form-wrapper .form-check-label:has(> input[type="checkbox"].invalid) {
	 color: #dd3211;
}
 .form-wrapper .option-wrap i {
	 color: #778965;
}
 .form-wrapper .step h4,
  .form-wrapper .step h6 {
	 text-align: center;
	 margin-bottom: 25px;
   font-size: 28px;
   color: #3d4f2c;
}
 .form-wrapper .step .title h4 {
	 margin-bottom: 0;
}
 .form-wrapper .step .title p {
	 font-size: 16px;
	 margin: 10px 0 25px;
	 text-align: center;
}
 .form-wrapper .zip-wrapper {
	 display: flex;
	 margin-top: 30px;
	 justify-content: center;
}
 .form-wrapper .zip-wrapper .form-group {
	 display: flex;
	 align-items: center;
	 margin: 0;
	 gap: 6px;
}
 .form-wrapper .btn-checkbox, .form-wrapper .btn-radio {
	 box-shadow: none;
	 background: #fff;
   color: #778965;
	 border: 1px solid #c8c8cb;
	 transition: all;
	 transition-duration: 0.1s;
	 border-radius: 5px;
	 max-width: 500px;
}
 .form-wrapper .multiple .option-wrap:first-child {
	 display: flex;
	 justify-content: center;
	 flex: 0 1 100%;
	 max-width: 100%;
}
 .form-wrapper .multiple .option-wrap:first-child label::before {
	 position: absolute;
	 right: -25px;
	 top: -15px;
	 color: #fff;
	 font-weight: 700;
	 display: flex;
	 justify-content: center;
	 align-items: center;
	 width: 50px;
	 height: 50px;
	 text-align: center;
	 border-radius: 50%;
	 background-color: #86a71a;
	 z-index: 10;
	 content: "Unser Tipp!";
}
 .form-wrapper .multiple .option-wrap:first-child label {
	 flex-basis: calc(50% - var(--gap));
	 max-width: 205px;
	 position: relative;
}
 .form-wrapper .btn-checkbox.selected, .form-wrapper .btn-radio.selected {
	 border-color: #c30010;
}
 .form-wrapper .btn-checkbox:hover, .form-wrapper .btn-radio:hover {
	 background: #fafafb;
}
 .form-wrapper .btn-checkbox:hover i, .form-wrapper .btn-radio:hover i {
	 color: #000;
}
 .form-wrapper .btn-next:focus {
	 color: #fff;
	 box-shadow: none;
}
 .form-wrapper button.btn-next {
	 border: none;
	 padding: 13px 30px;
	 font-size: 1em;
	 cursor: pointer;
	 border-radius: 5px;
	 flex: 1;
	 margin-top: 5px;
	 transition: background-color 0.3s ease;
  background-color: var(--color1);
    color: #ffffff;
    gap: 8px;
    text-align: center;
    text-transform: uppercase;
    font-weight: 700;
}

.form-wrapper button.btn-next:hover {
  background-color: var(--color2);
} 

 @media (max-width: 577px) {
	 .form-wrapper button.btn-next {
		 order: 1;
	}
}
 .form-wrapper .btn-wrapper {
	 margin-top: 45px;
	 gap: 10px;
	 display: flex;
}
 @media (max-width: 577px) {
	 .form-wrapper .btn-wrapper {
		 flex-direction: column;
	}
}
 .form-wrapper .privacy {
	 padding: 10px;
	 text-align: left !important;
}
 .form-wrapper .privacy input {
	 position: absolute;
	 display: block;
	 width: auto;
}
 .form-wrapper .privacy small {
	 display: inline-block;
	 margin-left: 20px;
	 font-size: 100%;
}
 .form-wrapper .privacy a {
	 color: #333;
	 text-decoration: underline;
}
 .form-wrapper .privacy a:hover, .form-wrapper .privacy a:focus, .form-wrapper .privacy a:active {
	 text-decoration: none;
}
 .form-wrapper .step-wrapper[data-step="first"] .btn-wrapper button.btn-prev {
	 display: none;
}
 .form-wrapper .step-wrapper[data-step="last"] .btn-wrapper, .form-wrapper .step-wrapper[data-step="last"] .progress, .form-wrapper .step-wrapper[data-step="address-form"] .btn-wrapper .btn:not(.btn-next), .form-wrapper .step-wrapper[data-step="send-form"] .btn-wrapper .btn:not(.btn-submit) {
	 display: none;
}
 .form-wrapper .step-wrapper[data-step="step-loader"] .btn-wrapper {
	 display: none;
}
 .form-wrapper .btn-wrapper button.btn-submit {
	 display: none;
}
 .form-wrapper .step-wrapper[data-step="send-form"] .btn-wrapper .btn-submit {
	 display: block;
}
 .form-wrapper .form-text {
	 font-size: 12px;
}
 @media (min-width: 577px) {
	 .form-wrapper .form-address {
		 display: flex;
		 gap: 10px;
	}
	 .form-wrapper .form-address > div.short {
		 flex: 30%;
	}
	 .form-wrapper .form-address > div:not(.short) {
		 flex: 70%;
	}
}
 .form-wrapper .step-loader {
	 overflow: hidden;
}
 .form-wrapper .slider {
	 animation: slidein 3s linear infinite;
	 white-space: nowrap;
	 margin-bottom: 70px;
}
 .form-wrapper .slider .logos {
	width: 100%;
	display: inline-block;
	margin: 0px 0px;
}
 .form-wrapper .slider .item {
	display: inline-block;
	max-width: 100px;
	vertical-align: middle;
	margin: 0 20px;
	animation: fade-in 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) forwards;
}
 @keyframes slidein {
	 from {
		 transform: translate3d(0, 0, 0);
	}
	 to {
		 transform: translate3d(-100%, 0, 0);
	}
}
 @keyframes fade-in {
	 0% {
		 opacity: 0;
	}
	 100% {
		 opacity: 1;
	}
}
 .form-wrapper .response {
	 text-align: center;
	 animation: fadeIn 700ms;
}
 .form-wrapper .response i {
	 font-size: 50px;
}
 .form-wrapper .response i {
	 color: #28a745;
}
 .form-wrapper #error .response i {
	 color: #dd3211;
}
 .form-wrapper .step-wrapper[data-step="address-form"] .form-wrapper {
	 animation: fadeIn 2000ms;
}
 @keyframes fadeIn {
	 0% {
		 opacity: 0;
		 transform: translateY(20px);
	}
	 66% {
		 opacity: 0;
		 transform: translateY(20px);
	}
	 100% {
		 opacity: 1;
		 transform: translateY(0);
	}
}
 .form-wrapper .step.last p {
	 margin: 0;
}
 .form-wrapper .step.last #success, .form-wrapper .step.last #error {
	 display: none;
	 text-align: center;
}
 .form-wrapper .step.last #success h4, .form-wrapper .step.last #error h4 {
	 font-size: 40px;
	 text-transform: uppercase;
	 font-weight: 700;
	 margin: 20px 0 13px;
}
 .form-wrapper .step.last #loading .spinner-grow {
	 width: 3rem;
	 height: 3rem;
}
 .form-wrapper .step.last #loading h4 {
	 font-size: 25px;
	 text-transform: uppercase;
	 font-weight: 700;
	 margin: 25px 0 10px;
}
 .form-wrapper .usercode {
	 position: absolute;
	 left: -5000px;
	 top: 0;
}
 .form-wrapper .btn-checkbox, .form-wrapper .btn-radio {
	 margin-bottom: 0;
}
 .form-wrapper .form-check-input {
	 width: 1em;
	 height: 1em;
	 margin-top: 0.25em;
	 vertical-align: top;
	 background-color: #fff;
	 background-repeat: no-repeat;
	 background-position: center;
	 background-size: contain;
	 border: 1px solid rgba(0, 0, 0, 0.25);
	 border-radius: 0.25em;
}
 @media (min-width: 768px) {
	 .form-wrapper .btn-checkbox, .form-wrapper .btn-radio {
		 font-size: 1em;
	}
}
 
.form-wrapper .option-wrap {
  display: flex;
}

.form-wrapper .btn-checkbox input, .form-wrapper .btn-radio input, form section {
  display: none;
}

.form-wrapper label.btn {
  padding: 1em 0;
}

.form-wrapper .btn-checkbox, .btn-checkbox:active, 
.form-wrapper .btn-checkbox:hover, .btn-radio, .btn-radio:active, 
.form-wrapper .btn-radio:hover {
  color: #333;
  line-height: normal;
  text-align: center;
  border: 1px solid #333;
  background-color: #fff;
}

.form-wrapper .btn-checkbox, 
.form-wrapper .btn-radio {
  font-size: .8em;
  width: 100%;
  white-space: normal;
  cursor: pointer;
}

.form-wrapper .btn-checkbox i, 
.form-wrapper .btn-radio i {
  font-size: 2em;
  margin-bottom: 5px;
}

.form-wrapper .form-group label {
	margin-bottom: 0.5rem;
}
.form-wrapper .form-group {
    margin-bottom: 1rem;
}

.form-wrapper .form-check {
    position: relative;
    display: block;
    padding-left: 1.25rem;
}

input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

.form-check-input {
    position: absolute;
    margin-top: 0.3rem;
    margin-left: -1.25rem;
}
.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: 0.25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0, 0, 0, 0.25);
    border-radius: 0.25em;
}
.form-text {
    display: block;
    margin-top: 0.25rem;
}
.form-text {
    font-size: 12px;
}
.form-control:disabled, .form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1;
}