/* this file contains the global style for forms */

/** powermail */
div.tx-powermail {
}

div.tx-powermail form.powermail_form {
}

div.tx-powermail form.powermail_form::after {
    content: "";
    clear: both;
    display: block;
    height: 0;
    visibility: hidden;
}

.tx-powermail .container-fluid {
    padding: 0;
}

/* errors */
.powermail_form ul.powermail_message_error {
    margin: 0 15px 20px;
    list-style: none;
    padding: 0;
    width: 100%;
}

.powermail_form .powermail_message_error li {
    color: #C00;
    font-size: 85%;
    margin: 5px 0 0;
}

.powermail_form ul.powermail_message_error + .powermail_fieldset {
    margin-top: 0;
}

.powermail_form .powermail_field_error_container {
    clear: both;
}

.powermail_form ul.powermail-errors-list {
    margin: 5px 0 0 1px;
    padding: 0;
}

.powermail_form .powermail-errors-list li {
    margin-left: 0;
}

.powermail_form .powermail-errors-list li::before {
    display: none;
}

.powermail_fieldwrap_type_check .powermail-errors-list li,
.powermail_fieldwrap_type_radio .powermail-errors-list li {
    margin-left: 0;
}

/* label */
.powermail_form.layout1 h1,
.powermail_fieldset.layout1 > legend {
    display: block;
}

.powermail_form.layout2 h2,
.powermail_fieldset.layout2 > legend {
    display: block;
}

.powermail_form.layout3 h3,
.powermail_fieldset.layout3 > legend {
    display: block;
}

.powermail_form span.header {
    font-weight: 600;
}

form.powermail_form:not(.powermail_morestep) > header {
}

form.powermail_form:not(.powermail_morestep) > header * {
}

/* legend */
.powermail_fieldset > legend,
.powermail_fieldset legend.nolabel,
.powermail_fieldset.nolabel legend {
    display: none;
}

/* Mehrschrittformular */
form.powermail_morestep {
}

.powermail_form .btn-group {
    border-bottom: 1px solid #E5E5E5;
    margin: 0 0 20px;
}

.powermail_form .btn-group button {
    background: #FFF;
    border: 1px solid #E5E5E5;
    border-bottom: none;
    border-radius: 0;
    color: var(--primary-color-dark);
    font-weight: 600;
    margin: 0 0 0 15px;
    padding: 12px 20px 10px;
    min-width: 0;
    text-transform: none;
}

.powermail_form .btn-group button:hover {
    background: var(--primary-color);
    border-color: #009EDF;
    color: #FFF;
}

.powermail_form .btn-group button.btn-primary {
    background: var(--primary-color);
    border-bottom: 1px solid;
    border-color: var(--primary-color);
    color: #FFF;
    margin-bottom: -1px;
}

.powermail_form .btn-group button:first-child {
    margin-left: 0;
}

.powermail_form .btn-group button:first-child:last-child { /*display: none;*/
}

.powermail_fieldwrap.powermail_tab_navigation {
    display: block;
    overflow: hidden;
}

.powermail_tab_navigation .btn {
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    color: #FFF;
    font-size: 28px;
    line-height: 1;
    padding: 5px 25px;
}

.powermail_tab_navigation .btn:hover {
    background: #FFF;
    color: var(--primary-color);
}

.powermail_tab_navigation .btn.btn-warning {
    float: left;
}

.powermail_tab_navigation .btn.pull-right {
    float: right;
}

.powermail_tab_navigation .btn-primary:not(:disabled):not(.disabled):active,
.powermail_tab_navigation .btn-warning:not(:disabled):not(.disabled):active {
    background-color: inherit;
    border-color: inherit;
    color: inherit;
}

.powermail_tab_navigation .btn.btn-primary,
.powermail_tab_navigation .btn-primary:focus,
.powermail_tab_navigation .btn-primary:not(:disabled):not(.disabled):active,
.powermail_tab_navigation .btn-primary:not(:disabled):not(.disabled):active:focus,
.powermail_tab_navigation .btn.btn-warning,
.powermail_tab_navigation .btn-warning:focus,
.powermail_tab_navigation .btn-warning:not(:disabled):not(.disabled):active,
.powermail_tab_navigation .btn-warning:not(:disabled):not(.disabled):active:focus {
    box-shadow: none;
}

.powermail_morestep {
}

/* layout */
.powermail_fieldwrap {
    margin: 15px 0 0;
    flex: 0 0 100%;
    max-width: 100%;
}

.powermail_fieldset.row .powermail_fieldwrap:not(.col) {
    flex: 0 0 auto;
    flex-wrap: wrap;
    flex-basis: auto;
    flex-grow: 1;
    padding-right: 10px;
    padding-left: 10px;
    width: 100%;
    max-width: 100%;
}

.powermail_fieldwrap::before, .powermail_fieldwrap::after {
    content: "";
    clear: both;
    display: block;
    height: 0;
    visibility: hidden;
}

.powermail_form .powermail_label,
.powermail_form .powermail_field {
    flex: 0 0 100%;
    flex-wrap: wrap;
    width: 100%;
    font-size: 18px;
}

.powermail_legend + .powermail_fieldwrap {
}

