/**
 * Quform styled like Bexon contact.html (dashed inputs + tj-primary-btn).
 */
.kreator-quform .quform-form,
.kreator-quform .quform-form-inner,
.kreator-quform .quform-elements,
.kreator-quform .quform-element-page,
.kreator-quform .quform-child-elements,
.kreator-quform .quform-spacer,
.kreator-quform .quform-inner,
.kreator-quform .quform-input {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.kreator-quform .quform-element-row {
	display: flex !important;
	flex-wrap: wrap;
	width: auto !important;
	margin-inline: -15px;
	float: none !important;
}

.kreator-quform .quform-element-column {
	float: none !important;
	display: block !important;
	padding-inline: 15px;
	box-sizing: border-box;
}

.kreator-quform .quform-2-columns > .quform-element-column {
	width: 50% !important;
	max-width: 50%;
}

.kreator-quform .quform-3-columns > .quform-element-column {
	width: 33.333% !important;
	max-width: 33.333%;
}

.kreator-quform .quform-element-text,
.kreator-quform .quform-element-email,
.kreator-quform .quform-element-textarea:not(.quform-sr-only),
.kreator-quform .quform-element-select,
.kreator-quform .quform-element-phone {
	margin: 0 0 27px;
	position: relative;
}

.kreator-quform .quform-element-textarea:not(.quform-sr-only) {
	margin-bottom: 30px;
}

.kreator-quform .quform-input {
	position: relative;
	width: 100%;
}

.kreator-quform .quform-field-text,
.kreator-quform .quform-field-email,
.kreator-quform .quform-field-textarea,
.kreator-quform .quform-field-select,
.kreator-quform .quform-field-phone,
.kreator-quform .quform-field-tel,
.kreator-quform input[type="text"],
.kreator-quform input[type="email"],
.kreator-quform input[type="tel"],
.kreator-quform select,
.kreator-quform textarea {
	width: 100% !important;
	max-width: 100%;
	background-color: transparent !important;
	color: var(--tj-color-text-body-3) !important;
	padding: 11px 0 !important;
	border: 0 !important;
	border-bottom: 1px dashed var(--tj-color-border-1) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	font-size: 16px;
	font-weight: inherit;
	line-height: 1.5;
	min-height: 0;
}

.kreator-quform .quform-field-text:focus,
.kreator-quform .quform-field-email:focus,
.kreator-quform .quform-field-textarea:focus,
.kreator-quform .quform-field-select:focus,
.kreator-quform .quform-field-phone:focus,
.kreator-quform input:focus,
.kreator-quform select:focus,
.kreator-quform textarea:focus {
	border-color: var(--tj-color-theme-dark) !important;
	background-color: transparent !important;
}

.kreator-quform .quform-field-text::placeholder,
.kreator-quform .quform-field-email::placeholder,
.kreator-quform .quform-field-textarea::placeholder,
.kreator-quform .quform-field-phone::placeholder,
.kreator-quform input::placeholder,
.kreator-quform textarea::placeholder {
	color: var(--tj-color-text-body-3);
	opacity: 1;
}

.kreator-quform textarea.quform-field-textarea {
	height: 130px !important;
	resize: none;
	padding-top: 0 !important;
}

.kreator-quform .quform-label,
.kreator-quform .quform-label-inside {
	position: absolute !important;
	top: 11px !important;
	inset-inline-start: 0 !important;
	inset-inline-end: auto !important;
	left: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	pointer-events: none;
	z-index: 1;
	transition: opacity 0.2s linear, visibility 0.2s linear;
}

.kreator-quform .quform-element-textarea:not(.quform-labels-inside):not(.quform-sr-only) > .quform-spacer {
	position: relative;
}

.kreator-quform .quform-element-textarea:not(.quform-labels-inside):not(.quform-sr-only) > .quform-spacer > .quform-label {
	top: 0 !important;
}

.kreator-quform .quform-label-text {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	text-transform: none;
	color: var(--tj-color-text-body-3);
}

.kreator-quform .quform-required {
	color: var(--tj-color-theme-primary);
	margin-inline-start: 2px;
}

.kreator-quform .quform-element:focus-within .quform-label,
.kreator-quform .quform-not-empty .quform-label,
.kreator-quform.is-styled .quform-label {
	visibility: hidden;
	opacity: 0;
}

.kreator-quform .quform-error-message,
.kreator-quform .quform-errors,
.kreator-quform .quform-error {
	color: var(--tj-color-red-1);
	font-size: 14px;
	margin-top: 6px;
}

.kreator-quform .quform-element.quform-has-error .quform-field-text,
.kreator-quform .quform-element.quform-has-error .quform-field-email,
.kreator-quform .quform-element.quform-has-error .quform-field-textarea,
.kreator-quform .quform-element.quform-has-error .quform-field-select,
.kreator-quform .quform-element.quform-has-error .quform-field-phone {
	border-color: var(--tj-color-red-1) !important;
}

.kreator-quform .quform-success-message {
	color: var(--tj-color-theme-dark);
	font-size: 16px;
	line-height: 1.5;
	margin: 0 0 20px;
	padding: 0;
	background: transparent;
	border: 0;
}

.kreator-quform .quform-element-submit {
	margin: 0;
	padding: 0;
}

.kreator-quform .quform-button-submit {
	display: inline-flex;
	align-items: center;
	position: relative;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}

.kreator-quform .quform-element-submit.quform-button-style-theme .quform-button-submit-default .quform-submit,
.kreator-quform .quform-submit.tj-primary-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	position: relative;
	background-color: var(--tj-color-theme-primary) !important;
	background-image: none !important;
	font-size: 16px !important;
	font-weight: var(--tj-fw-sbold, 600) !important;
	padding: 5px 5px 5px 25px !important;
	text-align: center;
	border: 0 !important;
	border-radius: 50px !important;
	line-height: 1 !important;
	z-index: 2;
	overflow: hidden;
	white-space: nowrap;
	box-shadow: none !important;
	min-height: 0 !important;
	height: auto !important;
	width: auto !important;
	transform: none !important;
	cursor: pointer;
	color: var(--tj-color-common-white);
}

