
/* 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 {
	font-family: 'EmojiSymbols';
	src: url('EmojiSymbols-Regular.woff') format('woff');
}

@font-face {
  font-family: 'emoji';
  src: url('EmojiOneColor.otf')
  format('opentype');
}

* {
	transition: all 0.1s ease-in-out;
}

.emoji {
	font-family: 'emoji';
	font-size: 10em;
	margin:0;	
}

i {
	font-size: 2em;
}

html {
	height: 100%;
}

body {
  background-color: var(--bs-secondary-bg);
  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: var(--bs-body-color);
  font-style:normal;
  text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  height:100%;
}

.main {
	display: flex;
	margin: auto;
	text-align: center;
	flex-wrap: wrap;
}

.box {
    background-color: var(--bs-body-bg);
    padding: 1em;
    filter: drop-shadow(5px 5px 2px #0002);
    margin: 1em;
    flex: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

.flex-x {
	display: flex;
	flex-direction: column;
}

.flex-y {
	display: flex;
	flex-direction: row;
	justify-content: center;
}


/*  TIMETABLE  */
/* The main grid container: 
         - 12 columns: 
           • Column 1: Day labels (150px)
           • Column 2: Mentor (20fr)
           • Column 3: Gap after Mentor (5fr)
           • Column 4: P1 (60fr)
           • Column 5: Break 1 (15fr)
           • Column 6: P2 (60fr)
           • Column 7: Gap between P2 & P3 (5fr)
           • Column 8: P3 (60fr)
           • Column 9: Break 2 (15fr)
           • Column 10: P4 (60fr)
           • Column 11: Lunch (45fr)
           • Column 12: P5 (60fr)
         - 6 rows: 
           • Row 1: Header
           • Rows 2–6: Monday–Friday

		Exam Timetable
		- 12 columns: 
           • Column 1: Day labels (150px)
           • Column 2: Mentor (20fr)
           • Column 3: Gap after Mentor (5fr)
           • Column 4: P1 (60fr)
           • Column 5: Break 1 (15fr)
           • Column 6: P2 (60fr)
           • Column 7: Gap between P2 & P3 (5fr)
           • Column 8: P3 (60fr)
           • Column 9: Lunch (45fr)
           • Column 10: P4 (60fr)
           • Column 11: Break 2 (15fr)
           • Column 12: P5 (60fr)

    */
    .tt-container {
		position: relative;
		display: grid;
		grid-template-columns: 150px 20fr 5fr 60fr 15fr 60fr 5fr 60fr 15fr 60fr 45fr 60fr;
		grid-template-rows: 50px repeat(5, 100px);
		gap: 1px;
		background: #ccc;
		margin: 20px;
	  }
	  .tt-container.exam-tt{
		grid-template-columns: 150px 20fr 5fr 60fr 15fr 60fr 5fr 60fr 45fr 60fr 15fr 60fr;
	  }

	  /* Header cells */
	  .header {
		background: #eee;
		font-weight: bold;
		display: flex;
		align-items: center;
		justify-content: center;
	  }
	  /* Day label cells (the left-most column in rows 2–6) */
	  .day-label {
		background: #f9f9f9;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: bold;
		grid-column: 1;
	  }
	  /* Styling for your dynamic period cells */
	  .tt-period {
		background: #e0e0e0;
		border: 1px solid #bbb;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		font-size: 0.85em;
		padding: 2px;
		/* Let the grid placement do the heavy lifting */
	  }
	  /* Highlight today's period cells */
	  .tt-today {
		background: #fff9c4;
	  }
	  /* --- Grid Placement for Weekdays ---
		   Remember: Row 1 is the header, so Monday is row 2, Tuesday row 3, etc.
	  */
	  .Monday    { grid-row: 2; }
	  .Tuesday   { grid-row: 3; }
	  .Wednesday { grid-row: 4; }
	  .Thursday  { grid-row: 5; }
	  .Friday    { grid-row: 6; }
	  /* --- Grid Placement for Periods ---
		   The time columns are as follows:
		   • Mentor: column 2
		   • P1: column 4
		   • P2: column 6
		   • P3: column 8
		   • P4: column 10
		   • P5: column 12
	  */
	  .mentor    { grid-column: 2; }
	  .period-1  { grid-column: 4; }
	  .period-2  { grid-column: 6; }
	  .period-3  { grid-column: 8; }
	  .period-4  { grid-column: 10; }
	  .period-5  { grid-column: 12; }
	  /* Timeline indicator (the red vertical line) */
	  .timeline-indicator {
		position: absolute;
		top: 0;
		bottom: 0;
		width: 2px;
		background: red;
		pointer-events: none;
		z-index: 10;
	  }
	  .tt-count {
		background: red;
		align-self: flex-end;
		padding: 0.2em;
		cursor: pointer;
	}
	
	.tt-count-1 {
		display:none;
	}

