.custom-control-input {
	&:checked~.custom-control-label {
		&::before {
			background-color: var(--bs-primary);
			border-color: var(--bs-primary);
		}
	}
}
.custom-checkbox {
	.custom-control-input {
		&:disabled {
			&:checked~.custom-control-label {
				&::before {
					background-color: var(--bs-primary-bg-subtle);
					color: var(--bs-primary);
				}
			}
		}
	}
}
.custom-radio {
	.custom-control-input {
		&:disabled {
			&:checked~.custom-control-label {
				&::before {
					background-color: var(--bs-primary-bg-subtle);
					color: var(--bs-primary);
				}
			}
		}
	}
}
.custom-select {
	&:focus {
		box-shadow: none;
	}
}
.custom-switch.custom-switch-icon {
	margin-right: 0;
	label {
		.switch-icon-left {
			position: absolute;
			cursor: pointer;
			-webkit-user-select: none;
			-moz-user-select: none;
			-ms-user-select: none;
			user-select: none;
			top: -3px;
			left: 8px;
			right: auto;
			color: var(--bs-white);
			i {
				font-size: 10px;
			}
		}
		.switch-icon-right {
			position: absolute;
			cursor: pointer;
			-webkit-user-select: none;
			-moz-user-select: none;
			-ms-user-select: none;
			user-select: none;
			top: -3px;
			right: 5px;
			left: auto;
			i {
				font-size: 10px;
			}
		}
	}
	padding-left: 0;
	.custom-control-label {
		height: 20px;
		width: 35px;
		padding: 0;
		&::before {
			height: 20px;
			transition: all .3s ease-in-out;
			user-select: none;
			top: 0;
			left: 1px;
			width: 35px;
		}
		&:after {
			position: absolute;
			top: 1px;
			left: 2px;
			user-select: none;
			height: 18px;
			width: 18px;
		}
	}
}
.custom-switch.custom-switch-text {
	label {
		.switch-icon-left {
			position: absolute;
			cursor: pointer;
			-webkit-user-select: none;
			-moz-user-select: none;
			-ms-user-select: none;
			user-select: none;
			top: -3px;
			left: 8px;
			right: auto;
			color: var(--bs-white);
		}
		.switch-icon-right {
			position: absolute;
			cursor: pointer;
			-webkit-user-select: none;
			-moz-user-select: none;
			-ms-user-select: none;
			user-select: none;
			top: -3px;
			right: 5px;
			left: auto;
		}
		&::before {
			color:var(--bs-body-color);
			width: 2.85rem;
			height: 20px;
			padding: 0 4px;
			font-size: 11px;
			line-height: 18px;
			text-align: right;
		}
		&:after {
			position: absolute;
			user-select: none;
			height: 16px;
			width: 16px;
		}
	}
	padding-left: 0;
	.custom-control-label {
		width: 46px;
		&::before {
			height: 20px;
			user-select: none;
			top: 0;
			left: 1px;
			width: 2.75rem;
			width: 100%;
		}
		&:after {
			position: absolute;
			top: 1px;
			left: 2px;
			user-select: none;
			height: 18px;
			width: 18px;
		}
	}
	input {
		&:checked~label {
			&::before {
				color: var(--bs-white);
				text-align: left;
			}
		}
	}
}
.custom-switch-inner {
	display: block;
	text-align: center;
}
.form-label-group {
	position: relative;
	margin-bottom: 1.5rem;
	>label {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		padding: .6rem;
		color: #475F7B;
		font-size: .85rem;
		opacity: 0;
	}
}
.counter-value {
	color: var(--bs-white);
	padding: 1px 6px;
	font-size: .6rem;
	margin-right: 1rem;
}
.vector-map.h-500 {
	width: 100%;
	height: 500px;
}

.custom-control-inline {
    display: inline-flex;
    margin-right: 1rem;
	.custom-switch-inner {
		display: block;
		text-align: center;
	}
}

.custom-control {
	&.custom-switch {
		min-height: auto;
		.custom-control-label {
			&::before {
				border-radius: 50px;
			}
		}
		&.custom-switch-text {
			.custom-control-label {
				height: 20px;
				&::after {
					height: 16px;
					width: 16px;
					top: 2px;
					left: 4px;
					border-radius: 50%;
				}
			}
		}
	}
}

