html, body {
  overflow-x: hidden;
}

body {
  font-size: 1.5rem;
  color: #fff;
  touch-action: pan-y;
  background-color: #40637b;
}

h1, h2 {
  font-weight: bold;
}

h3 {
  text-transform: uppercase;
  font-size: 1.63rem;
}

.text-left {
  text-align: left !important
}

.text-right {
  text-align: right !important
}

.text-center {
  text-align: center !important
}

/**
Fixing bootstrap columns for safari
 */
.row:before, .row:after {
  display: inline-block !important;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  border-radius: 0;
  font-size: 1em;
  width: 100%;
}

.styled-select {
  overflow: hidden;
  background: url('../img/sel.png') no-repeat right #FFF;
  border-radius: 1.5rem;
}

.styled-select select {
  background: url('../img/sel.png') no-repeat right #FFF;
  padding: .375rem 1.25rem;
  line-height: 1.5;
  border: 0;
  border-radius: 0;
  -webkit-appearance: none;
  color: #40637b;
  font-weight: bold;
  margin-bottom: 0;
  cursor: pointer;
}

.styled-select select::-ms-expand {
  display: none;
}

.selectlabeltext {
  font-size: 1.035em;
}

#horizontalmenu {
  z-index: 1000;
}

/*
  Header
 */

/*
  Header Ende
 */

ol > li {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none !important;
  outline: 0;
  cursor: pointer;
}

a:hover {
  color: inherit;
}

.text-underline {
  text-decoration: underline !important;
}

.mbottom1 {
  margin-bottom: 1.25em;
}

.mbottom3 {
  margin-bottom: 3em;
}

.mtop3 {
  margin-top: 3em;
}

.nav-list {
  padding: 0;
}

.einleitung p {
  margin-top: 0.5em;
  margin-bottom: 2em;
}

.sogehts {
  padding-top: 3em;
  padding-bottom: 3em;
  color: #323231;
}

.sogehts h1 {
  padding-bottom: 0;
  margin-bottom: 0;
  color: #852a2c;
  font-size: 3.5rem;
  font-weight: normal;
  font-family: "KelptA1ExtraBold", sans-serif;
}

.sogehts h2 {
  padding-bottom: 0;
  margin-bottom: 0;
  color: #852a2c;
  font-size: 2.75rem;
  font-weight: normal;
  font-family: "KelptA1ExtraBold", sans-serif;
}

.sogehts img {
  width: initial;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}

.sogehts a:hover {
  color: #646363;
}

.link2 {
  cursor: pointer;
}

.kassenbon {
  padding-top: 3em;
  padding-bottom: 3em;
}

.kassenbon h1 {
  padding-bottom: 1rem;
  font-size: 3.5rem;
  font-weight: normal;
  font-family: "KelptA1ExtraBold", sans-serif;
}

.kassenbon img {
  width: initial;
}

.bonlist {
  margin-top: 25px;
}

.bonlistbox {
  margin-top: 1.1em;
}

.bonlistbox img {
  float: left;
}

.bonlistext {
  padding-left: 70px;
  padding-top: 8px;
}

.kbon-box {
  margin-top: -1.5em;
}

.abox {
  padding-top: 11px;
  margin-top: -9px;
}

.bbox {
  padding-top: 11px;
  margin-bottom: -1px;
}

.cbox {
  padding-top: 11px;
  margin-bottom: -1px;
}

.dbox {
  padding-top: 11px;
  margin-bottom: -1px;
}

.ebox {
  padding-top: 11px;
  margin-bottom: -1px;
}

.fbox {
  padding-top: 11px;
  margin-bottom: -1px;
}

.teilnahmeformular {
  padding-top: 3em;
  padding-bottom: 3em;
  color: #FFFFFF;
}

.teilnahmeformular h1 {
  font-size: 3.5rem;
  font-weight: normal;
  font-family: "KelptA1ExtraBold", sans-serif;
}

.teilnahmeformular h2 {
  font-size: 2.75rem;
  font-weight: normal;
  font-family: "KelptA1ExtraBold", sans-serif;
}

.teilnahmeformular h3 {
  padding-bottom: 1em;
}

.teilnahmeformular h4 {
  font-weight: bold;
  text-transform: uppercase;
}

.upload_field img {
  cursor: pointer;
}

input[type="checkbox"] {
  display: none;
}

input[type="checkbox"] + label div {
  display: inline-block;
  width: 26px;
  height: 26px;
  border: 1px solid #bebebe;
  border-radius: 4px;
  cursor: pointer;
  background-color: #ffffff;
}