/* END TIMETABLE*/





pre {
    display: block;
    font-size: 87.5%;
    color: var(--bs-body-color);
}

.page-content {
	flex: 1 0 auto;
}



.form-signin {
    max-width: 330px;
    padding: 1rem;
}

#login {
	display: block;
	width: 50vw;
	margin: auto;
	margin-top: 33vh;
	text-align: center;
	top: 33vh;
}

#saving {
	display: flex;
    position: fixed;
    background: rgba(0,0,0,0.5);
    width: 100%;
    height: 100%;
    z-index: 100;
    align-items: center;
	justify-content: center;
	flex-direction: column;
}

#saving .alert {
	position: unset;
}

.spinner {
    height: 160px;
}

.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;
}

.edit-overlay img, .edit-api-permissions img, .delete-icon img{
	width:2em;
}

.edit-overlay img:hover, .edit-api-permissions img:hover, .delete-icon img:hover{
	scale:2;
}

#overlay{
	top: 0;
    width: 100vw;
    height: 100vh;
    background: #000d;
    display: none;
    position: absolute;
    z-index: 999;
}

#overlay .container{
	background:#fff;
	margin:auto;
	padding:2em;
}

@-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;
}

#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;
}

input[type="file"] {
    border: 3px dashed #f00;
    display: table-cell;
    height: 150px;
}

button {
	text-transform: uppercase;
	background: #415398;
	color: white;
	padding: 0.5em;
	border: 0.1em solid #333;
}

button.single {
	width: fit-content;
	margin: 1em auto;
}

ul {
	list-style: none;
}

ul.square {
	list-style: square;
}

ul.disc {
	list-style: disc;
}

.alert button {
	background: rgba(0,0,0,0);
	border: 0;
	padding: 1em;
	color: #000;
	font-weight: 900;
}

#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 {
	z-index: 1;
	position: relative;
}

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-schoolLogo:hover{
	scale: 1.5;
}

.schoolLogo {
	height: 150px;
	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;
}

#navbar {
	color:#fff;;
	text-align: right;
	background: rgb(64,64,64);
	filter: opacity(0.9);
	z-index:999;
	padding:10px 10px;
	display: flex;
	justify-content: space-between;
}

#navbar img {
	vertical-align: middle;
	width: 20px;
	margin-bottom: 2px
}

.main-menu-toggle {
	display: none;
	background:none;
	margin:auto;
	border: none;
}

.dropdown-link {
	color: #fff;
	text-decoration: none;
}

.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: var(--bs-body-bg);
	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: var(--bs-body-color);
	text-align: left;
	list-style: none;
	background-color: var(--bs-body-bg);
	background-clip: padding-box;
	border: 1px solid rgba(0,0,0,.15);
	border-radius: 0.25rem;
}

.menu-list {
	list-style-type: none;
	padding: 0;
	margin: 0;
	display: flex;
}

.menu-list li {
	height: 35px;
	line-height: 35px;
	padding: 0 1em;
}

.menu-list a {
	color: white;
	text-decoration: none;
}

.dropdown-menu .menu-list {
	flex-direction: column;
}

.dropdown-menu a {
	color: #14801c;
	text-decoration: none;
}

.menu-list img {
	width:20px;
}

.navbar-stripe {
	height: 0.4rem;
	line-height: 0.4rem;
}

.bg-go-primary {
	background-color: #1aa322!important;
}

#page {
	padding:0em;
}


