form {
	margin: 0;
	padding: 0;
}

input,
textarea,
select {
	background: var(--transparent);
	border: 0;
	padding: var(--s0);
	margin: calc(var(--s0) / 2) 0;
	outline: 0;
	font-family: var(--font-default);
	line-height: 1.1;
}

.content-title select,
.content-title input.textbox {
	background: var(--secondary);
	border: var(--border);
	font-family: var(--font-sub);
	font-size: var(--font-xs);
	letter-spacing: 0.15em;
	margin: calc(var(--s0) / 2);
	color: var(--primary);
}

.content-title .select2-container .select2-choice {
	background-color: var(--secondary) !important;
	color: var(--primary) !important;
	border: var(--border) !important;
	font-family: var(--font-sub);
	font-size: var(--font-xs);
	letter-spacing: 0.15em;
	margin: calc(var(--s0) / 2);
}

.content-title > form {
	display: flex;
}

.content-title > form > .button {
	margin: 0 var(--s0);
}

.content-title > form > select {
	margin: 0;
}

input {
	font-size: var(--font-lg);
}

textarea {
	line-height: 1.5;
	font-size: var(--font-text);
}

select {
	font-size: var(--font-lg);
}

select option:checked {
	background: var(--secondary) linear-gradient(90deg, var(--secondary) 0 100%);
	color: var(--primary);
}

input.error, textarea.error, select.error {
	border: 1px solid var(--red);
	color: var(--red);
}

input.valid, textarea.valid, select.valid {
	border: 1px solid var(--green);
}

label.error {
	color: var(--red);
	display: block;
	font-weight: bold;
}

input[type="range"] {
	position: relative;
	overflow: hidden;
	border-radius: 0;
	height: var(--s1);
	background-color: transparent;
	cursor: pointer;
	padding: 0;
	margin: 0;
}

input[type="range"],
input[type="range"]::-moz-range-track,
input[type="range"]::-moz-range-thumb,
input[type="range"]::-moz-range-progress {
	appearance: none;
}

input[type="range"]::-moz-range-track,
input[type="range"]::-moz-range-thumb {
	background: var(--secondary);
}

input[type="range"]::-moz-range-track {
	background: var(--transparent);
	height: var(--s1);
}

input[type="range"]::-moz-range-thumb {
	border: 0;
	width: var(--s1);
	height: var(--s1);
	border-radius: 0;
}

input[type="range"]::-moz-range-progress {
	background: var(--glas-transparent);
	height: var(--s1);
}

input[type="range"],
input[type="range"]::-webkit-slider-runnable-track,
input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	height: var(--s1);
}

input[type="range"]::-webkit-slider-runnable-track,
input[type="range"]::-webkit-slider-thumb {
	position: relative;
}

input[type="range"]::-webkit-slider-thumb {
	background-color: var(--secondary);
	width: var(--s1);
	box-shadow: calc(-100vmax - var(--s1)) 0 0 100vmax var(--glas-transparent);
	border-radius: 0;
}

input[type="range"]::-webkit-slider-runnable-track {
	background: var(--transparent);
}

input[type="checkbox"],
input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
	background: none;
	margin: 0;
}

input[type="checkbox"]::before,
input[type="radio"]::before {
    width: calc(var(--s2) - var(--s0));
    height: calc(var(--s2) - var(--s0));
    content: "\00D7";
    display: inline-block;
    vertical-align: middle;
    position: relative;
    border: var(--border-alt);
    cursor: pointer;
	font-size: var(--font-text);
	line-height: 0.7;
	color: transparent;
	text-align: center;
	transition: all 0.2s linear;
}

input[type="radio"]::before {
	border-radius: 50%;
}

input[type="checkbox"]:checked::before,
input[type="radio"]:checked::before {
	color: var(--secondary);
	border-color: var(--secondary);
}

input[type="checkbox"]:checked::before,
input[type="checkbox"]:hover::before,
input[type="radio"]:checked::before,
input[type="radio"]:hover::before {
	background: var(--corcra-transparent);
}

input[type="checkbox"]:not(:checked):hover::before,
input[type="radio"]:not(:checked):hover::before {
	color: var(--border-color);
}

/* autocomplete */

.select2-container {
	margin: calc(var(--s0) / 2) 0 !important;
}

.select2-container .select2-choice,
.select2-container-multi .select2-choices {
	font-family: var(--font-default);
	font-size: var(--font-lg);
	font-weight: normal;
	text-transform: none;
	letter-spacing: 0;
	background-image: none !important;
	background-color: var(--transparent) !important;
	border-radius: 0 !important;
	border: 0 !important;
	background-size: 100% 100%;
	color: var(--body-color) !important;
}

.select2-dropdown-open .select2-choice,
.select2-container-active .select2-choice,
.select2-dropdown-open .select2-choices,
.select2-container-active .select2-choices {
	box-shadow: none !important;	
}

.select2-container .select2-choice > .select2-chosen,
.select2-container-multi .select2-choices > .select2-chosen {
	min-width: unset !important;
}

.select2-container .select2-choice .select2-arrow,
.select2-container-multi .select2-choices .select2-arrow {
	border-left: 0 !important;
	border-radius: 0 !important;
	background-image: none !important;
	background-color: transparent !important;
}

.select2-drop {
	font-size: var(--font-lg);
	color: var(--body-color);
	border: 0 !important;
	border-radius: 0 !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
}

.select2-results {
	margin: 0 !important;
	padding: var(--s0) !important;
	background: var(--transparent);
}

.select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-ajax-error, .select2-results .select2-selection-limit {
	background: none !important;
}

.select2-highlighted {
	background: var(--glas-transparent) !important;
}

.select2-drop-active {
	border: 0 !important;
}

.select2-search-field::before,
.select2-search-choice::before {
	content: unset !important;
}

.select2-search-choice {
	border-radius: 0 !important;
	border: 0 !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	background: var(--secondary) !important;
	color: var(--primary) !important;
	padding: var(--s0) var(--s1) !important;
	margin: var(--ssmall) var(--s0) !important;
	display: flex;
	line-height: 1 !important;
}

.select2-search-choice-close {
	position: unset !important;
	background: none !important;
	width: var(--s0);
	height: var(--s0);
}

.select2-search-choice-close::before {
	content: "\00D7";
	font-size: var(--font-text);
	line-height: 0.5;
}

.select2-search-field input.select2-active {
	background: none !important;
	border: 0 !important;
}

.select2-search {
	padding: 0 !important;
}

.select2-search input {
	padding: var(--s0) !important;
	background: var(--transparent) !important;
	border: 0 !important;
}

.select2-no-results {
	font-size: var(--font-md);
}

/* emojis */

a.emoji-button {
	width: 25px;
	margin-left: var(--s1);
	background: none;
}