@font-face {

    font-family: 'Montserrat';

    src: url('../../../fonts/Montserrat/Montserrat-Regular.woff') format('woff'),

         url('../../../fonts/Montserrat/Montserrat-Regular.woff2') format('woff2');

    font-weight: 400;

}

@font-face {

    font-family: 'Montserrat';

    src: url('../../../fonts/Montserrat/Montserrat-Black.woff') format('woff'),

         url('../../../fonts/Montserrat/Montserrat-Black.woff2') format('woff2');

    font-weight: 900;

}

@font-face {

    font-family: 'Montserrat';

    src: url('../../../fonts/Montserrat/Montserrat-Bold.woff') format('woff'),

         url('../../../fonts/Montserrat/Montserrat-Bold.woff2') format('woff2');

    font-weight: 700;

}

@font-face {

    font-family: 'Montserrat';

    src: url('../../../fonts/Montserrat/Montserrat-ExtraBold.woff') format('woff'),

         url('../../../fonts/Montserrat/Montserrat-ExtraBold.woff2') format('woff2');

    font-weight: 800;

}

@font-face {

    font-family: 'Montserrat';

    src: url('../../../fonts/Montserrat/Montserrat-ExtraLight.woff') format('woff'),

         url('../../../fonts/Montserrat/Montserrat-ExtraLight.woff2') format('woff2');

    font-weight: 200;

}

@font-face {

    font-family: 'Montserrat';

    src: url('../../../fonts/Montserrat/Montserrat-Light.woff') format('woff'),

         url('../../../fonts/Montserrat/Montserrat-Light.woff2') format('woff2');

    font-weight: 300;

}

@font-face {

    font-family: 'Montserrat';

    src: url('../../../fonts/Montserrat/Montserrat-Medium.woff') format('woff'),

         url('../../../fonts/Montserrat/Montserrat-Medium.woff2') format('woff2');

    font-weight: 500;

}

@font-face {

    font-family: 'Montserrat';

    src: url('../../../fonts/Montserrat/Montserrat-Thin.woff') format('woff'),

         url('../../../fonts/Montserrat/Montserrat-Thin.woff2') format('woff2');

    font-weight: 100;

}

@font-face {

    font-family: 'Montserrat';

    src: url('../../../fonts/Montserrat/Montserrat-SemiBold.woff') format('woff'),

         url('../../../fonts/Montserrat/Montserrat-SemiBold.woff2') format('woff2');

    font-weight: 600;

}



.af2_loading_error {

    color: red;

    text-align: center;

    margin-top: 20px;

}



.af2_form {

    text-align: center;

    position: relative;

    z-index: 99999;

    width: 100%

}



.af2_success_message_screen, .af2_success_message_screen.desktop, .af2_success_message_screen.af2_mobile {

    display: none !important;

}



.af2_form_wrapper div::before, .af2_form_wrapper div::after {

	content: none;

}



.af2_success_message_screen.desktop.show {

    display: flex !important;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    padding: 40px 0;

}



.af2_rtl_layout .af2_question_label {

    text-align: right;

}



.af2_form_progress_bar { 

    flex: 1; 

}



.af2_form_button {

    white-space: break-spaces;

}





@media only screen and (max-width: 700px) { 

    .af2_question_text_type_wrapper.af2_question_wrapper.af2_verification {

        flex-direction: column;

    }

    #af_verif.af2_submit_button.newVerification.af_marg {

        margin: 20px 0 0 0 !important;

    }





    .af2_success_message_screen.af2_mobile.show {

        display: flex !important;

        flex-direction: column;

        justify-content: center;

        align-items: center;

        padding: 40px 0;

    }



    .af2_success_message_screen.desktop.show {

        display: none !important;

    }

}

.af2_success_image, .af2_success_image img {

    max-height: 190px;

    max-width: 190px;

    min-width: 190px;

    min-height: 190px;

}



.af2_success_image {

    

    position: relative;

    margin-bottom: 30px;

}



.af2_success_text {

    font-size: 20px;

}



.af2_slider_frage {

    -webkit-appearance: none;

    -moz-appearance: none;

    transition: all 400ms ease-out;

    width: 100%;

    border: none !important;

}



.af2_text_type, .af2_text_type_ {

    transition: all 400ms ease-out;

}



.af2_slider_frage_wrapper {

    margin: 0 auto;

}



.af2_slider_frage_minmax {

    width: 100%;

    display: flex;

    justify-content: space-between;

}



.af2_slider_frage_minmax p {

	font-size: 22px;

}



.af2_slider_frage_bullet {

    position: relative;

    /*width: 91px;*/

    max-width: 100%;

    height: 41px;

    line-height: 42px;

    text-align: center;

    display: block;

    margin: 0 auto;

}



.af2_slider_frage::-webkit-slider-thumb {

    -webkit-appearance: none;

    -moz-appearance: none;

    width: 25px;

    height: 25px;

    border-radius: 50%;

    cursor: pointer;

    background-color: #7bb9ff;

}



.af2_slider_frage::-moz-range-thumb {

    -webkit-appearance: none;

    -moz-appearance: none;

    width: 25px;

    height: 25px;

    border-radius: 50%;

    cursor: pointer;

    background-color: #7bb9ff;

}



.af2_form_wrapper {

    position: relative;

    z-index: 0;

    width: 100%;

}



.af2_answer {

    cursor: pointer;

}





.af2_mobile_grid .af2_answer.af2_mobile {

    min-width: unset;

    max-width: unset;

}



.af2_answer_card {

    position: relative;

    justify-content: center;

    align-items: center;

    display: flex;

    border: 3px solid rgba(0, 0, 0, 0);

    margin-bottom: 10px;

    transition: all 400ms ease-out;

}



.af2_form_wrapper input,

input.af2_textfeld_frage,

input.af2_textbereich_frage,

input.af2_datum_frage,

input.af2_slider_frage_val,

input.select2-search__field,

input.af2_ad_trans,

input.af2_datum_frage,

input.af2_text_type,

input.af2_text_type_

{

    border: solid 1px #ccc;

    outline: unset !important;

    box-sizing: border-box !important;

}



.af2_text_type, .af2_text_type_,

.af2_textfeld_frage,

.af2_textbereich_frage,

.af2_datum_frage,

.af2_slider_frage_val,

.af2_slider_frage,

.af2_ad_trans {

    transition: all 400ms ease-out;

    outline: unset !important;

}



.af2_carousel_item {

    min-width: 100%;

    max-width: 100%;

    margin-left: 0%;

    transition: all 500ms ease-out;

    display: flex;

    flex-direction: column;

    /*justify-content: flex-end;*/

}



.af2_carousel_item.left {

    transform: translateX(-100%);

}



.af2_carousel_item.no_trans {

    transition: none;

}



.af2_carousel_item.left_marg {

    /*margin-left: -100%;*/

    transform: translateX(-100%);

}



.af2_mobile {

    display: none !important;

}



.af2_answer_image.pic {

    max-width: 80% !important;

    width: 80% !important;

}



.af2_form textarea {

    resize: none;

}



.af2_answer.hover .af2_answer_card {

    border: 3px solid;

    cursor: pointer;

    transform: scale(1.05);

    box-shadow: 0 0 10px 0 !important;

}



.af2_answer.selected_item .af2_answer_card {

    border: 3px solid;

    box-shadow: 0 0 10px 0 !important;

}



.af2_submit_wrapper {

    display: flex;

    justify-content: left;

    align-content: center;

    flex-direction: column;

    width: 100%;

}



.af2_answer_container {

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

}



.af2_text_type, .af2_text_type_ {

    width: 100%;

}



