/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../node_modules/postcss-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!./components/form/form.scss ***!
  \*********************************************************************************************************************************************************************************************/
/** GLOBALS **/
/************
/** VARIABLES
/****************************************/
/*
$grids: (
    'default': $mobile_base,
    'switches': (
        $mobile_switch: $mobile_base,
        $tablet_switch: $tablet_base,
        $max_switch: $max_base
    ),
    'definitions': (
        $mobile_base: (
            'columns': 8,
            'column': 44,
            'gutter': 14,
            'fix': false
        ),
        $tablet_base: (
            'columns': 12,
            'column': 56,
            'gutter': 22,
            'fix': false
        ),
        $max_base: (
            'columns': 12,
            'column': 139,
            'gutter': 54,
            'fix': true
        )
    )
);
*/
/* EASING */
/* Font settings */
/************
/** COLOR VARIABLES
/****************************************/
/* **************************** */
/* Pimcore-editmode used colors */
/* **************************** */
/* **************************** */
/************
/** DEFINITION OF OWN MIXINS
/****************************************/
.form-choices, .form-errors__list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/* stylelint-disable */
.form-label {
  font-size: 1.125rem;
  line-height: 150%;
  margin-bottom: 6px;
  color: var(--form-label-color);
  display: inline-flex;
}

.form-help {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 140%;
  color: var(--form-help-color);
}

.form-input {
  --input-background-color: var(--input-default-background-color);
  --input-foreground-color: var(--input-default-foreground-color);
  --input-placeholder-color: var(--input-default-placeholder-color);
  --input-padding-block: 15px;
  --input-padding-inline: 15px;
  --input-border-radius: var(--border-radius-s);
  --input-border-color: var(--input-default-border-color);
  --input-border-width: 1px;
  position: relative;
}
.form-input input:not([type=checkbox]):not([type=radio]),
.form-input select,
.form-input textarea {
  font: inherit;
  color: var(--input-foreground-color);
  background-color: var(--input-background-color);
  border-radius: var(--input-border-radius);
  border: var(--input-border-width) solid var(--input-border-color);
  display: block;
  padding-block: var(--input-padding-block);
  padding-inline: var(--input-padding-inline);
  outline: none;
  width: 100%;
}
.form-input input:not([type=checkbox]):not([type=radio]) ::-webkit-input-placeholder, .form-input input:not([type=checkbox]):not([type=radio])::-webkit-input-placeholder,
.form-input select ::-webkit-input-placeholder,
.form-input select::-webkit-input-placeholder,
.form-input textarea ::-webkit-input-placeholder,
.form-input textarea::-webkit-input-placeholder {
  opacity: 0.99;
  color: var(--input-placeholder-color);
}
.form-input input:not([type=checkbox]):not([type=radio]) :-moz-placeholder, .form-input input:not([type=checkbox]):not([type=radio]):-moz-placeholder,
.form-input select :-moz-placeholder,
.form-input select:-moz-placeholder,
.form-input textarea :-moz-placeholder,
.form-input textarea:-moz-placeholder {
  opacity: 0.99;
  color: var(--input-placeholder-color);
}
.form-input input:not([type=checkbox]):not([type=radio]) ::-moz-placeholder, .form-input input:not([type=checkbox]):not([type=radio])::-moz-placeholder,
.form-input select ::-moz-placeholder,
.form-input select::-moz-placeholder,
.form-input textarea ::-moz-placeholder,
.form-input textarea::-moz-placeholder {
  opacity: 0.99;
  color: var(--input-placeholder-color);
}
.form-input input:not([type=checkbox]):not([type=radio]) :-ms-input-placeholder, .form-input input:not([type=checkbox]):not([type=radio]):-ms-input-placeholder,
.form-input select :-ms-input-placeholder,
.form-input select:-ms-input-placeholder,
.form-input textarea :-ms-input-placeholder,
.form-input textarea:-ms-input-placeholder {
  opacity: 0.99;
  color: var(--input-placeholder-color);
}
.form-field--error .form-input input:not([type=checkbox]):not([type=radio]):not([disabled]),
.form-field--error .form-input select:not([disabled]),
.form-field--error .form-input textarea:not([disabled]) {
  --input-background-color: var(--input-error-background-color);
  --input-border-color: var(--input-error-border-color);
  --input-foreground-color: var(--input-error-foreground-color) ;
}
@media (hover: hover) {
  .form-input input:not([type=checkbox]):not([type=radio]):not([disabled]):hover,
  .form-input select:not([disabled]):hover,
  .form-input textarea:not([disabled]):hover {
    --input-border-width: 2px;
    --input-padding-inline: 14px;
    --input-padding-block: 14px;
  }
}
.form-input input:not([type=checkbox]):not([type=radio]):not([disabled]):focus-visible,
.form-input select:not([disabled]):focus-visible,
.form-input textarea:not([disabled]):focus-visible {
  --input-border-width: 2px;
  --input-padding-inline: 14px;
  --input-padding-block: 14px;
  --input-border-color: var(--input-active-border-color);
  outline-offset: 4px;
  outline-color: var(--textlink-foreground-color);
  outline-style: solid;
  outline-width: 2px;
  border-radius: 1px;
}
.form-input input:not([type=checkbox]):not([type=radio])[disabled],
.form-input select[disabled],
.form-input textarea[disabled] {
  --input-border-color: var(--input-disabled-border-color);
  --input-background-color: var(--input-disabled-background-color);
  --input-foreground-color: var(--input-disabled-foreground-color);
  --input-placeholder-color: var(--input-disabled-placeholder-color);
  opacity: 1;
  cursor: not-allowed;
}
.form-input input:not([type=checkbox]):not([type=radio]),
.form-input select {
  height: 56px;
}
.form-input select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNSIgdmlld0JveD0iMCAwIDI0IDI1IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMTYuOTM5IDguNDM5MDNMMTIgMTMuMzc5TDcuMDYxMDMgOC40MzkwM0w0LjkzOTAzIDEwLjU2MUwxMiAxNy42MjFMMTkuMDYxIDEwLjU2MUwxNi45MzkgOC40MzkwM1oiIGZpbGw9IiM0MDQwNDAiLz4KPC9zdmc+);
  background-repeat: no-repeat;
  background-position: calc(100% - var(--input-padding-inline)) center;
}
.form-input textarea {
  height: 100px;
}

