@media screen and (max-height: 430px) {
	.grades-grid-container>.dataTable-stretch>.dataTable-wrapper>.dataTable-scroll {
		overflow : visible;
	}

	.gradebook-page-section .web-page-main-content-fill,
	.student-gb-grades-main .web-page {
		overflow : auto;
	}
}

.no-margin {
	margin : 0 !important;
}

.no-padding {
	padding : 0 !important;
}

.no-border {
	border : none !important;
}

.scroll-auto {
	overflow : auto !important;
}

.grades-grid-header-button:hover {
	background    : #fafafa;
	border-radius : 2px;
	box-shadow    : 0 0 0 5px #fafafa;
	color         : #0e336c;
}

.grades-grid-header-button:disabled {
	background    : transparent;
	box-shadow    : none;
	color         : #555;
	cursor        : default;
}

.grades-grid-container {
	display        : flex;
	flex-direction : column;
	margin         : 0;
	min-height     : 0px;
	width          : 100%;
}

.grades-grid-container.totals-grid-container {
	padding : 1rem 0 0 0;
}

.grades-grid-container .dataTable-container {
	display        : flex;
	flex-direction : column;
	flex-grow      : 1;
	height         : 100%;
	margin         : 0;
	min-height     : 0;
}

.grades-grid-container .dataTable-wrapper {
	display        : flex;
	flex-direction : column;
	flex-grow      : 1;
	min-height     : 0;
	height         : 100%;
}

.g-flex-cell {
	display : inline-flex;
	width   : 100%;
}

.filterCell>.student-name-notes-cell-container {
	display : inline-block;
}

.filterCell .assignment-percent,
.filterCell .assignment-letter,
.filterCell .assignment-flags-container,
.filterCell .student-notes-button {
	display : none;
}

.filterCell .filter-hidden {
	display : none !important;
}

.gradebook-grade-type-container {
	align-items : center;
	display     : inline-flex;
	font-size   : 0.9rem;
	margin-left : 10px;
	min-height  : 35px;
}

.gradebook-grade-type {
	margin-left : 0.5rem;
	width       : 170px !important;
}

.grid-top-buttons {
	display   : flex;
	flex-grow : 0 !important;
	margin    : 0 0 -0.25rem 0;
	width     : 100%;
}

.auto-save-top-controls .grid-top-buttons {
	display   : inline-flex;
	flex-grow : 1 !important;
	flex-wrap : wrap;
	margin    : 0;
	width     : unset;
}

.auto-save-top-controls {
	flex-wrap : wrap;
}

.web-page-tabs .grid-top-buttons {
	margin : 0.75rem 0 0;
	width  : 100%;
}

.grid-top-buttons-left,
.grid-top-buttons-right {
	align-items : center;
	display     : flex;
}

.grid-top-buttons-left {
	flex-grow : 1;
	z-index   : 11;
}

.grid-top-buttons-right {
	align-items    : flex-end;
	flex-direction : column;
	margin-left    : 1.5rem !important;
}

.ui.loading.segment.grid-top-buttons-right {
	border     : none;
	box-shadow : none;
	margin     : 0;
	padding    : 0;
}

.ui.loading.segment.grid-top-buttons-right::after {
	height : 2.5rem;
	width  : 2.5rem;
}

.grades-grid-container .dataTable-controls {
	align-items : center;
	display     : flex;
	flex-shrink : 0;
}

.grades-grid-container .dataTable-paginationButtons {
	font-size : 0.9rem;
}

.grades-grid-container .dataTable-pageNumber {
	border        : 1px solid #b9b9b9;
	border-radius : 2px;
	margin        : 0 0 0 0.25rem;
	padding       : 0.2rem;
	width         : 2rem;
}

.grades-grid-container .dataTable-pageNumber:focus {
	border-bottom  : 0.15rem solid #0e336c;
	box-shadow     : 0 0 7px #ccc;
	outline        : none;
	padding-bottom : calc(0.05rem + 1px);
}

.grades-grid-container .dataTable-scroll,
.grades-grid-container .dataTable-table,
.configuration-tab-content .dataTable-scroll,
.configuration-tab-content .dataTable-table {
	border-color : #d9d9d9;
}

.grades-grid-container .dataTable-container .tacky-top {
	z-index : 3 !important;
}

.grades-grid-container .dataTable-container .tacky-left {
	z-index : 4 !important;
}

.grades-grid-container .dataTable-container .tacky-top.tacky-left,
.grades-grid-container .dataTable-container .tacky-bottom.tacky-left {
	z-index : 5 !important;
}

.grades-grid-container .dataTable-filterRow .grade-progress {
	display : none;
}