input[type="checkbox"]:checked + label div {
  background: url(../img/x.png) 0px top no-repeat;
  height: 26px;
  width: 26px;
  background-color: #ffffff;
}

#invalidcheckboxtn {
  float: left;
  margin-right: 15px;
  margin-top: 5px;
  margin-bottom: 2em;
}

#invalidcheckboxtnb {
  float: left;
  margin-right: 15px;
  margin-top: 5px;
  margin-bottom: 2em;
}

.no-pdright {
  padding-right: 0;
}

.min-pdleft {
  padding-left: 5px;
}

input::-webkit-input-placeholder {
  color: #40637b !important;
}

input:-moz-placeholder { /* Firefox 18- */
  color: #40637b !important;
}

input::-moz-placeholder { /* Firefox 19+ */
  color: #40637b !important;
}

input:-ms-input-placeholder {
  color: #40637b !important;
}

#genderwomenLabel {
  margin-left: 50px;
}

#genderdiversLabel {
  margin-left: 50px;
}

.gender-label {
  float: right;
  margin-left: 10px;
  margin-top: 0px;
}

.upload-info {
  line-height: 1.4em;
  margin-top: 2.1em;
}

.upload-info2 {
  line-height: 1.1em;
  margin-top: 0.25em;
  margin-bottom: 2.25em;
}

.uplbtn {
  background-image: url('../img/upload.png');
  background-repeat: no-repeat;
  background-color: #ffffff;
  width: 60px;
  height: 33px;
  background-position: center;
  border: none;
}

.uplbtn:hover {
  background-color: #ffffff;
  background-position: center;
}

.uplbtn:focus {
  background-color: #ffffff;
  background-position: center;
  box-shadow: none;
}

.uplbtn:active {
  background-color: #ffffff;
  background-position: center;
  background-image: url('../img/upload.png');
}

.file {
  display: none;
  position: absolute;
  font-size: 6px;
}

.bankverbindung h3 {
  padding-bottom: 0.75em;
}

#file1 {
  border-right: none;
  background-color: #ffffff;
}

.input-group-btn {
  border-right: 1px solid #bebebe;
  border-top: 1px solid #bebebe;
  border-bottom: 1px solid #bebebe;
  padding-right: 3px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}


.input-icon {
  position: relative;
}

.input-icon > i {
  position: absolute;
  display: block;
  transform: translate(0, -50%);
  top: 50%;
  pointer-events: none;
  width: 25px;
  text-align: center;
  font-style: normal;
}

.input-icon-right > i {
  right: 0;
}

.input-group-addon:last-child {
  border-left: 0;
}

.input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.input-group-addon {
  padding: 4px 20px;
  color: #40637b;
  background-color: #fff;
  border-left: none !important;
  border-radius: 1.5rem;
  height: 48px;
  margin-top: 1px;
}

.input-group-addon, .input-group-btn {
  white-space: nowrap;
  vertical-align: middle;
}

.input-group-addon, .input-group-btn, .input-group .form-control {
  display: table-cell;
}

.input-group-text {
  background-color: #ffffff;
  color: #40637b;
}

#productPrice {
  border-right: none;
}

#productPriceOnce {
  border-right: none;
}

.form-control {
  color: #40637b;
  border-color: #40637b !important;
  font-weight: bold;
  border-radius: 1.5rem;
  height: 50px;
  font-size: 1.25rem;
  padding: .375rem 1.25rem;
}

.form-control:focus,
.form-control:focus-visible {
  color: #40637b;
  outline: 3px solid #ffcc00; /* visible focus ring for accessibility */
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(255, 204, 0, 0.35) !important; /* subtle halo */
}

/* Ensure custom price input variant also shows clear focus */
.price_input_field:focus,
.price_input_field:focus-visible {
  outline: 3px solid #ffcc00;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(255, 204, 0, 0.35) !important;
  color: #203b90;
}

.form-control:disabled, .form-control[readonly] {
  background-color: #d3d1d1ed;
  cursor: not-allowed;
}

/*
Produkte
 */

.produkte {
  padding-bottom: 3em;
}

.produkte img {
  width: initial;
  margin-left: auto;
  margin-right: auto;
}

.product_description {
  margin-top: -1.75em;
  margin-bottom: 1em;
  font-size: 1rem;
  height: 4.5em;
}

.makefull {
  width: 100% !important;
}

.product_price {
  width: 150px;
}

.product_price .form-control {
  border-color: #fff !important;
}

.price_input_field {
  text-align: center;
  height: 27px;
  color: #203b90;
}

.price_input_field:focus {
  color: #203b90;
}

.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: -2px;
}