.form-errors {
  font-size: 0.875rem;
  line-height: 1.2857142857;
  position: relative;
}
.form-errors .icon-error {
  position: absolute;
  top: -2px;
  left: 0;
  font-size: 16px;
}
.form-errors .icon-error svg {
  fill: var(--form-error-icon-color);
  width: 16px;
  height: 16px;
}

.form-errors--grouped {
  border: 1px solid var(--input-error-border-color);
  background-color: var(--input-error-background-color);
  border-radius: var(--border-radius-s);
  padding: 10px;
}
.form-errors--grouped .icon-error {
  left: 10px;
  top: 8px;
}

.form-errors__list {
  color: var(--form-error-foreground-color);
  padding-left: 20px;
  position: relative;
}

.form-field {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--form-field-spacing) 0;
}
.form-field input,
.form-field select,
.form-field textarea {
  scroll-margin-top: 88px;
}
@media only screen and (min-width: 768px) {
  .form-field input,
  .form-field select,
  .form-field textarea {
    scroll-margin-top: 108px;
  }
}
@media only screen and (min-width: 1024px) {
  .form-field input,
  .form-field select,
  .form-field textarea {
    scroll-margin-top: 148px;
  }
}
.form-field:focus-within {
  --form-label-color: var(--form-label-focus-color);
  --form-help-color: var(--form-help-focus-color);
}

.form-field--error {
  --choice-label-color: var(--form-label-error-color);
  --choice-color: var(--input-error-foreground-color);
  --form-label-color: var(--form-label-error-color);
  --form-help-color: var(--form-help-error-color);
}
.form-field--error .form-input {
  --input-border-color: var(--input-error-border-color);
}

.form-choices {
  --choice-color: var(--choice-default-color, black);
  --choice-label-color: var(--choice-default-label-color, black);
  display: flex;
  flex-direction: column;
  gap: 10px 0;
}

