body{
	font-family: Roboto;
	height: 100%;
	width: 100%;
	background: linear-gradient(0deg, #e1e1e1 0%, #eaeaea 100%);
}

h1, h5 {
	text-align: center;
}

h4{
	left: -38px;
}

/* Toolbar */
.toolbar{
	position: fixed;
	top: 0;
	left: 0;
	height: 60px;
	display: flex;
	align-items: center;
	background-color: #010621;
	color: white;
	font-weight: 600;
	width: 100%;
}
  
.toolbar #github-logo {
	height: 40px;
	margin: 0 8px;
}

.spacer {
	flex: 1;
}

.header-title:hover {
	text-shadow: 0px 1px 0px #818181, 0px 2px 0.5px #818181, 0px 3px 0.5px #818181, 0px 3px 0.5px #818181;
	transform: translateY(1px);
}

.header-title:active {
	text-shadow: 0px 1px 0px #717171, 0px 2px 0.5px #717171, 0px 2px 0.5px #717171;
	transform: translateY(2px);
}

.header-title {
	font-size: 24pt;
	font-family: Roboto, Helvetica Neue, sans-serif;
	margin-left: 10px;
	font-weight: 500;
	text-shadow: 0px 1px 0.5px #919191, 0px 2px 0.5px #919191, 0px 3px 0.5px #919191, 0px 4px 0.5px #919191;
	transition: transform 0.1s ease, text-shadow 0.1s ease;
	transform: translateY(0px);
	cursor: pointer;
}

.content{
	transition: 0.3s filter;
}

.header-container{
	display: flex;
	justify-content: center;
}

.selected {
	opacity: 1 !important;
	stroke: #555;
	stroke-width: 1px;
}

.header-card{
	background-color: #ffffff;
	border-radius: 15px;
	padding: 5px;
	padding-left: 20px;
	padding-right: 20px;
	margin: 15px;
	box-shadow: 0px 1px 3px #aaaaaa, 0px 2px 3px #aaaaaa, 0px 3px 3px #aaaaaa;
	transition: 0.5s box-shadow;
}

.header-card:hover{
	background-color: #ffffff;
	border-radius: 15px;
	padding: 5px;
	padding-left: 20px;
	padding-right: 20px;
	margin: 15px;
	box-shadow: 0px 1px 3px #aaaaaa, 0px 2px 3px #aaaaaa;
}

.cool-button{
	height: 30px;
	width: 90px;
	background-color: #0b3d91;
	color: #eaeaea;
	border-radius: 5px;
	border: transparent;
	box-shadow: 0px 1px 0.5px #bbbbbb, 0px 2px 0.5px #bbbbbb, 0px 3px 0.5px #bbbbbb;
	transform: translateY(-2px);
	transition: 0.1s transform, 0.1s box-shadow;
}

.cool-button:hover{
	box-shadow: 0px 1px 0.5px #aaaaaa, 0px 2px 0.5px #aaaaaa;
	transform: translateY(-1px);
	cursor: pointer;
}

.cool-button:active{
	box-shadow: 0px 1px 0.5px #999999;
	transform: translateY(0px);
	color: #dadada;
	cursor: pointer;
}

.cool-button:disabled{
	filter: brightness(75%);
	box-shadow: 0px 1px 0.5px #999999;
	transform: translateY(0px);
}

.cool-button:disabled{
	cursor: default;
}
	
.barchart-container {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.large-chart-container {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.yearline-container{
	position: relative;
}

.scatterplot-container{
	position: relative;
}

.card{
	background-color: #ffffff;
	border-radius: 15px;
	padding: 15px;
	margin: 10px;
	box-shadow: 1px 1px 3px #aaaaaa, 2px 2px 3px #aaaaaa;
	transition: 0.5s box-shadow;
}

.card:hover{
	background-color: #ffffff;
	border-radius: 15px;
	padding: 15px;
	margin: 10px;
	box-shadow: 1px 1px 3px #aaaaaa;
}

.chart-title{
	position: relative;
	margin: 0 auto;
	width: 170px;
	text-align: center;
}
  
.chart-title:after{
	content:'';
	position: absolute;
	border-bottom: 2px solid #666;
	top: 95%;
	transition: all 0.3s;
}

.chart-title:after {
	right: 50%;
	left: 50%;
}

.chart-title:hover:after {
	right: 0; left: 0;
}

.help-button {
	position: absolute;
	bottom: 10px;
	right: 15px;
	display: inline-block;
	background-color: transparent;
	border: none;
	cursor: pointer;
	font-size: 24px;
	padding: 0;
	color: #888;
}
  
.help-button:hover {
	color: #999;
}

.help-button:active {
	color: #777;
}

.type-help-button {
	position: absolute;
	bottom: 10px;
	right: 15px;
	display: inline-block;
	background-color: transparent;
	border: none;
	cursor: pointer;
	font-size: 24px;
	padding: 0;
	color: #888;
}
  
.type-help-button:hover {
	color: #999;
}

.type-help-button:active {
	color: #777;
}

.methodbar-container{
	position: relative;
}

.typebar-container{
	position: relative;
}

#barchart-tooltip {
	font-family: Roboto;
	position: absolute;
	display: none;
	background: #fff;
	box-shadow: 3px 3px 3px 0px rgb(92 92 92 / 0.5);
	border: 1px solid #ddd;
	font-size: 14px;
	font-weight: 500;
	padding: 8px;
	min-width: 110px;
	color: #333;
	z-index: 25;
}

#year-tooltip {
	font-family: Roboto;
	position: absolute;
	display: none;
	background: #fff;
	box-shadow: 3px 3px 3px 0px rgb(92 92 92 / 0.5);
	border: 1px solid #ddd;
	font-size: 14px;
	font-weight: 500;
	padding: 8px;
	min-width: 110px;
	color: #333;
	z-index: 25;
}

