

/* XHR Form Loading Button / XHR Links Loading */

.btn.wait {
	pointer-events: none;
	text-decoration: none;
	color: var(--gray);
}

.xhr-form .btn.wait::after,
.btn.wait::after {
	content: '\f110';
	display: inline-block;
	font: var(--fa-font-solid);
	animation: --spinner .8s infinite linear;
	margin-left: .5rem;
}

@keyframes --spinner {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}


/* Form Block */

.form-block {
	background-color: #fff;
	box-shadow: 0 0 42px 0 rgba(0,0,0,0.2);
	margin: 2rem auto;
	display: flex;
	align-items: stretch;
	max-width: 450px;
}

.form-block-wide {
	max-width: 1200px;
}

.form-block-form {
	width: 100%;
	padding: 3rem 1.5rem;
}

@media (min-width: 768px) {
	.form-block-form {
		padding: 4rem 3rem;
	}
}

@media (min-width: 992px) {
	.form-block-form {
		padding: 3rem 2rem;
	}
}

@media (min-width: 1200px) {
	.form-block-form {
		padding: 4rem 3rem;
	}
}

/* Form Block Hero (Content Section on Right) */

.form-block-hero {
	position: relative;
}

.form-block-hero::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.4);
	z-index: 0;
}

.form-block-hero-overlay {
	position: relative;
	color: #fff;
	padding: 4rem 1.5rem;
	z-index: 1;
}

.form-block-hero-overlay *:not(a) {
	color: inherit;
}

@media (min-width: 768px) {
	.form-block-hero-overlay {
		padding: 7rem 3rem;
	}
}

@media (min-width: 992px) {
	.form-block-hero-overlay {
		padding: 7rem 3rem;
	}
}

/* Password Related Elements */

.fa-eye::before {
	content: "\f06e";
}

.visible .fa-eye::before {
	content: "\f070";
}

.form-block .progress {
	height: 5px;
}

/* General Form Elements */

.alert-link {
	font-weight: inherit;
	text-decoration: underline;
}

.form-block .nav-tabs {
	align-items: stretch;
}

.form-block .nav-item {
	flex: 0 0 50%;
}

.form-block .nav-tabs .nav-link {
	margin-right: 0;
}

.form-block .tab-content {
	position: relative;
	background-color: transparent;
	padding: 0;
}

.form-block .nav-tabs .nav-link.active,
.form-block .nav-tabs .nav-item.show .nav-link {
	background-color: var(--primary);
	color: #fff;
}

/* General Forms & Overlay */

.form-block-form {
	position: relative;
}

.overlay.collapse {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
	background-color: #fff;
	color: #323232;
	padding: 4rem 3rem;
	z-index: 2;
}

.overlay.collapse.show {
	display: block;
}

/* Book a Service Form */

.pickup-address {
	height: 0;
	opacity: 0;
	margin-bottom: 0;
	transition: all .2s;
	overflow: hidden;
}

.pickup-address.visible {
	height: auto;
	opacity: 1;
	margin-bottom: 1.5rem;
	animation: --reveal-flash .8s ease-in-out;
}

@keyframes --reveal-flash {
	0% {
		background-color: transparent;
	}
	15% {
		background-color: var(--primary);
	}
	100% {
		background-color: transparent;
	}
}

.service-item {
	background-color: #fff;
}


/* Member Dropdown Menu */

.dropdown-menu {
	border-radius: .2rem;
	padding: 1rem 0;
	width: 100%;
}


/* Service History */

.head .lead {
	color: var(--info);
	font-weight: 500;
	margin-bottom: 0;
}


/* Order History */

.history-item {
	background-color: #fff;
}

.table table {
	font-size: 90%;
}

.total.v {
	text-align: right;
}

.total.v div {
	font-size: 80%;
	color: var(--gray);
}

.col_subtotal {
	text-align: right;
}