.powermail_form .powermail_label {
    display: block;
    color: var(--primary-color-dark);
    font-weight: 500;
    padding: 0;
    vertical-align: top;
    text-align: left;
}

.powermail_form .powermail_label.nolabel {
    display: none;
}

.powermail_fieldwrap label {
    padding-left: 0;
}

.powermail_field {
    margin: 10px 0 0;
    text-align: left;
}

.powermail_field textarea {
    margin-bottom: -7px !important;
}

/* table */
.powermail_form table {
    min-width: 50%;
}

.powermail_form table td {
    padding: 5px 10px;
}

.powermail_form table td:first-child {
    padding-left: 0;
}

/** forms */
fieldset {
    border: none;
    display: block;
    inline-size: 100%;
    min-inline-size: 100%;
    margin: 0;
    padding: 0;
}

.powermail_fieldset {
}

.powermail_fieldset.row {
    align-content: flex-start;
    align-items: flex-start;
    min-inline-size: calc(100% + 30px);
}

.powermail_morestep fieldset {
    float: none;
    padding: 0;
    width: 100%;
}

form.powermail_form:not(.powermail_morestep) .powermail_fieldset + .powermail_fieldset {
    margin-top: 0;
}

form :focus {
    outline: none;
}

form .mandatory,
.powermail_fieldwrap_type_check.powermail_fieldwrap_datenschutz input[required] ~ label .label::after {
    color: var(--primary-color-dark);
}

form label .mandatory, form legend .mandatory {
    padding-left: 3px;
}

/* error */
.powermail-errors-list li {
}

form label.error, .powermail_form .powermail-errors-list li {
    display: block;
    color: #C00;
    font-size: 14px;
    font-weight: normal;
}

form input[type="checkbox"] + label.error, form input[type="radio"] + label.error {
    margin-left: 25px;
}

form input.powermail_field_error,
form textarea.powermail_field_error {
    border-color: #C00;
}

/* mailchimp */
#mc-embedded-subscribe-form #mce-responses {
    clear: both;
}

#mc-embedded-subscribe-form div.mce_inline_error {
    color: #C00;
    background: none;
    font-size: 85%;
    font-weight: normal;
    margin: 0 0 0 10px;
    padding: 0;
}

#mc-embedded-subscribe-form input.mce_inline_error,
#mc-embedded-subscribe-form input.mce_inline_error + .input-custom {
    border-color: #C00;
}

#mc-embedded-subscribe-form .response {
    margin-top: 20px;
}

/* placeholder */
form .placeholderInput {
    position: relative;
}

form .placeholderLabel {
    color: var(--primary-color-dark);
    cursor: text;
    margin: 0 0 0 1px;
    opacity: .5;
    padding: 5px;
    position: absolute;
    top: 1px;
    left: 15px;
    z-index: 1;
    width: auto;
}

form .placeholderInput .placeholderLabel {
    display: none !important;
    font-size: var(--base-font-size);
    padding-top: 6px;
}

form .placeholderLabel .mandatory {
}

.site-content form .placeholderInput ul + .placeholderLabel {
    margin-top: 0;
}

form [required] ~ .placeholderLabel {
}

form input:valid ~ .placeholderLabel,
form textarea:valid ~ .placeholderLabel {
    display: none;
}

/* placeholder: WebKit, Blink, Edge */
form ::-webkit-input-placeholder {
    color: #F8F8F8;
    opacity: 1;
    font-style: normal;
}

form :focus::-webkit-input-placeholder {
}

form .error:focus::-webkit-input-placeholder {
}

/* placeholder: Mozilla Firefox 19+ */
form ::-moz-placeholder {
    color: #F8F8F8;
    opacity: 1;
    font-style: normal;
}

form :focus::-moz-placeholder {
}

form .error:focus::-moz-placeholder {
}

/* placeholder: Internet Explorer 10-11 */
form :-ms-input-placeholder {
    color: #F8F8F8;
    opacity: 1;
    font-style: normal;
}

form :focus:-ms-input-placeholder {
}

form .error:focus:-ms-input-placeholder {
}

/* placeholder: Standard (https://drafts.csswg.org/selectors-4/#placeholder) */
form ::placeholder,
form :placeholder-shown {
    color: #F8F8F8;
    opacity: 1;
    font-style: normal;
}

form :focus::placeholder,
form :focus:placeholder-shown {
}

form .error:focus::placeholder,
form .error:focus:placeholder-shown {
}

form .valid:focus {
}

/* change autocomplete styles in Chrome */
input:-internal-autofill-selected,
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus,
textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus,
select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus {
    background-color: #FFF !important;
    -webkit-text-fill-color: #000;
    -webkit-box-shadow: 0 0 0 100px #FFF inset;
    transition: background-color 5000s ease-in-out 0s;
}

form input:-webkit-autofill::selection {
    -webkit-text-fill-color: #FFF;
}

/* selected input element */
.powermail_input::selection {
    background-color: #003C61;
    color: #FFF;
}

/* autofilled, selected input element */
.powermail_input:-webkit-autofill::selection {
    background-color: #003C61;
    color: #FFF;
}


/* input */
form input {
    height: 50px;
}