.product-device {
	position: absolute;
	right: 10%;
	bottom: -30%;
	width: 300px;
	height: 540px;
	background-color: #333;
	border-radius: 21px;
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
  }
  
  .product-device::before {
	position: absolute;
	top: 10%;
	right: 10px;
	bottom: 10%;
	left: 10px;
	content: "";
	background-color: rgba(255, 255, 255, .1);
	border-radius: 5px;
  }
  
  .product-device-2 {
	top: -25%;
	right: auto;
	bottom: 0;
	left: 5%;
	background-color: #e5e5e5;
  }
  

.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;
	z-index: -1;
	position: inherit;
}


[data-bs-theme=light] .go-above-target {
	background: #ddccff;
	color:#000;
}

[data-bs-theme=light] .go-on-target {
	background: #ccffcc;
	color:#000;
}

[data-bs-theme=light] .go-below-target {
	background: #fff5cc;
	color:#000;
}

[data-bs-theme=light] .go-well-below-target {
	background: #ffcccc;
	color:#000;
}

[data-bs-theme=dark] .go-above-target {
	background: #b4a2d9;
	color:#000;
}

[data-bs-theme=dark] .go-on-target {
	background: #97d697;
	color:#000;
}

[data-bs-theme=dark] .go-below-target {
	background: #cfc38f;
	color:#000;
}

[data-bs-theme=dark] .go-well-below-target {
	background: #cb9393;
	color:#000;
}

.load-icon {
	width: 20px;
}

.green {
	background: green;
	color: white;
}

.orange {
	background: orange;
	color: white;
}

.red {
	background: red;
	color: white;
}

.hidden {
	display:none;
}

.scrollable {
	overflow-y: scroll;
	height: 100vh;
}

.emailloglist{
	text-align: left;
	cursor: pointer;
}

.emaillist-hover {
	background: white;
}

.emaillist-active {
	background: aliceblue;
}


.sid, .sub_id, .comment, .component-data {
	display:none;
}

td.components {
    color: blue;
    text-align: center;
    font-weight: bold;
}

td.components span {
	background:#415398;
	border: 1px solid #415398!important;
	color: #fff;
    font-weight: 900;
	margin:1em;
	padding: 0 1em;
}

td.components span:hover {
	background:#fff;
	color: #415398;
	text-decoration: none;
}

td.result-grade {
	background: #d9f1ff;
	font-weight: 900;
}

td.predicted-grade {
	font-weight:bold;
}

a.btn {
	text-align: center;
    display: block;
	background:#415398;
	border: 1px solid #415398!important;
	color: #fff;
    font-weight: 900;
	margin:1em;
}

a.btn:hover {
	background:#fff;
	color: #415398;
	text-decoration: none;
}

div.table-swap{
	padding:2em;
}

#preview-area{
	display:none;
	position:absolute;

	border: 1px solid #000;
	z-index: 99;
}


#face-hover{
	display:none;
	position: fixed;
	pointer-events: none; /* so it doesn’t block the mouse */
	width: 100px;
	height:100px;
	border: 1px solid #000;
	z-index: 99;
}

#face-hover img {
	width:100%;
}

#modal-background {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000d;
	z-index: 999;
}

#permissions-modal {
	display: block;
	position: fixed;
	top: 50%; left:
	50%; transform:
	translate(-50%, -50%);
	background: white;
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0 0 10px rgba(0,0,0,0.3);
    z-index: 1000;
}

#student-details-hover {
	display:none;
	position: absolute;
	width: 100px;
	height: 100px;
	border: 1px solid #000;
	z-index: 99;
	background: #fff;
}

td.name:hover + #face-hover {
	display:block;
}

i.note{
	font-size: 0.8em;
}


#comment-hover, #subject-hover{
	display:none;
	position:fixed;
	width: 300px;
	padding: 1em;
	border: 1px solid #000;
	z-index: 99;
	background: #fff;
}

#comment-hover .comment-author {
	background: #000;
	color: #fff;
}

#comment-hover .comment-detail {
	background: #fff;
	color: #000;
	padding: 0.5em;
}

#subject-hover .comment-attendance {
	background: #000;
	color: #fff;
}

#subject-hover .comment-grades {
	background: #000;
	color: #fff;
	display: flex;
	justify-content: space-between;
}