.grades-grid .shrink {
	width : 50px;
}

.grades-grid .normal-size {
	width : 230px;
}

.student-name-link,
.assignment-name-link,
.view-resource-link,
.view-test-link {
	color  : #4183c4;
	cursor : pointer;
}

.student-name-link:hover,
.assignment-name-link:hover span.record,
.view-resource-link:hover,
.view-test-link:hover {
	text-decoration : underline;
}

.g-dropped-flag,
.g-raised-flag,
.g-late-flag {
	bottom   : 2px;
	color    : rgb(195, 40, 40);
	filter   : contrast(0.5);
	left     : 0px;
	margin   : 0 !important;
	position : relative;
}

.g-raised-flag {
	color : rgb(30, 195, 50);
}

.g-late-flag {
	filter    : contrast(0.7);
	font-size : 0.7rem;
	margin    : 0;
	position  : relative;
	top       : -2px;
}

.g-dropped-flag:hover,
.g-raised-flag:hover,
.g-late-flag:hover {
	filter : contrast(1);
}

.grades-grid-container .dataTable-row.dataTable-viewRecordActive {
	max-height : calc(100vh - 170px);
	top        : 55vh;
}

.gradebook-page-section .web-page-tabs {
	min-height : 0px;
}

.web-page-core {
	flex-shrink : 0;
}

[data-tab="grades"].web-page-tab-content {
	padding : 0 1.5rem;
}

.active[data-tab="grades"].web-page-tab-content {
	display        : flex;
	flex-direction : column;
	min-height     : 0px;
}

.web-page-tabs .margin.dataTable-recordCount {
	margin-left : 0 !important;
}

.grades-grid-container.student-assignments-container {
	margin : 0.57rem 1.5rem 0;
}

.gradebook-grid-title-container {
	align-items  : center;
	display      : inline-flex;
	margin       : 10px 5px;
}

.gradebook-grid-title {
	color         : #0e336c;
	font-size     : 1.2rem;
	font-weight   : bold;
	overflow      : hidden;
	text-overflow : ellipsis;
	white-space   : nowrap;
	width         : 15rem;
}

.gradebook-grid-sub-title {
	align-items : center;
	color       : #1f1f1f;
	display     : inline-flex;
	font-size   : 1rem;
}

.gradebook-grid-sub-title>.grade-progress {
	margin-right : 0.4rem;
}

.gradebook-grid-title-image {
	max-height   : 3rem;
	margin-right : 0.5rem;
	max-width    : 3rem;
}

.gradebook-grid-title-middle {
	display         : inline-flex;
	flex-direction  : column;
	justify-content : center;
}

.gradebook-grid-title-right {
	align-items : center;
	display     : inline-flex;
	margin-left : 0.2rem;
}

.data-field-points_earned {
	text-align : right;
}

.student-note {
	border        : 1px solid #eee;
	border-radius : 5px;
	flex-shrink   : 0;
	margin        : 0.57rem 0 0;
	max-height    : 120px;
	overflow      : auto;
	padding       : 5px;
	width         : 100%;
}

.no-test-available,
.no-assignment-uploading {
	align-items : center;
	color       : #555;
	display     : inline-flex;
	font-style  : italic;
	height      : 34px;
}

.student-points-earned {
	min-width : 50% !important;
}

.student-name-notes-cell-container {
	display : inline-flex;
	width   : 100%;
}

.gradebook-grid-title-nav {
	border        : 1px solid #eee;
	border-radius : 5px;
	color         : #0e438c;
	cursor        : pointer;
	display       : flex;
}

.gradebook-grid-title-nav .caret {
	margin : 0 !important;
}

.grid-title-nav-back:hover,
.grid-title-nav-next:hover {
	background-color : #eee;
	color            : #1e70bf;
}

.grid-title-nav-back:active,
.grid-title-nav-next:active {
	background-color : #fff;
}

.assignment-file-upload-container .nu-file-files {
	flex-wrap : nowrap;
	height    : 35px;
}

.dataTable-viewRecordColumnContent .assignment-file-upload-container .nu-file-files {
	flex-wrap : wrap;
	height    : unset;
}

.dataTable-viewRecordColumnContent .assignment-file-upload-container .nu-file-webcam-target {
	display : none;
}

.comment-cell-display {
	display     : inline-block;
	white-space : normal;
}

.student-gb-grades-weighted-grades-container {
	display    : flex;
	margin-top : 0.4rem;
	width      : 100%;
}

