/*	**********
	* global *
	********** */

    
body .gform_wrapper {
    margin: 0;
    padding: 0;
}

body .gform_wrapper ul {
    margin: 0 !important;
    padding: 0 !important;
}
    
body .gform_wrapper input,
body .gform_wrapper textarea,
body .gform_wrapper select{
    font-family: "Loxone Sans", "Georgia", sans-serif;
}

body .gform_wrapper .gform_body .gform_fields .gfield {
	padding: 0;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container {
	margin: 0;
	padding: 0;
}

body .gform_wrapper .gform_body .gform_fields .gfield input[type=text],
body .gform_wrapper .gform_body .gform_fields .gfield input[type=email],
body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel],
body .gform_wrapper .gform_body .gform_fields .gfield input[type=password],
body .gform_wrapper .gform_body .gform_fields .gfield input[type=url],
body .gform_wrapper .gform_body .gform_fields .gfield select,
body .gform_wrapper .gform_body .gform_fields .gfield textarea {
	padding: 8px 12px !important;
	border: 1px solid rgba(23, 23, 23, 0.08) !important;
    border-radius: 12px;
	margin: 0 !important;
	width: 100% !important;
	color: #171717 !important;
    min-height: 48px;
}

body .gform_wrapper .gform_body .gform_fields .gfield input[type=text]:hover,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=email]:hover,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel]:hover,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=password]:hover,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=url]:hover,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=checkbox]:hover,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=radio]:hover,
body .gform_wrapper .gform_body .gform_fields .gfield select:hover,
body .gform_wrapper .gform_body .gform_fields .gfield textarea:hover {
	border-color: var(--token-color-foreground-fg-2) !important;
}


body .gform_wrapper .gform_body .gform_fields .gfield input[type=text]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=email]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=password]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=url]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=checkbox]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=radio]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield select:focus,
body .gform_wrapper .gform_body .gform_fields .gfield textarea:focus {
	border-color: #1a73e8 !important;
}

body .gform_wrapper .gform_body .gform_fields .gfield input[type=checkbox]:checked,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=radio]:checked {
    border-color: #171717 !important;
}

