.addon-fields .form-control {
	border-bottom-width: 1px;
}
.addon-fields .form-control:valid,
.addon-fields .form-control.is-valid {
	background-image: none;
	padding: 0.375rem 0.75rem;
}
.was-validated .addon-fields .form-control:valid,
.was-validated .addon-fields .form-control.is-valid {
	background-image: none;
	padding: 0.375rem 0.75rem;
}
.ninejcontact-loader:before  {
  content:"";
	display: block;
  position: relative;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  border: 2px solid rgba(0,0,0,0.8);
  border-top-color: rgba(0,0,0,0.04);;
  -webkit-animation: lspin 0.8s infinite linear;
          animation: lspin 0.8s infinite linear;
  z-index: 0;
}
.ninecontact-order-adv .form-control::-webkit-input-placeholder {
	color: #AAA;
	opacity: 1;
}
.ninecontact-order-adv .form-control::-moz-placeholder {
	color: #AAA;
	opacity: 1;
}
.ninecontact-order-adv .form-control:-ms-input-placeholder {
	color: #AAA;
	opacity: 1;
}
.ninecontact-order-adv .form-control::-ms-input-placeholder {
	color: #AAA;
	opacity: 1;
}
.ninecontact-order-adv .form-control::placeholder {
	color: #AAA;
	opacity: 1;
}
.ninecontact-order-adv label {
	text-transform: none;
}
.books-output .book-item {
	opacity: 0.8;
	cursor: pointer;
	transition: all 0.3s linear;
}
.books-output .selected {
	opacity: 1;
	font-weight: bold;
	text-decoration: underline;
	transform: scale(1.03, 1.03);
}
.books-output .selected img {
	box-shadow: 0 0 0 0.2rem rgba(76, 151, 94, 0.8);
}
.subscriptions-output .ninejcontact-product {
	cursor: pointer;
	transition: all 0.3s linear;
	height: 100%;
}
.subscriptions-output .ninejcontact-product:hover {
	background-color: #f3f3f3;
}
.subscriptions-output .selected {
	box-shadow: 0 0 0 0.2rem rgba(76, 151, 94, 0.8);
	transform: scale(1.03, 1.03);
}
.wait-payment-overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: rgba(255,255,255,0.9);
  z-index: 1100;
  display: none;
}
.wait-payment-content {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 250px;
  padding: 15px;
  -webkit-transform: translateY(-50%) translateX(-50%); /* Chrome, Safari, Opera */
  transform: translateY(-50%) translateX(-50%);
  text-align: center;
  font-weight: bold;
  background: #FFF;
  box-shadow: 0 0 3px rgba(0,0,0,0.2);
}
.wait-payment-content:before  {
  content:"";
  position: absolute;
  bottom: 15px;
  left:50%;
  margin: -15px 0 0 -15px;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  border: 2px solid rgba(0,0,0,0.4);
  border-top-color: rgba(0,0,0,0.05);;
  -webkit-animation: lspin 0.8s infinite linear;
          animation: lspin 0.8s infinite linear;
  z-index: 0;
}