.af2_response_success {

    color: green;

    text-align: center;

    margin-top: 20px;

}



.af2_response_error {

    color: red;

    text-align: left;

    margin-top: 5px;

}



.select2-results li {

    font-size: 17px;

    font-weight: 500;

    font-family: 'Montserrat';

}



.select2-selection.select2-selection--single {

    font-size: 17px;

    font-weight: 500;

    font-family: 'Montserrat';

}



.af2_question_text_type_wrapper {

    text-align: left;

}



.af2_question {

    width: 50%;

}



.af2_answer_text {

    width: 100%;

    text-align: center;

    white-space: normal;

}



.af2_question_checkbox_type_wrapper {

    display: flex;

    align-items: center;

    text-align: left;

}



.af2_form_button {

    transition: background-color 300ms ease-out;

    cursor: pointer;

    margin: 0 !important;

    min-width: 50px !important;

    

    padding: 0 !important;

    max-width: 50px !important;

    width: 50px !important;



    display: flex ;

    justify-content: center;

    align-items: center;



    text-decoration: none !important;

}



.af2_submit_button {

    text-decoration: none !important;

    position: relative;

    transition: background-color 0.2s;

}

.af2_submit_button:active {



}

.af2_submit_button__text {

	transition: all 0.2s;

}





.af2_submit_button--loading .af2_submit_button__text {

	visibility: hidden;

	opacity: 0;

}

.af2_calender_wait--loading {

    background: #fff !important;

    border-color: #fff !important;

}

.af2_calender_wait--loading::after {

    content: "";

	position: absolute;

	width: 16px;

	height: 16px;

	top: 0;

	left: 0;

	right: 0;

	bottom: 0;

	margin: auto;

	border: 4px solid transparent;

	border-top-color: rgba(var(--rgb)) !important;

	border-radius: 50%;

	animation: button-loading-spinner 1s ease infinite;

}

.af2_submit_button--loading {

    background: #c5c5c5 !important;

}

.af2_submit_button--loading::after {

	content: "";

	position: absolute;

	width: 16px;

	height: 16px;

	top: 0;

	left: 0;

	right: 0;

	bottom: 0;

	margin: auto;

	border: 4px solid transparent;

	border-top-color: #ffffff;

	border-radius: 50%;

	animation: button-loading-spinner 1s ease infinite;

}

@keyframes button-loading-spinner {

	from {

	  transform: rotate(0turn);

	}

  

	to {

	  transform: rotate(1turn);

	}

  }



.af2_form_button.special {

    max-width: unset !important;

    width: unset !important;

    padding: 0 25px !important;

}



.af2_form_button.desktop {

    display: flex !important;

}



.af2_form_button.af2_mobile {

    display: none !important;

}







/*.af2_answer_card.desktop .af2_answer_image_wrapper i {

    font-size: 90px !important;

}



.af2_desktop_list .af2_answer.desktop .af2_answer_image_wrapper i {

    font-size: 70px !important;

}



.af2_desktop_list2 .af2_answer.desktop .af2_answer_image_wrapper i {

    font-size: 60px !important;

}



.af2_mobile_list .af2_answer.af2_mobile .af2_answer_image_wrapper.af2_mobile i {

    font-size: 25px !important;

}



.af2_mobile_grid .af2_answer.af2_mobile .af2_answer_image_wrapper.af2_mobile i {

    font-size: 25px !important;

}*/



.af2_form_button i {

    min-width: 30px;

}



.af2_form_button svg{

    width: 30px;

    height: 25px;

}



.af2_form_button.af2_disabled {

    cursor: default;

    pointer-events: none;

}



.af2_form_button.af2_mobile {

    min-width: 45px !important;

    max-width: 45px !important;

    width: 45px !important;

    padding: 0 !important;

}



.af2_form_button.af2_mobile.special{

    max-width: unset !important;

    width: unset !important;

    padding: 0 35px !important;

}



.af2_submit_button {

    cursor: pointer;

}



.af2_form_bottombar {

    display: flex;

    align-items: center;

    min-height: 50px !important;

    max-height: 50px !important;

    height: 50px !important;

}



.hide_progress_bar .af2_form_progress_bar {

    opacity: 0 !important;

}



.af2_form_progress_bar {

    display: flex;

    justify-content: left;

}

.af2_form_wrapper[data-rtl="1"] .af2_form_progress_bar {

    justify-content: right !important;

}



.af2_form_progress {

    width: 0;

    height: 100%;

    transition: width 500ms ease-out;

}



.af2_checkbox_type {

    width: 25px;

    height: 25px;

    max-width: 25px;

    max-height: 25px;

    min-width: 25px;

    max-width: 25px;

}



.af2_form_bottombar {

    transition: all 400ms ease-out;

}



.af2_answer i {

    font-style: normal !important;

}



.af2_answer_image_wrapper {

    display: flex;

    align-content: center;

    align-items: center;

    justify-content: center;



    width: 100%;

    height: 100%;

}

.af2_answer_image_wrapper.af2_mobile {

    font-size: 15px;

}



.af2_form_percentage_triangle {

    margin: auto;

    border-style: solid;

    border-width: 0 5px 6px 5px;

    transition: all 500ms ease-out;

}



.af2_form_carousel {

    position: relative;

    display: flex;

    overflow: hidden;

    max-width: 100%;

    min-width: 100%;

    transition: height 500ms ease-out;

    z-index: 50;

}



.af2_loading_overlay {

    width: 100%;

    z-index: 100;

    transition: all 400ms ease-out;

    display: flex;

    justify-content: center;

}



.af2_popup_background {

    display:none;

}



.af2_popup_background.show {

    display: flex;

    justify-content: center;

    align-items: center;

    pointer-events: all;

    background: rgba(0,0,0,.8);

    width: 100%;

    height: 100%;

    top: 0;

    left: 0;

    position: fixed;

    z-index: 9999997;

}



.af2_popup_wrapper {

    width: 80%;

    position: relative;

    pointer-events: all;

    border-radius: 0;

    box-shadow: 2px 8px 23px 3px rgb(0 0 0 / 20%);

    z-index: 9999998;

    max-height: 90%;

    display: flex;

}



.select2-container {

    z-index: 9999999 !important;

}



.af2_close_popup {

    width: 20px;

    height: 20px;

    background: url('../../images/close_button_af2.png');

    background-size: contain;

    background-repeat: no-repeat;

    cursor: pointer;

    position: absolute;

    z-index: 1;

    top: 15px;

    right: 30px;

}



.af2_popup_wrapper .af2_form_wrapper {

    max-height: 100%;

    width: 100%;

    display: flex;

}



.af2_popup_wrapper .af2_form {

    padding: 23px;

    width: 100%;

    max-width: 100%;

    max-height: 100%;

    overflow-y: scroll;

    border-radius: 0px !important;

}



.af2_popup_wrapper .af2_form_bottombar {

    margin-bottom: 20px;

}



.af2_question_text {

    line-height: 20px;

}



.af2_question_heading_wrapper.af2_mobile {

    margin: 0 auto 35px auto !important;

}