.mtopbottom {
  margin: 1.5em 0;
}

.has-error {
  width: 100%;
  margin-top: .25rem;
  font-size: 85%;
  color: #ffd52e; /* High-contrast yellow distinct from body text; AA on #40637b */
  font-weight: 700;
}

.listdecimal li {
  list-style-type: decimal;
  line-height: 1.5em;
  margin-bottom: 1em;
}

/*
  Rating
*/

.rating {
  border: none;
  float: left;
}

.rating > input {
  display: none;
}

.rating > label:before {
  margin: 5px;
  font-size: 1.4em;
  font-family: 'Font Awesome 5 Free';
  display: inline-block;
  content: "\f005";
  cursor: pointer;
  font-weight: 900;
}

.rating > .half:before {
  content: "\f089";
  position: absolute;
  cursor: pointer;
}

.rating > label {
  color: #c8c8c8;
  float: right;
  cursor: pointer;
  font-size: 15px;
}

.ratingLabel {
  float: left;
  margin-top: 7px;
  margin-right: 5px;
}

.rating > .fullReadonly {
  color: #f8db30 !important;
  float: right;
  cursor: default;
}

.rating > .fullReadonly:before {
  cursor: default;
}

.rating > input:checked ~ label, /* show gold star when clicked */
.rating:not(:checked) > label:hover, /* hover current star */
.rating:not(:checked) > label:hover ~ label {
  color: #f8db30;
}

/* hover previous stars in list */

.rating > input:checked + label:hover, /* hover current star when changing rating */
.rating > input:checked ~ label:hover,
.rating > label:hover ~ input:checked ~ label, /* lighten current selection */
.rating > input:checked ~ label:hover ~ label {
  color: #f8db30;
}

.q1Rating > .rating > .fullReadonly {
  float: none;
  font-size: 12px;
}

.q1Rating > .rating > .fullReadonlydisable {
  color: #c8c8c8;
  float: right;
  cursor: default;
}

.q1Rating > .rating > .fullReadonlydisable:before {
  cursor: default;
  color: #c8c8c8;
}

.q1Rating > .rating > .fullReadonlydisable {
  float: none;
  font-size: 12px;
}

.q2Rating > .rating > .fullReadonly {
  float: none;
  font-size: 12px;
}

.q2Rating > .rating > .fullReadonlydisable {
  color: #c8c8c8;
  float: right;
  cursor: default;
}

.q2Rating > .rating > .fullReadonlydisable:before {
  cursor: default;
  color: #c8c8c8;
}

.q2Rating > .rating > .fullReadonlydisable {
  float: none;
  font-size: 12px;
}

.ratingsubtext {
  font-size: 0.95rem;
}

#checkqproduct1_checkRating {
  margin-top: -15px;
}

#checkqproduct2_checkRating {
  margin-top: -15px;
}

#checkqproduct3_checkRating {
  margin-top: -15px;
}

#checkqproduct4_checkRating {
  margin-top: -15px;
}

#checkqproduct5_checkRating {
  margin-top: -15px;
}

#checkqproduct6_checkRating {
  margin-top: -15px;
}

.ratingHeadline {
  float: left;
  width: 350px;
  margin-top: 8px;
}

.fullStar {
  color: #f8db30;
  font-size: 1rem;
}

.selectProductForRating {
  padding-top: 10px;
  padding-bottom: 10px;
}

/*
  Vorschau, Wartung, Endscreen
*/

.previewbox {
  padding-top: 3em;
  padding-bottom: 3em;
}

.previewbox .subheader {
  font-size: 1.7rem;
  margin-bottom: initial;
}

.previewbox h2 {
  margin-bottom: 0.75em;
}

.previewfoot .component-meta .component-footer {
  padding: 0.5rem 0 1.25rem;
}

/*
  Cookies
*/

.no-pdleftright-mobile {
  padding-left: 0;
  padding-right: 0;
}

.header_box {
  padding-top: 3em;
}

.text-area {
  font-size: 1.1em;
  line-height: 1.4;
  word-wrap: break-word;
}

.cookiesHeadline {
  font-size: 1.2em;
  font-weight: bold;
  margin: 0 0 .25em 0;
  line-height: 1.4;
  text-transform: none;
}

.cookiesHeadline3 {
  font-size: 1.1em;
  font-weight: bold;
  margin: 0 0 .25em 0;
  line-height: 1.4;
  text-transform: none;
}

.cookiesBox {
  margin-bottom: .9em;
  font-size: 1.05em;
  font-weight: normal;
  line-height: 1.4;
}

.component-split-content .cookies.collection {
  font-size: 1.1em;
}