.student-gb-grades-weighted-grades-inner-container {
	background    : #f7f7f7;
	border        : 1px solid #d9d9d9;
	border-radius : 5px;
	display       : inline-block;
	font-size     : 0.9rem;
}

.student-gb-grades-weighted-grades {
	border-collapse : collapse;
}

.student-gb-grades-weighted-grades-cell,
.student-gb-grades-weighted-grades-score-cell {
	height  : 1.3rem;
	padding : 0 0.4rem;
}

.student-gb-grades-weighted-grades-score-cell {
	white-space : nowrap;
}

.student-gb-grades-course-container {
	align-items  : center;
	display      : inline-flex;
	margin-right : 1rem;
	position     : relative;
}

.student-gb-grades-course {
	appearance         : none;
	-webkit-appearance : none;
	-moz-appearance    : none;
	border             : 1px solid #e8e8e8;
	border-bottom      : 1px solid #0e336c;
	border-radius      : 3px;
	color              : #0e336c;
	font-size          : 1.3rem;
	height             : 100%;
	outline            : none;
	padding            : 0.4rem;
	padding-right      : 1.5rem;
}

.student-gb-grades-course:focus {
	background-color    : #fafcff;
	border              : 1px solid #4183c4;
	box-shadow          : 0 0 4px #e9e9e9;
	color               : #1f1f1f;
}

.student-gb-course-drop-icon {
	color          : #0e336c;
	margin         : 0 !important;
	pointer-events : none;
	position       : absolute;
	right          : 0.2rem;
}

.student-gb-grades-course:focus + .student-gb-course-drop-icon {
	color : #1f1f1f;
}

.student-inactive-icon,
.assignment-hidden-icon,
.grade-excluded-message,
.grade-raised-message,
.grade-late-message {
	color           : rgb(195, 40, 40);
	cursor          : help;
	margin          : 0 0.3rem !important;
	text-decoration : none !important;
}

.grade-raised-message {
	color : rgba(30, 195, 50, 0.9);
}

.assignment-hidden-icon {
	float : right;
}

.grade-excluded-message,
.grade-raised-message,
.grade-late-message {
	display        : inline-flex;
	flex-direction : row-reverse;
	flex-grow      : 1;
	flex-shrink    : 0;
	font-size      : 0.8rem;
	font-style     : italic;
	text-align     : right;
}

.google-classroom-icon {
	height : 20px;
	width  : 20px;
}

.fas-tests-iframe {
	height : 85vh;
	width  : 95vw;
}

.fas-tests-grid {
	display :flex;
}

.fas-tests-grid #questionitems {
	height   : 85vh;
	overflow : auto;
	width    : 150px;
}

.fas-tests-grid .fas-tests-iframe {
	width : 85vw;
}

.fas-test-answers-cell {
	display        : inline-flex;
	flex-direction : column;
}

.fas-student-button {
	background    : transparent;
	border-radius : 5px;
	color         : #4183c4;
	cursor        : pointer;
	display       : inline-flex;
	padding       : 0 0.7rem;
	transition    : color 0.3s, transform 0.3s;
}

.fas-student-button:hover {
	background : rgba(240, 240, 240, 0.4);
	color      : #0e438c;
	transform  : translate(0.13rem,0);
}

.fas-student-button:active {
	opacity   : 0.7;
	transform : translate(0,0);
}

.student-mastery-view-container {
	border         : 1px solid #d9d9d9;
	display        : flex;
	flex-direction : column;
	margin         : 0.57rem 0 0;
	min-height     : 0px;
	overflow-y     : scroll;
	width          : 100%;
}

.student-mastery-view-row {
	background-color : #fff;
	display          : inline-flex;
	flex-direction   : column;
}

.student-mastery-view-row-top,
.mastery-view-standard-student-top {
	display : inline-flex;
	padding : 0.35rem 1rem 0.35rem 0.5rem;
}

.mastery-view-standard-student-top {
	width : 100%;
}

.student-mastery-view-header,
.student-mastery-view-row {
	border-bottom : 1px solid #ccc;
}

.student-mastery-view-row:last-of-type {
	border-bottom : none;
}

.student-mastery-view-row-bottom {
	background-color : rgba(150,150,200,0.07);
	box-shadow       : 0 2px 3px 0px inset rgb(200 200 200 / 20%);
	padding          : 0.35rem 0 0.35rem 7rem;
}

.student-mastery-view-secondary-row-bottom {
	background-color : rgba(350,350,500,0.4);
	box-shadow       : 0 2px 3px 0px inset rgb(200 200 200 / 20%);
	padding          : 0.35rem 0 0.35rem 5rem;
}

.mastery-view-assignments-table {
	border-collapse : collapse;
	width           : 100%;
}