@media only screen and (max-width: 700px) {

    .af2_mobile {

        display: block !important;

    }

    .af2_answer_image_wrapper {

        display: flex;

        justify-content: center;

        align-items: center;

    }

    .af2_answer_card {

        display: flex !important;

    }

    .af2_answer_text {

        text-align: left;

    }

    .desktop {

        display: none !important;

    }



    .af2_slider_alternate_text_wrap {

        display: block !important;

    }

    .af2_slider_input_wrap{

        margin: 10px 0 0 0 !important;

    }

    .af2_slider_input_wrap.af2_rtl_layout{

        margin: 0 0 0 10px !important;

    }

    .af2_slider_frage_minmax p {

        font-size: 15px;

    }



    .select2-results li {

        font-size: 15px;

        font-weight: 500;

        font-family: 'Montserrat';

    }

    

    .select2-selection.select2-selection--single {

        font-size: 15px;

        font-weight: 500;

        font-family: 'Montserrat';

    }

    

    .af2_answer_image_wrapper.af2_mobile {

        display: flex !important;

    }



    .af2_answer_image.pic {

        min-width: 100% !important;

        max-width: 100% !important;

    }



    .af2_form_button.af2_mobile {

        display: flex !important;

    }



    .af2_form_button.desktop {

        display: none !important;

    }



    .af2_slider_frage_wrapper {

        display: block !important;

    }		

}

.af2_slider_frage_wrapper {

    display: flex;

    justify-content: center;

    align-items: center ;

}



.pac-container {

    z-index: 999999999 !important;

}



.af2_adress_map_input_wrapper_wrap {

    display: flex;

}



.ui-datepicker.ui-widget {

    z-index: 999999!important;

}



.af2-datepicker *, .af2_terminbuchung_datewrapper *{

    box-sizing: border-box;

}

.af2-datepicker, .af2_terminbuchung_datewrapper {

    border: 1px solid #ccc;

    background: #fff;

    position: relative;

    padding: 10px;

    margin: 0 auto;

    box-sizing: border-box !important;

}



.af2-datepicker .ui-datepicker, .af2_terminbuchung_datewrapper .ui-datepicker {

    width: 100% !important;

    border: none !important;

    padding: 0 !important;

    border-radius: 10px;

}



/*.af2-datepicker:before, .af2_terminbuchung_datewrapper:before {

    left: 0;

    right: 0;

    width: 0;

    margin-left: auto;

    margin-right: auto;

    top: -8px;

    border-right: 7px solid transparent;

    border-left: 7px solid transparent;

    border-bottom: 7px solid #ccc;

    position: absolute;

    display: inline-block;

    border-bottom-color: rgba(0, 0, 0, .2);

    content: '';

}



.af2-datepicker:after, .af2_terminbuchung_datewrapper:after {

    position: absolute;

    display: inline-block;

    content: '';

    left: 0;

    right: 0;

    width: 0;

    margin-left: auto;

    margin-right: auto;

    top: -6px;

    border-right: 6px solid transparent;

    border-bottom: 6px solid #fff;

    border-left: 6px solid transparent;

}*/



.af2-datepicker .ui-widget-header, .af2_terminbuchung_datewrapper .ui-widget-header {

    border: none;

    background: none;

    position: relative;

    padding: 0 !important;

}



.af2-datepicker th, .af2_terminbuchung_datewrapper th {

text-align: center;

    vertical-align: middle;

    width: 14%;

    font-size: 12px;

    border-radius: 4px;

    border: 1px solid transparent !important;

    white-space: nowrap;

    cursor: pointer;

    color: #555;

    font-weight: 700;

    padding: 9px 0 !important;

}



.af2-datepicker td, .af2_terminbuchung_datewrapper td {

    text-align: center;

    vertical-align: middle;

    width: 14%;

    font-size: 12px;

    border-radius: 15px;

    border: 1px solid transparent !important;

    white-space: nowrap;

    cursor: pointer;

    padding: 15px 0 !important;

}



.af2_terminbuchung_datewrapper td {

    border-radius: 100% !important;

}



.af2-datepicker td:hover, .af2_terminbuchung_datewrapper td:hover {

    background-color: #eee;

    border-color: transparent;

    color: inherit;

}



.af2-datepicker td .ui-state-default, .af2_terminbuchung_datewrapper td .ui-state-default {

    background: none;

    border: none;

    color: #555;

    text-decoration: none !important;

}



.af2-datepicker td>a, .af2_terminbuchung_datewrapper td>a {

    text-align: center !important;

}



.af2-datepicker .ui-datepicker-calendar, .af2_terminbuchung_datewrapper .ui-datepicker-calendar {

    margin: 0 0 10px;

    width: 100%;

}



.af2-datepicker .ui-datepicker-calendar thead, .af2_terminbuchung_datewrapper .ui-datepicker-calendar thead {

    border: none !important;

}



.af2-datepicker .ui-datepicker-prev, .af2_terminbuchung_datewrapper .ui-datepicker-prev,

.af2-datepicker .ui-datepicker-next, .af2_terminbuchung_datewrapper .ui-datepicker-next{

    box-shadow: 0 0 4px 0 #ccc;

    background: #fff;

    border-radius: 5px!important;

    padding: 5px!important;

    width: 14% !important;

    height: 40px !important;

    display: inline-flex;

    font-size: 15px;

    align-items: center;

    justify-content: center;

    position: absolute;

    top: 10px !important;

    cursor: pointer;

    color: #555;

    text-decoration: none !important;

    border: none !important;

}



.af2-datepicker .ui-datepicker-prev:hover, .af2_terminbuchung_datewrapper .ui-datepicker-prev:hover,

.af2-datepicker .ui-datepicker-next:hover, .af2_terminbuchung_datewrapper .ui-datepicker-next:hover {

    background: #ccc;

    color: #555;

}



.af2-datepicker .ui-datepicker-prev, .af2_terminbuchung_datewrapper .ui-datepicker-prev {

    left: 10px !important;

}



.af2-datepicker .ui-datepicker-next, .af2_terminbuchung_datewrapper .ui-datepicker-next {

    right: 10px !important;

}



.af2-datepicker .ui-datepicker-prev span, .af2_terminbuchung_datewrapper .ui-datepicker-prev span,

.af2-datepicker .ui-datepicker-next span, .af2_terminbuchung_datewrapper .ui-datepicker-next span {

    display: none !important;

}



.af2-datepicker .ui-datepicker-prev:before, .af2_terminbuchung_datewrapper .ui-datepicker-prev:before {

    content: "\f053";

    font-weight: 900;

    font-family: "Font Awesome 5 Free";

}



.af2-datepicker .ui-datepicker-next:before, .af2_terminbuchung_datewrapper .ui-datepicker-next:before {

    content: "\f054";

    font-weight: 900;

    font-family: "Font Awesome 5 Free";

}



.af2-datepicker .ui-datepicker-title, .af2_terminbuchung_datewrapper .ui-datepicker-title {

    width: auto;

    font-size: 17px;

    cursor: pointer;

    color: #555;

    font-weight: 500;

    padding: 10px 0;

    text-align: center;

    line-height: 40px !important;

    margin: 0 !important;

}



.af2-datepicker td.ui-datepicker-current-day, .af2_terminbuchung_datewrapper td.ui-datepicker-current-day {

    background-color: #c5c5c5;

    border-color: transparent;

    color: #fff;

}



.af2-datepicker td.ui-datepicker-current-day .ui-state-highlight, .af2_terminbuchung_datewrapper td.ui-datepicker-current-day .ui-state-highlight,

.af2-datepicker td.ui-datepicker-current-day .ui-state-active, .af2_terminbuchung_datewrapper td.ui-datepicker-current-day .ui-state-active {

    color: #fff;

}



.af2-datepicker.af2_mobile {

    padding: 9px 10px;

}



.af2-datepicker.af2_mobile td,

.af2-datepicker.af2_mobile th {

    min-width: 12px;

    width: 12px;

    height: 12px;

    line-height: 12px;

    padding: 8px !important;

}



.af2-datepicker.af2_mobile .ui-datepicker-prev,