form input, form textarea, form select, .selectric {
    color: var(--base-color);
    font-family: Heebo, Helvetica, Arial, sans-serif;
    font-size: 18px;
    padding: 10px;
}

form input, form textarea, form select {
    background-color: #F8F8F8;
    border: 1px solid #E5E5E5;
    border-radius: 0;
    box-shadow: none !important;
    width: 100%;
}

form input, form textarea {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}

form input:hover, form textarea:hover, form select:hover {
    border-color: var(--primary-color);
}

form input:focus, form textarea:focus, form select:focus {
    border-color: var(--base-color);
}

/* textarea */
.powermail_fieldwrap.powermail_fieldwrap_type_textarea {
    margin-top: 20px;
}

.powermail_fieldwrap_type_textarea .placeholderLabel {
    top: -1px;
}

form textarea {
    height: 188px;
    min-height: 50px;
    resize: vertical;
}

/* search */
form input[type="search"] {
    outline-offset: -2px;
    -webkit-appearance: none;
}

form input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/* date / datetime / time */
form input[type="date"] {
    -webkit-appearance: textfield;
}

/* nur Datum */
form input[type="time"] {
    -webkit-appearance: textfield;
}

/* nur Zeit */
form input[type="datetime-local"] {
    -webkit-appearance: textfield;
}

/* Datum und Uhrzeit*/
form input[type="date"], form input[type="time"], form input[type="datetime-local"], form input.powermail_date {
    padding: 8px 30px 6px 15px;
}

form input[type="date"], form input[type="datetime-local"], form input.powermail_date {
    background-image: url("/typo3conf/ext/pm_core/Resources/Public/Images/icon_calendar.png");
    background-position: right 8px center;
    background-repeat: no-repeat;
    background-size: 16px 16px;
}

form input::-webkit-clear-button {
}

form input[type="date"]::-webkit-inner-spin-button {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}

form input[type="time"]::-webkit-inner-spin-button {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}

form input[type="datetime-local"]::-webkit-inner-spin-button {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}

form input::-webkit-datetime-edit {
}

/* space between */
form input::-webkit-datetime-edit-fields-wrapper {
}

/* background */
form input::-webkit-datetime-edit-text {
}

/* text elements like "/" */
form input::-webkit-datetime-edit-month-field {
}

/* input: month */
form input::-webkit-datetime-edit-day-field {
}

/* input: day */
form input::-webkit-datetime-edit-year-field {
}

/* input: year */
form input::-webkit-calendar-picker-indicator {
    background: none;
    color: rgba(204, 204, 204, 0);
}

/* color: transparent */

/* date/time picker */
.xdsoft_datetimepicker .xdsoft_calendar th {
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-right-color: #FFF;
    color: #FFF;
}

.xdsoft_datetimepicker .xdsoft_calendar th:last-child {
    border-right-color: var(--primary-color);
}

.xdsoft_datetimepicker .xdsoft_calendar td {
    background: #F8F8F8;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
    color: var(--primary-color);
    font-weight: 500;
}

.xdsoft_datetimepicker .xdsoft_calendar td > div {
    padding: 5px 5px 0;
    position: relative;
}

