/* Alle Formularelemente */

input, textarea { max-width: 100%; }
input:is([type="reset"], [type="button"], [type="submit"]) { color: black; }

main form { margin-bottom: 100px; }
.row form { margin-bottom: 0; }
form label { display: block; font-size: 1.6rem; line-height: 2.2rem; margin-bottom: 10px; font-weight: normal; }
form label + br { display: none; }
form label.option { display: block; }
.webform-container-inline label { display: block; }

form div { font-size: 1.6rem; line-height: 2.2rem; }
form input { font-size: 1.6rem; line-height: 2.2rem; margin-bottom: 10px; }

form input[type=text], form input[type=email], form input[type=password], form input[type=tel] {  width: 556px; border: 1px solid black; padding: 12px 20px; }
form input[type=text]:focus, form input[type=email]:focus, form input[type=password]:focus { border: 2px solid black; padding: 11px 19px; }
form input[type=tel]:focus { border: 2px solid black; padding: 11px 19px 11px 51px; }
.iti input, .iti input[type="tel"] { margin-bottom: 10px !important; }

form input[type=date] { border: 1px solid black; padding: 12px 20px; }
form input[type=date]:focus { border: 2px solid black; padding: 11px 19px; }

.form-textarea-wrapper { width: 556px; }
form textarea { border: 1px solid black; font-size: 1.6rem; line-height: 2.2rem; padding: 12px 20px; margin-bottom: 10px; }
form textarea:focus { border: 2px solid black; padding: 11px 19px; }

.form-type-checkbox { position: relative; }
form input[type=checkbox] { opacity: 0; position: absolute; display: inline-block; }
form input[type=checkbox] + label { background: url('../icons/checkbox_inactive.svg') 0 0px no-repeat; padding: 0 0 0 30px; min-height: 24px; line-height: 2.6rem; }
form input[type=checkbox]:checked + label { background: url('../icons/checkbox_active.svg') 0 0px no-repeat; }
form input[type=checkbox]:focus-visible { opacity: 1; }
form input[type=checkbox]:focus-visible + label { background: none; }

.form-type-radio { position: relative; }
form input[type=radio] { opacity: 0; position: absolute; display: inline-block; }
form input[type=radio] + label { background: url('../icons/radiobutton_inactive.svg') 0 0px no-repeat; padding: 0 0 0 30px; min-height: 24px; line-height: 2.6rem; }
form input[type=radio]:checked + label { background: url('../icons/radiobutton_active.svg') 0 0px no-repeat; }
form input[type=radio]:focus-visible { opacity: 1; }
form input[type=radio]:focus-visible + label { background: none; }

form select { -moz-appearance: none; -webkit-appearance: none; appearance: none; position: relative; font-size: 1.6rem; line-height: 2.2rem; border: 1px solid black; padding: 13px 60px 9px 20px; background: transparent url(../icons/selectbox.png) center right no-repeat; }

form fieldset { border: none; padding: 0; margin: 0 0 20px 0; }
form legend { font-family: JMBProBo, sans-serif; margin: 0 0 10px 0; }

form .form-radios { margin-bottom: 30px; }

input.webform-calendar { width: 24px; height: 24px; margin: 10px 0 0 5px; padding: 24px 0 0 0; background: transparent url(../icons/calendar.svg) center right no-repeat; }

