.required {
	&:after {
		content: ' *';
		color: $red;
	}
}
input.required {
	&:after{
		content: '' !important;
	}
}
.form-group {
  margin-bottom: 0 !important;
	&.required {
		label:first-child:after {
			content: ' *';
			color: $red;
		}
		&:after {
			content: '';
		}
	}
}

a {
	&.btn-primary {
		&:not([href]):not([tabindex]) {
			color: #d0d0d0!important;
		}
	}
}

.btn {
	&.btn-outline-white {
		border-color: #fff;
		color: #fff;
		font-weight: $font-weight-light;

		&:focus, .focus {
			box-shadow: 0 0 0 0.35rem rgba(35, 36, 36, 0.15);
		}
	}

	&.btn-outline-black {
		border-color: $default-state-color;
		border-width: 3px;
		color: $default-state-color;
		text-transform: uppercase;
		/*font-size: 34.5px;
		font-size: 2.15rem;*/
		font-weight: $font-weight-light;

		&:focus, .focus {
			box-shadow: 0 0 0 0.35rem rgba(33, 28, 28, 0.15);
			background-color: $default-state-color;
			color: #fff;
		}
	}

	&.delete-button {
		color: #dc3545;
	}

	&.btn-primary {
		background-color: $primary-color;
		border-color: $primary-color;
		color: #fff;
		text-transform: uppercase;

		&:hover, &:focus, &:active, &.focus {
			background-color: $secondary-color !important;
			border-color: $primary-color !important;
		}

		&:focus, &.focus {
			box-shadow: 0 0 0 0.2rem rgba(26, 39, 50, 0.50);
		}
	}
}

.pay-button[_kpayment] {
	display: inline-block !important;
	font-weight: 400 !important;
	text-align: center !important;
	vertical-align: middle !important;
	user-select: none !important;
	padding: 0.45rem 0.75rem !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	border-radius: 0.25rem !important;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
	text-transform: uppercase !important;
	min-width: 120px !important;
	width: 100% !important;
}

.spinner {
	max-width: 100px;
	margin: auto auto;
}

.input-group-btn-vertical {
	position: relative;
	white-space: nowrap;
	vertical-align: middle;
	display: table-cell;

	> .btn {
		font-size: 11px;
		padding: 1px 5px;
		display: block;
		float: none;
		width: 100%;
		max-width: 100%;
		margin-left: -1px;
		position: relative;
		border-radius: 0;
		border: 1px solid #ccc;
		outline: none;

		&:first-child {
			border-top-right-radius: 4px;
			border-bottom: none;
		}

		&:last-child {
			border-bottom-right-radius: 4px;
			padding-bottom: 0;
		}
	}
}

.form-control, .custom-select {
	&.txt-cart-qty {
		max-width: 80px;
	}
	&.is-invalid, &.is-valid, &.invalid {
		background-image: none !important;
	}
	:disabled {
		background-color: $gray-600 !important;
	}
}

.was-validated {
	.form-control {
		&:invalid, &:valid {
			background-image: none!important;
		}
	}
}

.form-control, .custom-select, .custom-checkbox {
	&.invalid {
      &.validated {
          border-color: $danger !important;
          .custom-control-label:before {
            border-color: $danger !important;
          }
        &:focus {
          box-shadow: 0 0 0 0.2rem rgba(220,53,69,.25);
        }
      }
	}
}

span.feedback, .section-controls-errors .help {
	display: block;
	&.invalid {
		&.validated {
			color: $danger !important;
			word-wrap: break-word;
			margin-top: 2px;
		}
	}
}
span {
	&.small,
	&.text-danger {
		font-size: $font-size-base;
		margin-top: 1rem;
	}
}

.form-group {
	color: $default-state-color;
	font-size: 16px;
	font-size: 1rem;
	font-weight: $font-weight-regular;

	label, label-control {
		font-weight: $font-weight-semibold;
	}

	.control-spinner {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 2rem;
		color: $shuttle-gray-color;
		background-color: rgba(255, 255, 255, 0.07);

		.spinner-border {
			width: 1.5rem;
			height: 1.5rem;
		}
	}
}

@media(max-width: 767px){
	.btn-lg {
		&.border-3{
			border-width: 2px!important;
		}
	}

	.table{
		thead{
			th, td{
				font-size: 14px;
				font-size: 0.9rem;
				line-height: 22px;
				line-height: 1.3rem;
			}
		}
	}
}