.banner-image{
	background-image: url('../lib/img/1500x500.jfif');
	height: 12em;
	width: 100%;
	background-position: center;
	background-size: cover;
}

.information{ text-align: center; }
.registration-information{
	text-align: center;
	font-size: 1em;
	margin: 0 auto .5em;
	max-width: 20em;
}

.textbox{
    display: block;
    margin: .25em auto 1em;
}
.section-button{ margin: 1em auto; width: 10em; display: block;}

#reg-sec-1{ display: block; }
#reg-sec-2,#reg-sec-3,#reg-sec-4,#reg-sec-5{ display: none; }

.service-title{
	display: inline-block;
	text-align:center;
	width: calc(50% - 2em);
	margin: 1em 0.75em .5em;
	font-size: 1.5em;
}

.headings a{
	color: #000;
	text-decoration: none;
	cursor: default;
}

.service-container{
	width: calc(50% - 2em);
	height: calc(100% - 7em);
	display: inline-block;
	vertical-align: top;
	margin: 0 0.75em;
	text-align: center;
	position:relative;
}

#service-selector{
	width: 100%;
	text-align: center;
	color: #000;
}

.service-filter input{
	font-size: 1em;
	padding: 0.25em;
}
.service-filter select{
	font-size: 1em;
	padding: 0.3em;
}
.service-filter button{
	padding: 0.25em;
	font-size: 1em;
}

#service-select-filter,#service-select-filter2{
	display: none;
	padding: 1em;
	border: solid 1px #000;
	border-radius: 0.5em;
	padding: 0.5em 0 0.5em 1em;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 1em);
	background: #fff;
	text-align: left;
	z-index: 30;
}

.service-select-filter label,#service-select-filter2 label{
	margin: 0 0.5em 0.5em 0.5em;
}

.service-slot-container{
	height: calc(100% - 6em);
	overflow-y: auto;
	width: 100%;
	margin-top: 0.25em;
	border: solid 1px #000;
	background: #eee;
}

.service-slot{
	position: relative;
	margin: 0.5em;
	padding: 1em;
	border: solid 1px #aaa;
	border-radius: 1em;
	background: #fff;
	text-align: left;
}

.unavailable{
	background: #eee;
	color: #aaa;
}

.content-fit{
	height: calc(100% - 6.5em);
	width: 100%;
	position: relative;
}

.container-fit{
	height: 100%;
}

.slot-title{
	font-size: 1.25em;
	font-weight: bold;
}
.slot-reason{
	font-size: 1.15em;
	font-weight: bold;
	color: red;
	float: right;
	padding-right: 1em;
	text-align: right;
}
.slot-available{
	font-size: 1em;
	float: right;
	padding-right: 1em;
	text-align: right;
}
.slot-date{
	font-size: 1em;
}
.slot-time{
	font-size: 1em;
}
.slot-duration{
	font-size: 1em;
}
.slot-button{
	float: right;
	padding: 0.25em;
	font-size: 1em;
}

#popup-container{
	position:absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 10;
	background: rgba(255,255,255,0.8);
	display: none;
}

.close-button{
	height: 1.5em;
	width: 1.5em;
	border: solid 1px #444;
	color: #fff;
	border-radius: 1em;
	background: red;
	font-size: 1em;
	position: absolute;
	top: 1em;
	right: 1em;
}

#popup-window{
	max-width: 16em;
    margin: 10% auto;
    padding: 2em;
    background: #fff;
    opacity: 1;
    position: relative;
    height: auto;
    border: solid 2px #000;
    border-radius: 1em;
	text-align: left;
}

.view-table{
	border-collapse: collapse;
	border: none;
	font-size: 1em;
	color: #000;
	width: 100%;
}
.view-table tr{
}
#table-title{
	font-size: 1.25em;
	text-align: center;
	padding-left: 0;
	font-weight: bold;
}
.view-table th{
	border: none;
	padding: 0.25em;
}
.view-table td{
	padding-left: 1em;
	color: blue;
	border: none;
	padding: 0.25em;
}
#table-buttons{
	padding-left: 0;
	text-align: center;
}
#table-buttons button{
	font-size: .9em;
	padding: 0.25em;
	margin: 0.25em;
}

#user-appointments{
	margin: 0.25em auto 0;
    display: block;
}
#user-appointments .service-title{
	width: auto;
}

#response-box{
	width: 400px;
	margin: 0 auto;
}

@media screen and (min-width:1100px){
	#availability{ display: inline-block; }
	#appointments{ display: inline-block; }
}
@media screen and (max-width:1100px){
	.content-fit{
		height: calc(100% - 3.5em);
		width: 100%;
	}
	.service-container{
		width: 100%;
		max-width: 600px;
		display: block;
		margin: 0 auto;
	}
	#appointments{
		display: none;
	}
	.title-hide{ 
		color: #000000; 
		text-decoration: none; 
	}
	.title-show{ 
		color: #4784ff;
		text-decoration: underline; 
	}
	.headings a{
		cursor: pointer;
	}
	
}
@media screen and (max-width:600px){
	#popup-window{
		border: none;
		height: 100%;
		width: 100%;
		padding: 25% 0 25% 1em;
		margin: 0 auto;
	}
}