.kreator-quform .quform-submit.tj-primary-btn .btn-text {
	color: var(--tj-color-common-white);
	overflow: hidden;
}

.kreator-quform .quform-submit.tj-primary-btn .btn-text span {
	display: flex;
	line-height: 1;
	text-shadow: 0 30px 0;
	backface-visibility: hidden;
	transform: translateY(0);
	transition: 0.4s ease-in-out;
	color: inherit;
}

.kreator-quform .quform-submit.tj-primary-btn .btn-icon {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	line-height: 1;
	width: 42px;
	height: 42px;
	overflow: hidden;
	background-color: var(--tj-color-theme-dark);
	border-radius: 50%;
}

.kreator-quform .quform-submit.tj-primary-btn .btn-icon i {
	color: var(--tj-color-common-white);
	transform: rotate(-45deg);
	transition: all 0.3s ease-in-out;
}

.kreator-quform .quform-submit.tj-primary-btn:hover {
	background-color: var(--tj-color-theme-primary) !important;
}

.kreator-quform .quform-submit.tj-primary-btn:hover .btn-text span {
	transform: translateY(-30px);
}

.kreator-quform .quform-submit.tj-primary-btn:hover .btn-icon i {
	transform: rotate(0);
}

.kreator-quform .quform-loading {
	margin-inline-start: 12px;
}

.kreator-quform .quform-loading-type-spinner-1 .quform-loading-spinner,
.kreator-quform .quform-loading-type-spinner-1 .quform-loading-spinner:after {
	border-top-color: var(--tj-color-theme-primary);
}

@media (max-width: 575px) {
	.kreator-quform .quform-element-row {
		margin-inline: 0;
	}

	.kreator-quform .quform-2-columns > .quform-element-column,
	.kreator-quform .quform-3-columns > .quform-element-column {
		width: 100% !important;
		max-width: 100%;
		padding-inline: 0;
	}

	.kreator-quform .quform-element-text,
	.kreator-quform .quform-element-email,
	.kreator-quform .quform-element-select,
	.kreator-quform .quform-element-phone {
		margin-bottom: 20px;
	}

	.kreator-quform .quform-field-text,
	.kreator-quform .quform-field-email,
	.kreator-quform .quform-field-textarea,
	.kreator-quform .quform-field-select,
	.kreator-quform .quform-field-phone,
	.kreator-quform input[type="text"],
	.kreator-quform input[type="email"],
	.kreator-quform input[type="tel"],
	.kreator-quform select,
	.kreator-quform textarea {
		padding: 6px 0 10px !important;
	}
}
