body {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}
main {
	flex: 1 0 auto;
	margin-top: 10px;
}
body {
	background: #fff;
}
td, th {
	padding: 15px 15px;
}
.input-field input[type=date]:focus + label,
.input-field input[type=text]:focus + label,
.input-field input[type=email]:focus + label,
.input-field input[type=password]:focus + label {
	color: #e91e63;
}
.input-field input[type=date]:focus,
.input-field input[type=text]:focus,
.input-field input[type=email]:focus,
.input-field input[type=password]:focus {
	border-bottom: 2px solid #e91e63;
	box-shadow: none;
}
#loading-container {
	width:100%; 
	height:100%; 
	position:fixed; 
	z-index:999; 
	background-color:#0000007a;
	display:none;
}
#loading-container #loading-box {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 180px;
	max-width:100%;
	margin: -150px 0px 0px -90px;
	background-color: #ececec;
	border-radius:4px;
	border: 1px solid #a5a5a5;
	text-align:center;
	padding:10px
}
#loading-container #loading-box .title {
	font-size:1.25rem;
	font-weight:bold;
}
#loading-container #animation {
	width: 33px;
	height: 33px;
	margin: 10px 0px
}
#loading-container #loading-box .message {
	font-size:.9rem;
	margin-bottom: 5px;
}
main {
	display:none;
}
main#login {
	display:block;
}
main#login form#login input {
	min-width:300px;
}
main#login div#login-card {
	display: inline-block; 
	padding: 2rem 2.5rem 1.5rem 2.5rem; 
	border: 1px solid #EEE;
}
main#login span#invalid-login {
	color: red;
	font-size:1.1rem;
	display:none;
}
main#funeral-list div#funeral-list-card table a {
	font-size:.85rem;
	float: right;
    margin-right: 2rem;
}
main#funeral-list td.funeral-name {
	font-weight:bold;
}
main#funeral-list #open-register-modal label {
	font-size:1rem;
	font-weight:500;
	color: rgba(0,0,0,0.87);
}
main#funeral-list #open-register-modal .modal-footer a {
	margin-right:10px;
	
}
.modal .modal-content .section {
	padding:10px;
}
.modal .modal-content .section-title {
	font-size:1.2rem;
	font-weight:bold;
	margin-bottom: 10px;
	border-bottom: 1px solid lightgrey;
}
main#register {
	background: url(/assets/images/wood-bg.jpg);
    margin-top: 0;
    background-size: cover;
}
main#register h1 {
	font-size:6rem;
	line-height: 100%;
    margin-bottom: 0;
	height: 7vh;
	margin-top: 2vh;
}
main#register h3 {
	height: 5vh;
	margin-top: 1.25vh;
	margin-bottom:1.25vh;
}
main#register h1, main#register h3 {
	color: white;
	font-family: 'Italianno', cursive;
}
main#register .container {
	width:100%;
	height: 78.5vh;
}
main#register .register-book {
	background: white;
	height: 78.5vh;
	width:90%;
	background: url('/assets/images/register-book.png');
    background-size: contain;
    margin: auto;
	padding-top:57.5%; /* (img-height / img-width * container-width) */
	background-repeat: no-repeat
}
main#register .bottom-spacer {
	height: 2vh;
	clear:both; 
	width:100%;
}
main#register .register-book .book-title {
	font-size: 1.8rem;
	font-weight:normal;
	text-align:center;
	font-style:italic;
}
main#register .register-book label {
	float:left;
	color: #000000;
	font-size:1.25rem;
	font-weight:bold;
}
main#register .register-book input {
	background-color: #dedede;
    border-radius: 3px;
    border: none;
    height: 2rem;
    padding: 1px 5px;
    box-sizing: border-box;
}
main#register .register-book input:focus {
	box-shadow: 0px 0px 1px 2px #3f51b5;
	background-color:#d9deff
}
main#register .register-book .left, main#register .register-book .right {
	display:inline-block;
	float:left;
	width:50%;
	margin-top:-57.5%;
}
main#register .register-book .left {
	padding-left:6%;
	padding-right:6%;
	height: 45vw;
}
main#register .register-book .right {
	float:right;
	padding-left: 3%;
	padding-right: 11%;
	height: 47vw;
}
main#register .register-book .right #city-row #city-input, main#register .register-book .right #city-row #state-input, main#register .register-book .right #city-row #zip-input {
	display:inline-block;
	float:left;
}
main#register .register-book .right #city-row #city-input {
	width: 60%;
	padding-right:2%;
}
main#register .register-book .right #city-row #state-input {
	width: 16%;
	padding-right:2%;
}
main#register .register-book .right #city-row #zip-input {
	width: 24%;
}
main#register .register-book .right #register-name.invalid {
	background-color: #e8a7a7;
}
main#register .register-book #registration-list {
	overflow-x: hidden;
	overflow-y: scroll;
	max-height:100%;
	height: 90%;
	background-color: #fefefe5c;
	padding-left: 20px;
}
main#register .register-book #registration-list .registrant {
	display:block;
	width:100%;
	text-align:left;
	padding: 2px 10px;
	font-size:2.1rem;
	font-family: 'Italianno', cursive;
}
.modal-overlay {
	z-index: 1002;
    display: block;
    background-color: #0000005c;
    position: absolute;
    width: 100vw;
    top: 0;
    height: 100vh;
    left: 0;
}
@media (min-width: 1300px) {
	main#register .register-book .left {
		height: 60vh;
	}
	main#register .register-book .right {
		height: 65vh;
	}
}
@media (min-width: 1921px) {
	main#register .register-book #registration-list {
		max-height: 75%;
	}
}
@media (max-width: 1200px) and (min-width: 992px) {
	html {
		font-size:14.5px;
	}
	main#register .register-book {
		font-size:13px;
	}
	main#register .register-book label {
		font-size: 1.15rem;
	}
	main#register .register-book .right {
		padding-left: 4%;
		padding-right: 8%;
	}
	main#register .register-book .left {
		padding-left: 7%;
		padding-right: 5%;
	}
}
@media (max-width: 992px) and (min-width: 600px) {
	html {
		font-size:13px;
	}
	main#register .register-book {
		font-size:12px;
	}
	main#register .register-book label {
		font-size: 1.15rem;
	}
	main#register .register-book .right {
		padding-left: 4%;
		padding-right: 8%;
	}
	main#register .register-book .left {
		padding-left: 6%;
		padding-right: 5%;
	}
}
@media (max-width: 600px) {
	html {
		font-size:12px;
	}
	main#register .register-book {
		font-size:11px;
	}
	main#register .register-book label {
		font-size: 1.15rem;
	}
}

@media (max-width: 1080px) {
	.container {
		line-height: 1.25;
	}
}