.xdsoft_datetimepicker .xdsoft_calendar td:hover,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box .xdsoft_time_variant .xdsoft_time:hover {
    background: var(--primary-color) !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box .xdsoft_time_variant .xdsoft_current {
    background: var(--primary-color);
    box-shadow: none;
    color: #FFF;
}

/* type number */
form input[type="number"] {
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
    appearance: textfield;
}

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

/* type password */
form input[type="password"] {
    letter-spacing: 2px;
}

form input[type="password"]::-ms-reveal {
    display: none;
}

/* eye */

/* type range */
form input[type="range"] {
    background: transparent;
    border: none;
    margin: 15px 0 0;
    padding: 0;
    width: 100%;
}

form input[type="range"]:focus {
    outline: none;
}

form input[type="range"]::-webkit-slider-runnable-track {
    animate: 0.2s;
    background: #FFF;
    border: 1px solid #E5E5E5;
    border-radius: 3px;
    cursor: pointer;
    height: 10px;
    width: 100%;
}

form input[type="range"]:hover::-webkit-slider-runnable-track {
    border-color: var(--primary-color);
}

form input[type="range"]:focus::-webkit-slider-runnable-track {
    border-color: var(--base-color);
}

form input[type="range"]::-webkit-slider-thumb {
    background: var(--primary-color);
    border: 1px solid #3C3C3C;
    border-radius: 50%;
    box-shadow: 1px 1px 1px var(--primary-color);
    cursor: pointer;
    height: 18px;
    width: 18px;
    margin-top: -5px;
    -webkit-appearance: none;
}

form input[type="range"]:hover::-webkit-slider-thumb {
}

form input[type="range"]:focus::-webkit-slider-thumb {
}

form input[type="range"]::-moz-range-track {
    animate: 0.2s;
    background: #FFF;
    border: 1px solid #E5E5E5;
    border-radius: 3px;
    box-shadow: 0 0 0 var(--primary-color);
    cursor: pointer;
    height: 10px;
    width: 100%;
}

form input[type="range"]:hover::-moz-range-track {
    border-color: #009EDF;
}

form input[type="range"]:focus::-moz-range-track {
    background: #FFF;
    border-color: var(--base-color);
}

form input[type="range"]::-moz-range-thumb {
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: 50%;
    box-shadow: 1px 1px 1px var(--primary-color);
    cursor: pointer;
    height: 22px;
    width: 22px;
}

form input[type="range"]:hover::-moz-range-thumb {
}

form input[type="range"]:focus::-moz-range-thumb {
}

form input[type="range"]::-ms-track {
    animate: 0.2s;
    background: transparent;
    border-color: transparent;
    color: transparent;
    cursor: pointer;
    height: 10px;
    width: 100%;
}

form input[type="range"]::-ms-fill-lower {
    background: #FFF;
    border: 1px solid #E5E5E5;
    border-radius: 6px;
    box-shadow: 0 0 0 #000;
}

form input[type="range"]::-ms-fill-upper {
    background: #FFF;
    border: 1px solid #E5E5E5;
    border-radius: 6px;
    box-shadow: 0 0 0 #000;
}

form input[type="range"]:hover::-ms-fill-lower {
    border-color: var(--primary-color);
}

form input[type="range"]:hover::-ms-fill-upper {
    border-color: var(--primary-color);
}

form input[type="range"]:focus::-ms-fill-lower {
    background: #FFF;
    border-color: var(--base-color);
}

form input[type="range"]:focus::-ms-fill-upper {
    background: #FFF;
    border-color: var(--base-color);
}

form input[type="range"]::-ms-thumb {
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: 50%;
    box-shadow: 1px 1px 1px var(--primary-color);
    cursor: pointer;
    height: 22px;
    width: 22px;
}

/* checkbox / radio */
.powermail_fieldwrap_type_check .powermail_label,
.powermail_fieldwrap_type_radio .powermail_label {
    display: block;
    padding-bottom: 0;
}

.powermail_fieldwrap_type_check .powermail_field,
.powermail_fieldwrap_type_radio .powermail_field {
    padding: 5px 0 0;
}

input[type="checkbox"],
input[type="radio"] {
    padding: 0;
    width: auto;
}

.powermail_field .powermail_checkwrap,
.powermail_field .radio {
    clear: both;
    float: left;
    position: relative;
    z-index: 1;
}

.powermail_field > .powermail_checkwrap + .powermail_checkwrap,
.powermail_field > .radio + .radio {
    margin-top: 10px;
}

.checkbox input[type=checkbox], .radio input[type=radio], .powermail_checkwrap input[type=checkbox] {
    cursor: pointer;
    margin: 0 5px 0 0;
    opacity: 0;
    position: absolute;
    top: -2px;
    left: 0;
}

.input-custom {
    display: block;
    background-color: #FFF;
    border: 1px solid #E5E5E5;
    box-shadow: 0 0 3px rgba(0, 0, 0, .1) inset;
    border-radius: 2px;
    overflow: hidden;
    position: absolute;
    top: -2px;
    left: 0;
    z-index: -1;
}
/*
.powermail_fieldwrap_type_check:not(.powermail_fieldwrap_datenschutz) .input-custom {
    position: relative;
    top: 5px;
    margin-right: 15px;
    display: inline-block;
}*/

.powermail_field_error .input-custom {
    border-color: #C00;
}

.checkbox input[type="checkbox"], .powermail_checkwrap input[type=checkbox], .radio input[type="radio"], .input-custom {
    height: 25px;
    width: 25px;
}

.input-custom::before {
    content: "";
    height: 0;
    width: 0;
    box-shadow: none;
    transition: .2s;
}

.checkbox + label, .radio + label, .powermail_checkwrap + label {
    display: inline-block;
}

.powermail_fieldwrap .input-custom ~ label {
    display: block;
    font-size: 14px;
    margin-left: 35px;
    text-align: left;
}

/* checkbox */
input[type="checkbox"] {
    -moz-appearance: checkbox;
    -webkit-appearance: checkbox;
    appearance: checkbox;
}

.input-custom.input-checkbox {
}

.checkbox .input-custom::before,
.powermail_checkwrap .input-custom::before {
    display: block;
    border: solid var(--primary-color);
    border-width: 0 3px 3px 0;
    color: #FFF;
    height: 20px;
    width: 10px;
    margin: 0 0 0 6px;
    transform: rotate(45deg);
    opacity: 0;
}

.powermail_checkwrap:hover .input-custom,
input[type="checkbox"]:hover + .input-custom {
    border-color: var(--primary-color);
}

input[type="checkbox"]:focus + .input-custom {
    border-color: var(--base-color);
}

input[type="checkbox"]:checked + .input-custom {
    background: #FFF;
}

input[type="checkbox"]:hover + .input-custom::before {
    border-color: var(--primary-color);
    opacity: .5;
}

input[type="checkbox"]:checked + .input-custom::before {
    border-color: var(--base-color);
    opacity: 1;
}

/* datenschutz */
.powermail_fieldwrap_datenschutz .powermail_label {
    display: none;
}

.powermail_fieldwrap_datenschutz input ~ label {
    font-size: 14px;
    position: relative;
    top: -2px;
    line-height: 1.8;
}

.powermail_fieldwrap_datenschutz input[required] ~ label .label::after {
    content: "*";
    margin-left: 4px;
}

/* radio */
input[type="radio"] {
    -moz-appearance: radio;
    -webkit-appearance: radio;
    appearance: radio;
}

.input-custom.input-radio {
    border-radius: 50%;
}

.radio .input-custom::before {
    border-radius: 50%;
    display: block;
    height: 100%;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    transform: scale(0);
}

.radio:hover .input-custom,
input[type="radio"]:checked + .input-custom {
    background: #FFF;
}

input[type="radio"]:hover + .input-custom {
    border-color: var(--primary-color);
}

input[type="radio"]:focus + .input-custom {
    border-color: var(--base-color);
}

input[type="radio"]:hover + .input-custom::before {
    background: var(--primary-color);
    transform: scale(.5);
}

input[type="radio"]:checked + .input-custom::before {
    background: var(--base-color);
    transform: scale(.6);
}

/* select */
form select:not([multiple="multiple"]) {
    height: 50px;
}

.selectric-wrapper {
    cursor: pointer;
    position: relative;
}

.selectric-hide-select {
}

.selectric-wrapper .selectric-hide-select select {
    background: none;
    border: none;
    opacity: 0;
    position: absolute;
    top: -100%;
    left: 0;
    z-index: -10;
}

.selectric {
    background-color: #F8F8F8;
    border: 1px solid;
    padding: 12px 10px 11px;
    position: relative;
}

.selectric-open, .touch .selectric-hover {
    z-index: 999;
}

.selectric .label {
    display: block;
    margin: 0 60px 0 0;
    padding: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.selectric-wrapper.changed .selectric .label {
}

.selectric .button {
    display: block;
    border: 1px solid #E5E5E5;
    background: #F8F8F8;
    text-align: center;
    height: calc(100% + 2px);
    width: 50px;
    margin: 0;
    padding: 0;
    position: absolute;
    top: -1px;
    right: -1px;
}

.selectric .button::before {
    content: "";
    border: solid var(--primary-color-dark);
    border-radius: 2px;
    border-width: 0 0 4px 4px;
    display: inline-block;
    height: 12px;
    width: 12px;
    margin: -8px 0 0 -6px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: rotate(-45deg);
}

.selectric .button::after {
    display: none;
}

.selectric-wrapper .selectric-items {
    display: none;
    background: #FFF;
    border: 1px solid;
    margin: -1px 0 0;
    padding: 5px 0;
    min-width: 100%;
    position: absolute;
    left: 0;
    z-index: 10;
    box-shadow: 0 1px 2px 0 #DDD, 0 1px 0 0 #FFF inset;
}

.touch .selectric-hover .selectric-items,
.selectric-open .selectric-items {
    display: block;
}

.selectric, .selectric-wrapper .selectric-items {
    border-color: #E5E5E5;
}

.selectric-wrapper:hover .selectric, .selectric-wrapper:hover .selectric .button, .selectric-wrapper:hover .selectric-items {
    border-color: var(--primary-color);
}

.selectric-wrapper.selectric-open .selectric, .selectric-wrapper.selectric-open .button, .selectric-wrapper.selectric-open .selectric-items {
    border-color: var(--base-color);
}

.selectric-wrapper.selectric-open:hover .selectric, .selectric-wrapper.selectric-open:hover .button {
    border-color: var(--primary-color);
}

.selectric-wrapper.selectric-open:hover .selectric-items {
    border-color: var(--primary-color);
}

.selectric-wrapper.selectric-open .selectric .button {
}

.selectric-items .selectric-scroll {
    height: 100%;
    overflow: auto;
}

.site-content .selectric-items ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-content .selectric-wrapper .selectric-items li {
    cursor: pointer;
    display: block;
    float: none;
    margin: 0 !important;
    padding: 5px 10px;
    width: auto;
}

.site-content .selectric-wrapper .selectric-items li::before {
    display: none;
}

.site-content .selectric-wrapper .selectric-items li::after {
    display: none;
}

.selectric-wrapper .selectric-items li.disabled {
    color: #666 !important;
}

.selectric-wrapper .selectric-items li.selected {
    background: var(--primary-color);
    color: #FFF;
}

.selectric-wrapper .selectric-items li.highlighted {
    background: var(--base-color);
    color: #FFF;
}

.selectric-wrapper .selectric-items li.highlighted .mandatory {
}

.selectric-wrapper .selectric-items li:hover {
    background: var(--primary-color);
    color: #FFF;
}

.selectric-wrapper .selectric-items li.selected:hover {
    background: var(--base-color);
    color: #FFF;
}

.selectric-items .selectric-group {
}

.selectric-items .selectric-group .selectric-group-label {
    cursor: default;
    background: none;
    color: var(--primary-color-dark);
    font-weight: 700;
    padding-left: 10px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.selectric-wrapper .selectric-group li {
    padding-left: 20px;
}

.selectric-items .disabled {
    background: none !important;
    color: #666 !important;
    cursor: default !important;
    filter: alpha(opacity=50);
    opacity: .5;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.selectric-items .selectric-group.disabled li {
    filter: alpha(opacity=100);
    opacity: 1;
}

.selectric-input {
    background: none !important;
    border: none !important;
    clip: rect(0, 0, 0, 0) !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 1px !important;
    width: 1px !important;
    outline: none !important;
    overflow: hidden !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

form select[multiple="multiple"]::-ms-expand {
    display: none;
}

/* hide default down arrow in IE10 / IE11 */
form select[multiple="multiple"] {
    border-radius: 0;
    height: auto;
    text-indent: 0;
    text-overflow: ellipsis;
    -webkit-appearance: none;
    -moz-appearance: none;
    /* no solution for IE9 and lower */
    -o-appearance: none;
    appearance: none;
}

form select[multiple="multiple"]:hover, form select[multiple="multiple"]:focus {
    outline: none;
}

/* file upload */
form input[type="file"] {
    cursor: pointer;
    font-size: 14px;
    padding: 13px 15px 5px;
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}

/* dropzone */
.powermail_fieldwrap_dropzone {
}

.dropzone {
    border: 1px solid #E5E5E5;
    background: #F8F8F8;
    cursor: pointer;
    font-size: 14px;
    height: 108px;
    margin: 15px 0 5px;
    padding: 5px 10px;
    text-align: center;
}

.dropzone:hover, .dropzone.dz-drag-hover {
    border-color: var(--primary-color);
}

.no-js .dropzone,
.no-js .dropzone-previews {
    display: none;
}

.dropzone .dz-default.dz-message {
}

.dropzone .dz-default.dz-message .dz-button {
    color: var(--base-color);
    font-size: var(--base-font-size);
    font-weight: 400;
}

.dz-max-files-reached + .dropzone-previews {
    margin-top: 20px;
}

.dropzone-previews {
    margin-bottom: 15px;
}

.dropzone-previews .dz-image, .dropzone-previews .dz-progress,
.dropzone-previews .dz-success-mark, .dropzone-previews .dz-error-mark, .dropzone-previews .dz-complete, .dropzone.dz-max-files-reached {
    display: none;
}

.dropzone-previews .dz-details .dz-size, .dropzone-previews .dz-details .dz-filename {
    display: inline-block;
}

.dropzone-previews .dz-success-mark svg, .dropzone-previews .dz-error-mark svg {
    display: inline-block;
    height: 24px;
    width: 24px;
}

.dropzone-previews .dz-success-mark svg path {
    fill: #53C866;
}

.dropzone-previews .dz-error-mark svg path {
    fill: #C00;
}

.dropzone-previews .dz-preview {
    font-size: var(--base-font-size);
    margin: 5px 0 0;
    padding-right: 25px;
    position: relative;
}

.dropzone-previews .dz-preview.dz-error {
    color: #C00;
}

.dropzone-previews .dz-preview.dz-error .dz-size strong {
    font-weight: 400;
}

.dropzone-previews .dz-preview.dz-error .dz-remove:before {
    color: #F00;
}

.dropzone-previews .dz-preview.dz-error .dz-error-message {
    font-weight: 600;
}

.dropzone-previews p {
    font-size: 14px;
    margin-bottom: 5px;
}

.dropzone-previews .dz-remove {
    text-decoration: none;
    padding-left: 10px;
    height: 100%;
    width: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
}

.dropzone-previews .dz-remove::before {
    content: "\f00d";
    font-family: "Font Awesome 5 Free";
    font-size: 14px;
    font-weight: 600;
    position: absolute;
    left: 0;
}

/* show text */
.powermail_fieldwrap_type_text .powermail_field,
.powermail_fieldwrap_type_html .powermail_field {
    color: var(--primary-color-dark);
    font-size: 14px;
}

/* hidden element */
input.input--hidden {
    position: absolute;
    left: 200vw;
}

/* buttons */
form input[type="button"], form button[type="button"],
form input[type="reset"], form button[type="reset"],
form input[type="submit"], form button[type="submit"] {
    background: none;
    border: none;
    border-radius: 0;
    color: var(--primary-color);
    cursor: pointer;
    display: inline-block;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    margin: 0;
    padding: 8px 50px 8px 20px;
    min-width: 200px;
    width: auto;
}

form input[type="button"]:hover, form button[type="button"]:hover,
form input[type="reset"]:hover, form button[type="reset"]:hover,
form input[type="submit"]:hover, form button[type="submit"]:hover {
}

/* button */
.powermail_fieldwrap_type_button .powermail_field {
}

form input[type="button"], form button[type="button"] {
}

form input[type="button"]:hover, form button[type="button"]:hover {
}

form input[type="button"][disabled], form button[type="button"][disabled] {
}

/* reset */
.powermail_form .powermail_fieldwrap_type_reset {
}

form input[type="reset"], form button[type="reset"] {
}

form input[type="reset"]:hover, form button[type="reset"]:hover {
}

/* submit */
.powermail_form .powermail_fieldwrap_type_submit {
}

.powermail_fieldwrap_type_submit .powermail_field {
    margin-left: auto;
}

.powermail_fieldwrap_type_submit .powermail_field:not(:has(input)):not(:has(button)) {
    border: none;
}

form input[type="submit"], form button[type="submit"] {
    min-width: auto;
}

form input[type="submit"]:hover, form button[type="submit"]:hover {
}

form input[type="submit"][disabled], form button[type="submit"][disabled] {
    background-color: #E5E5E5 !important;
}

/* button: animation */
.powermail_fieldwrap_type_button .powermail_field,
.powermail_fieldwrap_type_reset .powermail_field,
.powermail_fieldwrap_type_submit .powermail_field,
.powermail_confirmation .btn-group .powermail_field {
    background: none;
    border: 2px solid var(--primary-color);
    display: table;
    overflow: hidden;
    position: relative;
    z-index: 1;
    width: auto;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
}

.powermail_fieldwrap_type_button .powermail_field:hover,
.powermail_fieldwrap_type_reset .powermail_field:hover,
.powermail_fieldwrap_type_submit .powermail_field:hover,
.powermail_confirmation .btn-group .powermail_field:hover {
    background: var(--primary-color);
}

.powermail_fieldwrap_type_button .powermail_field:hover input,
.powermail_fieldwrap_type_button .powermail_field:hover button,
.powermail_fieldwrap_type_reset .powermail_field:hover input,
.powermail_fieldwrap_type_reset .powermail_field:hover button,
.powermail_fieldwrap_type_submit .powermail_field:hover input,
.powermail_fieldwrap_type_submit .powermail_field:hover button,
.powermail_confirmation .btn-group .powermail_field:hover input {
    background: none;
    color: #FFF;
}

/*
.powermail_fieldwrap_type_button .powermail_field::before,
 .powermail_fieldwrap_type_reset .powermail_field::before,
.powermail_fieldwrap_type_submit .powermail_field::before,
.powermail_confirmation .btn-group .powermail_field::before { content: ""; background: #FFF; margin: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; transform: translate3d(-100%,0,0); transition: all .4s ease; }
html:not(.touch) .powermail_fieldwrap_type_reset .powermail_field:hover:before,
html:not(.touch) .powermail_fieldwrap_type_submit .powermail_field:hover::before,
html:not(.touch) .powermail_confirmation .btn-group .powermail_field:hover::before { transform: translate3d(0,0,0); }*/

.powermail_fieldwrap_type_submit .powermail_field::after {
    content: "\f30b";
    color: var(--primary-color);
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    transition: all .3s ease;
}

.powermail_fieldwrap_type_submit .powermail_field:hover::after {
    color: #FFF;
}

.powermail_fieldwrap_type_reset .powermail_field::after,
.powermail_confirmation .btn-group .powermail_field::after {
    content: "";
    display: block;
    border-color: #FFF;
    border-radius: 2px;
    border-style: solid;
    border-width: 0 3px 3px 0;
    float: none;
    height: 12px;
    width: 12px;
    margin: -6px 0 0 -4px;
    position: absolute;
    top: 50%;
    right: 110%;
    transition: all .3s ease;
    transform: rotate(-45deg) translate3d(calc(-100% + 12px), 0, 0);
}

html:not(.touch) .powermail_fieldwrap_type_button .powermail_field:hover::after,
html:not(.touch) .powermail_confirmation .btn-group .powermail_field:hover::after {
    right: 10px;
}

.powermail_fieldwrap_type_reset .powermail_field::after {
    border-width: 3px 0 0 3px;
    margin: -6px -5px 0 0;
    right: auto;
    left: 110%;
}

.powermail_fieldwrap_type_reset .powermail_field::before {
    transform: translate3d(100%, 0, 0);
}

html:not(.touch) .powermail_fieldwrap_type_reset .powermail_field:hover::after {
    left: 10px;
}

.powermail_fieldwrap_type_button .powermail_field {
    background: var(--primary-color);
}

.powermail_fieldwrap_type_button .powermail_field::before {
    background: #FFF;
    transform: scale(1, 1);
}

html:not(.touch) .powermail_fieldwrap_type_button .powermail_field:hover::before {
    transform: scale(0, 0);
}

@media screen and (prefers-reduced-motion: reduce) {
    html:not(.touch) .powermail_fieldwrap_type_button .powermail_field::before,
    html:not(.touch) .powermail_fieldwrap_type_button .powermail_field::after,
    html:not(.touch) .powermail_fieldwrap_type_reset .powermail_field::before,
    html:not(.touch) .powermail_fieldwrap_type_reset .powermail_field::after,
    html:not(.touch) .powermail_fieldwrap_type_submit .powermail_field::before,
    html:not(.touch) .powermail_confirmation .btn-group .powermail_field::before,
    html:not(.touch) .powermail_confirmation .btn-group .powermail_field::after {
        display: none;
    }
}

/* confirm */
form.csc-form-confirmation {
}

.csc-form-confirmation fieldset {
    border: none;
}

.site-content .csc-form-confirmation ol {
    list-style: none;
    overflow: hidden;
    padding: 0;
}

.csc-mailform .csc-form-confirmation ol li {
    padding: 0;
}

.csc-form-confirmation .csc-form-confirmation-false {
    float: left;
}

.csc-form-confirmation .csc-form-confirmation-true {
    float: right;
}

.csc-form-confirmation input[type="submit"] {
    font-size: 12px;
}

.powermail_confirmation {
}

.powermail_confirmation h1 {
}

.powermail_confirmation .btn-group {
    border: none;
    margin: 20px 0 0;
    overflow: hidden;
}

.powermail_confirmation .btn-group form {
    width: 50%;
}

.powermail_confirmation .btn-group form:first-child {
    float: left;
    text-align: left;
}

.powermail_confirmation .btn-group form + form {
    float: right;
    text-align: right;
}

/* result */
.powermail_create {
}

.powermail_create table {
}

.powermail_create table td {
}

/* css progress */
@-webkit-keyframes progress {
    from {
    }
    to {
        width: 100%;
    }
}

@-moz-keyframes progress {
    from {
    }
    to {
        width: 100%;
    }
}

@-ms-keyframes progress {
    to {
        width: 100%;
    }
}

@-o-keyframes progress {
    from {
    }
    to {
        width: 100%;
    }
}

@keyframes progress {
    from {
    }
    to {
        width: 100%;
    }
}

/* progressbar */
.powermail_progressbar {
    border: 1px solid #E5E5E5;
    clear: both;
    float: right;
    margin: 5px 0 0;
    height: 7px;
    width: 100%;
    position: relative;
}

.powermail_progressbar::before {
    content: "";
    display: block;
    background: #FFF;
    height: 5px;
    width: 102%;
    position: absolute;
    top: -6px;
    left: -1%;
}

.powermail_progressbar.disable, .powermail_progressbar + .powermail_progressbar {
    display: none;
}

.powermail_progressbar > .powermail_progress {
    background: var(--primary-color);
    max-width: 100%;
    width: 0%;
    -webkit-animation: progress 5s 1 forwards;
    -moz-animation: progress 5s 1 forwards;
    -ms-animation: progress 5s 1 forwards;
    animation: progress 5s 1 forwards;
}

.powermail_progressbar > .powermail_progress > .powermail_progress_inner {
    background: url("/typo3conf/ext/pm_core/Resources/Public/Images/loading.gif") repeat-x;
    height: 5px;
    width: 100%;
    overflow: hidden;
}

.powermail_confirmation .powermail_progressbar {
    width: 100%;
}


/** content width background-color */
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) .powermail_form .powermail_label,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) form .mandatory,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) .powermail_fieldwrap_type_check.powermail_fieldwrap_datenschutz input[required] ~ label .label::after,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) .powermail_fieldwrap_type_text .powermail_field,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) .powermail_fieldwrap_type_html .powermail_field {
    color: #FFF;
}