.cookies > .description {
  float: left;
  clear: both;
  width: 100%;
  border-bottom: 1px solid #a5adbb;
  padding-bottom: 1em;
  margin-bottom: 1em;
}

.cookies > .description:last-child {
  border-bottom: 0 none;
}

.cookies .cookie-description {
  display: table;
  vertical-align: top;
  width: 100%;
}

.component-split-content .cookies .cookie-description .title {
  display: table-row;
  width: 100%;
}

.component-split-content .cookies .cookie-description .names {
  display: table-cell;
  width: 40%;
  vertical-align: top;
}

.cookies.collection h3 {
  font-size: 1.1em;
  font-weight: bold;
  margin: 0 0 .25em 0;
  text-transform: none;
}

.cookies .cookie-description .names ul {
  font-style: italic;
}

.cookies .cookie-description .names li {
  list-style: none;
}

.component-split-content .cookies .cookie-description .names ul {
  margin: 0;
}

.cookies .cookie-description .names ul {
  list-style: none;
  padding-left: 0;
  font-style: italic;
}

/*
  Produkte
 */

.loadImage {
  margin-left: auto;
  margin-right: auto;
}

.disabledCursor {
  cursor: not-allowed;
}

/*
  Datenabgleich
 */

.modal-content {
  max-height: 75vh;
  overflow-x: hidden;
  overflow-y: auto;
}

.datenabgleich {
  padding: 15px;
  max-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
}

.datenabgleich h4 {
  margin-bottom: 1.5em;
}

.datenabgleich h5 {
  text-transform: uppercase;
  font-size: 1.25em;
  margin-bottom: 0.5em;
}

.datenabgleich .form-group {
  margin-bottom: 45px;
}

.datenabgleich strong {
  font-size: 0.85em;
}

.modal-header {
  display: initial;
}

.modal-footer {
  display: initial;
}

.showModal {
  display: block;
  padding-right: 17px;
}

.modalOpen {
  overflow: hidden;
  padding-right: 17px;
}

.img-full {
  width: 100%;
}

.imgcenter {
  margin-left: auto;
  margin-right: auto;
}

.infotext {
  text-transform: none;
  line-height: 1.45em;
  font-size: 1rem;
  font-weight: normal;
  margin-bottom: 1em;
}

.mafoheadline1 {
  padding-bottom: 2em !important;
}

.has-error small {
  font-size: 100%;
}

.listwithstyle li {
  list-style: decimal;
  line-height: 1.75em;
  margin-bottom: 1em;
}

.modalmafoheader {
  font-size: 0.85em;
}

.overviewAnswers span {
  font-size: 0.85em;
}

.icon-burger {
  width: 55%;
  height: 100%;
}

.teilnahme-ollist {
  list-style-type: none;
  counter-reset: item;
  margin: 0;
  padding: 0;
  line-height: 1.75em;
}

.teilnahme-ollist > li {
  display: table;
  counter-increment: item;
  margin-bottom: 1em;
}

.teilnahme-ollist > li:before {
  content: counters(item, ".") ". ";
  display: table-cell;
  padding-right: 0.6em;
}

li .teilnahme-ollist > li {
  margin: 0;
}

li .teilnahme-ollist > li:before {
  content: counters(item, ".") " ";
}

.loadgifbox {
  text-align: center;
}

.requiredfield {
  font-size: 0.75rem;
}

.li1 {
  max-width: 11rem;
}

.li2 {
  max-width: 9rem;
}

.li3 {
  max-width: 12rem;
}

.li4 {
  max-width: 12rem;
}

.li5 {
  max-width: 8rem;
}

.li6 {
  max-width: 14rem;
}

.li7 {
  max-width: 10rem;
}

#iban {
  text-transform: uppercase;
}

#bic {
  text-transform: uppercase;
}

.textUpper {
  text-transform: uppercase;
}

.smallCheckBox {
  font-size: 0.92em;
  display: block;
  cursor: pointer;
}

.thankstext {
  font-size: 1.25em;
}

.thankstext h2 {
  font-size: 2.25rem;
}

.logo_box_footer {
  margin-top: 2em;
  margin-bottom: 2em;
}

.country_headline {
  padding-bottom: 0.75em !important;
}

.li1_preview {
  max-width: 11rem;
}

.li2_preview {
  max-width: 9rem;
}

.li3_preview {
  max-width: 8rem;
}

.li4_preview {
  max-width: 16rem;
}

.li5_preview {
  max-width: 11rem;
}

#teilnahme_anchor {
  height: 50px;
}

#datenschutz_anchor {
  height: 50px;
}