.af2-datepicker.af2_mobile .ui-datepicker-next {

    padding: 5px!important;

    font-size: 11px;

}



.af2-datepicker.af2_mobile .ui-datepicker-title {

    font-size: 12px;

}







.selection .select2-selection.select2-selection--single.af2-select2-container {

    display: flex;

    justify-content: center;

    align-items: center;

    padding: 0;

    height: 50px !important;

}



.select2-search__field {

    height: 50px !important;

}



.af2-datepicker.af2_mobile .ui-datepicker-calendar {

    margin: 0;

}



.af2_form_wrapper .af2_powered_by {

    margin-top: 20px;

    text-align: center;

}



.af2_form_wrapper .af2_powered_by span {

    font-size: 12px;

    font-style: italic;

    background: #f5f5f5;

    padding: 5px 20px;

    border-radius: 10px;

    font-family: sans-serif;

}



.af2_dateiupload .af2_dateiupload_inner {

    border: 2px dashed #e1e1e1;

    background: white;

    height: 100%;

    padding: 20px;

    cursor: pointer;

}



.af2_dateiupload .af2_dateiupload_inner i {

    font-size: 80px;

    pointer-events: none;

    color: #ccc;

}



.af2_dateiupload .af2_dateiupload_desc {

    font-size: 16px;

    color: #ccc;

    line-height: 1;

    pointer-events: none;

}



.af2_dateiupload .dz-image-preview {

    position: relative;

    display: inline-block;

    vertical-align: top;

    margin: 20px;

    min-height: 100px;

}





/*started dropzone css*/



@-webkit-keyframes passing-through {

    0% {

        opacity: 0;

        -webkit-transform: translateY(40px);

        -moz-transform: translateY(40px);

        -ms-transform: translateY(40px);

        -o-transform: translateY(40px);

        transform: translateY(40px);

    }

    30%,

    70% {

        opacity: 1;

        -webkit-transform: translateY(0px);

        -moz-transform: translateY(0px);

        -ms-transform: translateY(0px);

        -o-transform: translateY(0px);

        transform: translateY(0px);

    }

    100% {

        opacity: 0;

        -webkit-transform: translateY(-40px);

        -moz-transform: translateY(-40px);

        -ms-transform: translateY(-40px);

        -o-transform: translateY(-40px);

        transform: translateY(-40px);

    }

}



@-moz-keyframes passing-through {

    0% {

        opacity: 0;

        -webkit-transform: translateY(40px);

        -moz-transform: translateY(40px);

        -ms-transform: translateY(40px);

        -o-transform: translateY(40px);

        transform: translateY(40px);

    }

    30%,

    70% {

        opacity: 1;

        -webkit-transform: translateY(0px);

        -moz-transform: translateY(0px);

        -ms-transform: translateY(0px);

        -o-transform: translateY(0px);

        transform: translateY(0px);

    }

    100% {

        opacity: 0;

        -webkit-transform: translateY(-40px);

        -moz-transform: translateY(-40px);

        -ms-transform: translateY(-40px);

        -o-transform: translateY(-40px);

        transform: translateY(-40px);

    }

}



@keyframes passing-through {

    0% {

        opacity: 0;

        -webkit-transform: translateY(40px);

        -moz-transform: translateY(40px);

        -ms-transform: translateY(40px);

        -o-transform: translateY(40px);

        transform: translateY(40px);

    }

    30%,

    70% {

        opacity: 1;

        -webkit-transform: translateY(0px);

        -moz-transform: translateY(0px);

        -ms-transform: translateY(0px);

        -o-transform: translateY(0px);

        transform: translateY(0px);

    }

    100% {

        opacity: 0;

        -webkit-transform: translateY(-40px);

        -moz-transform: translateY(-40px);

        -ms-transform: translateY(-40px);

        -o-transform: translateY(-40px);

        transform: translateY(-40px);

    }

}



@-webkit-keyframes slide-in {

    0% {

        opacity: 0;

        -webkit-transform: translateY(40px);

        -moz-transform: translateY(40px);

        -ms-transform: translateY(40px);

        -o-transform: translateY(40px);

        transform: translateY(40px);

    }

    30% {

        opacity: 1;

        -webkit-transform: translateY(0px);

        -moz-transform: translateY(0px);

        -ms-transform: translateY(0px);

        -o-transform: translateY(0px);

        transform: translateY(0px);

    }

}



@-moz-keyframes slide-in {

    0% {

        opacity: 0;

        -webkit-transform: translateY(40px);

        -moz-transform: translateY(40px);

        -ms-transform: translateY(40px);

        -o-transform: translateY(40px);

        transform: translateY(40px);

    }

    30% {

        opacity: 1;

        -webkit-transform: translateY(0px);

        -moz-transform: translateY(0px);

        -ms-transform: translateY(0px);

        -o-transform: translateY(0px);

        transform: translateY(0px);

    }

}



@keyframes slide-in {

    0% {

        opacity: 0;

        -webkit-transform: translateY(40px);

        -moz-transform: translateY(40px);

        -ms-transform: translateY(40px);

        -o-transform: translateY(40px);

        transform: translateY(40px);

    }

    30% {

        opacity: 1;

        -webkit-transform: translateY(0px);

        -moz-transform: translateY(0px);

        -ms-transform: translateY(0px);

        -o-transform: translateY(0px);

        transform: translateY(0px);

    }

}



@-webkit-keyframes pulse {

    0% {

        -webkit-transform: scale(1);

        -moz-transform: scale(1);

        -ms-transform: scale(1);

        -o-transform: scale(1);

        transform: scale(1);

    }

    10% {

        -webkit-transform: scale(1.1);

        -moz-transform: scale(1.1);

        -ms-transform: scale(1.1);

        -o-transform: scale(1.1);

        transform: scale(1.1);

    }

    20% {

        -webkit-transform: scale(1);

        -moz-transform: scale(1);

        -ms-transform: scale(1);

        -o-transform: scale(1);

        transform: scale(1);

    }

}



@-moz-keyframes pulse {

    0% {

        -webkit-transform: scale(1);

        -moz-transform: scale(1);

        -ms-transform: scale(1);

        -o-transform: scale(1);

        transform: scale(1);

    }

    10% {

        -webkit-transform: scale(1.1);

        -moz-transform: scale(1.1);

        -ms-transform: scale(1.1);

        -o-transform: scale(1.1);

        transform: scale(1.1);

    }

    20% {

        -webkit-transform: scale(1);

        -moz-transform: scale(1);

        -ms-transform: scale(1);

        -o-transform: scale(1);

        transform: scale(1);

    }

}



@keyframes pulse {

    0% {

        -webkit-transform: scale(1);

        -moz-transform: scale(1);

        -ms-transform: scale(1);

        -o-transform: scale(1);

        transform: scale(1);

    }

    10% {

        -webkit-transform: scale(1.1);

        -moz-transform: scale(1.1);

        -ms-transform: scale(1.1);

        -o-transform: scale(1.1);

        transform: scale(1.1);

    }

    20% {

        -webkit-transform: scale(1);

        -moz-transform: scale(1);

        -ms-transform: scale(1);

        -o-transform: scale(1);

        transform: scale(1);

    }

}



.af2_dateiupload.dz-clickable {

    cursor: pointer;

}



.af2_dateiupload.dz-clickable * {

    cursor: default;

}



.af2_dateiupload.dz-clickable .dz-message,

.af2_dateiupload.dz-clickable .dz-message * {

    cursor: pointer;

}



.af2_dateiupload.dz-started .dz-message {

    display: none;

}