body .gform_wrapper a{
    color: inherit !important;
    cursor: pointer;
    background-image: linear-gradient(#A3FF8C 0 0);
    padding-bottom: 1px;
    background-position: 0 100%;
    background-size: 100% 6px;
    background-repeat: no-repeat;
    transition: background-size 0.3s, background-position 0s 0.3s;
    text-decoration: none !important;
}

body .gform_wrapper a:hover {
    background-size: 0% 6px;
    color: #34CE08;
    text-decoration: none !important;
}

body .gform_wrapper .gform_body .gform_fields .gfield_error input[type=text],
body .gform_wrapper .gform_body .gform_fields .gfield_error input[type=email],
body .gform_wrapper .gform_body .gform_fields .gfield_error input[type=tel],
body .gform_wrapper .gform_body .gform_fields .gfield_error input[type=password],
body .gform_wrapper .gform_body .gform_fields .gfield_error input[type=url],
body .gform_wrapper .gform_body .gform_fields .gfield_error input[type=checkbox],
body .gform_wrapper .gform_body .gform_fields .gfield_error select,
body .gform_wrapper .gform_body .gform_fields .gfield_error textarea {
	border-color: var(--token-color-stroke-error-sk) !important;
}

body .gform_wrapper .ginput_complex .ginput_left,
body .gform_wrapper .ginput_complex .ginput_right {
	display: block;
	width: 100%;
	padding-right: 0;
}

body .gform_wrapper .ginput_complex .ginput_left {
	margin: 0 0 20px 0;
}

body .gform_wrapper .gfield_error .ginput_complex .ginput_left,
body .gform_wrapper .gfield_error .ginput_complex .ginput_right {
	width:  100%;
}

body .gform_wrapper .gform_footer input[type=submit], .gform_wrapper .gform_next_button {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-decoration: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid transparent;
    transition: background-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
    padding: calc(var(--token-spacing-all-base)) var(--token-spacing-all-l);
    border-radius: var(--token-corner-radius-all-base);
    color: var(--token-color-foreground-fg-onbrand);
    background-color: var(--token-color-background-brand-bg);
}

body .gform_wrapper.gravity-theme .gform_previous_button.button,
body .gform_wrapper.gravity-theme .gform_save_link.button {
    box-sizing: border-box;
    text-decoration: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid rgba(0, 0, 0, 0);
    transition: background-color .2s ease, color .2s ease;
    white-space: nowrap;
    padding: calc(var(--token-spacing-all-base)) var(--token-spacing-all-l);
    border-radius: var(--token-corner-radius-all-base);
    background-color: rgba(0, 0, 0, 0);
    color: var(--token-color-foreground-fg-1);
    border: 1.5px solid var(--token-color-foreground-fg-1);
}

body .gform_wrapper .gform_footer input[type=submit]:hover {
    background-color: var(--token-color-background-brand-bg-hover);
}

body .gform_wrapper .gform_body .gform_fields .gfield select {
	-webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

body .gform_wrapper .gform_body .gform_fields .gfield select option {
	margin: 0;
	padding: 0;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_select,
body .gform_wrapper .gform_footer {
	position: relative;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_select:after {
	font-family: 'ETmodules';
	content: '\33';
	font-size: 30px;
	position: absolute;
	top: 50%;
    margin-top: -10px;
	right: 10px;
	color: #171717;
	pointer-events: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox > div,
body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio > div{
    display: flex;
    align-items: center;
    gap: 16px;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio > div {
    margin-bottom: 8px;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox label,
body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio label {
	width: auto;
}

.gform_required_legend{
    display: none !important;
}

body .gform_wrapper .top_label .gfield_label {
    color: var(--token-color-foreground-fg-2);
    font-size: 14px;
    margin-bottom: var(--token-spacing-all-xxs);
    font-weight: normal;

}


/**
* Hide astrix but add "optional" on not required fields, because the form should be as clean as possible, but still give users the information if a field is required or not.
**/
body .gform_wrapper .top_label .gfield_label .gfield_required{
    display: none !important;
}

html[lang="de"] body .gform_wrapper .top_label .gfield_label:not(:has(.gfield_required)):after {
    content: " (optional)";
}

body .gform_wrapper .gform_body .gform_fields .gfield_error {
	background-color: transparent;
	border: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield_error .validation_message {
    padding: 0;
    font-weight: normal;
    background: transparent;
    border: none;
    color: var(--token-color-foreground-error-fg);
    font-size: 13px !important;
    margin-top: 4px !important;
}

body .gform_wrapper .gform_body .gform_fields .gfield_error label {
    color: var(--token-color-foreground-error-fg);
}

body .gform_wrapper .gform_body .gform_fields .gfield_error .ginput_container_checkbox label {
    color: #171717;
}

body .gform_wrapper .gform_body .gform_fields .gfield textarea {
	margin-bottom: -6px !important;
}

body .gform_wrapper .validation_error {
	border: none !important;
	color: #e73246 !important;
	margin: 0 !important;
	text-align: left !important;
	letter-spacing: normal;
	font-weight: normal !important;
}

body .gform_wrapper .gform_validation_errors > h2::before {
	background-image: none;
	font-family: dashicons;
	content: "\f534";
	margin: 0;
}

body .gform_wrapper .gform_validation_errors > h2 {
	color: #e73246 !important;
}

.gform_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
	max-width: none !important;
}

body .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked+label,
body .gform_wrapper ul.gfield_radio li input[type=radio]:checked+label {
	font-weight: 500;
}

.gform_wrapper input[type="checkbox"]:checked {
	background-color: #676774;
	border: 1px solid #676774;
	appearance: none;
	border-radius: 2px;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='%23FFFFFF' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
	width: 14px;
	height: 14px;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox li,
body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio li {
    display: flex;
    align-items: center;
    gap: 8px;   
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox input,
body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio input {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px !important;
    flex: none;
    height: 20px;
    border-radius: 6px;
    background-color: transparent;
    background-color: #FFFFFF;
    border: 1px solid rgba(23, 23, 23, 0.08);
    appearance: none;
    background-size: 75%;
    background-repeat: no-repeat;
    background-position: center;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio input {
    border-radius: 50%;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox input:checked{
    background-color: var(--token-color-background-bg-ui, #171717);
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio input:checked {
    border-width: 6px;
}

body .gform_ajax_spinner {
	display: none !important;
}

body .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number {
    border: none !important;
}

body .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::before {
    border: 1px solid #8cff70 !important;
    background-color: #8cff70 !important;
    color: #171717 !important;
}

body .gform_wrapper.gravity-theme .gf_step_label {
    padding-left: 8px !important
}

body .gform_wrapper.gravity-theme .gf_step_number {
    border: 1px solid #171717 !important;
    color: #171717 !important;
}

body .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::after {
    color: #171717 !important;
}

/*Every class that starts with .gform_ajax_spinner_*/
body .gform_wrapper .gform_footer [class^="gform_ajax_spinner_"] {
    display: none !important;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_fileupload #extensions_message {
	display: none;
}

.gform_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container {
	margin-top: 0;
}

.gform_wrapper ul.gfield_checkbox li label,
.gform_wrapper ul.gfield_radio li label {
	letter-spacing: normal;
}

/* read only fields */

body .gform_wrapper .gform_body .gform_fields .gfield.gf_readonly input:read-only {
	background-color: #f5f5f5;
	cursor: not-allowed;
}

body .gform_wrapper .gform_body .gform_fields .gfield.gf_readonly input:-moz-read-only {
	background-color: #f5f5f5;
	cursor: not-allowed;
}

/* for edge */
body .gform_wrapper .gform_body .gform_fields .gfield.gf_readonly input {
	background-color: #f5f5f5;
	cursor: not-allowed;
}

/* multi file upload field */
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_fileupload .gform_drop_area {
	background-color: #ffffff;
	width: 90%;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_fileupload .gform_drop_area .gform_drop_instructions {
	color: #999;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_fileupload .gform_drop_area .gform_button_select_files {
	border-radius: 0;
	background-color: #999;
	border: 1px solid #999;
	color: #fff;
	cursor: pointer;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_fileupload .gform_button_select_files:hover {
	box-shadow: 0px 3px 8px 0px rgba(0,0,0,0.15);
}

.gform_wrapper.gravity-theme .gform_fields {
    gap: 24px !important;
}

.gform_validation_errors{
    display: none !important;
}

/* firefox hack */
@-moz-document url-prefix() {

	body .gform_wrapper .gform_body .gform_fields .gfield select {
		padding: 13.5px 20px !important;
	}

	body .gform_wrapper .gform_footer .gform_ajax_spinner {
		height: 43.5px !important;
	}
}

/* mobile adaptions */
@media(max-width: 641px) {

	body .gform_wrapper .gform_body .gform_fields .gfield input[type=text],
	body .gform_wrapper .gform_body .gform_fields .gfield input[type=email],
	body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel],
	body .gform_wrapper .gform_body .gform_fields .gfield input[type=password],
	body .gform_wrapper .gform_body .gform_fields .gfield input[type=url],
	body .gform_wrapper .gform_body .gform_fields .gfield select,
	body .gform_wrapper .gform_body .gform_fields .gfield textarea,
	body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_fileupload .gform_drop_area {
		width: calc(100% - 15px) !important
	}

	body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox label,
	body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio label {
		width: 100%;
	}

	body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_select:after {
		right: 8% !important;
	}

	body .gform_wrapper .gform_body .gform_fields .gfield_error .validation_message {
		width: 100%;
	}
}

/*	************
	* infomail *
	************ */

body .loxone_infomail .gform_wrapper form {
	text-align: center;
}

body .loxone_infomail .gform_wrapper form .validation_error {
	text-align: center;
}

body .loxone_infomail .gform_wrapper .gform_body {
	display: inline-block;
	width: 40%;
	margin: 0 20px 0 0;
	padding: 0;
}

body .loxone_infomail .gform_wrapper .gform_body .gform_fields .gfield {
	margin: 0;
}

body .loxone_infomail .gform_wrapper .gform_body .gform_fields .gfield input[type=text] {
	border-radius: 0 !important;
	background-color: rgba(255, 255, 255, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.2);
	width: 100% !important;
	color: #fff;
}

body .loxone_infomail .gform_wrapper .gform_body .validation_message {
	display: none;
}

body .loxone_infomail .gform_wrapper .gform_footer {
	display: inline-block;
	width: auto;
	margin: 0;
	padding: 0;
}

body .loxone_infomail .gform_wrapper .gform_footer input[type=submit] {
	margin: 0;
}

/* mobile adaptions */
@media(max-width: 641px) {

	body .loxone_infomail .gform_wrapper .gform_body {
		margin-right: 0;
		width: 90%;
	}

	body .loxone_infomail .gform_wrapper .gform_footer {
		margin-top: 20px;
		width: 90%;
	}

	body .loxone_infomail .gform_wrapper .gform_body .gform_fields .gfield input[type=text] {
		width: 90% !important;
	}

	body .loxone_infomail .gform_wrapper .gform_footer input[type=submit] {
		width: 90%;
	}
}


.gform_wrapper .top_label li.gfield.gf_left_half {
    width: calc(50% - 12px) !important;
    margin-right: 12px !important;
}

.gform_wrapper .top_label li.gfield.gf_right_half {
    width: calc(50% - 12px) !important;
    margin-left: 12px !important;
}

@media screen and (max-width: 640px) {
    .gform_wrapper .top_label li.gfield.gf_left_half,
    .gform_wrapper .top_label li.gfield.gf_right_half {
        width: 100% !important;
        margin: 0 !important;
    }
}

.gform_legacy_markup_wrapper.gf_browser_chrome .gfield_checkbox li input, .gform_legacy_markup_wrapper.gf_browser_chrome .gfield_checkbox li input[type=checkbox], .gform_legacy_markup_wrapper.gf_browser_chrome .gfield_radio li input[type=radio] {
    margin-top: 0 !important;
}