#datenumgang_anchor {
  height: 50px;
}

#contact_anchor {
  height: 50px;
}

#cookies_anchor {
  height: 50px;
}

#endmask_anchor {
  height: 50px;
}

#lose_anchor {
  height: 25px;
}

#won_anchor {
  height: 25px;
}

#loadgif {
  width: 32px;
}

.form-group {
  margin-bottom: 1rem;
}

.form-inline .form-control {
  display: inline-block;
  width: auto;
  vertical-align: middle;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px;
}

label {
  margin-bottom: 0.5rem;
}

#bondate {
  border-right: none !important;
}

#bontime {
  border-right: none !important;
}

.infoEmail {
  cursor: pointer;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
}

.modal-header .close {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
}

.iconSuccess {
  color: #28a745;
}

.iconFail {
  color: #dc3545;
}

.pwforgot {
  cursor: pointer;
}

.blue_bg {
  background-color: #40637b;
}

.white_bg {
  background-color: #FFFFFF;
}

.button_tulip {
  font-size: 1.625rem;
  color: #FFFFFF;
  background-color: #40637b;
  border-radius: 2px;
  border: 2px solid #fff;
  font-weight: bold;
  padding: 0.5rem 2.5rem;
}

.button_tulip:hover {
  background-color: #FFFFFF;
  color: #40637b;
}

.button_tulip_absent {
  padding: 0.75rem 5rem;
}

.subheader_preview_box {
  border-bottom: 8px solid #FFFFFF;
}

.extra_bold {
  font-weight: normal;
  font-family: "KelptA1ExtraBold", sans-serif;
}

.thanks_box {
  font-size: 2rem;
}

.thanks_box h1 {
  font-size: 3.5rem;
}

.thanks_box h2 {
  font-size: 3rem;
}

.hinweis_box {
  background: #FFFFFF;
  color: #323231;
  border-radius: 1.5rem;
  padding: 1.25em;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2em;
  margin-bottom: 2em;
}

.hinweis_box h1 {
  color: #852a2a;
}

.faqbox {
  padding-top: 3em;
  padding-bottom: 3em;
  border-top: 4px solid #FFFFFF;
  background: url(../img/holz_bg.png) no-repeat center center fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.holz_bg {
  padding-top: 1em;
  padding-bottom: 2em;
  background: url(../img/holz_bg.png) no-repeat center center fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.questionbox {
  padding-left: 7em;
  padding-right: 7em;
}

.toggle-box {
  margin-bottom: 1em;
  border: 2px solid #fff;
  border-radius: 40px;
  padding: 0.85em;
}

.section--headline--white-faq {
  color: #FFFFFF;
  text-rendering: optimizelegibility;
  line-height: 1.1;
  font-size: 1.45rem;
  cursor: pointer;
  text-transform: uppercase;
}

.faqplusimg {
  margin-top: -1em;
  margin-right: 0.5em;
}

.answerfaqbox {
  margin-top: 1em;
  width: 90%;
  font-size: 1.25rem;
}

.hideshowfaq {
  display: none;
}

.header_content {
  position: relative;
}

.hidden_anchor_box {
  position: absolute;
  width: 25%;
  bottom: 0;
  height: 100px;
  left: 40%;
}

#recaptcha {
  width: 304px;
  margin: 0 auto;
}

.loadsvgbox svg {
  width: 50px;
  height: 50px;
  display:inline-block;
}

.previewImage img {
  width: 300px;
  max-width: 300px;
}

.pdf_file_name {
  word-break: break-all;
}

.removeFileButton {
  font-size: 16px;
}

#gzaform .browse {
  color: #337ab7;
  text-decoration: none;
}

#gzaform .browse:focus, #gzaform .browse:hover {
  color: #23527c;
  text-decoration: underline !important;
}

#gzaform .fileSelector {
  padding: 15px;
  text-align: center;
}

#gzaform .fileSelector.fileDragOver {
  border-color: #127abe;
}

#gzaform .fileSelector label {
  margin-bottom: 0;
}

.cursor-pointer {
  cursor: pointer;
}

.h-px {
  height: 1px;
}

.absolute {
  position: absolute;
}

[v-cloak] {
  display: none;
}

.block {
  display: block;
}

.w-px {
  width: 1px;
}

.info_box {
  margin-top: 3em;
  padding: 0.75em;
  background: #852a2c;
  border-radius: 4px;
}

.info_box h1 {
  color: #f6d200;
  font-weight: normal;
  font-family: "KelptA1ExtraBold", sans-serif;
  line-height: 1.3;
}

