:root {
	--form-checkbox-width: 1em;
}
.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	transition: all var(--transition-short) ease-in-out !important;
}
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
.select2 .select2-selection,
textarea,
.woocommerce .quantity input.qty,
.dark input[type="email"],
.dark input[type="password"],
.dark input[type="tel"],
.dark input[type="text"],
.dark select,
.dark textarea {
	font-size: 0.9rem !important;
	font-weight: 400 !important;
	line-height: 1.6em !important;
	padding: .58rem .96rem !important;
	color: var(--color-text) !important;
	background-color: transparent !important;
	border-color: var(--color-text) !important;
	border-radius: var(--card-5-img-br);
	transition: all var(--transition-short) ease-in-out !important;
}
input[type="date"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus,
.woocommerce .quantity input.qty:focus,
.dark input[type="email"]:focus,
.dark input[type="password"]:focus,
.dark input[type="tel"]:focus,
.dark input[type="text"]:focus,
.dark select:focus,
.dark textarea:focus {
	border-color: var(--color-2) !important;
}
::-webkit-input-placeholder {
	color: var(--color-2) !important;
}
::-moz-placeholder {
	opacity: 1 !important;
	color: var(--color-2) !important;
}
:-ms-input-placeholder {
	color: var(--color-2) !important;
}
:-moz-placeholder {
	color: var(--color-2) !important;
}
.wpcf7-acceptance,
.wpcf7-checkbox,
.wpcf7-radio {
	display: block;
	text-align: left;
}
/* ------------------------------- checkboxes ------------------------------- */
#Wrapper span.wpcf7-list-item {
	margin: 0;
}
#Wrapper span.wpcf7-list-item label {
	font-weight: 400;
}
#Wrapper span.wpcf7-list-item {
	margin: 0 1em 0 0 !important;
}
#Wrapper input[type="checkbox"]:not([id*="borlabs"]) {
	display: none !important;
}
#Wrapper input[type="checkbox"]:not([id*="borlabs"]) + span {
	display: block;
	font-size: var(--p-font-size) !important;
	line-height: var(--p-line-height) !important;
	min-height: var(--p-line-height) !important;
	position: relative;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	transition: all var(--burger-menu-transition) ease-in-out;
	-webkit-transition: all var(--burger-menu-transition) ease-in-out;
	-moz-transition: all var(--burger-menu-transition) ease-in-out;
	-ms-transition: all var(--burger-menu-transition) ease-in-out;
	-o-transition: all var(--burger-menu-transition) ease-in-out;
	padding-left: calc(var(--form-checkbox-width) * 1.5);
}
#Wrapper input[type="checkbox"]:not([id*="borlabs"]) + span:last-child {
	margin-bottom: 0;
}
#Wrapper input[type="checkbox"]:not([id*="borlabs"]) + span:before,
#Wrapper input[type="checkbox"]:not([id*="borlabs"]) + span:after {
	content: '';
	display: inline-block;
	position: absolute;
	margin-top: 0;
	margin-right: 0;
	transition: all var(--burger-menu-transition) ease-in-out;
	-webkit-transition: all var(--burger-menu-transition) ease-in-out;
	-moz-transition: all var(--burger-menu-transition) ease-in-out;
	-ms-transition: all var(--burger-menu-transition) ease-in-out;
	-o-transition: all var(--burger-menu-transition) ease-in-out;
}
#Wrapper input[type="checkbox"]:not([id*="borlabs"]) + span:before {
	border: 1px solid var(--color-text);
	border-radius: .2rem;
	width: var(--form-checkbox-width);
	aspect-ratio: 1 / 1;
	inset: calc(var(--p-line-height) * 0.45) auto auto 0;
	translate: 0 -50%;
}
#Wrapper input[type="checkbox"]:not([id*="borlabs"]) + span:after {
	content: '\e841';
	color: var(--color-white);
	font-family: 'mfn-icons';
	/* 
	Has to be the same font size as the span for calculations to work.
	Size should be changed with scale:;
	*/
	font-size: var(--p-font-size);
	font-style: normal;
	font-weight: 400;
	line-height: 1em;
	inset: calc(var(--p-line-height) * 0.45) auto auto calc(var(--form-checkbox-width) * 0.5);
	translate: -50% -50%;
	scale: 0.6;
	speak: none;
	opacity: 0;
}
#Wrapper input[type="checkbox"]:not([id*="borlabs"]):checked + span {
	color: var(--color-1);
}
#Wrapper input[type="checkbox"]:not([id*="borlabs"]):checked + span::before {
	background-color: var(--color-success);
	border-color: var(--color-success);
	border-width: 2px;
}
#Wrapper input[type="checkbox"]:not([id*="borlabs"]):checked + span:after {
	opacity: 1;
}
/* ---------------------------------- radio --------------------------------- */
#Wrapper .wpcf7-list-item-label {
	cursor: pointer !important;
}
#Wrapper input[type="radio"] {
	position: absolute;
	opacity: 0;
}
#Wrapper .wpcf7-radio span.wpcf7-list-item-label {
	position: relative;
	padding-left: calc(var(--form-checkbox-width) * 1.5);
	font-size: var(--p-font-size) !important;
	line-height: var(--p-line-height) !important;
	min-height: var(--p-line-height) !important;
	display: inline-block;
}
#Wrapper .wpcf7-radio span.wpcf7-list-item-label::before {
	font-size: var(--p-font-size) !important;
	content: '';
	border-radius: 100%;
	border: calc(0.05 * var(--form-checkbox-width)) solid var(--color-1);
	display: inline-block;
	width: var(--form-checkbox-width);
	aspect-ratio: 1 / 1;
	inset: calc(var(--p-line-height) * 0.45) auto auto 0;
	position: absolute;
	translate: 0 -50%;
	cursor: pointer;
	text-align: center;
	transition: all 250ms ease;
}
#Wrapper input[type="radio"]:checked + span.wpcf7-list-item-label::before {
	background-color: var(--color-1);
	box-shadow: inset 0 0 0 calc(0.1 * var(--form-checkbox-width)) #f9f7f5;
}
#Wrapper input[type="radio"]:focus + .wpcf7-list-item-label:before {
	outline: none;
}
#Wrapper input[type="radio"]:disabled + .wpcf7-list-item-label:before {
	box-shadow: inset 0 0 0 calc(0.1 * var(--form-checkbox-width)) #f4f4f4;
	border-color: #b4b4b4;
	background: #b4b4b4;
}
#Wrapper input[type="radio"] + .wpcf7-list-item-label:empty:before {
	margin-right: 0;
}
/* -------------------------------- messages -------------------------------- */
/* error */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	color: var(--color-warning);
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--color-success);
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: var(--color-warning);
}
.wpcf7 form.spam .wpcf7-response-output {
	border-color: var(--color-warning);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: var(--color-info);
}
.wpcf7-form-control-wrap {
	position: relative;
}
.wpcf7-not-valid-tip {
	color: var(--color-warning);
	font-size: 1em;
	font-weight: normal;
	display: block;
	margin-top: .5rem;
}
.wpcf7-list-item-label a {
	text-decoration: underline !important;
}
/* ----------------------------- contact section ---------------------------- */
.wso-section-contact .section_wrapper {
	display: flex;
	justify-content: space-between;
}
.wso-section-contact .section_wrapper .wrap {
	width: 48.07% !important;
}
.wso-section-contact .section_wrapper .wrap:first-child .wso-wrapper {
	display: flex;
	flex-direction: column;
	gap: .96rem !important;
	align-items: flex-start;
}
.wso-section-contact .section_wrapper .wrap:first-child .wso-wrapper .wso-social-wrapper {
	display: flex;
	flex-direction: column;
	margin-top: 3rem !important;
	gap: .48rem !important;
	width: 30%;
}
.wso-section-contact .section_wrapper .wrap:first-child .wso-wrapper .wso-social-wrapper .menu {
	display: flex;
	flex-direction: column;
	gap: .1rem !important;
}
.wso-section-contact .section_wrapper .wrap:first-child .wso-wrapper .wso-social-wrapper .wso-social-main {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}
.wso-section-contact .section_wrapper .wrap:first-child .wso-wrapper .wso-social-wrapper .wso-social-main .wso-social-wrapper {
	flex-direction: row !important;
	margin-top: 0 !important;
}
/* ------------------------------ contact form ------------------------------ */
.wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: .96rem !important;
}
span.wpcf7-form-control-wrap,
.wpcf7-form .column {
	margin: 0 !important;
	height: fit-content !important;
}
.wpcf7-form .wso-privacy-notice {
	margin-top: -.5rem !important;
}
#Wrapper .wpcf7-form input[type="submit"] {
	border-radius: 2rem !important;
	background-color: var(--color-text) !important;
	transition: var(--transition-normal) ease;
}
#Wrapper .wpcf7-form input[type="submit"]:not(:disabled):hover {
	background-color: var(--color-1) !important;
	transition: var(--transition-normal) ease;
}
#Wrapper span.wpcf7-form-control-wrap .wpcf7-textarea {
	height: 9rem !important;
}
@media only screen and (max-width:1499px) {
	.wso-section-contact .section_wrapper .wrap:first-child .wso-wrapper > .wso-social-wrapper {
		width: 50%;
	}
}
@media only screen and (max-width:767px) {
	.wso-section-contact .section_wrapper {
		flex-direction: column;
		justify-content: flex-start;
	}
	.wso-section-contact .section_wrapper .wrap {
		width: 100% !important;
	}
	.wso-section-contact .section_wrapper .wrap:first-child .wso-wrapper > .wso-social-wrapper {
		margin-top: 1rem !important;
		width: 70% !important;
	}
	#Wrapper input[type="checkbox"]:not([id*="borlabs"]) + span {
		font-size: calc(var(--p-font-size)/100*60) !important;
	}
	.wpcf7-not-valid-tip {
		font-size: calc(var(--p-font-size)/100*60) !important;
	}
	#Wrapper input[type="checkbox"]:not([id*="borlabs"]) + span:after {
		inset: calc(var(--p-line-height)* .3) auto auto calc(var(--form-checkbox-width)* 0.3);
	}
	#Wrapper .section_wrapper .wso-social-wrapper a {
		height: 2rem !important;
		width: 2rem !important;
	}
	#Wrapper .section_wrapper .wso-social-wrapper a img {
		height: 100% !important;
		width: auto !important;
	}
	.wso-section-contact .section_wrapper .wrap:first-child .wso-wrapper .wso-social-wrapper .wso-social-wrapper {
		gap: 1.6rem !important;
	}
	input[type="date"],
	input[type="email"],
	input[type="number"],
	input[type="password"],
	input[type="search"],
	input[type="tel"],
	input[type="text"],
	input[type="url"],
	select,
	.select2 .select2-selection,
	textarea,
	.woocommerce .quantity input.qty,
	.dark input[type="email"],
	.dark input[type="password"],
	.dark input[type="tel"],
	.dark input[type="text"],
	.dark select,
	.dark textarea {
		font-size: 1.6rem !important;
		padding: 1.18rem !important;
		color: var(--color-text) !important;
		border-radius: .6rem !important;
	}
}