.fluentform {
  --transition--default: 300ms all;
  --input-border-radius: 8px;
  inline-size: 100%;
}
.fluentform .ff-el-group :is(input, select, optgroup, textarea) {
  padding: 12px 16px 7px;
  font-size: 1.0625rem !important;
  font-weight: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
  transition: var(--transition--default);
  /*border-color: transparent;*/
}
.single-content .fluentform :is(form, .ff-el-group:last-child) {
  margin-block-end: 0;
}
.fluentform .ff-el-progress-bar span {
  translate: 0 3px;
}
.fluentform .ff_list_2col .ff_el_checkable_photo_holders {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-block-end: 0;
}
.fluentform .ff_list_2col .ff-el-input--content .ff_el_checkable_photo_holders .ff-el-image-holder {
  inline-size: 100%;
  padding: 0;
}
.fluentform .ff-el-image-holder label.ff-el-image-input-src::after {
  content: "";
  opacity: 0;
  position: absolute;
  inset: 0;
  border: 2px solid var(--global-palette1);
  border-radius: inherit;
  transition: var(--transition--default);
}
.fluentform .ff-el-image-holder.ff_item_selected label.ff-el-image-input-src::after {
  opacity: 1;
}
.fluentform .ff-el-image-holder:hover label.ff-el-image-input-src {
  background-size: 105%;
}
/* Buttons */
.fluentform .step-nav {
  margin-block-start: 16px;
}
.fluentform .step-nav :is(.ff-btn-prev, .ff-btn-next) {
  padding: 16px 20px 10px;
}
.fluentform form .ff_submit_btn_wrapper .ff-btn-submit {
  padding: 16px 20px 10px;
  color: var(--global-palette3) !important;
  background-color: var(--global-palette2) !important;
}
.fluentform form .ff_submit_btn_wrapper .ff-btn-submit:hover {
  opacity: 1;
  color: var(--global-palette3) !important;
  background-color: #aac936 !important;
}
.fluentform button.ff_btn_style:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}
.fluentform form label.ff-el-image-input-src {
  position: relative;
  aspect-ratio: 4/3;
  inline-size: 100%;
  height: auto;
  margin-block-end: 8px;
  border-radius: var(--input-border-radius);
  background-size: 100%;
  transition: var(--transition--default);
}
.fluentform form .ff-el-image-holder label.ff-el-form-check-label {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 5px;
  margin: 0;
  line-height: 1.2;
}
.fluentform form .ff-el-image-holder label.ff-el-form-check-label .ff-el-form-check-input {
  flex: 0;
  translate: 0 4px;
}
.fluentform form .ff_submit_btn_wrapper .wpf_has_custom_css.ff-btn-submit {
  padding: 16px 16px 11px;
  line-height: 1.2;
  border-radius: 50px;
}
.fluentform form .ff_submit_btn_wrapper .wpf_has_custom_css.ff-btn-submit:focus {
  opacity: 1;
}
.fluentform .ff-step-header .ff-step-titles li.ff_completed span {
  color: #347c00;
}
.fluentform .ff-step-header .ff-step-titles li.ff_completed::before {
  content: "\2713\0020" !important;
  background: #347c00;
}
.fluentform .ff-step-header .ff-step-titles li.ff_completed::after {
  background: #347c00;
}
.fluentform .step-nav .ff-btn-prev::before {
  content: "\2190\00a0";
  display: inline-block;
}
.fluentform .step-nav .ff-btn-next::after {
  content: "\00a0\2192";
  display: inline-block;
  translate: 0 1px;
}
.fluentform .ff-el-group.ff-infobox {
  padding: 16px;
  background-color: #ccf4ff;
  border: 1px solid #00c0f3;
  border-radius: var(--input-border-radius);
}
.fluentform .ff-el-group.ff-infobox.video-call-voraussetzungen {
  background-color: var(--global-palette7);
  border-color: var(--fcal_slot_border);
}
.fluentform .ff-el-group-adresse {
  margin-block-end: 20px;
}
.fluentform .fluentform-step, .fluentform form .ff-step-container {
  overflow: visible;
}
.fluentform .fluentform-step .ff-btn {
  padding: 12px 20px 8px;
  border-radius: 50px;
}
.fluentform .iti__selected-country {
  border-top-left-radius: var(--input-border-radius);
  border-bottom-left-radius: var(--input-border-radius);
  /*pointer-events: none;*/
}
/*.fluentform .iti__arrow {
  display: none;
}*/
.fluentform .iti__selected-country:hover {
  background-color: var(--global-palette7);
}
.fluentform .fcal_booking_form_wrap .fcal_booking_form .fcal_form_item .fcal_input_content .fcal_radio_group .fcal_radio_icon:before {
  inset-block-start: 50%;
  inset-inline-start: 50%;
  translate: -50% -50%;
}
.fluentform .fcal_input_location_wrap .fcal_phone_wrapper .fcal_country_select {
  border-top-left-radius: var(--input-border-radius) !important;
  border-bottom-left-radius: var(--input-border-radius) !important;
}
/* Misc */
.dsgvo-info {
  margin-block-start: 8px;
  font-size: 0.8em;
}
/* Fluent Booking */
.fluentform :is(.fcal_calendar_inner, .fcal_calendar_inner .fcal_date_wrapper, .fcal_date_wrapper .fcal_date_event_details.is_active) {
  overflow: clip visible;
}
.fluentform :is(.fcal_calendar_inner, .fcal_calendar_inner .fcal_date_wrapper .fcal_date_event_details.is_active) {
  block-size: max-content !important;
  max-block-size: unset !important;
}
.fluentform .fcal_calendar_inner .fcal_date_wrapper .fcal_date_event_details {
  padding: 0;
}
.fluentform .fcal_calendar_inner :is(.fcal_date_wrapper, .fcal_date_wrapper .fcal_day_picker_wrap) {
  inline-size: 100%;
}
.fluentform .fcal_calendar_slot_wrap.is_active {
  padding: 0;
}
.fluentform .fcal_slot_picker {
  inline-size: 100%;
}
@media (min-width: 768px) {
  .fluentform .fcal_calendar_slot_wrap {
    flex-direction: row;
  }
  .fluentform .fcal_slot_picker {
    inline-size: 50%;
  }
}
.fluentform .fcal_calendar_inner.fcal_form_calendar .fcal_date_wrapper {
  flex-direction: column;
}
.fcal_timezone_select, .fcal_slot_picker_header_action {
  display: none !important;
}
.fluentform .fcal_form_calendar .fcal_side {
  display: none !important;
}
/* List Buttons*/
.fluentform .ff_list_buttons .ff_el_checkable_photo_holders {
  display: flex;
  gap: 16px;
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-form-check.ff-el-image-holder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  inline-size: 50% !important;
  border: 0 !important;
}
@media (hover: hover) {
  .fluentform .ff-el-group.ff_list_buttons .ff-el-form-check:hover label.ff-el-image-input-src {
    background-size: 105% !important;
  }
  .fluentform .ff-el-group.ff_list_buttons .ff-el-form-check.ff-el-image-holder:hover {
  }
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-form-check.ff_item_selected label.ff-el-image-input-src {
  background-size: 105% !important;
}
/*
.fluentform .ff-el-group.ff_list_buttons .ff-el-form-check label span {
  position: relative;
  display: inline-flex !important;
  inline-size: auto !important;
  padding: 0 !important;
  font-size: 1em !important;
  transition: var(--transition--default);
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-form-check label span::before {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  block-size: 2px;
  inline-size: 0;
  transition: all 200ms ease-in-out;
  background-color: currentColor;
}
*/
.fluentform .ff-el-group.ff_list_buttons .ff-el-form-check.ff_item_selected label span::before {
  inline-size: 100%;
}
@media (max-width: 767px) {
  .fluentform .fcal_calendar_inner.fcal_on_xs.fcal_day_selected .fcal_slot_picker.is_active {
    padding: 0;
  }
}
.fluentform :is(.ff_list_2col, .ff_list_3col, .ff_list_4col, .ff_list_5col, .ff_list_6col) .ff_el_checkable_photo_holders {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-block-end: 0;
}
.fluentform .ff-el-group:is(.ff_list_2col, .ff_list_3col, .ff_list_4col, .ff_list_5col, .ff_list_6col) .ff_el_checkable_photo_holders .ff-el-form-check {
  inline-size: 100%;
  padding: 0;
}
.fluentform .fcal_slot_picker .fcal_spot_lists {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
@media (min-width: 768px) {
  .fluentform :is(.ff_list_3col, .ff_list_4col, .ff_list_5col, .ff_list_6col) .ff_el_checkable_photo_holders {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 980px) {
  .fluentform :is(.ff_list_4col, .ff_list_5col, .ff_list_6col) .ff_el_checkable_photo_holders {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 1100px) {
  .fluentform :is(.ff_list_5col, .ff_list_6col) .ff_el_checkable_photo_holders {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
@media (min-width: 1360px) {
  .fluentform :is(.ff_list_6col) .ff_el_checkable_photo_holders {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
.fluentform .fcal_slot_picker .fcal_spot_lists .fcal_spot {
  padding: 0;
}
.fluentform .fcal_slot_picker .fcal_spot_lists .fcal_spot + .fcal_spot {
  margin-block-start: 0;
}
.fluentform .fcal_slot_picker .fcal_spot_lists .fcal_spot .fcal_spot_name {
  padding: 10px;
  line-height: 1.2;
}
/* List Buttons */
.fluentform .ff_list_buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: space-between;
}
.fluentform .ff-el-group.ff-el-form-left .ff-el-input--label {
  inline-size: auto;
  margin: 0;
  padding: 0 15px 0 0;
}
@media screen and (max-width: 767px) {
  .fluentform .ff-el-group.ff-el-form-left .ff-el-input--label {
    flex: 1 0 auto;
  }
}
.fluentform .ff-el-form-left.ff_list_buttons .ff-el-input--content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: space-between;
  align-items: flex-start;
  margin-inline-start: 0;
}
.fluentform .ff-el-form-left.ff_list_buttons .ff-el-input--content .ff-el-form-check {
  inline-size: 50% !important;
  margin: 0;
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-input--content .ff-el-form-check input {
  display: unset;
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-input--content .ff-el-form-check label > span {
  display: block;
  inline-size: 100%;
  padding: 14px 12px 8px;
  font-size: 1rem;
  border: 1px solid var(--global-palette6);
  transition: var(--transition--default);
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-input--content .ff-el-form-check:first-child label > span {
  border-color: var(--global-palette6);
  border-radius: 50px 0 0 50px !important;
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-input--content .ff-el-form-check:last-child label > span {
  border-radius: 0 50px 50px 0 !important;
}
@media screen and (min-width: 768px) {
  .fluentform .ff-el-group.ff_list_buttons .ff-el-input--content .ff-el-form-check label > span {
    font-size: 1.125rem;
  }
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-input--content .ff-el-form-check.ff_item_selected label > span {
  background-color: var(--global-palette1);
  border-color: var(--global-palette1) !important;
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-input--content .ff-el-form-check:not(.ff_item_selected) label:hover > span {
  color: var(--global-palette1);
  background-color: var(--global-palette8);
  border-color: var(--global-palette1) !important;
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-input--content .ff-el-form-check.ff_item_selected label:hover > span {
  border-color: var(--global-palette1) !important;
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-form-check.ff_item_selected label.ff-el-form-check-label {
  color: var(--global-palette9);
  background-color: var(--global-palette1);
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-input--label label {
  margin-block-end: 0;
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-form-check label {
  padding: 0;
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-input--content .ff-el-form-check label:focus {
  outline: -webkit-focus-ring-color auto 1px;
}
/*
!* Fluent Forms*!
.fluentform-guten-wrapper {
  background-color: inherit;
}
.fluentform.ffs_custom_wrap .frm-fluent-form .choices[data-type*=select-multiple] {
  z-index: 6;
  border: 0;
}
.fluentform.ffs_custom_wrap .frm-fluent-form .choices[data-type*=select-multiple].is-focused {
  border: 1px solid var(--global-palette-highlight);
  transform: scale(1.01);
  transition: var(--transition--default);
}
.fluentform .frm-fluent-form .choices[data-type*=select-multiple] .choices__inner {
  background-color: inherit;
  cursor: pointer;
}
.frm-fluent-form .choices__list--multiple .choices__item {
  font-size: 1rem !important;
  background-color: var(--global-palette1) !important;
  border-color: var(--global-palette1) !important;
}
.frm-fluent-form .choices__list--multiple .choices__item.is-highlighted {
  background-color: var(--global-palette3) !important;
  border-color: var(--global-palette3) !important;
}
.frm-fluent-form .choices[data-type*=select-multiple] .choices__button {
  inset-block-start: 2px;
}
.frm-fluent-form  .choices__list--dropdown {
  max-block-size: 250px !important;
  border: 0 !important;
  box-shadow: 0 0 30px 0 rgba(0,0,0,0.15);
}
.frm-fluent-form  .choices__list--dropdown .choices__item.is-highlighted, .frm-fluent-form  .iti__country.iti__highlight {
  background-color: var(--global-palette8) !important;
}
.frm-fluent-form .choices[data-type*=select-multiple] .choices__input {
  padding: 0 !important;
  cursor: pointer;
}
.fluentform .ff-el-group :is(input, select, optgroup, textarea, .frm-fluent-form .choices[data-type*=select-multiple] .choices__inner) {
  padding: 10px 15px 9px;
  font-size: 1.0625rem !important;
  font-weight: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
  transition: var(--transition--default);
  border-color: transparent;
}
.fluentform.form--gray .ff-el-group :is(input, select, optgroup, textarea, .frm-fluent-form .choices[data-type*=select-multiple] .choices__inner) {
  background-color: #ebf0f5;
}
.fluentform .ff-el-form-check-label .ff-el-form-check-input {
  inline-size: 1rem;
  block-size: 1rem;
  transition: var(--transition--default);
}
@media screen and (min-width: 1025px) {
  .fluentform .ff-el-group :is( input, select, optgroup, textarea, .frm-fluent-form .choices[data-type*=select-multiple] .choices__inner) {
    font-size: 1.125rem !important;
  }
}
@media screen and (hover: hover) {
  .fluentform:not(.form-revert) .ff-el-group :is(input:hover, select:hover, optgroup:hover, textarea:hover, .ff-el-form-check-label:hover .ff-el-form-check-input:hover, .frm-fluent-form .choices[data-type*=select-multiple] .choices__inner:hover) {
    background-color: #fbfcfe;
  }
}
.fluentform .ff-el-group :is(input:focus, select:focus, optgroup:focus, textarea:focus, .ff-el-form-check-label:focus .ff-el-form-check-input:focus, .frm-fluent-form .choices[data-type*=select-multiple] .choices__inner:focus), .wp-block-search .wp-block-search__input:focus {
  border-color: var(--global-palette-highlight);
  transform: scale(1.01);
}
.fluentform .ff-el-group .iti--allow-dropdown input[type=tel] {
  padding-inline-start: 60px !important;
}
.fluentform .ff-el-group .iti__selected-flag {
  border-radius: var(--input-border-radius) 0 0 var(--input-border-radius);
}
.single-content .fluentform .iti__country-list {
  border: 0;
  border-radius: var(--input-border-radius);
  box-shadow: 0 0 30px 0 rgba(0,0,0,.15);
}
.fluentform button.ff_btn_style {
  transition: var(--transition--default);
}
.fluentform button.ff_btn_style:focus {
  opacity: 1;
}
.fluentform .ff_btn_style:hover {
  opacity: 1 !important;
}
.fluentform button.ff_btn_style:focus-visible:not(.ff_btn_no_style) {
  background-color: var(--global-palette1);
  outline-offset: 2px;
}
.ff-message-success {
  max-width: 600px;
  margin-inline: auto;
  padding-inline-start: 55px !important;
  color: var(--global-palette9);
  background: linear-gradient(to top right, #327632, #228722);
  border-radius: var(--input-border-radius);
}
.ff-message-success::after {
  content: "";
  position: absolute;
  inset-inline-start: 25px;
  inset-block-start: 12px;
  transform: rotate(45deg) translateY(-0%);
  height: 24px;
  width: 12px;
  border-bottom: 4px solid var(--global-palette9);
  border-right: 4px solid var(--global-palette9);
}
@media screen and (min-width: 768px) {
  .ff-message-success::after {
    inset-block-start: 14px;
  }
}
!* Kontaktformular *!
.fluentform.fluentform_wrapper_5 .ff-el-input--label label {
  margin-block-end: 20px;
  padding-inline-start: 16px;
  font-weight: 700;
}
.fluentform .ff-el-group .ff_el_checkable_photo_holders {
  overflow: visible;
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
  gap: 20px;
}
.fluentform .frm-fluent-form .ff-el-group.ff_list_3col .ff-el-form-check {
  overflow: hidden;
  inline-size: 100%;
  margin: 0;
  padding: 0;
  background-color: var(--global-palette9);
  box-shadow: 0 0 30px 0 rgba(0,0,0,0.1);
  border-radius: var(--input-border-radius);
  transition: var(--transition--default);
}
@media screen and (min-width: 768px) {
  .fluentform .ff-el-group .ff_el_checkable_photo_holders {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.fluentform .frm-fluent-form .ff-el-group.ff_list_3col .ff-el-form-check:hover {
  transform: scale(1.015);
  box-shadow: 0 0 50px 0 rgba(0,0,0,0.15);
}
.fluentform .frm-fluent-form label.ff-el-image-input-src {
  opacity: 0.75;
  inline-size: 100%;
  block-size: 0;
  padding-block-end: 56.25%;
  transition: var(--transition--default);
}
.fluentform .ff-el-group .ff_el_checkable_photo_holders .ff-el-form-check:hover label.ff-el-image-input-src, .fluentform .ff-el-group .ff_el_checkable_photo_holders .ff-el-form-check.ff_item_selected label.ff-el-image-input-src {
  opacity: 1;
}
.fluentform .frm-fluent-form .ff-el-form-check-radio {
  margin-block-start: 4px;
}
.fluentform .ff-el-group .ff_el_checkable_photo_holders .ff-el-form-check label.ff-el-form-check-label {
  display: flex;
  flex: 1 1 70%;
  flex-direction: row;
  align-items: center;
  gap: 5px;
  inline-size: 100%;
  padding: 10px 15px;
  margin: 0;
  transition: var(--transition--default);
}
.fluentform .ff-el-group .ff_el_checkable_photo_holders .ff-el-form-check.ff_item_selected label.ff-el-form-check-label {
  color: var(--global-palette9);
  background-color: var(--global-palette1);
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-input--label label {
  margin-block-end: 0;
}
.fluentform .ff-el-group.ff_list_buttons .ff-el-form-check label {
  padding: 0;
}
*/