.form-choice {
  position: relative;
  display: flex;
}
@media (hover: hover) {
  .form-choice:hover span svg {
    --choice-color: var(--choice-default-hover-color);
  }
}
.form-choice span {
  position: absolute;
  left: 0;
  pointer-events: none;
}
.form-choice span.icon-checkbox-checked, .form-choice span.icon-radio-checked {
  display: none;
}
.form-choice span svg {
  fill: var(--choice-color);
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
}
.form-field--error .form-choice span svg {
  --choice-color: var(--choice-default-error-color);
}
.form-choice label {
  color: var(--choice-label-color);
  display: inline-block;
  padding-left: 32px;
  position: relative;
}
.form-choice input[type=radio],
.form-choice input[type=checkbox] {
  position: absolute;
  top: 0;
  left: -1978em;
}
.form-choice input[type=radio]:focus-visible ~ span svg,
.form-choice input[type=checkbox]:focus-visible ~ span svg {
  --choice-color: var(--choice-default-focus-color);
  outline-offset: 0;
  outline-color: var(--textlink-foreground-color);
  outline-style: solid;
  outline-width: 2px;
  border-radius: 1px;
}
.form-choice input[type=radio]:checked ~ span.icon-checkbox-checked, .form-choice input[type=radio]:checked ~ span.icon-radio-checked,
.form-choice input[type=checkbox]:checked ~ span.icon-checkbox-checked,
.form-choice input[type=checkbox]:checked ~ span.icon-radio-checked {
  display: block;
}
.form-choice input[type=radio]:checked ~ span svg,
.form-choice input[type=checkbox]:checked ~ span svg {
  --choice-color: var(--choice-default-checked-color);
}
@media (hover: hover) {
  .form-choice input[type=radio]:checked ~ label:hover ~ span svg,
  .form-choice input[type=checkbox]:checked ~ label:hover ~ span svg {
    --choice-color: var(--choice-default-checked-hover-color);
  }
}
.form-choice input[type=radio][disabled] ~ label,
.form-choice input[type=checkbox][disabled] ~ label {
  cursor: not-allowed;
}
.form-choice input[type=radio][disabled] ~ span svg,
.form-choice input[type=checkbox][disabled] ~ span svg {
  --choice-color: var(--choice-default-disabled-color);
}

.form-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-inline: calc(-0.5 * var(--grid-gutter));
  gap: var(--form-spacing) 0;
}
.form-group > .form-label,
.form-group > .form-help,
.form-group > .form-errors {
  margin-inline: calc(0.5 * var(--grid-gutter));
}
.form-group > .form-label {
  margin-bottom: calc(var(--form-field-spacing) - var(--form-spacing));
}
.form-group > .form-help,
.form-group > .form-errors {
  margin-top: calc(var(--form-field-spacing) - var(--form-spacing));
}
.form-group .form-field {
  padding-inline: calc(0.5 * var(--grid-gutter));
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .form-group .form-field {
    width: 50%;
  }
}
.form-group .form-field--big {
  width: 75%;
}
@media only screen and (min-width: 768px) {
  .form-group .form-field--big {
    width: 83.3333333333%;
  }
}
.form-group .form-field--small {
  width: 25%;
}
@media only screen and (min-width: 768px) {
  .form-group .form-field--small {
    width: 16.6666666667%;
  }
}

.form-success {
  width: var(--content-width);
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .form-success {
    --content-width: 70.0520833333vw;
  }
}
@media only screen and (min-width: 1680px) {
  .form-success {
    --content-width: 1172px;
  }
}

.form-success__headline {
  font-family: "Oswald", Arial, sans-serif;
  font-weight: 400;
  line-height: 120%;
  font-size: 2.25rem;
}
@media only screen and (min-width: 768px) {
  .form-success__headline {
    font-size: 3rem;
  }
}
@media only screen and (min-width: 1024px) {
  .form-success__headline {
    font-size: 3.75rem;
  }
}

.form-success__copy {
  margin-top: 24px;
}
@media only screen and (min-width: 1024px) {
  .form-success__copy {
    margin-top: 40px;
  }
}

.form {
  --form-spacing: 32px;
  --form-field-spacing: 8px;
  display: flex;
  flex-direction: column;
  margin-inline: auto;
  gap: var(--form-spacing) 0;
  width: var(--content-width);
}
.form form {
  display: flex;
  flex-direction: column;
  gap: var(--form-spacing) 0;
}
@media only screen and (min-width: 768px) {
  .form {
    --content-width: 70.0520833333vw;
  }
}
@media only screen and (min-width: 1440px) {
  .form {
    --content-width: 70.0520833333vw;
    padding-right: 14.5833333333vw;
  }
}
@media only screen and (min-width: 1680px) {
  .form {
    --content-width: 1172px;
    padding-right: 244px;
  }
}

@media only screen and (min-width: 1024px) {
  .frc-captcha + .form-footer {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: calc(-1 * var(--form-spacing) - 62px);
  }
}