.af2_dateiupload.dz-drag-hover {

    border-style: solid;

}



.af2_dateiupload.dz-drag-hover .dz-message {

    opacity: 0.5;

}



.af2_dateiupload .dz-message {

    text-align: center;

    margin: 2em 0;

}



.af2_dateiupload .dz-message .dz-button {

    background: none;

    color: inherit;

    border: none;

    padding: 0;

    font: inherit;

    cursor: pointer;

    outline: inherit;

}



.af2_dateiupload .dz-preview {

    position: relative;

    display: inline-block;

    vertical-align: top;

    margin: 16px;

    min-height: 100px;

}



.af2_dateiupload .dz-preview:hover {

    z-index: 1000;

}



.af2_dateiupload .dz-preview:hover .dz-details {

    opacity: 1;

}



.af2_dateiupload .dz-preview.dz-file-preview .dz-image {

    border-radius: 20px;

    background: #999;

    background: linear-gradient(to bottom, #eee, #ddd);

}



.af2_dateiupload .dz-preview.dz-file-preview .dz-details {

    opacity: 1;

}



.af2_dateiupload .dz-preview.dz-image-preview {

    background: white;

}



.af2_dateiupload .dz-preview.dz-image-preview .dz-details {

    -webkit-transition: opacity 0.2s linear;

    -moz-transition: opacity 0.2s linear;

    -ms-transition: opacity 0.2s linear;

    -o-transition: opacity 0.2s linear;

    transition: opacity 0.2s linear;

}



.af2_dateiupload .dz-preview .dz-remove {

    font-size: 14px;

    text-align: center;

    display: block;

    cursor: pointer;

    border: none;

}



.af2_dateiupload .dz-preview .dz-remove:hover {

    text-decoration: underline;

}



.af2_dateiupload .dz-preview:hover .dz-details {

    opacity: 1;

}



.af2_dateiupload .dz-preview .dz-details {

    z-index: 20;

    position: absolute;

    top: 0;

    left: 0;

    opacity: 0;

    font-size: 13px;

    min-width: 100%;

    max-width: 100%;

    padding: 2em 1em;

    text-align: center;

    color: rgba(0, 0, 0, 0.9);

    line-height: 150%;

}



.af2_dateiupload .dz-preview .dz-details .dz-size {

    margin-bottom: 1em;

    font-size: 16px;

}



.af2_dateiupload .dz-preview .dz-details .dz-filename {

    white-space: nowrap;

}



.af2_dateiupload .dz-preview .dz-details .dz-filename:hover span {

    border: 1px solid rgba(200, 200, 200, 0.8);

    background-color: rgba(255, 255, 255, 0.8);

}



.af2_dateiupload .dz-preview .dz-details .dz-filename:not(:hover) {

    overflow: hidden;

    text-overflow: ellipsis;

}



.af2_dateiupload .dz-preview .dz-details .dz-filename:not(:hover) span {

    border: 1px solid transparent;

}



.af2_dateiupload .dz-preview .dz-details .dz-filename span,

.af2_dateiupload .dz-preview .dz-details .dz-size span {

    background-color: rgba(255, 255, 255, 0.4);

    padding: 0 0.4em;

    border-radius: 3px;

}



.af2_dateiupload .dz-preview:hover .dz-image img {

    -webkit-transform: scale(1.05, 1.05);

    -moz-transform: scale(1.05, 1.05);

    -ms-transform: scale(1.05, 1.05);

    -o-transform: scale(1.05, 1.05);

    transform: scale(1.05, 1.05);

    -webkit-filter: blur(8px);

    filter: blur(8px);

}



.af2_dateiupload .dz-preview .dz-image {

    border-radius: 20px;

    overflow: hidden;

    width: 120px;

    height: 120px;

    position: relative;

    display: block;

    z-index: 10;

}



.af2_dateiupload .dz-preview .dz-image img {

    display: block;

}



.af2_dateiupload .dz-preview.dz-success .dz-success-mark {

    -webkit-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);

    -moz-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);

    -ms-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);

    -o-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);

    animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);

}



.af2_dateiupload .dz-preview.dz-error .dz-error-mark {

    opacity: 1;

    -webkit-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);

    -moz-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);

    -ms-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);

    -o-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);

    animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);

}



.af2_dateiupload .dz-preview .dz-success-mark,

.af2_dateiupload .dz-preview .dz-error-mark {

    pointer-events: none;

    opacity: 0;

    z-index: 500;

    position: absolute;

    display: block;

    top: 50%;

    left: 50%;

    margin-left: -27px;

    margin-top: -35px;

}



.af2_dateiupload .dz-preview .dz-success-mark svg,

.af2_dateiupload .dz-preview .dz-error-mark svg {

    display: block;

    width: 54px;

    height: 54px;

}



.af2_dateiupload .dz-preview.dz-processing .dz-progress {

    opacity: 1;

    -webkit-transition: all 0.2s linear;

    -moz-transition: all 0.2s linear;

    -ms-transition: all 0.2s linear;

    -o-transition: all 0.2s linear;

    transition: all 0.2s linear;

}



.af2_dateiupload .dz-preview.dz-complete .dz-progress {

    opacity: 0;

    -webkit-transition: opacity 0.4s ease-in;

    -moz-transition: opacity 0.4s ease-in;

    -ms-transition: opacity 0.4s ease-in;

    -o-transition: opacity 0.4s ease-in;

    transition: opacity 0.4s ease-in;

}



.af2_dateiupload .dz-preview:not(.dz-processing) .dz-progress {

    -webkit-animation: pulse 6s ease infinite;

    -moz-animation: pulse 6s ease infinite;

    -ms-animation: pulse 6s ease infinite;

    -o-animation: pulse 6s ease infinite;

    animation: pulse 6s ease infinite;

}



.af2_dateiupload .dz-preview .dz-progress {

    opacity: 1;

    z-index: 1000;

    pointer-events: none;

    position: absolute;

    height: 16px;

    left: 50%;

    top: 50%;

    margin-top: -8px;

    width: 80px;

    margin-left: -40px;

    background: rgba(255, 255, 255, 0.9);

    -webkit-transform: scale(1);

    border-radius: 8px;

    overflow: hidden;

}