.mastery-view-assignments-table .mastery-grade {
	padding-right : 1rem;
	text-align    : right;
}

.mastery-view-assignments-table .mastery-comment {
	padding-left : 1rem;
}

.mastery-view-assignments-table tr>td.mastery-title,
.mastery-view-assignments-table tr>td.mastery-due-date,
.mastery-view-assignments-table tr>td.mastery-grade,
.mastery-view-assignments-table tr>td.mastery-comment {
	border-bottom : 1px solid #ddd;
}

.mastery-view-assignments-table tr:last-child>td.mastery-title,
.mastery-view-assignments-table tr:last-child>td.mastery-due-date,
.mastery-view-assignments-table tr:last-child>td.mastery-grade,
.mastery-view-assignments-table tr:last-child>td.mastery-comment {
	border-bottom : none;
}

.student-mastery-view-secondary-row-bottom>.mastery-view-assignments-table .mastery-grade,
.student-mastery-view-secondary-row-bottom>.mastery-view-assignments-table .mastery-comment,
.student-mastery-view-secondary-row-bottom>.mastery-view-assignments-table .mastery-due-date {
	font-size : inherit;
}

.mastery-grade {
	width : 8rem;
}

.mastery-comment {
	width : 13rem;
}

.mastery-comment>p {
	margin : 0;
}

.mastery-title {
	font-size : 1.05rem;
	padding   : 0 0.7rem 0 0;
}

.student-mastery-view-row-top>.mastery-expand>.mastery-title {
	align-items : center;
	display     : inline-flex;
	height      : 100%;
}

.mastery-description {
	flex-grow : 1;
}

.student-mastery-view-row-top>.mastery-grade,
.mastery-view-standard-student-top>.mastery-grade {
	align-items     : center;
	display         : inline-flex;
	flex-shrink     : 0;
	justify-content : flex-end;
	padding-left    : 0.7rem;
	width           : 8rem;
}

.mastery-grade-wrapper {
	align-items  : center;
	display      : inline-flex;
	padding-left : 0.7rem;
	width        : 8rem;
}

.mastery-grade-middle-filler {
	flex-grow   : 1;
	flex-shrink : 1;
	min-width   : 0px;
}

.student-mastery-view-row-top>.mastery-grade>.grade-progress {
	margin-right : 0.4rem;
}

.student-mastery-view-container>.student-mastery-view-row:nth-child(odd) {
	background-color : #def;
}

.mastery-expand-icon-container {
	align-items   : center;
	display       : inline-flex;
	height        : 100%;
	padding-right : 0.4rem;
}

.mastery-expand {
	background    : none;
	border        : none;
	border-radius : 7px;
	color         : #0e336c;
	display       : inline-flex;
	margin-right  : 0.5rem;
	padding       : 0.2rem 0.5rem;
}

.mastery-expand:disabled {
	color  : #333;
	cursor : default;
}

.mastery-expand:not([disabled]):hover {
	background-color : rgba(150,150,200,0.07);
}

.mastery-expand-icon {
	margin : 0 !important;
}

.mastery-complete-icon {
	margin : 0 0 0 0.35rem !important;
}

.student-mastery-view-header {
	background-color : #F6F6F6;
	padding          : 0 1rem;
}

.student-mastery-view-header {
	display     : inline-flex;
	font-size   : 12px;
	font-weight : bold;
	line-height : 1rem;
	position    : sticky;
	top         : 0;
	z-index     : 9;
}

.student-mastery-view-sort-standard,
.student-mastery-view-sort-grade,
.student-mastery-view-sort-comment {
	align-items : center;
	display     : inline-flex;
	padding     : 0.35rem;
}

.student-mastery-view-sort-standard:after,
.student-mastery-view-sort-grade:after,
.student-mastery-view-sort-comment:after {
	content        : '\25B2\A\25BC';
	display        : inline-block;
	font-size      : 0.5rem;
	line-height    : 0.6rem;
	margin-left    : 3px;
	vertical-align : middle;
	white-space    : pre;
}

.student-mastery-view-sort-standard {
	flex-grow : 1;
}

.student-mastery-view-sort-grade,
.student-mastery-view-sort-comment {
	border-left  : 1px solid #ddd;
	flex-shrink  : 0;
	padding-left : 0.7rem;
	width        : 8rem;
}

.student-mastery-view-sort-comment {
	width : 13rem;
}

.g-expand-all,
.g-collapse-all {
	align-items : center;
	background  : transparent;
	border      : none;
	color       : #555;
	display     : inline-flex;
	margin-left : 0.5rem;
	outline     : none;
}
