/* CSS Document */

@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700,300,100);
@import url('https://fonts.googleapis.com/css?family=Quicksand&display=swap');
@import url("jquery.dataTables.css");
@import url("dataTables.searchPane.min.css");
@import url("tables.css");

/*
EmojiSymbols Font (c)blockworks - Kenichi Kaneko
http://emojisymbols.com/
*/
@font-face {g
	font-family: 'EmojiSymbols';
	src: url('EmojiSymbols-Regular.woff') format('woff');
}

@font-face {
  font-family: 'emoji';
  src: url('EmojiOneColor.otf')
  format('opentype');
}

:root {

}


* {
	transition: all 0.1s ease-in-out;
}

.emoji {
	font-family: 'emoji';
	font-size: 10em;
	margin:0;	
}

body {
  background-color: #fff;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  font-size: 1em;
  font-weight: 400;
  text-rendering: optimizeLegibility;
  margin:0;
  color: #000;
  font-style:normal;
  text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.1);
}


#bgvid {
	/*  making the video fullscreen  */
  position: fixed;
  right: 0; 
  bottom: 0;
  min-width: 100%; 
  min-height: 100%;
  width: auto; 
  height: auto;
  z-index: -100;
  filter: opacity(0.3) blur(15px);
}

.form-signin {
    max-width: 330px;
    padding: 1rem;
}

#login {
	display: block;
	width: 50vw;
	margin: auto;
	margin-top: 33vh;
	text-align: center;
	top: 33vh;
}

#saving {
	display: block;
    position: fixed;
    left: 0;
    top: 0;
    background: rgba(0,0,0,0.5);
    width: 100%;
    height: 100%;
    text-align: center;
    z-index: 100;
    margin: auto;
    font-size: 3em;
}

.spinner {
	margin: auto;
    width: 200px;
    height: 160px;
    text-align: center;
    font-size: 40px;
    left: 50%;
    top: 50%;
    position: fixed;
    transform: translate(-50%,-50%);
}

.spinner > div {
	background-color: #fff;
    height: 100%;
    width: 24px;
    display: inline-block;
    -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
    animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.spinner .rect3 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

.spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
  0%, 40%, 100% { -webkit-transform: scaleY(0.4) }  
  20% { -webkit-transform: scaleY(1.0) }
}

@keyframes sk-stretchdelay {
  0%, 40%, 100% { 
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }  20% { 
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
  }
}

@keyframes card-flip {
	0% {
		transform: rotateX(180deg);
	} 100% {
		transform: rotateX(0deg);
	}
}

@keyframes grow-fadein {
	0% {
		transform: scale(0.4) translateY(-50%);
		filter: opacity(0.3);
	} 100% {
		transform: scale(1);
		filter: opacity(1);
	}
}

.centerbox {
	display: block;
	width: 50vw;
	margin: auto;
	margin-top: 33vh;
	text-align: center;
	top: 33vh;
}

.main {
	display: block;
	margin: auto;
	text-align: center;
}

#login *{
	display:block;
	clear:both;
	margin-left: auto;
	margin-right: auto;
	
}

#menu-side {
	height: 100%;
	width: 300px;
	position: fixed;
	bottom:0;
	left: -300px;
	background: rgba(118, 148, 178, 0.9);
	z-index: 300;
	transition: all 0.5s ease-in-out;
}

#menu-side.open {
	left:0;
	transition: all 0.5s ease-in-out;
}

#menu-side.open #menu-button {
	transform: rotate(180deg);
	right:0;
}

#nav ul {
	list-style-type: none;
	margin:0;
	padding-left: 0;
	width:80%;
	float:left;
	left:0;
}

#nav ul a {
	text-decoration: none;
}

#nav ul li {
	padding:1em;
	cursor:pointer;
	color:#000;
	border-bottom: 3px solid rgba(255,255,255,0);
	font-size: 0.9em;
	font-weight: bold;
}

#nav ul li:hover {
	border-bottom: 3px solid rgba(255,255,255,1);
	transition: all 0.3s ease-in-out;
	text-indent: 1em;
	color: #fff;
}

#nav-crest {
	--width-val: 8vh;
	width: var(--width-val);
	height: var(--width-val);
	top: 0;
	left: calc(50% - (var(-width-val) / 2));
	margin: 5% auto 5% auto;
	display:block;
}

#menu-button {
	position:relative;
	right: -25px;
	top: 50%;
	float:right;
	background: rgba(118, 148, 178, 0.9);
	width: 30px;
	padding: 5px;
	border:none;
	color:#fff;
	font-size: 2em;
	font-weight: bold;
	
}

input:focus, select:focus, textarea:focus, button:focus {
	outline:none;
	text-align: center;
}

input {
	border: 0.1em solid #333;
	border-radius: 0.3em;
	padding: 0.2em;
	margin: 0.5em;
	text-align: center;
}

input[type=date] {
	width:auto;
}

button {
	text-transform: uppercase;
	background: #415398;
	color: white;
	padding: 0.5em;
	border: 0.1em solid #333;
}

#login input {
	font-size: 1.5em;
	width:50%;
}

#login button {
	width:50%;
}

button:hover {
	cursor: pointer;
}

button:hover, input:hover {
	transform: scale(1.1);
}

.error {
	color: firebrick;	
}

button.large {
	padding:3em;
	margin:2em;
}

header .topbar {
	height: 3rem;
}

header .topbar-go {
	padding: 10px;
}

header .header-row {
	display:flex;
	flex-direction: row;
	flex-wrap: wrap;
}