.af2_dateiupload .dz-preview .dz-progress .dz-upload {

    background: #333;

    background: linear-gradient(to bottom, #666, #444);

    position: absolute;

    top: 0;

    left: 0;

    bottom: 0;

    width: 0;

    -webkit-transition: width 300ms ease-in-out;

    -moz-transition: width 300ms ease-in-out;

    -ms-transition: width 300ms ease-in-out;

    -o-transition: width 300ms ease-in-out;

    transition: width 300ms ease-in-out;

}



.af2_dateiupload .dz-preview.dz-error .dz-error-message {

    display: block;

}



.af2_dateiupload .dz-preview.dz-error:hover .dz-error-message {

    opacity: 1;

    pointer-events: auto;

}



.af2_dateiupload .dz-preview .dz-error-message {

    pointer-events: none;

    z-index: 1000;

    position: absolute;

    display: block;

    display: none;

    opacity: 0;

    -webkit-transition: opacity 0.3s ease;

    -moz-transition: opacity 0.3s ease;

    -ms-transition: opacity 0.3s ease;

    -o-transition: opacity 0.3s ease;

    transition: opacity 0.3s ease;

    border-radius: 8px;

    font-size: 13px;

    top: 0;

    left: -10px;

    width: 140px;

    background: #be2626;

    background: linear-gradient(to bottom, #be2626, #a92222);

    padding: 0.5em 1.2em;

    color: white;

    transform: translateY(-115%);

}



.af2_dateiupload .dz-preview .dz-error-message:after {

    content: '';

    position: absolute;

    bottom: -6px;

    left: 64px;

    width: 0;

    height: 0;

    border-left: 6px solid transparent;

    border-right: 6px solid transparent;

    border-top: 6px solid #be2626;

}



.af2_slider_alternate_text_wrap{

    width: 100%;

    text-align: center;

    margin: 25px auto 20px auto;

    display: flex;

    justify-content: left;

    align-items: center;

}



.af2_slider_alternate_text_wrap .range_text_box_label {

    font-size: 22px;

}



.af2_slider_alternate_text_wrap .af2_slider_input_wrap{

    position: relative;

    height: 50px;

    display: flex;

    flex-grow: 1;

    margin-left: 20px;

}

.af2_slider_alternate_text_wrap .af2_slider_input_wrap.af2_rtl_layout{

    position: relative;

    height: 50px;

    display: flex;

    flex-grow: 1;

    margin-right: 20px;

    margin-left: 0;

}

.af2_slider_alternate_text_wrap input::-webkit-outer-spin-button,

.af2_slider_alternate_text_wrap input::-webkit-inner-spin-button {

  -webkit-appearance: none;

  margin: 0;

}

.af2_slider_alternate_text_wrap .af2_slider_frage_val{

    width: 100%;

    -moz-appearance: textfield;

    font-family: inherit;

    text-align: center;

    border-radius:7px;

    margin: 0 auto 30px auto;

    height: 100%;

}

.af2_slider_alternate_text_wrap .af2_slider_frage_val:focus{

    box-shadow: 0 0 6px;

}

.select2-search--dropdown .select2-search__field {

    padding: 0 10px !important;

}

.af2_slider_alternate_text_wrap span{

    font-size: 90%;

    height: 100%;

    display: inline-flex;

    justify-content: center;

    align-items: center;

    padding: 10px;

}

.alternate_text_wrap_span {

    color: white;

    z-index: 1;



    

    display: flex;

    justify-content: center;

    align-items: center;

}



.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {

    background-color: #e1e1e1;

    color: white;

}



/*end dropzone css*/

.af2_form .select2-container{

    margin: 0 auto 50px auto !important;

}



.af2-select2-container{

    height: auto !important;

    padding: 1rem;

}



.select2-container--default .select2-selection--single {

    border-radius: 10px !important;

}



.select2-search__field {

    border-radius: 10px;

}



.af2-select2-container .select2-selection__arrow{

    height: 100% !important;

    font-family: inherit;

}



.af2-select2-container ul{

    font-family: inherit;

}



/* Fontawesome style override */



.af2_form .fa,.af2_form .fas {

    font-family: "Font Awesome 5 Free" !important;

    font-weight: 900 !important;

}



.af2_form .far {

    font-family: "Font Awesome 5 Free" !important;

    font-weight: 400 !important;

}



.af2_form .fab {

    font-family: "Font Awesome 5 Brands" !important;

}



/*grid/list layout*/

.af2_desktop_list .af2_answer.desktop{

    width: 80% !important;

    margin: 10px !important;

}

.af2_desktop_list2 .af2_answer.desktop{

    width: 40% !important;

    margin: 10px !important;

}



.af2_desktop_list .af2_answer_card.desktop,.af2_desktop_list2 .af2_answer_card.desktop{

    height: 90px !important;

}

.af2_desktop_list .af2_answer_card.desktop .af2_answer_image.pic,.af2_desktop_list2 .af2_answer_card.desktop .af2_answer_image.pic{

    max-width: 60px;

    width: auto;

}

.af2_desktop_list .af2_answer.desktop .af2_answer_image_wrapper,.af2_desktop_list2 .af2_answer.desktop .af2_answer_image_wrapper{

        width: 200px;

    margin-right: 10px;

    padding: 20px !important;

}

.af2_desktop_list .af2_answer.desktop .af2_answer_text.desktop,.af2_desktop_list2 .af2_answer.desktop .af2_answer_text.desktop{

    text-align: left;

}

.af2_mobile_grid .af2_answer.af2_mobile{

    width: 130px !important;

    margin: 0 8px 20px !important;

}

.af2_mobile_grid .af2_answer.af2_mobile .af2_answer_card{

    height: 110px !important;

    flex-direction: column;

    padding: 0px;

}

.af2_mobile_grid .af2_answer.af2_mobile .af2_answer_card .af2_answer_image_wrapper{

        margin: 0 auto !important;

    padding: 0 !important;

    width: 100% !important;

}

.af2_mobile_grid .af2_answer.af2_mobile .af2_answer_card .af2_answer_image_wrapper .pic {

    width: auto;

    max-height: 120px;

    margin: 0 auto;

    padding: 10px !important;

}

.af2_mobile_grid .af2_answer.af2_mobile .af2_answer_text.af2_mobile{

        margin: 15px auto 0 !important;

    text-align: center;

}

.af2_mobile_list .af2_answer.af2_mobile{

    width: 100% !important;

}



span.select2-dropdown.af2-select2-container.select2-dropdown--below {

    margin-top: -17px !important;

    border-radius: 10px !important;

}





/* MAPS STYLES */

#af2_adress_field {

    height: 300px;

    width: 100%;

}



.af2_adress_input_wrap {

    display: flex;

    flex-direction: column;

    align-items: start;

    margin: 5px 0 20px 0;

    padding: 0 15px;

}



.af2_adress_input_wrap.size8 {

    width: 70%;

}

.af2_adress_input_wrap.size10 {

    width: 100%;

}

.af2_adress_input_wrap.size2 {

    width: 30%;

}

.af2_adress_input_wrap.size6 {

    width: 70%;

}

.af2_adress_input_wrap.size4 {

    width: 30%;

}



.select2-search__field {

    font-family: 'Montserrat';

    font-size: 17px;

    font-weight: 500;

}







.af2_adress_map_input_wrapper {

    height: 50%; 

    /*width: 100%;*/

    max-width: 100%;

    /*min-width: 100%;*/

    display: flex; 

    flex-direction: column; 

    justify-content: center;

    background-color: #f6f6f6;

    margin-bottom: 20px;

    padding: 15px;

}



.af2_carousel_content.af2_address {

    

}



@media only screen and (max-width: 1050px) { 

    .af2_adress_mapp_wrapper {

        flex-direction: column;

    }



    .af2_carousel_content.af2_address {

        height: unset;

    }

    

    .af2_adress_map_input_wrapper {

        margin: 0 auto 20px;

        /*width: 100%;*/

    max-width: 100%;

    /*min-width: 100%;*/

        padding: 10px;

        height: unset;

    }



    #af2_adress_field {

        width: 100%;

        margin: 0 auto 20px;

    }



    

    .af2_adress_input_wrap {

        margin: 5px 0 5px 0;

    }



    .af2_adress_input_wrap {

        padding: 0 5px !important;

    }

}



.af2_noscroll {

    overflow: hidden;

}





@media only screen and (max-width: 850px) { 

    .af2_adress_map_input_wrapper {

        /*width: 100%;*/

    max-width: 100%;

    /*min-width: 100%;*/

    }



    #af2_adress_field {

        width: 100%;

        height: 250px;

    }



    .af2_adress_mapp_wrapper {

        position: relative; 

        width: 95%;

        margin: 0 auto; 

    }

}

@media only screen and (max-width: 700px) { 

    .af2_popup_wrapper {

        width: 90%;

    }

}

@media only screen and (max-width: 499px) { 

    .af2_popup_wrapper {

        width: 100%;

    }

}



