.sp1 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	color: #555;
	background-color: #f8f8f8;
	border: 1px solid #ccc;
}

.sp2 {
	font-size: 11px;
	color: #555;
	background-color: #f1f1f1;
	padding: 4px;
}

.grsp-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.grsp-table { width: 100%; min-width: 620px; table-layout: fixed; border-collapse: collapse; }
.grsp-table th, .grsp-table td { padding: 5px 4px; border: 1px solid rgba(128,128,128,.35); text-align: center; vertical-align: middle; overflow-wrap: anywhere; line-height: 1.25; }
.grsp-table th { font-weight: bold; }
.grsp-time { width: 72px; white-space: nowrap; font-weight: bold; }
.grsp-date { display: block; font-size: 10px; font-weight: normal; opacity: .8; }
.grsp-today { box-shadow: inset 0 0 0 2px #1b9bd7; }
.grsp-current-row td { background-color: rgba(27,155,215,.10); }
.grsp-empty { opacity: .8; }
.grsp-free, .grsp-free-cell, .grsp-free-cell a { color: #ff4d5a !important; }
.grsp-preview-note { margin: 12px 0 6px; text-align: center; font-size: 12px; }
@media (max-width: 700px) {
	.grsp-table { min-width: 620px; }
	.grsp-table th, .grsp-table td { padding: 4px 3px; font-size: 11px; }
}
