.table-cal {
	position: relative;
	text-align: left;
	margin-bottom: 40px;
	overflow: hidden;
}
.table-cal thead, .table-cal tbody, .table-cal th, .table-cal tr, .table-cal td {
	border: none;
	background-color: transparent;
}
.table-cal thead th {
	text-align: center;
	position: relative;
	white-space: nowrap;
	vertical-align: center;
	padding: 0;
	width: 25%;
}
.table-cal thead th.active {
	width: 75%;
}
.table-cal .filter-btn,
.table-cal .filter-btn-dropdown,
.table-cal .filter-dropdown button {
	width: 100%;
	height: 100%;
	display: block;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	padding: 15px 20px 15px 20px;
	cursor: pointer;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-size: 13px;
}
.table-cal .filter-btn:active,
.table-cal .filter-btn:focus,
.table-cal .filter-btn:hover {
	box-shadow: none;
}
.table-cal .filter-btn .icon {
	display: none;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}
.table-cal .filter-btn[aria-selected="true"]::after,
.table-cal .filter-btn:active::after,
.table-cal .filter-btn:focus::after,
.table-cal .filter-btn:hover::after {
	content: '';
	width: 0;
	height: 0;
	border-width: 15px 10px 0 10px;
	border-style: solid;
	position: absolute;
	bottom: -14px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}
.table-cal .filter-btn[aria-selected="true"] {
	text-align: left;
}
.table-cal .filter-btn[aria-selected="true"] .icon {
	display: inline;
}
.table-cal .filter-btn.btn-primary::after {
	border-color: #005596 transparent transparent transparent;
}
.table-cal .filter-btn.btn-secondary::after {
	border-color: #faa634 transparent transparent transparent;
}
.table-cal .filter-btn.btn-navy::after {
	border-color: #002641 transparent transparent transparent;
}
.table-cal .filter-btn-dropdown {
	text-align: left;
	padding-left: 20px;
	background-color: #ffffff;
	border-right: 1.5px solid #ffffff;
	border-bottom: 1px solid #cccccc;
}
.table-cal .filter-btn-dropdown:focus,
.table-cal .filter-btn-dropdown:hover {
	background-color: #ededed;
	border-right: 1.5px solid #cccccc;
}
.table-cal .filter-btn-dropdown:active,
.table-cal .filter-btn-dropdown.hover {
	background-color: #cccccc;
	border-right: 1.5px solid #ededed;
}
.table-cal .filter-btn-dropdown .icon {
	margin-right: 15px;
}
.table-cal .filter-btn-dropdown:active .icon::before,
.table-cal .filter-btn-dropdown.hover .icon::before {
	content: '\f00d';
}
.table-cal .filter-dropdown {
	padding: 10px 0px 10px 0px;
	width: auto;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}