@media only screen and (max-width: 700px) { 

    .af2_adress_map_input_wrapper {

        /*width: 100%;*/

    max-width: 100%;

    /*min-width: 100%;*/

    }



    .selection .select2-selection.select2-selection--single.af2-select2-container.af2_mobile {

        display: flex !important;

    }



    #af2_adress_field {

        width: 100%;

    }



    .select2-search__field {

        font-size: 15px;

        font-weight: 500;

    }



    .alternate_text_wrap_span.af2_mobile {

        display: flex !important;

    }

}



.af2_ad_trans_tabel.af2_mobile {

    text-align: left;

}



@media only screen and (max-width: 500px) { 

    .af2_adress_map_input_wrapper_wrap.bl {

        display: block !important;

    }

    #af2_adress_field {

        height: 200px;

    }



    .af2_adress_input_wrap.size8 {

        width: 100%;

    }

    .af2_adress_input_wrap.size10 {

        width: 100%;

    }

    .af2_adress_input_wrap.size2 {

        width: 100%;

    }

    .af2_adress_input_wrap.size6 {

        width: 65%;

    }

    .af2_adress_input_wrap.size4 {

        width: 35%;

    }

}



.af2_ad_trans {

    transition: all 300ms ease-out;

}



.af2_question_cf_text_type_wrapper {

    display: flex;

    justify-content: center;

    align-items: center;

    width: 100%;

}



.af2_question_cf_text_type_icon {

    display: flex;

    justify-content: center;

    align-items: center;

}



.af2_question_cf_text_type_icon {

    color: white;

}



.af2_form_heading,

.af2_question_heading_wrapper,

.af2_content_frage,

.af2_dateiupload,

.af2_textfeld_frage,

.af2_datum_frage,

.af2_slider_frage_wrapper,

.af2_textbereich_frage,

.af2-datepicker,

.af2-datepicker.af2_mobile,

.af2_adress_mapp_wrapper,

.select2.select2-container.select2-container--default {

    width: 84% !important;

    min-width: 84% !important;

    max-width: 84% !important;

}



.af2_answer.af2_mobile {

    width: 84%;

    min-width: 84%;

    max-width: 84%;

}



.af2_adress_mapp_wrapper {

    margin: 0 auto;

}



.af2_radio_label, .af2_question_cb_label, .af2_slider_alternate_text_wrap .range_text_box_label, .af2_question_text {

    margin-top: 0 !important;

    margin-bottom: 0 !important;

}



.af2_text_type {

    margin: 0 !important;

}



input[type="email"]:focus, input[type="password"]:focus, input[type="reset"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, select:focus, textarea:focus {

    background-color: field;

}



.af2_html_content_summary {

    justify-content: center;

    align-items: center;

    display: flex;

    flex-direction: column;

    max-width: 100%;

    min-width: 100%;

    margin: 0 auto;

    position: relative;

    background-color: #f6f6f6;

    margin-bottom: 20px;

    padding: 15px;

}



.af2_html_content_summary.af2_mobile {

    padding: 10px;

}



.af2_html_content_summary_object {

    display: flex;

    margin: 10px 0;

    width: 100%;

}



.af2_html_content_summary_object_title {

    width: 50%;

    text-align: left;

    padding: 10px;

}



.af2_html_content_summary_object_answer {

    width: 50%;

    text-align: left;

    padding: 10px;

}



.af2_html_content_summary_object.af2_mobile {

    display: flex !important; 

    margin: 10px 0;

    width: 100%;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    text-align: center;

}

.af2_html_content_summary_object.af2_bottom_border {

    border-bottom: 1px solid #85868c50;

}



.af2_html_content_summary_object_title.af2_mobile {

    text-align: center;

    width: 100%;

}



.af2_html_content_summary_object_answer.af2_mobile {

    text-align: center;

    width: 100%;

}



.af2_question_wrapper input[type="checkbox"] {

    -webkit-appearance: checkbox !important;

}



.af2_question_wrapper input[type="radio"] {

    -webkit-appearance: radio !important;

}



.af2_carousel_content .af2_answer_container.af2_mobile_list.af2_desktop_list2 .af2_answer_card.desktop .af2_answer_image.pic {

    max-width: 65% !important;

    width: 65% !important;

}



.af2_question_cf_text_type_wrapper.af2_verification {

    width: 85%;

}



.af2_question_text_type_wrapper.af2_question_wrapper.af2_verification {

    display: flex;

    justify-content: left;

    align-items: center;

}



.af2_question_text_type_wrapper i {

    font-size: 25px !important;

}



#af_verif.af2_submit_button.newVerification {

    margin: 0 0 0 20px !important;

    background-color: #fff;

    color: rgba(var(--rgb), 0.7) !important;

    border: 2px solid rgba(var(--rgb), 0.7) !important;

    padding: 10px 0;

}



.af2_change_verify_number  {

    cursor: pointer;

}



#af_verif.af2_submit_button.newVerification:hover {

    color: rgba(var(--rgbcol), 0.9);

    background-color: rgba(var(--rgb), 0.9) !important;

    border: 2px solid rgba(var(--rgb), 0.9) !important;

}



#af_verif.af2_submit_button.newVerification.waiting {

    border: 2px solid rgba(var(--rgb), 0.4) !important;

    color: rgba(var(--rgb), 0.4) !important;

    cursor: not-allowed;

    background-color: #fff;

}



#af_verif.af2_submit_button.newVerification.waiting:hover {

    border: 2px solid rgba(var(--rgb), 0.4) !important;

    color: rgba(var(--rgb), 0.4) !important;

    cursor: not-allowed;

    background-color: #fff;

}



/* TERMINBUCHUNG */



.af2_terminbuchungs_wrapper {

    min-width: 84% !important;

    max-width: 84% !important;

    width: 84% !important;



    display: flex;

    margin: auto;

    justify-content: center;

}



.af2_terminbuchungs_wrap {

    width: 100%;

    margin: 10px 20px !important;

    position: relative;

}



.af2_terminbuchung_durations {

    display: flex;

    width: 100%;

    justify-content: center;

    align-items: center;

}



.af2_terminbuchung_datewrapper td.ui-state-disabled span {

    color: #ccc !important;

}



.af2_terminbuchung_duration {

    width: 30%;

    padding: 2px 0;

    border: 1px solid #ccc;

    cursor: pointer;

    margin-top: 5px;

    margin-left: 2.5px;

    margin-right: 2.5px;

    background-color: #fff;

    color: rgba(var(--rgb), 1) !important;

    transition: 300ms ease-out;

}



.af2_terminbuchung_duration.af2_duration_selected {

    background-color: rgba(var(--rgb), 0.2) !important;

    border-color: rgba(var(--rgb)) !important;

}



.af2_terminbuchung_duration:hover {

    background-color: rgba(var(--rgb), 0.1) !important;

    border-color: rgba(var(--rgb)) !important;

}



.af2_terminbuchung_time {

    margin: auto;

    width: 100%;

    padding: 5px 0;

    border: 1px solid #ccc;

    cursor: pointer;

    margin-top: 5px;

    margin-bottom: 0 !important;

    background-color: #fff;

    color: rgba(var(--rgb), 1) !important;

    transition: 300ms ease-out;

}



.af2_terminbuchung_time:hover {

    background-color: rgba(var(--rgb), 0.1) !important;

    border-color: rgba(var(--rgb)) !important;

}



.af2_terminbuchung_time.af2_time_selected {

    background-color: rgba(var(--rgb), 0.2) !important;

    border-color: rgba(var(--rgb)) !important;

}