header .header-col {
	flex-basis: 0;
	flex-grow: 1;
	max-width: 100%;
}

header .header-col-auto {
	flex: 0 0 auto;
	width: auto;
	max-width: 100%;
}

.topbar-schoolLogo {
	height: 40px;
	filter: invert(55%) sepia(18%) saturate(602%) hue-rotate(170deg) brightness(100%) contrast(88%);
}

.topbar-schoolName {
	font-size: 1.4rem;
}

.topbar-logo {
	margin-top: 0;
	margin-bottom: -30px;
	position: relative;
	left: 5px;
	z-index: 10;
	border: solid 5px #fff!important;
	border-radius: 50%;
	background: #fff;
}

#logout {
	color:#fff;;
	text-align: right;
	background: rgb(64,64,64);
	filter: opacity(0.9);
	z-index:999;
	padding:20px 0px;
}

#logout-name img {
	vertical-align: middle;
    width: 20px;
    margin-bottom: 2px
}

.user-dropdown-link {
	color: #fff;
	text-decoration: none;
}

.user-dropdown-link::after {
	display: inline-block;
	margin-left: 0.255em;
	vertical-align: 0.255em;
	content: "";
	border-top: 0.3em solid;
	border-right: 0.3em solid transparent;
	border-bottom: 0;
	border-left: 0.3em solid transparent;
}

.user-dropdown-link:hover {
	color: #d9d9d9;
}

#user-dropdown {
	position: absolute;
	display:none;
	background: #fff;
	padding: 10px;
	right: 0;
	left: auto;
}

.dropdown-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	display: none;
	float: left;
	min-width: 10rem;
	padding: 0.5rem 0;
	margin: 0.125rem 0 0;
	font-size: .9rem;
	color: #212529;
	text-align: left;
	list-style: none;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid rgba(0,0,0,.15);
	border-radius: 0.25rem;
}

.dropdown-menu a {
	color: #14801c;
	text-decoration: none;
}

.navbar-stripe {
	height: 0.4rem;
	line-height: 0.4rem;
}

.bg-go-primary {
	background-color: #1aa322!important;
}



.alert-danger {
    background-color: #f2dede;
    border-color: #ebcccc;
    color: #a94442;
}
.alert {
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem;
}

.nocolor {
	
}

.green {
	background: green;
	color: white;
}

.orange {
	background: orange;
	color: white;
}

.red {
	background: red;
	color: white;
}

.hidden {
	display:none;
}

.aea, .aea-button {
	background: rgb(167, 209, 217);
	color: black;
}

.notreq, .notreq-button {
	background: grey;
	color: white;
}

.authabs, .authabs-button {
	background: rgb(255, 255, 204);
	color: black;
}

.nomark, .nomark-button {
	background: grey;
	color: white;
}

.present, .present-button {
	background: rgb(200, 247, 197);
	color: black;
}

.unauthabs, .unauthabs-button {
	background: rgb(241, 169, 160);
	color: black;
}

.group-button {
	width: auto;
	filter:brightness(0.7) saturate(2) contrast(2.2);
}

.off {
	filter:brightness(0.5);
}

#hoverphoto {
	display:none;
	position:absolute;
}

#hoverstuphoto {
	height: 100px;
}

th {
	filter:brightness(0.7) saturate(2) contrast(2.2);
}

.nofilter {
	filter:none;
}

#back-button {
	float:left;
}

#percent-bars {
	width:75vw;
	margin:auto;
}

#percent-bars th {
	width: auto;
}

#percent-bars td {
	text-align: center;
	width: 75%;
	filter:brightness(1);
}

.marks-breakdown {
	display:none;
}

#showhide-breakdown {
	cursor: pointer;
	background: #415398;
	text-transform: uppercase;
	padding: 0.5em;
	border: 0.1em solid #333;
}

.greyedout {
	background: grey;
}

#term-percentages-table {
	display:none;
}

.chart-container {
	position:relative;
	width:100%;
	height:100%;
}

#overview-grid-container {
	display: grid;
	grid-template-columns: auto repeat(7, 1fr);
	width: 75vw;
	margin: auto;
	grid-gap: 10px;
}

#overview-grid-container > * {
	margin: 0;
	filter: drop-shadow(5px 5px 1px rgba(0,0,0,0.4));
	animation: 1s ease-out 0s grow-fadein;
}

#overview-grid-container > *:hover {
	filter: drop-shadow(15px 15px 5px rgba(0,0,0,0.2));
	transform:scale(1.1);
	z-index: 200;
}

#overview-grid-container > section:hover {
	filter: drop-shadow(15px 15px 5px rgba(0,0,0,0.2));
	transform:scale(1);
	z-index: 200;
}

#overview-grid-container img {
	grid-row: 1/span 2;
	height: 100%;
}

#overview-grid-container h1 {
	background: black;
	color: white;
	padding: 1vh 0;
}

#overview-grid-container p {
	background: white;
	padding: 1vh 0;
}

#overview-grid-container section {
	background: white;
}

#overview-grid-container section.linechart {
	grid-column: 1/6;
	grid-row: span 1;
}

#overview-grid-container section.piechart {
	grid-column:  6/span 3;
}

#overview-grid-container section.barchart {
	grid-column:  1/span 8;
}

#options #weeks, #options #num {
	width:2em;
}

#ewo-flag {
	width:100%;
	height:2em;
}

.progress-down {
	font-weight: bold;
	color: red;
}

.progress-up {
	font-weight: bold;
	color: green;
}

.progress-nochange {
	font-weight: bold;
	color: black;
}