#scatterplot-tooltip {
	font-family: Roboto;
	position: absolute;
	display: none;
	background: #fff;
	box-shadow: 3px 3px 3px 0px rgb(92 92 92 / 0.5);
	border: 1px solid #ddd;
	font-size: 14px;
	font-weight: 500;
	padding: 8px;
	min-width: 110px;
	color: #333;
	z-index: 25;
}

#system-tooltip {
	font-family: Roboto;
	position: absolute;
	display: none;
	background: #fff;
	box-shadow: 3px 3px 3px 0px rgb(92 92 92 / 0.5);
	border: 1px solid #ddd;
	font-size: 14px;
	font-weight: 500;
	padding: 8px;
	min-width: 130px;
	color: #333;
}

.system-close-button{
	position: absolute; 
	display: flex;
	justify-content: center;
	align-items: center;
	top: 35px; 
	left: 35px; 
	background-color: #E74C3C; 
	box-shadow: 0px 0px 10px #aaa;
	transform: scale(0.75);
	height: 30px; 
	width: 30px; 
	border-radius: 20px;
	border: none;
}

.system-close-button:hover{
	filter: brightness(80%);
	cursor: pointer;
}

.system-close-button:active{
	filter: brightness(80%);
}

/* Legend */
.legend {
	margin: 20px 0;
	list-style: none;
	padding: 0;
	position: absolute;
	top: 5px;
	right: 5px;
}
.legend-btn {
	display: inline-block;
	margin: 0 20px 0 0;
	cursor: pointer;
	transition: all ease-in-out 200ms;
}
.legend-btn:hover.legend-btn.inactive:hover  {
	opacity: 0.7;
}
.legend-btn.inactive {
	opacity: 0.5;
}
.legend-symbol {
	width: 12px;
	height: 12px;
	margin-right: 3px;
	display: inline-block;
}

.legend-symbol {
	width: 12px;
	height: 12px;
	margin-right: 3px;
	display: inline-block;
}

.legend-btn[category="A"] .legend-symbol {
	background: #eaeaea;
}

.legend-btn[category="B"] .legend-symbol {
	background: #424fdb;
}

.legend-btn[category="F"] .legend-symbol {
	background: #e8ed9a;
}

.legend-btn[category="G"] .legend-symbol {
	background: #d8e617;
}

.legend-btn[category="K"] .legend-symbol {
	background: #eda218;
}

.legend-btn[category="M"] .legend-symbol {
	background: #c94134;
}

.legend-btn[category="N/A"] .legend-symbol {
	background: #6ebfc2;
}

.table-container, .table-container:hover{
	display: flex;
	justify-content: center;
	padding-bottom: 100px;
}

.styled-table {
    width: 96%;
    border-collapse: collapse;
    margin: 25px 0;
    font-size: 1em;
    font-family: Roboto, "Helvetica Neue", sans-serif; 
	max-height: 500px;
}

.styled-table thead, .styled-table tbody {
    width: 100%;
}

.styled-table thead tr {
    position: sticky;
    background-color: #0b3d91;
    color: #ffffff;
    text-align: left;
}

.styled-table tbody tr:nth-of-type(even) {
    background-color: #f3f3f3;
}

.styled-table td {
    padding: 12px 15px;
    width: 20%;
}

.styled-table th{
	font-size: 16pt;
	text-align: center;
}

.styled-table tr {
    width: 100%;
    display: table;
}

.styled-table tbody tr {
    border-bottom: 1px solid #dddddd;
    text-align: left;
}

.styled-table tbody tr:last-of-type {
    border-bottom: 2px solid #009879;
}

.styled-table tbody tr.active-row {
    font-weight: bold;
    color: #009879;
}

.styled-table tbody {
    display: block;
    max-height: 500px;
    overflow-y: auto;
	overflow-x: hidden;
}

.styled-table thead th:hover{
    background-color: #0c3e92;
    cursor: pointer;
}

.styled-table tbody tr:hover{
    background-color: #eaeaea;
    cursor: pointer;
}

.system-card{
	background-color: #ffffff;
	border-radius: 15px;
	padding: 15px;
	margin: 15px;
	box-shadow: 0px 1px 3px #aaaaaa, 0px 2px 3px #aaaaaa, 0px 15px 15px 0px rgba(0,0,0,0.1);
	transition: 0.5s box-shadow;
}

#loading {
	font-family: Roboto;
	opacity: 0;
	font-size: 16pt;
	text-align: center;
	color: white;
	transition: opacity 0.1s ease-in-out;
	background-color: #0b3d91; 
	box-shadow: 0px 1px 3px #777;
	position: fixed; 
	width: 120px;
	bottom: 100px; 
	left: calc(50% - 60px); 
	padding: 10px; 
	border-radius: 10px;
}
  
#loading.loading {
	display: block;
	opacity: 1;
}

