:root {
	--field-background-color: #F1F6F9;
	--field-color: var(--body-color);
	--field-border-radius: 4px;
	--field-placeholder-color: var(--body-color-lighter);
	--field-font-size: 1rem;
	--field-line-height: 1.5;
	--field-padding-x: 1em;
	--field-padding-y: .75em;
	--field-border-color: #F1F6F9;
	--field-border-width: 1px;
	--field-focus-outline-color: var(--primary-color);
}

:root {
	--field-height: calc(var(---field-font-size) * var(--field-line-height)) + calc(calc(var(--field-padding-y) + var(--field-border-width)) * 2);
}

.form-control,
.wpforms-container input[type=date],
.wpforms-container input[type=datetime],
.wpforms-container input[type=datetime-local],
.wpforms-container input[type=email],
.wpforms-container input[type=month],
.wpforms-container input[type=number],
.wpforms-container input[type=password],
.wpforms-container input[type=range],
.wpforms-container input[type=search],
.wpforms-container input[type=tel],
.wpforms-container input[type=text],
.wpforms-container input[type=time],
.wpforms-container input[type=url],
.wpforms-container input[type=week],
.wpforms-container select,
.wpforms-container textarea,
#wpaloginform input:not([type="submit"]) {
	background: var(--field-background-color);
	height: var(--field-height);
	padding: var(--field-padding-y) var(--field-padding-x);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--field-color);
	border: var(--field-border-width) solid var(--field-border-color);
	border-radius: var(--field-border-radius);
}

.form-control:focus,
.wpforms-container input[type=date]:focus,
.wpforms-container input[type=datetime]:focus,
.wpforms-container input[type=datetime-local]:focus,
.wpforms-container input[type=email]:focus,
.wpforms-container input[type=month]:focus,
.wpforms-container input[type=number]:focus,
.wpforms-container input[type=password]:focus,
.wpforms-container input[type=range]:focus,
.wpforms-container input[type=search]:focus,
.wpforms-container input[type=tel]:focus,
.wpforms-container input[type=text]:focus,
.wpforms-container input[type=time]:focus,
.wpforms-container input[type=url]:focus,
.wpforms-container input[type=week]:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus,
#wpaloginform input:not([type="submit"]):focus {
	background: var(--field-background-color);
	outline-color: var(--field-focus-outline-color);
	border-color: var(--field-border-color);
	box-shadow: none;
}

::placeholder {
	color: var(--field-placeholder-color);
	opacity: 1;
}

::-ms-input-placeholder {
	color: var(--field-placeholder-color);
}

.wpforms-field > ul {
	padding: 0;
}

.wpforms-field-description {
	color: var(--body-color-lighter)
}

/* RANGE */

/* ref: https://codepen.io/brandonmcconnell/pen/oJBVQW */
input[type="range"] {
	outline: 0;
	border: 0;
	border-radius: 500px !important;
	width: 400px;
	max-width: 100%;
	margin: 24px 0 16px;
	transition: box-shadow 0.2s ease-in-out;
	padding: 0;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	input[type="range"] {
		overflow: hidden;
		height: 40px !important;
		-webkit-appearance: none;
		background-color: #F1F6F9;
	}
	input[type="range"]::-webkit-slider-runnable-track {
		height: 40px;
		-webkit-appearance: none;
		color: #444;
		transition: box-shadow 0.2s ease-in-out;
	}
	input[type="range"]::-webkit-slider-thumb {
		width: 40px;
		-webkit-appearance: none;
		height: 40px;
		cursor: ew-resize;
		background: #fff;
		box-shadow: -340px 0 0 320px var(--primary-color), inset 0 0 0 16px var(--primary-color);
		border-radius: 50%;
		transition: box-shadow 0.2s ease-in-out;
		position: relative;
	}
	input[type="range"]:active::-webkit-slider-thumb {
		background: #fff;
		box-shadow: -340px 0 0 320px var(--primary-color), inset 0 0 0 3px var(--primary-color);
	}
}
input[type="range"]::-moz-range-progress {
	background-color: var(--primary-color);
}
input[type="range"]::-moz-range-track {
	background-color: #F1F6F9;
}
input[type="range"]::-ms-fill-lower {
	background-color: var(--primary-color);
}
input[type="range"]::-ms-fill-upper {
	background-color: #F1F6F9;
}


/* badge checkbox buttons */

.badge-checkbox {
	display: inline-block;
}

.badge-checkbox input {
	display: none;
}

.badge-checkbox label {
	cursor: pointer;
}

.badge-checkbox label.badge {
	background: none;
	color: var(--primary-color);
	border: 1px solid var(--primary-color);
	padding: 0 .75em;
	line-height: 2.5;
}

.badge-checkbox label.badge:hover {
	border-color: var(--secondary-color);
}

.badge-checkbox label.badge::before {
	content: '';
	display: inline-block;
	width: 1.25em;
	height: 2.5em;
	margin-top: -.2em;
	background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6-.00048828V11.9995M12 5.99951H-9e-8' stroke='%23FFD43E'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: .25em;
	transform-origin: center;
	transition: all .3s;
	vertical-align: middle;
}

.badge-checkbox input:checked + label.badge {
	background: var(--secondary-color);
	color:  #fff;
	border: 1px solid var(--secondary-color);
}

.badge-checkbox input:checked + label.badge::before {
	background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6-.00048828V11.9995M12 5.99951H-9e-8' stroke='%23fff'/%3E%3C/svg%3E");
}

.badge-checkbox input:checked + label.badge::before {
	transform: rotate(45deg);
}

@media (hover:hover) {
	.badge-checkbox label.badge:hover::before {
		background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6-.00048828V11.9995M12 5.99951H-9e-8' stroke='%23fff'/%3E%3C/svg%3E");
	}
	
	.badge-checkbox label.badge:hover::before {
		transform: rotate(90deg);
	}
	.badge-checkbox input:checked + label.badge:hover::before {
		transform: rotate(130deg);
	}
}


/* Select2 */

body .select2-dropdown {
	border: none;
	background: var(--background-lighter-color);
	border-radius: 0;
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}

body .select2-container--default .select2-results>.select2-results__options {
	max-height: 11.2em;
}

body .select2-container--default .select2-search--dropdown .select2-search__field {
	border: none;
	border-bottom: 1px solid var(--secondary-color);
	border-radius: 0;
}

body .select2-container--default .select2-search--dropdown .select2-search__field:focus {
	outline: none;
}

body .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
	background: var(--secondary-color);
}

.select2-results__options {
	color: var(--secondary-color);
}

.select2-results__options>li:not(:last-child) {
	border-bottom: 1px solid var(--light-color)
}

.select2-container--default .select2-selection--single .select2-selection__rendered[title]+.select2-selection__arrow {
	display: none;
}