.counter_box {
  padding-top: 2em;
  padding-bottom: 2em;
  font-size: 2.65rem;
}

.counter_box span {
  font-size: 3.15rem;
  background: #ffffff;
  color: #852a2c;
  padding: 5px;
  border-radius: 2px;
  margin-right: 4px;
  font-family: "KelptA1ExtraBold", sans-serif;
}

/*
  Mobil
*/

@media (min-width: 1200px) {
  .info_box h1 {
    font-size: 3.5rem;
  }

  #gzaform .fileSelector label {
    width: 547px;
    margin-left: auto;
    margin-right: auto;
  }

  .sogehts_box_left {
    margin-right: 1.25em;
  }

  .questionheader {
    width: 93%;
  }

  .section--headline--white-faq {
    font-size: 1.75rem;
  }

  .faqbox h1 {
    font-size: 3rem;
  }

  .hinweis_box {
    width: 800px;
  }

  .product-wrap {
    margin-bottom: 3em;
  }
}

@media (min-width: 1005px) {
  .mobileMarginTop {
    margin-top: 2em;
  }

  .pd_left_no {
    padding-left: 0;
  }

  .pd_right_no {
    padding-right: 0;
  }

  .img_box_2 img {
    padding-left: 4.65em;
  }

  .img_box_3 img {
    padding-left: 4em;
  }

  .img_box_4 img {
    padding-left: 4.4em;
  }
}

@media only screen and (min-width: 40.063em) {
  .previewfoot .component-meta .component-footer {
    min-height: 284.16px;
    min-height: 26vh
  }
}

@media (max-width: 1800px) {

}

@media (max-width: 1750px) {

}

@media (max-width: 1700px) {

}

@media (max-width: 1680px) {
  .nav-main-horizontal .nav-list {
    max-width: 70%;
  }

  .datenabgleich h5 {
    font-size: 1em;
  }

  .li1 {
    max-width: 19rem;
  }

  .li1_preview {
    max-width: 32rem;
  }
}

@media (max-width: 1600px) {

}

@media (max-width: 1550px) {

}

@media (max-width: 1500px) {

}

@media (max-width: 1449px) {
  .li1_preview {
    max-width: 28rem;
  }

  .li1 {
    max-width: 16rem;
  }

}

@media (max-width: 1399px) {
  .li1_preview {
    max-width: 25rem;
  }

  .li1 {
    max-width: 10.75rem;
  }

  .product_price {
    width: 100%;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 10px;
  }
}

@media (max-width: 1349px) {

}

@media (max-width: 1299px) {
  .nav-main-horizontal .nav-list {
    max-width: 100%;
  }

  .li1 {
    max-width: 12.75rem;
  }

  .li1_preview {
    max-width: 23rem;
  }
}

@media (max-width: 1249px) {

}

@media (max-width: 1199px) {
  .ratingHeadline {
    width: 250px;
  }

  .smallCheckBox {
    font-size: 0.8em;
  }

  .li1_preview {
    max-width: 15rem;
  }

  .button {
    padding: .825rem 2.0375rem;
    font-size: 1.125rem;
    line-height: 1.2625rem;
  }

  .img_box_3 img {
    padding-left: 0;
  }

  .teilnahmeformular {
    padding-top: 5em;
    padding-bottom: 5em;
  }
}

@media (max-width: 1149px) {

}

@media (max-width: 1099px) {

}

@media (max-width: 1049px) {

}

@media (max-width: 1004px) {
  .ratingHeadline {
    width: 350px;
  }

  .li1 {
    max-width: 100%;
  }

  .li2 {
    max-width: 100%;
  }

  .li3 {
    max-width: 100%;
  }

  .li4 {
    max-width: 100%;
  }

  .li5 {
    max-width: 100%;
  }

  .li6 {
    max-width: 100%;
  }

  .li7 {
    max-width: 100%;
  }

  .li1_preview {
    max-width: 100%;
  }

  .li2_preview {
    max-width: 100%;
  }

  .li3_preview {
    max-width: 100%;
  }

  .li4_preview {
    max-width: 100%;
  }

  .li5_preview {
    max-width: 100%;
  }

  .buttonbox a {
    width: 100%;
    text-align: center;
  }

  .hideOnMobileMenu {
    display: none;
  }
}

