:is(#content,#sh-sidebar__parent) form input,
:is(#content,#sh-sidebar__parent) form textarea,
:is(#content,#sh-sidebar__parent) form select,
:is(#content,#sh-sidebar__parent) form option,
:is(#content,#sh-sidebar__parent) form label {
	font-size: var(--fs-1);
	text-align: left;
	line-height: 1.4em;
	color: var(--clr-accent-2);
	font-weight: 400;
	box-shadow: none;
}

:is(#content,#sh-sidebar__parent) form input,
:is(#content,#sh-sidebar__parent) form textarea,
:is(#content,#sh-sidebar__parent) form select {
	margin: 0;
	padding: .9em 0;
	min-height: 3.2em; /* lineHeight + paddingTop + paddingBottom --- define min-height to ensure all the fields have the same height in different browsers */
	border-color: var(--clr-accent-2);
	border-width: 0 0 thin;
	border-style: solid;
	border-radius: 0;
	transition: color .35s ease, border-color .35s ease, background-color .35s ease, opacity .35s ease;
}

:is(#content,#sh-sidebar__parent) form textarea {
	border-width: thin;
	padding: .9em;
}

:is(#content,#sh-sidebar__parent) form select,
:is(#content,#sh-sidebar__parent) form input[type="date"],
:is(#content,#sh-sidebar__parent) form input.elementor-date-field {
	cursor: pointer;
}

/* ===========================================
   Hover and Focus State 
=========================================== */

:is(#content,#sh-sidebar__parent) form input:hover,
:is(#content,#sh-sidebar__parent) form textarea:hover,
:is(#content,#sh-sidebar__parent) form select:hover,
:is(#content,#sh-sidebar__parent) form input:focus,
:is(#content,#sh-sidebar__parent) form textarea:focus,
:is(#content,#sh-sidebar__parent) form select:focus {
	border-color: var(--clr-accent-1);
}

/* ===========================================
   Placeholders 
=========================================== */

:is(#content,#sh-sidebar__parent) form ::-webkit-input-placeholder {
    color: var(--clr-black);
}
:is(#content,#sh-sidebar__parent) form ::-moz-placeholder {
    color: var(--clr-black);
}
:is(#content,#sh-sidebar__parent) form :-ms-input-placeholder {
    color: var(--clr-black);
}
:is(#content,#sh-sidebar__parent) form :-moz-placeholder {
    color: var(--clr-black);
}

/* ===========================================
   Checkbox and Radio
=========================================== */

:is(#content,#sh-sidebar__parent) input[type="checkbox"],
:is(#content,#sh-sidebar__parent) input[type="radio"] {
	opacity: 0;
	position: absolute;
}

:is(#content,#sh-sidebar__parent) input[type="checkbox"] + label,
:is(#content,#sh-sidebar__parent) input[type="radio"] + label,
:is(#content,#sh-sidebar__parent) ._brlbs-content-blocker input[type="checkbox"] + small {
	display: block;
	font-size: var(--fs-1);
	color: var(--clr-accent-2);
	line-height: 1.4em;
	position: relative;
	padding: .9em 0 .9em 1.65em;
	margin: 0 1.5em 0 0;
	max-width: 50rem;
	cursor: pointer;
}

:is(#content,#sh-sidebar__parent) input[type="radio"] + label::before,
:is(#content,#sh-sidebar__parent) input[type="radio"] + label::after {
	border-radius: 50%;
	margin-left: 1px;
}

:is(#content,#sh-sidebar__parent) input[type="checkbox"] + label::before,
:is(#content,#sh-sidebar__parent) input[type="checkbox"] + label::after,
:is(#content,#sh-sidebar__parent) input[type="radio"] + label::before,
:is(#content,#sh-sidebar__parent) input[type="radio"] + label::after,
:is(#content,#sh-sidebar__parent) ._brlbs-content-blocker input[type="checkbox"] + small::before,
:is(#content,#sh-sidebar__parent) ._brlbs-content-blocker input[type="checkbox"] + small::after {
    content: "";
    position: absolute;
    top: .65em; /* ( paddingTop + (lineHeight/2) - (checkboxHeight/2) ) */
	top: 1.05em;
    left: 0;
    width: 1.1em;
    height: 1.1em;
    transition: color .35s ease, border-color .35s ease, background-color .35s ease, opacity .35s ease;
}

:is(#content,#sh-sidebar__parent) input[type="checkbox"] + label::before,
:is(#content,#sh-sidebar__parent) input[type="radio"] + label::before,
:is(#content,#sh-sidebar__parent) ._brlbs-content-blocker input[type="checkbox"] + small::before {
	border: thin solid var(--clr-accent-2);
}

:is(#content,#sh-sidebar__parent) input[type="checkbox"] + label::after,
:is(#content,#sh-sidebar__parent) input[type="radio"] + label::after,
:is(#content,#sh-sidebar__parent) ._brlbs-content-blocker input[type="checkbox"] + small::after {
    background-color: var(--clr-accent-1);
    background-image: var(--svg-close-black);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 50% auto;
	opacity: 0;
}

/* Hover State */
:is(#content,#sh-sidebar__parent) input[type="checkbox"] + label:hover::before,
:is(#content,#sh-sidebar__parent) input[type="radio"] + label:hover::before,
:is(#content,#sh-sidebar__parent) ._brlbs-content-blocker label:hover input[type="checkbox"] + small::before {
	border-color: var(--clr-accent-1);
}

/* Checked State */
:is(#content,#sh-sidebar__parent) input[type="checkbox"]:checked + label::before,
:is(#content,#sh-sidebar__parent) input[type="radio"]:checked + label::before,
:is(#content,#sh-sidebar__parent) ._brlbs-content-blocker input[type="checkbox"]:checked + small::before {
	opacity: 0;
}

:is(#content,#sh-sidebar__parent) input[type="checkbox"]:checked + label::after,
:is(#content,#sh-sidebar__parent) input[type="radio"]:checked + label::after,
:is(#content,#sh-sidebar__parent) ._brlbs-content-blocker input[type="checkbox"]:checked + small::after {
	opacity: 1;
}

/* ===========================================
   Date
=========================================== */

/* Remove the browser's default calendar icons for date fields */
input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}

/* Make the browser's default calendar text dd.mm.yyyy transparent */
input[type="date"]::-webkit-datetime-edit-year-field:not([aria-valuenow]),
input[type="date"]::-webkit-datetime-edit-month-field:not([aria-valuenow]),
input[type="date"]::-webkit-datetime-edit-day-field:not([aria-valuenow]) {
    color: transparent;
}

/* Override the browser's default date value alignment - e.g. iOS center aligns date values */
input[type="date"]::-webkit-date-and-time-value {
  text-align: left;
}

/* ===========================================
   Elementor Form - Layout 
=========================================== */

:is(#content,#sh-sidebar__parent) .elementor-form .elementor-field-group {
	margin: .75rem 0;
}

:is(#content,#sh-sidebar__parent) .elementor-form .elementor-field-type-radio,
:is(#content,#sh-sidebar__parent) .elementor-form .elementor-field-type-checkbox,
:is(#content,#sh-sidebar__parent) .elementor-form .elementor-field-type-textarea,
:is(#content,#sh-sidebar__parent) .elementor-form .elementor-field-type-acceptance {
	margin-top: 1rem;
}

:is(#content,#sh-sidebar__parent) .elementor-form .elementor-field-type-textarea {
	margin-top: 3rem !important;
}

:is(#content,#sh-sidebar__parent) .elementor-form .elementor-field-type-textarea + .elementor-field-type-acceptance {
	margin-top: 0 !important;
}

@media only screen and (min-width: 768px) {
	:is(#content,#sh-sidebar__parent) .elementor-form {
		margin: -.75rem;
	}
	:is(#content,#sh-sidebar__parent) .elementor-form .elementor-field-group {
		padding: 0 .75rem;
	}
}

/* ===========================================
   Elementor Form - Input Icons 
=========================================== */

:is(#content,#sh-sidebar__parent) .elementor-field-type-select::before,
:is(#content,#sh-sidebar__parent) .elementor-field-type-date::before {
	content: '';
	position: absolute;
	top: 50%;
	left: auto;
	right: 0;
	width: 2rem;
	height: 2rem;
	transform: translateY(-50%);
	transform: translate3d(0, -50%, 0);
	pointer-events: none;
    background-position: center center;
    background-repeat: no-repeat;
	transition: transform .35s ease;
}

/* Select */
:is(#content,#sh-sidebar__parent) .elementor-field-type-select .select-caret-down-wrapper {
	display: none;
}

:is(#content,#sh-sidebar__parent) .elementor-field-type-select::before {
	transform: translateY(-50%) rotate(90deg);
	transform: translate3d(0,-50%,0) rotate(90deg);
	background-image: var(--svg-arrow-black);
    background-size: auto 1rem;
}

:is(#content,#sh-sidebar__parent) .sh-is-focused.elementor-field-type-select::before {
	transform: translateY(-50%) rotate(270deg);
	transform: translate3d(0,-50%,0) rotate(270deg);
}

/* Date */
:is(#content,#sh-sidebar__parent) .elementor-field-type-date::before {
	background-image: var(--svg-calendar-black);
    background-size: auto 1.3rem;
}

/* Media queries */
@media only screen and (min-width: 768px) {
	:is(#content,#sh-sidebar__parent) .elementor-field-group > label {
		left: .75rem; /* Use the same settings as elementor-form .elementor-field-group has for horizontal padding */
	}
	:is(#content,#sh-sidebar__parent) .elementor-field-type-select::before,
	:is(#content,#sh-sidebar__parent) .elementor-field-type-date::before {
		right: .75rem; /* Use the same values as elementor-form .elementor-field-group has for horizontal padding */
	}
}

/* ===========================================
   Elementor Form - Animated Labels 
=========================================== */

:is(#content,#sh-sidebar__parent) .elementor-field-type-radio .elementor-field-label,
:is(#content,#sh-sidebar__parent) .elementor-field-type-checkbox .elementor-field-label,
:is(#content,#sh-sidebar__parent) .elementor-field-type-acceptance .elementor-field-label {
	display: none;
}

:is(#content,#sh-sidebar__parent) .elementor-field-group > label {
	position: absolute;
	top: .9em; /* Use the same value as input fields have for paddingTop */
	left: 0; /* Use the same values as elementor-form .elementor-field-group has for horizontal padding */
	padding: 0 .5em 0 0; /* Use the same settings as input fields have for paddingLeft and paddingRight plus additional whitespace for the has-value state */
	line-height: 1.4em; /* Use the same settings as input fields have for lineHeight */
	border-width: 0 0 2px; /* Use the same settings as input fields have for borderWidth */
	border-color: transparent;
	border-style: solid;
	font-size: var(--fs-1);
	color: var(--clr-accent-2);
	pointer-events: none;
	z-index: 1;
	transition: transform .35s ease, opacity .35s ease, color .35s ease, background-color .35s ease;
	transform-origin: 0% 50%;
}

:is(#content,#sh-sidebar__parent) .elementor-field-group.sh-is-focused > label {
	color: var(--clr-accent-1);
}

:is(#content,#sh-sidebar__parent) .sh-is-focused.elementor-field-group > label,
:is(#content,#sh-sidebar__parent) .sh-has-value.elementor-field-group > label {
	/* Only use transform for a smooth transition - Use the values from above for Top and borderWidth in order to align the label's top edge to the bottom edge of the input field  */
	transform: translate(0, 50%) translateY(.9em) translateY(-1px) scale(.85, .85); 
	transform: translate3d(0, 50%, 0) translateY(.9em) translateY(-1px) scale(.85, .85); 
	opacity: 1;
	background-color: var(--clr-white);
	transition-delay: 0s;
}

/* Select */
:is(#content,#sh-sidebar__parent) .sh-is-focused.elementor-field-type-select > label {
	opacity: 0;
}

:is(#content,#sh-sidebar__parent) .elementor-field-type-select:not(.sh-has-value) select {
	color: transparent;
}

/* Date */
:is(#content,#sh-sidebar__parent) .elementor-field-type-date:not(.sh-has-value):not(.sh-is-focused) > label {
	transition-delay: .15s; /* we need a delay in case a date picker library is in use and needs some time to populate the input value */
}

:is(#content,#sh-sidebar__parent) .elementor-field-type-date:not(.sh-has-value):not(.sh-is-focused) input.flatpickr-mobile::-webkit-datetime-edit {
    color: transparent;
}

:is(#content,#sh-sidebar__parent) .elementor-field-type-date input::-webkit-inner-spin-button,
:is(#content,#sh-sidebar__parent) .elementor-field-type-date input::-webkit-calendar-picker-indicator {
    display: none; /* hide default browser icons for date input fields */
    -webkit-appearance: none; /* hide default browser icons for date input fields */
}

/* Textarea */
:is(#content,#sh-sidebar__parent) .elementor-field-type-textarea.elementor-field-group > label {
	padding-left: .9em;
}

:is(#content,#sh-sidebar__parent) .sh-has-value.elementor-field-type-textarea.elementor-field-group > label {
	/* Only use transform for a smooth transition - Use the values from above for Top and borderWidth in order to align the label's top edge to the bottom edge of the input field  */
	transform: translate(-.9em, -50%) translateY(-.9em) translateY(1px) scale(.85, .85); 
	transform: translate3d(-.9em, -50%, 0) translateY(-.9em) translateY(1px) scale(.85, .85); 
}

/* Hide Placeholders */
:is(#content,#sh-sidebar__parent) .elementor-form ::-webkit-input-placeholder {
    opacity: 0;
}
:is(#content,#sh-sidebar__parent) .elementor-form ::-moz-placeholder {
    opacity: 0;
}
:is(#content,#sh-sidebar__parent) .elementor-form :-ms-input-placeholder {
    opacity: 0;
}
:is(#content,#sh-sidebar__parent) .elementor-form :-moz-placeholder {
    opacity: 0;
}

/* Media queries */
@media only screen and (min-width: 768px) {
	:is(#content,#sh-sidebar__parent) .elementor-field-group > label {
		left: .75rem; /* Use the same settings as elementor-form .elementor-field-group has for horizontal padding */
	}
}

/* ===========================================
   Required Fields
=========================================== */

.elementor-form .elementor-field-required .elementor-field-label:after {
	content: '\002A';
}

/* ===========================================
   Acceptance Field
=========================================== */

.elementor-form .elementor-field-type-acceptance label {
	margin-right: 0 !important;
	font-size: var(--fs-0) !important;
}

.elementor-form .elementor-field-type-acceptance a {
	background-image: linear-gradient(var(--clr-sunset), var(--clr-sunset)), linear-gradient(var(--clr-black), var(--clr-black));
	background-position: 0 81%, 100% 81%;
	background-repeat: no-repeat;
	background-size: 0 8px, 100% 1px;
}

.elementor-form .elementor-field-type-acceptance a:hover {
	color: var(--clr-black);
	background-size: 100% 8px, 0 1px;
}

/* ===========================================
   Auto Complete
=========================================== */

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 50px var(--clr-silk) inset !important;
    -webkit-text-fill-color: var(--clr-black) !important;
}

input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 50px var(--clr-silk) inset !important;
    -webkit-text-fill-color: var(--clr-black) !important;
}

/* ===========================================
   Submit Messages
=========================================== */

.elementor-form .elementor-message::before {
	display: none !important;
}

.elementor-form .elementor-message {
	font-size: var(--fs-3) !important;
	font-weight: 400 !important;
	line-height: 1.3em !important;
	padding: 1.5rem !important;
	color: var(--clr-black) !important;
	background-color: var(--clr-clam) !important;
	text-align: center !important;
	text-wrap: balance !important;
}

@media only screen and (min-width: 768px) {
	.elementor-form .elementor-message {
		max-width: calc(100% - 1.5rem) !important;
		margin-left: .75rem !important;
		margin-top: 1rem !important;
		margin-bottom: 0 !important;
	}
}

/* ===========================================
   Help Messages
=========================================== */

.elementor-form .elementor-help-inline {
	font-size: var(--fs-0) !important;
	color: var(--clr-black) !important;
	background-color: var(--clr-sunset) !important;
	font-weight: 400 !important;
	padding: .75em .75em .6em !important;
	text-align: left !important;
	margin: 1rem 0 0 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* ===========================================
   Submit Button
=========================================== */

.elementor-field-type-submit .elementor-form-spinner {
	display: none !important;
}