.af2_terminbuchung_times {

    display: flex;

    flex-wrap: wrap;

    overflow-y: scroll;

    max-height: 200px;

    align-items: center;

    flex-direction: row;

    align-content: flex-start;

}



.af2_terminbuchung_dur_wrap {

    margin-bottom: 25px;

}



.af2_notification {

    margin: 20px auto;

    font-weight: 500;

    font-size: 17px;

    white-space: pre-wrap;

    padding: 50px;

    color: rgba(var(--rgb), 1) !important;

}



.af2_terminbuchung_duration, .af2_terminbuchung_time {

    font-size: 15px;

}

@media only screen and (max-width: 800px) {

    .af2_question{

        width: 100% !important;

    }



    .af2_submit_button {

        width: 90% !important;

    }



    .af2_question_text {

        line-height: 20px;

    }

    .af2_terminbuchungs_wrapper {

        flex-direction: column;

    }

    .af2_terminbuchungs_wrap {

        margin-left: 0 !important;

        margin-right: 0 !important;

    }

    .af2_terminbuchung_times {

        min-height: 360px !important;

        max-height: 360px !important;

        height: 360px !important;

    }



    .af2_terminbuchung_duration {

        width: 45%;

    }



    .af2_terminbuchung_durations {

        flex-wrap: wrap;

    }

}



.af2_terminbuchungs_wrap span.select2-selection__arrow {

    display: none;

}



.af2_terminbuchungs_wrap span#select2-af2_zeitzone-container.select2-selection__rendered {

    

}



.af2_terminbuchungs_wrap span.select2-selection.select2-selection--single {

    border: 0;

}



.af2_terminbuchungs_wrap #select2-af2_zeitzone-container.select2-selection__rendered {

    color: rgba(var(--rgb)) !important;

    text-decoration: underline;

}



.slider_icon {

    margin-left: 30px;

}



/* put in bottom to work */

@media only screen and (max-width: 700px) {     

    .af2-datepicker.af2_mobile .ui-datepicker-calendar tr {

        display: flex;

        justify-content: space-between;

        align-items: center;

        margin: 5px 0;

    }

    .af2-datepicker.af2_mobile td, .af2-datepicker.af2_mobile th {

        padding: 0 !important;

        border: none !important;

        border-radius: 100px !important;

        display: flex;

        justify-content: center;

        align-content: center;

        width: 30px !important;

    }

    .af2-datepicker.af2_mobile  .ui-datepicker-current-day {

        background-color: transparent !important;

        padding: 0 !important;

        border: none !important;

        border-radius: 100px !important;

        display: flex;

        justify-content: center;

        align-content: center;

        width: 30px;

    }

    .af2-datepicker.af2_mobile  .ui-state-active {

        display: flex;

        justify-content: center;

        align-items: center;

        height: 30px;

        border-radius: 100px !important;

        padding: 15px 0;

        border: none;

        width: 30px;

    }   

    .af2-datepicker.af2_mobile td .ui-state-default {

        display: flex;

        justify-content: center;

        align-items: center;

        height: 30px;

        border-radius: 100px !important;

        padding: 5px 0;

        border: none !important;

        width: 30px;

    }   

    .af2-datepicker.af2_mobile td {

        min-width: 30px !important;

        height: 30px !important;

        padding: 0 !important;

    }

    .af2_form_heading, .af2_question_heading_wrapper, .af2_content_frage, .af2_dateiupload, .af2_textfeld_frage, .af2_datum_frage, .af2_slider_frage_wrapper, .af2_textbereich_frage, .af2-datepicker, .af2-datepicker.af2_mobile, .af2_adress_mapp_wrapper, .select2.select2-container.select2-container--default {

    }

    .af2-datepicker.af2_mobile th   {

        min-width: 30px !important;

        height: auto !important;

        padding: 0 !important;

    }

    .af2-datepicker.af2_mobile .ui-datepicker-calendar thead tr {

        margin: 10px 0 0;

    }   

}



@media only screen and (max-width: 460px) {

    .af2_form_heading, .af2_question_heading_wrapper, .af2_content_frage, .af2_dateiupload, .af2_textfeld_frage, .af2_datum_frage, .af2_slider_frage_wrapper, .af2_textbereich_frage, .af2-datepicker, .af2-datepicker.af2_mobile, .af2_adress_mapp_wrapper, .select2.select2-container.select2-container--default {

        width: calc(100% - 30px) !important;

        min-width: calc(100% - 30px) !important;

        max-width: calc(100% - 30px) !important;

    }       

}

.af2_terminbuchungs_wrap {

	width: 375px;

}

.af2_terminbuchung_datewrapper  .ui-datepicker-calendar tr {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin: 5px 0;

}

.af2_terminbuchung_datewrapper  td, .af2_terminbuchung_datewrapper  th {

    padding: 0 !important;

    border: none !important;

    border-radius: 100px !important;

    display: flex;

    justify-content: center;

    align-content: center;

    width: 30px !important;

}

.af2_terminbuchung_datewrapper  .ui-datepicker-current-day {

    background-color: transparent !important;

    padding: 0 !important;

    border: none !important;

    border-radius: 100px !important;

    display: flex;

    justify-content: center;

    align-content: center;

    width: 30px;

}

.af2_terminbuchung_datewrapper  .ui-state-active {

    display: flex;

    justify-content: center;

    align-items: center;

    height: 30px;

    border-radius: 100px !important;

    padding: 15px 0;

    border: none;

    width: 30px;

}   

.af2_terminbuchung_datewrapper td .ui-state-default {

    display: flex;

    justify-content: center;

    align-items: center;

    height: 30px;

    border-radius: 100px !important;

    padding: 5px 0;

    border: none !important;

    width: 30px;

}   

.af2_terminbuchung_datewrapper  td {

    min-width: 30px !important;

    height: 30px !important;

    padding: 0 !important;

}



.af2_terminbuchung_datewrapper  th   {

    min-width: 30px !important;

    height: auto !important;

    padding: 0 !important;

}

.af2_terminbuchung_datewrapper .ui-datepicker-calendar thead tr {

    margin: 10px 0 0;

} 

@media only screen and (max-width: 510px) {

    .af2_terminbuchungs_wrap {

    	width: 100%;

    }  

    .af2_terminbuchungs_wrapper {

    	min-width: 100% !important;

    	max-width: 100% !important;

    	width: 100% !important;

    }	

}



.text-center {

    text-align: center !important;

}



span.select2-container.select2-container--default.select2-container--open {

    z-index: 99999;

}



.af2_loader {

    display: block;

    width: 45px;

    aspect-ratio: 1;

    margin: 25px auto;

    background: no-repeat linear-gradient(rgb(var(--rgb)) 0 0) 0% 50%, no-repeat linear-gradient(rgb(var(--rgb)) 0 0) 50% 50%, no-repeat linear-gradient(rgb(var(--rgb)) 0 0) 100% 50%;

    background-size: 20% 100%;

    animation: af2_loader 1s infinite linear;

}

@keyframes af2_loader {

    0% {

        background-size: 20% 100%, 20% 100%, 20% 100%;

    }

    33% {

        background-size: 20% 10%, 20% 100%, 20% 100%;

    }

    50% {

        background-size: 20% 100%, 20% 10%, 20% 100%;

    }

    66% {

        background-size: 20% 100%, 20% 100%, 20% 10%;

    }

    100% {

        background-size: 20% 100%, 20% 100%, 20% 100%;

    }

}



.af2-standalone-form {

    background-color: #fff;

    padding-top: 5dvh;

}



.af2-standalone-form-container {

    width: 100%;

    max-width: 1000px;

    margin: 0 auto;

}