@media (max-width: 991px) {
  .questionbox {
    padding: 0 1em;
  }

  #genderwomenLabel {
    margin-left: 20px;
  }

  #genderdiversLabel {
    margin-left: 20px;
  }

  .teilnahmeformular h3 {
    font-size: 1.50rem;
  }

  #invalidcheckboxtn {
    margin-bottom: 3em;
  }

  #invalidcheckboxtnb {
    margin-bottom: 3em;
  }

  .thankstext {
    font-size: 1.5rem;
  }

  .thankstext_headline {
    font-size: 1.75rem;
  }

  .loadgifbox {
    text-align: unset;
  }

  .datenabgleich h5 {
    font-size: 1em;
  }

  .datenabgleich strong {
    font-size: 0.9rem;
  }

  .datenabgleich span {
    font-size: 0.9rem;
  }

  .absentbutton {
    font-size: 0.95rem !important;
    text-align: center;
  }

  .imgProductsMobileHeight {
    height: 11em;
  }

  .upload-info {
    font-size: 12px;
    margin-top: 1.75em;
  }

  .upload-info2 {
    font-size: 12px;
    margin-bottom: 6.25em;
  }

  .component-split-content .cookies .cookie-description .names {
    width: 45%;
  }

  .header_box {
    padding-top: 2em;
  }

  .min-pdleft {
    padding-left: 5px;
  }

  .no-pdright {
    padding-right: 0;
  }

  .button-decoration.button, .button-decoration .button {
    padding-left: 2.438rem;
    padding-right: 2.438rem;
  }
}

@media (max-width: 767px) {
  .hinweis_desc_box_buttons_img img {
    margin-top: 0;
  }

  .button-decoration.button, .button-decoration .button {
    padding-left: 2.438rem;
    padding-right: 2.438rem;
  }

  .loadgifbox {
    text-align: unset;
  }

  .previewbox {
    padding-top: 2em;
    padding-bottom: 2em;
  }

  .datenabgleich strong {
    font-size: 0.85rem;
  }

  .datenabgleich span {
    font-size: 0.85rem;
  }

  .absentbutton {
    font-size: 0.95rem !important;
    text-align: center;
  }

  .mobilefooter {
    line-height: 1.8em;
    padding: 2.5rem 0 1.25rem;
    font-size: 1.125rem
  }

  .mobilefooter a:hover {
    color: inherit;
  }

  .mobilefooter img {
    width: inherit;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
  }

  .kbon-box {
    margin-top: 1em;
  }

  .no-pdleftright {
    padding-left: 0;
    padding-right: 0;
  }

  .imgProductsMobileHeight {
    height: 12em;
  }
}

@media (max-width: 575px) {
  .teilnahmeformular h1 {
    font-size: 2.75rem;
  }

  .answerfaq {
    font-size: 0.9em;
  }

  .questionheader {
    width: 85%;
  }

  #genderwomenLabel {
    margin-left: 35px;
  }

  #genderdiversLabel {
    margin-left: 35px;
  }

  .btn-danger {
    width: 100%;
    padding: 10px 15px;
  }

  .ratingHeadline {
    width: 100%;
  }

  .product_description {
    font-size: 0.95rem;
  }

  .product-inner-main {
    height: 250px;
  }

  .button_box_modal {
    padding-left: 0;
    padding-right: 0;
  }

  .modal-content {
    max-height: 85vh;
  }

  .teilnahmeformular {
    padding-top: 2em;
    padding-bottom: 2em;
  }

  .teilnahmeformular h2 {
    padding-bottom: 1em;
  }

  .teilnahmeformular h3 {
    padding-bottom: 0.25em;
    padding-top: 1em;
    font-size: 1.25em;
  }

  .smallCheckBox {
    font-size: 0.75em;
  }

  .anchorbox {
    height: 50px;
  }

  .has-error {
    font-size: 65%;
  }

  #validatehousenr {
    width: 100%;
  }

  .loadgifbox {
    text-align: unset;
  }

  .teilnahme-ollist {
    padding-left: 0;
  }

  .mafoheadline1 {
    padding-bottom: 1em !important;
  }

  .upload-info {
    font-size: 12px;
  }

  .upload-info2 {
    font-size: 12px;
  }

  .kassenbon {
    padding: 2em 0.75em;
  }

  .previewbox h2 {
    margin-bottom: 0.5em;
    font-size: 1.25em;
    font-weight: normal;
  }

  .imgProductsMobileHeight {
    height: 12em;
  }

  .datenabgleich h5 {
    font-size: 1em;
  }

  .datenabgleich strong {
    font-size: 0.75rem;
  }

  .datenabgleich span {
    font-size: 0.75rem;
  }

  .absentbutton {
    padding: 5px !important;
    font-size: 0.80rem !important;
    width: 100%;
  }

  .absentbutton.button-decoration.button .item, .absentbutton.button-decoration .button .item {
    left: .4375rem;
    top: .4375rem;
    width: 1.2625rem;
    height: 1.2625rem;
  }

  .modal-header {
    padding: 1rem 0.5rem;
  }

  .modal-body {
    padding: 1rem 0.5rem;
  }

  .modal-footer {
    padding: 1rem 0.5rem;
  }

  .button {
    padding: .725rem 0.975rem;
    width: 100%;
  }

  .button-decoration.button .item, .button-decoration .button .item {
    width: 1.563rem;
    height: 1.563rem;
    left: 0.538rem;
    top: 0.738rem;
  }

  .button-decoration.button, .button-decoration .button {
    padding-left: 1.538rem;
    padding-right: 1.538rem;
  }

  .cookies .cookie-description .names ul {
    margin-bottom: 1em !important;
  }

  .component-split-content .cookies .cookie-description .names {
    display: block;
    width: 100%;
  }

  .header_box {
    padding-top: 1em;
  }

  .lheight_small {
    line-height: 1.1em;
  }

  .mtop3 {
    margin-top: 1.5em;
  }

  .upload-info2 {
    margin-bottom: 1em;
  }

  .upload-info {
    margin-top: 1em;
  }

  .min-pdleft {
    padding-left: 15px;
  }

  .no-pdright {
    padding-right: 0;
  }

  .kbon-box {
    margin-top: 2em;
  }

  .kbon-box img {
    width: 100%;
  }

  .mobilefooter {
    line-height: 1.8em;
    padding: 2.5rem 0 1.25rem;
    font-size: 1.125rem
  }

  .mobilefooter a:hover {
    color: inherit;
  }

  .mobilefooter img {
    width: inherit;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
  }

  .item {
    width: 3.1rem;
    height: 3.1rem;
    line-height: 3.1rem;
  }

  .component-header {
    padding: 10vh 0;
  }

  .component-header h1 {
    font-size: 2rem;
  }

  .no-pdleftright {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 415px) {
  .faqplusimg {
    margin-top: -1.5em;
  }
}

