body {
	padding-bottom: 40px;
	background-color: #f8f9fa;
}

html, body {
    height: 100%;
}

.sticky-table {
	border-collapse: separate;
	border-spacing: 0;
}

.sticky-table tr:first-child td {
	border-top-width: 0;
}

.form-sign-in {
	width: 100%;
	max-width: 330px;
	padding: 15px;
}

.form-sign-in .checkbox {
	font-weight: 400;
}

.form-sign-in .form-control {
	position: relative;
	box-sizing: border-box;
	height: auto;
	padding: 10px;
	font-size: 16px;
}

.form-sign-in .form-control:focus {
	z-index: 2;
}

.form-sign-in .form-control {
	position: relative;
	box-sizing: border-box;
	height: auto;
	padding: 10px;
	font-size: 16px;
}

.form-sign-in .top {
	margin-bottom: -1px;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.form-sign-in .bottom {
	margin-bottom: 10px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.form-sign-in .single {
	margin-bottom: 10px;
}

.accordion-item {
    background-color: #e9ecef;
    margin-bottom: 16px;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 16px;
    padding-right: 16px;
}

.accordion-header {
    font-size: 1.5rem;
}

.accordion-header:not(.disabled):hover {
    background-color: #e9ecef;
    cursor: pointer;
}

.accordion-header.disabled {

}

.student-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

.student-tile-wrap {
    width: 100%;
}

.student-tile-wrap.hidden {
    display: none;
}

.student-tile {
    width: 100%;
    height: 72px;
    padding: 0 16px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-width: 2px;
    border-radius: 12px;
}

.student-tile span {
    display: block;
    width: 100%;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    text-align: center;
    line-height: 1.2;
}