@mixin dark-forms {
	.form-control {
		color: $dark-input-color;
		background-color: $dark-input-bg;
		border-color: $dark-input-border-color;

		&:focus {
			color: $dark-input-focus-color;
			background-color: $dark-input-focus-bg;
			border-color: $dark-input-focus-border-color;
		}

		&::placeholder {
			color: $dark-input-placeholder-color;
		}

		&:disabled, &[readonly] {
			background-color: $dark-input-disabled-bg;
			border-color: $dark-input-disabled-border-color;
		}

		&::file-selector-button {
			color: $dark-form-file-button-color;
		}

		&:hover:not(:disabled):not([readonly])::file-selector-button {
			background-color: $dark-form-file-button-hover-bg;
		}

		&::-webkit-file-upload-button {
			color: $dark-form-file-button-color;
			@include gradient-bg($dark-form-file-button-bg);
		}

		&:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
			background-color: $dark-form-file-button-hover-bg;
		}
	}

	.form-control-plaintext {
		color: $dark-input-plaintext-color;
	}

	.form-label {
		color: $dark-form-label-color;
	}

	.col-form-label {
		color: $form-label-color;
	}

	.form-text {
		color: $dark-form-text-color;
	}

	.form-select {
		color: $dark-form-select-color;
		background-color: $dark-form-select-bg;
		border-color: $dark-form-select-border-color;

		&:focus {
			border-color: $dark-form-select-focus-border-color;
		}

		&:disabled {
			color: $dark-form-select-disabled-color;
			background-color: $dark-form-select-disabled-bg;
			border-color: $dark-form-select-disabled-border-color;
		}

		&:-moz-focusring {
			text-shadow: 0 0 0 $dark-form-select-color;
		}
	}

	.form-check-input {
		background-color: $dark-form-check-input-bg;
		border-color: $dark-form-check-input-border-color;

		&:active {
			filter: $dark-form-check-input-active-filter;
		}

		&:focus {
			border-color: $dark-form-check-input-focus-border-color;
		}

		&:checked {
			background-color: $dark-form-check-input-checked-bg-color;
			border-color: $dark-form-check-input-checked-border-color;
		}

		&[type="checkbox"]:indeterminate {
			background-color: $dark-form-check-input-indeterminate-bg-color;
			border-color: $dark-form-check-input-indeterminate-border-color;
		}
	}

	.form-check-label {
		color: $dark-form-check-label-color;
	}

	.form-range {
		&::-webkit-slider-thumb {
			@include gradient-bg($dark-form-range-thumb-bg);
			border-color: $dark-form-range-thumb-border-color;

			&:active {
				@include gradient-bg($dark-form-range-thumb-active-bg);
			}
		}

		&::-webkit-slider-runnable-track {
			background-color: $dark-form-range-track-bg;
		}

		&::-moz-range-thumb {
			@include gradient-bg($dark-form-range-thumb-bg);
			border-color: $dark-form-range-thumb-border-color;

			&:active {
				@include gradient-bg($dark-form-range-thumb-active-bg);
			}
		}

		&::-moz-range-track {
			background-color: $dark-form-range-track-bg;
		}

		&:disabled {
			&::-webkit-slider-thumb {
				background-color: $dark-form-range-thumb-disabled-bg;
			}

			&::-moz-range-thumb {
				background-color: $dark-form-range-thumb-disabled-bg;
			}
		}
	}
}