div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) div.frame-bg_grey .powermail_form .powermail_label,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) div.frame-bg_grey form .mandatory,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) div.frame-bg_grey .powermail_fieldwrap_type_check.powermail_fieldwrap_datenschutz input[required] ~ label .label::after,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) div.frame-bg_grey .powermail_fieldwrap_type_text .powermail_field,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) div.frame-bg_grey .powermail_fieldwrap_type_html .powermail_field,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) div.frame-bg_white .powermail_form .powermail_label,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) div.frame-bg_white form .mandatory,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) div.frame-bg_white .powermail_fieldwrap_type_check.powermail_fieldwrap_datenschutz input[required] ~ label .label::after,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) div.frame-bg_white .powermail_fieldwrap_type_text .powermail_field,
div[class*="frame-bg_"]:not(.frame-bg_grey):not(.frame-bg_white) div.frame-bg_white .powermail_fieldwrap_type_html .powermail_field {
    color: initial;
}


@media screen and (max-width: 767px) {
    /* smaller than iPad - portrait */
    .site-content .powermail_fieldwrap {
        margin-top: 20px;
    }

    form .placeholderInput .placeholderLabel,
    form input, form textarea, form select, form input[type="button"], form input[type="reset"], form input[type="submit"],
    .selectric, .selectric .label {
        font-size: var(--base-font-size);
    }
}

@media screen and (min-width: 768px) {
    .powermail_fieldset {
        align-items: stretch;
        display: flex;
        flex-flow: row wrap;
        margin: 0 -15px;
    }

    .powermail_fieldset .powermail_fieldwrap {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0 15px;
        text-align: left;
        width: 100%;
    }

    .powermail_fieldset .powermail_fieldwrap_type_input {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .powermail_fieldset .powermail_fieldwrap_knownfrom ~ .powermail_fieldwrap_type_input {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/** @print */
@media print {
    form.powermail_form:not(.powermail_morestep) {
        align-items: stretch;
        display: flex;
        flex-flow: row wrap;
        margin: 0 -15px;
    }

    form.powermail_form:not(.powermail_morestep) > header {
        flex: 1 1 100%;
        margin: 0 15px 10px;
    }

    form.powermail_form:not(.powermail_morestep) .powermail_fieldset {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0 15px;
        text-align: left;
        width: 100%;
    }

    form.powermail_form:not(.powermail_morestep) .powermail_fieldset:not(:only-of-type) {
        flex: 0 0 50%;
        max-width: 50%;
        margin-top: 0;
        min-inline-size: calc(50% + 30px);
    }
}


/** eof */