#subject-hover .comment-grades .target_grade {
	background: #001172;
	color: #fff;
	flex-grow: 1;
}

#subject-hover .comment-grades .predicted_grade {
	background: #644100;
	color: #fff;
	flex-grow: 1;
}
#subject-hover .comment-grades .current_grade {
	background: #004724;
	color: #fff;
	flex-grow: 1;
}

#component-hover {
	display:none;
	position:fixed;
	width: 600px;
	padding: 1em;
	border: 5px solid #000;
	z-index: 99;
	background: #999;;
}

.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;
}


.off {
	filter:brightness(0.5);
}

.change-access{
	width: 85px;
}

#hoverphoto {
	display:none;
	position:absolute;
}

#hoverstuphoto {
	height: 100px;
}

.table-photo {
	height: 80px;
	overflow: auto;
}

.table-photo:hover {
	scale: 2;
	filter: brightness(1.3);
}

.table-sm{
	margin: auto;
}

.table-sm td, .table-sm th {
    text-align: center;
}

.table-sm th {
	font-weight: bold;
}

.table-heading {
	margin:auto;

}

.table-heading td {
	font-size: 1.5em;
	font-weight: bold;
}

.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%;*/
}

.ui-edit {
    font-size: 0.5em;
	
}


#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;
}


.switch {

  position: relative;

  display: inline-block;

  width: 60px;

  height: 34px;

}


.switch input { 

  opacity: 0;

  width: 0;

  height: 0;

}


.slider {

  position: absolute;

  cursor: pointer;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  background-color: #ccc;

  -webkit-transition: .4s;

  transition: .4s;

}


.slider:before {

  position: absolute;

  content: "";

  height: 26px;

  width: 26px;

  left: 4px;

  bottom: 4px;

  background-color: white;

  -webkit-transition: .4s;

  transition: .4s;

}


input:checked + .slider {

  background-color: #2196F3;

}


input:focus + .slider {

  box-shadow: 0 0 1px #2196F3;

}


input:checked + .slider:before {

  -webkit-transform: translateX(26px);

  -ms-transform: translateX(26px);

  transform: translateX(26px);

}


/* Rounded sliders */

.slider.round {

  border-radius: 34px;

}


.slider.round:before {

  border-radius: 50%;

}

hr.black {
	border-top: 2px solid rgba(0, 0, 0, 1);
}

/* Pivot Tables */

.pivot {
	padding: 1em;
	/*z-index: 99;*/
	position: relative;
	/*display: none;*/
}

.pivot table {
	margin:auto;
}

table.pvtTable tbody tr th, table.pvtTable thead tr th {
    background-color: #404040!important;
}



.pvtFilterBox{
	left: unset!important;
	top: unset!important;
}

.pvtRendererArea {
	position: relative;
	z-index: -1;
}

/* API Call */

#api-response {
	background: hsl(0, 0%, 96.5%);
	padding: 1em;
	margin: 2em;
	font-size: 0.8em;
}


/*RESET PASSWORD */
#requirements {
	display:block;
	background: #f1f1f1;
	color: #000;
	position: relative;
	padding: 20px;
	margin-top: 10px;
  }
  
  #requirements p {
	font-size: 18px;
  }
  
  /* Add a green text color and a checkmark when the requirements are right */
  .valid {
	color: green;
  }
  
  .valid:before {
	position: relative;
	left: -35px;
	content: "\2714";
  }
  
  /* Add a red text color and an "x" icon when the requirements are wrong */
  .invalid {
	color: red;
  }
  
  .invalid:before {
	position: relative;
	left: -35px;
	content: "\2718";
  }


/* ------ */


/* FOOTER */

footer.main {
	color: #fff;
	flex-shrink: 0;
	background: rgb(64,64,64);
	width: 100%;
	justify-content: space-between;
}




/* Mobile */

@media only screen and (max-width: 600px) {

	#navbar {
		display: block;
	}

	.main-menu-toggle {
		display:block;
	}

	.main-menu {
		display:none;
	}

	.main-menu li {
		text-align: center;
	}

	.user-menu {
		justify-content: flex-end;
	}


  }