#ui-datepicker-div { font-family: JMBProM, sans-serif; background: white; border: 1px solid #FF2346; border-radius: 3px; padding: 20px 30px; margin: 5px 0 0 -175px; }
.ui-datepicker-header { background: white; border: none; font-size: 1.9rem; line-height: 2.6rem; margin-bottom: 20px; }
.ui-datepicker-header .ui-corner-all { border: none; }
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -5px; top: 50%; margin-top: -5px; width: 10px; height: 10px; background-position: 0 0;}
.ui-datepicker-header .ui-datepicker-prev span { background-image: url(/themes/custom/jmb/icons/page_prev.svg); }
.ui-datepicker-header .ui-datepicker-next span { background-image: url(/themes/custom/jmb/icons/page_next.svg); }
.ui-datepicker-calendar { background: white; }
.ui-datepicker-calendar thead { border-bottom: 1px solid #FF2346; margin-bottom: 10px; }
.ui-datepicker-calendar thead th { font-size: 1.6rem; line-height: 2.0rem; text-align: center; }
.ui-datepicker-calendar .ui-state-default { display: block; width: 40px; height: 40px; border: none; background: none; font-weight: 400; color: black; line-height: 4rem; }
.ui-datepicker-calendar tr { border-top: 0px solid #C4C4C4; }
.ui-datepicker-calendar td a, .ui-datepicker-calendar td span { display: block; text-align: center; font-size: 1.2rem; line-height: 1.8rem; background: none; border: none; }
.ui-datepicker-calendar td a:hover, .ui-datepicker-calendar td a:focus, .ui-datepicker-calendar .ui-state-active{ color: white; background: #FF2346; }

@media only screen and (max-width: 590px) {
  #ui-datepicker-div { display: none !important; }
}


form input[type=submit] { background-color: transparent; border: 1px solid black;  border-radius: 22px; padding: 12px 30px 8px; }
form input[type=submit]:hover, form input[type=submit]:focus { background-color: black; color: white; }

.views-exposed-form .views-exposed-widget { padding: 0; margin-right: 10px; }

/* Nur Login */
.homepage-textfield { display: none !important; }

/* Pager */
nav.pager { margin: 0 0 20px 0; height: 16px; list-style: none; text-align: center; }
nav.pager ul li { position: relative; margin: 0; padding: 0 10px; list-style: none; font-size: 1.6rem; line-height: 2.2rem; height: 16px; display: inline; background-image: none; }
nav.pager li:before { display: none; }
nav.pager li a { display: inline-block; border: none; }
nav.pager li a:hover, ul.pager li a:focus { border-bottom: 1px solid black; }
nav.pager li.is-active { color: #FF2346; margin: 0 30px; }
li.pager__item--first, li.pager__item--previous, li.pager__item--next, li.pager__item--last { margin: 0 10px; }
li.pager__item--first a, li.pager__item--previous a, li.pager__item--next a, li.pager__item--last a { display: inline-block; position: absolute; top: -2px; left: 0; height: 16px; width: 16px; overflow: hidden; text-indent: -9999px; }
li.pager__item--first a { background: transparent url(/themes/custom/jmb/icons/page_first.svg) 0 0 no-repeat; }
li.pager__item--previous a { background: transparent url(/themes/custom/jmb/icons/page_prev.svg) 0 0 no-repeat; }
li.pager__item--next a { background: transparent url(/themes/custom/jmb/icons/page_next.svg) 0 0 no-repeat; }
li.pager__item--last a { background: transparent url(/themes/custom/jmb/icons/page_last.svg) 0 0 no-repeat; }

ul.pager-load-more { margin-top: 20px; height: auto; }
ul.pager-load-more li.pager-next a { position: relative; top: 0; text-indent: 0;  width: auto; height: auto; min-width: 120px; background: none; display: inline-block; color: black; border: 1px solid black; font-size: 1.6rem; line-height: 2.2rem; text-decoration: none; padding: 11px 30px; border-radius: 30px; }
ul.pager-load-more li.pager-next a:hover, ul.pager-load-more li.pager-next a:focus { background: black; color: white; }

/* Search Results */
a.search-result { display: block; border: none; }
.search-result h2 { font-family: JMBProBl, sans-serif; font-size: 2.5rem; line-height: 3rem; display: inline; }
.search-result p { font-family: JMBProM, sans-serif; font-size: 2.5rem; line-height: 3rem; display: inline; }

form.user-login-form, form.user-pass { margin: 80px 0; }

/* New in 2024 */
.form-item { margin-bottom: 30px; }
.form-item.js-form-type-checkbox { margin-bottom: 10px; }
form .description { color: #666; }

label.form-required::after { content: ' *'; color: #FF2346; }