@media (max-width: 375px) {
  .absentbutton {
    font-size: 0.7rem !important;
  }

  .absentbutton.button-decoration.button .item, .absentbutton.button-decoration .button .item {
    left: .5375rem;
    top: .5375rem;
    width: 1.1625rem;
    height: 1.1625rem;
  }
}

@media (max-width: 360px) {
  #genderwomenLabel {
    margin-left: 25px;
  }

  #genderdiversLabel {
    margin-left: 25px;
  }

  .absentbutton {
    font-size: 0.7rem !important;
  }

  .absentbutton.button-decoration.button .item, .absentbutton.button-decoration .button .item {
    left: .5375rem;
    top: .5375rem;
    width: 1.1625rem;
    height: 1.1625rem;
  }
}

@media (max-width: 320px) {
  .teilnahmeformular h3 {
    font-size: 1em;
  }

  body {
    font-size: 0.95rem;
  }

  .h2, h2 {
    font-size: 1.5rem;
  }

  .bonlist {
    font-size: 16px;
  }

  .bonlistbox {
    margin-top: 1.5em;
  }

  .absentbutton {
    font-size: 0.75rem !important;
    line-height: 0.95rem;
  }

  .absentbutton.button-decoration.button .item, .absentbutton.button-decoration .button .item {
    left: .4375rem;
    top: .6375rem;
    width: 1.0625rem;
    height: 1.0625rem;
  }
}

/*
  IE
*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .modal-header {
    display: inline;
  }

  .modal-footer {
    display: inline;
  }

  .col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
    flex: 0 0 auto;
  }
}


/* Accessible focus styles for interactive elements */
.button_tulip:focus,
.button_tulip:focus-visible {
  outline: 3px solid #ffcc00;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px rgba(255, 204, 0, 0.35) !important;
}

/* Make the drag-and-drop/upload area clearly focused when its children are focused */
.fileSelector:focus-within {
  outline: 3px dashed #ffcc00;
  outline-offset: 6px;
}

/* Ensure visible focus for key navigation links styled as text */
a.text-underline:focus,
a.text-underline:focus-visible {
  outline: 2px solid #ffcc00;
  outline-offset: 2px;
}


/* Visible focus for select fields and their custom wrapper */
select.form-control:focus,
select.form-control:focus-visible {
  outline: 3px solid #ffcc00; /* same yellow focus ring */
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(255, 204, 0, 0.35) !important;
}

/* When selects are wrapped, show ring on the wrapper too */
.styled-select:focus-within {
  outline: 3px solid #ffcc00;
  outline-offset: 3px;
  border-radius: 1.5rem; /* match inner control radius so halo looks continuous */
}
