html {
	position: relative;
	min-height: 100%;
}

body {
	padding-top: 5rem;
	margin-bottom: 60px;		/* Margin bottom by footer height */
}

.footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 60px;		/* Set the fixed height of the footer here */
	line-height: 60px;		/* Vertically center the text there */
	background-color: #f5f5f5;
}

/* SEARCH */
/* Index page */
.md-form {
    position: relative;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.md-form.input-group .form-control {
    margin: 0;
    padding: .375rem .75rem;
}

.input-group>.form-control:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.md-form input[type=text] {
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
	outline: 0;
	box-sizing: content-box;
    background-color: transparent;
}

.md-form .form-control {
    height: auto;
}

.amber.lighten-3 {
    background-color: #ffe082;
}

.input-group.md-form.form-sm.form-1 input {
    border: 1px solid #ffca28;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

.input-group-text {
	border: 1px solid #ffca28;
	border-left: none;
}

.input-group input[type=text]:focus {
	box-shadow: none;
}


/* TABBED CONTENT */
/* All */
.tabbed-content .nav-link {
	padding-right: 0.75rem;
	padding-left: 0.75rem;
	color: inherit;
}

.tabbed-content .tab-pane ul {
	list-style-type: none;
	padding-inline-start: 10px;
}

.tabbed-content .tab-pane.active {
	border-left: 1px solid;
	border-right: 1px solid;
	border-bottom: 1px solid;
    border-color: #dee2e6;
}

/* Explore page */
.explore-main .tabbed-content {
	width: 100%;
}

.explore-main .tabbed-content .tab-pane.active {
	border-left: none;
	border-right: none;
	border-bottom: none;
}

/* Group page */
.group-main .tabbed-content {
	padding-bottom: 20px;
}

@media (max-width: 1200px) {
	.group-main .tabbed-content {
		padding-top: 20px;
	}
}


/* MAPS */
#regions-map {
	display: block;
	margin: auto;
}

#regions-map .region {
	fill: grey;
}

#regions-map .region.present {
	fill: yellow;
}

.d3-tip {
	line-height: 1;
	padding: 12px;
	background: rgba(0, 0, 0, 0.8);
	color: white;
	border-radius: 3px;
	pointer-events: none;
}

.d3-tip .tip-title {
	font-weight: bold;
}

.d3-tip p {
	margin-bottom: 0.5rem;
}


/* CHARTS */
#growth-chart {
	max-width: 600px;
	margin: auto;
}


/* TABLES */
/* Explore page */
#groupsTable.table td:first-child:not(.dataTables_empty) {		/* handles e.g. table where everything filtered out */
	text-align: inherit;
	text-transform: uppercase;
}

#groupsTable.table td {
	text-align: center;
}

#groupsTable.table tr:hover td:last-child {		/* blank column added for column header spacing */
	background-color: white;
}

/* Group page */
#schoolsTable.table .center {
	text-align: center;
}

#schoolsTable.table th {
	padding-top: 26px;
}

#schoolsTable.table td.details-control {
    cursor: pointer;
}

#schoolsTable.table tr.shown + tr {
	background-color: grey;
}


/* All */
.table thead th {
	border-bottom: none;
}

.table th.rotate{
	height: 160px;
	min-width: 40px;
	padding: 0px;
}

table.dataTable.table-sm>thead>tr>th {		/* needed to beat a highly specific line in Datatables Bootstrap CSS */
    padding-right: 0px;
}

.table th.rotate div {
	position: relative;
	top: 0px;
	transform: skew(-45deg,0deg);
	left: 80px;
	height: 100%;
	border-left: 1px solid;
	cursor: pointer;
}

.table th.rotate span {
	transform:
		skew(45deg,0deg)
		rotate(-45deg);
	position: absolute;
	bottom: 15px;
	display: inline-block;
	width: 100%;
	text-align: left;
	white-space: nowrap;
}

.table thead tr th.rotate:nth-child(3) span {
	bottom: 20px;		/* done by eye. Thrown out by column width */
}

/* Sort arrows (before = up; after = down) */
.table th:before {
	left: 0.5em;
}

.table th:after {
	left: 0.85em;
}

.table th.rotate:before {		/* 160px here is the the height (and width of the corresponding right-angled triangle) */
	left: calc(160px - 0.35em);
}

.table th.rotate:after {
	left: 160px;
}

/* Borders */
.table th {
	border-top: none;
}

.table td {
	border-top: none;
	border-bottom: none;
}

.table td.left-border {
	border-left: 1px rgb(33,37,41) solid;		/* picked to match existing table styles */
}

/* Special cell styling */
.table td span.pupilNumbersFlagged {
	text-decoration-line: underline;
	text-decoration-style: dotted;
}

/* Table top section */
div.tableTop div.dataTables_filter {
	display: flex;
	justify-content: flex-end;
}

/* Table bottom section*/
div.tableBottom {
	padding-top: 0.5em;
}

div.tableBottom .row {
	margin-left: 0;
	margin-right: 0;
}

div.tableBottom div.dataTables_length {
	display: flex;
	justify-content: flex-start;
}

div.tableBottom div.dataTables_info {
	padding-top: 0;		/* removing default Datatables Bootstrap padding */
	display: flex;
	justify-content: flex-end;
}