.table-cal .filter-dropdown button {
	position: relative;
	text-align: left;
	padding: 10px 50px 10px 45px;
}
.table-cal .filter-dropdown button .category {
	cursor: inherit;
}
.table-cal .filter-dropdown button .icon {
	font-size: 20px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 15px;
}
.table-cal .filter-dropdown button:hover .icon::before {
	content: '\f138';
}
.table-cal .filter-dropdown button[aria-selected="true"] .icon::before,
.table-cal .filter-dropdown button[aria-checked="true"] .icon::before {
	content: '\f058';
	color: #309608;
}
.table-cal .filter-dropdown button[aria-selected="true"]:hover .icon::before,
.table-cal .filter-dropdown button[aria-checked="true"]:hover .icon::before {
	content: '\f057';
	color: #d51525;
}	
.table-cal tbody {
	overflow: hidden;
}						
.table-cal tbody tr:nth-child(2n) {
	background-color: #ededed;
}
.table-cal tbody td {
	padding: 10px 5px;
	cursor: default;
	text-align: center;
}
.table-cal tbody tr th:first-child {
	position: relative;
	text-align: left;
	padding: 20px 5px 20px 45px;
	cursor: default;
	display: flex;
	line-height: 16px;
	align-items: center;
}
.table-cal tbody .columns {
	height: 0px;
}
.table-cal tbody .columns td {
	position: relative;
	padding: 5px;
}
.table-cal .rule {
	content: '';
	position: absolute;
	height: 300vh;
	width: 1px;
	background-color: #cccccc;
	top: 0px;
	right: 0px;
}
.table-cal .date {
	width: 100%;
	display: block;
	text-align: center;
	padding: 10px;
	border: 1px solid #727272;
	border-radius: 15px;
	background-color: #ffffff;
	z-index: 1;
	position: relative;
	cursor: default;
}
.table-cal .has-tip {
	border: none;
	line-height: 0px;
	margin-left: auto;
}
.table-cal .has-tip .info {
	font-size: 20px;
	margin-left: 10px;
	cursor: help;
	border-radius: 15px;
}
.table-cal .has-tip .info:focus,
.table-cal .has-tip .info:hover {
	background-color: #ededed;
}
.table-cal .category {
	width: 20px;
	height: 20px;
	border-radius: 15px;
	border: 1px solid #727272;
	background-color: #ffffff;
	display: block;
	top: 50%;
	left: 15px;
	position: absolute;
	transform: translateY(-50%);
	cursor: help;				
}
.table-cal .category.spl {
	background-color: #e9e800;
}
.table-cal .category.brk {
	background-color: #008e88;
}
.table-cal .category.acd {
	background-color: #c70054;
}
.table-cal tr.alert td {
	position: relative;
	padding: 70px 20px;
	text-align: center;
	background-color: #ffffff;
	z-index: 2;
}
.table-cal .spacer {
	height: 10px;
	user-select: none;
}
.hide-for-xlarge {
	display: none;
}
.list-highlight li {
	margin: 0px 0px 20px 0px;
	list-style: none;
	position: relative;
	background: transparent;
}
.list-highlight li strong {
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-size: 13px;
	color: #002641;
}
.list-highlight li::before {
	content: '';
	width: 5px;
	height: 100%;
	background-color: #005596;
	position: absolute;
	left: -17px;
	top: 0px;
}
.list-highlight #session-0::before {
	background-color: #faa634;
}
.list-highlight #session-1::before {
	background-color: #005596;
}
.list-highlight #session-2::before {
	background-color: #002641;
}
@media screen and (max-width: 1440px) {
    .table-cal {
    	width: 100%;
    	display: flex;
    	flex-direction: column;
    	overflow: visible;
    }
    .table-cal thead {
    	display: block;
    	width: 100%;
    }
    .table-cal thead tr {
    	display: block;
    }
    .table-cal th.session {
    	display: none !important;
    }
    .table-cal .rule, .show-for-xlarge-only {
    	display: none;
    }
    .table-cal th.filters {
    	width: 100%;
    	display: block;
    }
    .table-cal .filter-btn-dropdown {
    	background-color: #ffffff;
    	border-bottom: 1px solid #cccccc;
    }
    .table-cal .filter-btn-dropdown:focus,
    .table-cal .filter-btn-dropdown:hover {
    	background-color: #ededed;
    	border-right: none;
    }
    .table-cal .filter-dropdown {
    	width: 100%;
    }
    .table-cal .filter-dropdown button {
    	padding: 15px 50px 15px 20px;
    }
    .table-cal tbody {
    	display: flex;
    	width: 100%;
    	flex-direction: column;
    }
    .table-cal tbody.hide-cal {
    	display: none;
    }
    .table-cal tbody tr {
    	display: flex;
    	flex-direction: row;
    }
    .table-cal tbody th,
    .table-cal tbody td {
    	width: 50%;
    }
    .table-cal tr.alert {
    	display: flex;
    	width: 100%;
    	justify-content: center;
    }
    .table-cal tr.alert td {
    	width: 100%;
    }
    .hide-for-xlarge {
    	display: inherit;
    }
}
@media screen and (max-width: 440px) {
    .table-cal tbody tr {
    	flex-direction: column;
    	align-items: center;
    }
    .table-cal tbody th,
    .table-cal tbody td {
    	width: 100%;
    }
    .table-cal tbody tr th .category {
    	display: none;
    }
    .table-cal tbody tr th:first-child {
    	text-align: center;
    	padding: 20px 20px 0px 20px;
    }
}