:root{
	--color1: #38B673;
	--color2: #38B59D;
	--color3: #38A4B5;
	--color4: #59B538;
}

.primary_bg{background-color: var(--color1);}
.secondary_bg{background-color: var(--color2);}
.tertiary_bg{background-color: var(--color3);}
.fourth_bg{background-color: var(--color4);}

.primary_text{color: var(--color1) !important;}
.secondary_text{color: var(--color2) !important;}
.tertiary_text{color: var(--color3) !important;}
.fourth_text{color: var(--color4) !important;}

.primary_stroke{stroke: var(--color1) !important;}
.secondary_stroke{stroke: var(--color2) !important;}
.tertiary_stroke{stroke: var(--color3) !important;}
.fourth_stroke{stroke: var(--color4) !important;}

.navtop {
  	background-color: #434743;
  	border: 0;
}
.navtop, .navtop div ul li a{
	color:#fff;
}	
nav #logo{
	width: 3em; height: 3em;
}
div.view{
	padding-top: 1em;
}

.content {
  	width: 1000px;
  	margin: 0 auto;
}
.content h2 {
  	margin: 0;
  	padding: 25px 0;
  	font-size: 22px;
  	border-bottom: 1px solid #ebebeb;
  	color: #666666;
}

.read table, .view table, .home table {
	width: 100%;
  	padding-top: 30px;
  	border-collapse: collapse;
}
.read table thead, .view table thead, .home table thead{
  	background-color: #ebeef1;
  	border-bottom: 1px solid #d3dae0;
}
.read table thead td, .view table thead td, .home table thead td{
  	padding: 10px;
  	font-weight: bold;
  	color: #767779;
  	font-size: 1.2em;
}
.read table tbody tr, .view table tbody tr, .home table tbody tr {
  	border-bottom: 1px solid #d3dae0;
}
.read table tbody tr:nth-child(even), .view table tbody tr:nth-child(even), .home table tbody tr:nth-child(even) .view-table .row:nth-child(even), .review-table .row:nth-child(even) {
  	background-color: #f6f6f6;
}

.read table tbody tr td, .view table tbody tr td, .home table tbody tr td{
  	padding: 10px;
}

.read table tbody tr td.actions, .actions{
  	padding: 8px;
	text-align: right;
}
.read table tbody tr td.actions .edit, .read table tbody tr td.actions .trash, .read table tbody tr td.actions .view, .actions .edit, .actions .trash, .actions .view, .actions .review{
  	display: inline-block;
  	text-align: center;
	width: 2.2em;
	height: 2.2em;
  	text-decoration: none;
  	color: #FFFFFF;
  	padding: 8px;
}
.read table tbody tr td.actions .trash, .actions .trash {
  	background-color: #b73737;
}
.read table tbody tr td.actions .trash:hover, .actions .trash:hover {
  	background-color: #a33131;
}
.read table tbody tr td.actions .edit, .actions .edit {
  	background-color: #37afb7;
}
.read table tbody tr td.actions .edit:hover, .actions .edit:hover {
  	background-color: #319ca3;
}
.read table tbody tr td.actions .view, .actions .view {
  	background-color: #38b673;
}
.read table tbody tr td.actions .view:hover, .actions .view:hover {
  	background-color: #32a367;
}
.read table tbody tr td.actions .review, .actions .review {
  	background-color: #38B59D;
}
.read table tbody tr td.actions .review:hover, .actions .review:hover {
  	background-color: #30AD95;
}
.update form {
  	padding: 15px 0;
  	display: flex;
  	flex-flow: wrap;
}
.update form label {
  	display: inline-flex;
  	width: 400px;
  	padding: 10px 0;
  	margin-right: 25px;
}
.update form input {
  	padding: 10px;
  	width: 400px;
  	margin-right: 25px;
  	margin-bottom: 15px;
  	border: 1px solid #cccccc;
}
.update form input[type="submit"] {
  	display: inline-block;
  	background-color: #38b673;
  	border: 0;
  	font-weight: bold;
  	font-size: 14px;
  	color: #FFFFFF;
  	cursor: pointer;
  	width: 200px;
	margin-top: 15px;
}
.update form input[type="submit"]:hover {
  	background-color: #32a367;
}
.delete .yesno {
  	display: flex;
}
.delete .yesno a {
  	display: inline-block;
  	text-decoration: none;
  	background-color: #38b673;
  	font-weight: bold;
  	color: #FFFFFF;
  	padding: 10px 15px;
  	margin: 15px 10px 15px 0;
}
.delete .yesno a:hover {
  	background-color: #32a367;
}

.level_status{
	display: inline-flex;
  	text-align: right;
  	text-decoration: none;
  	color: #FFFFFF;
  	padding: 10px 12px;
	background-color:lightgrey;
}
.level_completed{
	background-color:var(--color2);
}
.tries{
	text-align:center;
}
.tries_switch{
	border:none;
	background-color:grey;
	color:#fff;
}
.hidden{
	display:none;
}

.test_results{
	/*display:inline-flex;*/
}
.test_results div{
	background-color:grey;
}
.grade_1{
	background-color:#32a852 !important;
}
.grade_2{
	background-color:#96d13d !important;
}
.grade_3{
	background-color:#cfcf19 !important;
}
.grade_4{
	background-color:#f5a91d !important;
}
.grade_5{
	background-color:#f51d1d !important;
}

/*bs-progress-bar*/
.progress-stacked{margin:2rem 0;}
.progress, .progress-stacked{height:2rem;}


/*Circular Progress Chart*/
 .progress-container {
	position: relative;
	width: 200px;
	height: 200px;
	padding: 1em;
	display:inline-flex;
}
.circle-chart__background{
	stroke:#efefef;
	stroke-width:10;
	fill:none;
}
.circle-chart__circle {
	stroke:#38B673; /* progress bar color */
	stroke-width:10;
	stroke-linecap:round;
	fill:none;
	animation: circle-chart-fill 2s reverse;
	transform: rotate(-90deg);
	transform-origin: center;
}

@keyframes circle-chart-fill {
	to { stroke-dasharray: 0 283; }
}

.progress-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: Arial, sans-serif;
	font-size: 1.5em;
	font-weight: bold;
	text-align:center;
	color: #38B673; /* Progress bar color */
}

.progress-bar-container {
	border-radius: 10px;
	background-color: #e0e0e0; /* Background color of the progress bar */
	overflow: hidden;
}

.animatable-progress-bar {
	height:100%;
	border-radius: 8px;
	animation: progress-animation 2s ease-out forwards;
	text-align:center;
	color:#fff;
	padding:2px;
}

@keyframes progress-animation {
	from{
		width:0;
	}
	to {
		width: var(--progress);
	}
}

.status-0{background-color:lightgrey; color:#333;}
.status-1{background-color:#FF964F !important; color:#fff !important;}
.status-2{background-color:#FDFD96 !important; color:#333 !important;}
.status-3{background-color:#77DD77 !important; color:#fff !important;}

.exercise_grid{
	display: inline-flex;
  	text-align: right;
  	text-decoration: none;
  	color: #333;
  	padding: 10px 12px;
	background-color:lightgrey;
}


div.actions{
	display:inline-flex;
}
div.actions button{
	display: inline-block;
	padding: 8px;
	background-color: grey;
	color: white;
	text-decoration: none;
	border: none;
}

.login {
  	background-color: #ffffff;
  	box-shadow: 0 0 9px 0 rgba(0, 0, 0, 0.3);
}
.login h1 {
  	text-align: center;
  	color: #5b6574;
  	font-size: 3em;
  	padding: 20px 0 20px 0;
  	border-bottom: 1px solid #dee0e4;
}
.login form label {
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	background-color: #1c9a67;
  	color: #ffffff;
}
.login form input[type="password"], .login form input[type="text"] {
  	height: 2.5em;
	font-size: 2em;
  	border: 1px solid #dee0e4;
  	padding: 0 15px;
}
.login form input[type="submit"] {
  	width: 100%;
  	padding: 15px;
 	margin-top: 20px;
  	background-color: #1c9a67;
  	border: 0;
  	cursor: pointer;
  	font-weight: bold;
  	color: #ffffff;
  	transition: background-color 0.2s;
	font-size: 2em;
}
.login form input[type="submit"]:hover {
	background-color: #105c3d;
  	transition: background-color 0.2s;
}
.login_form{
	background-color:#fff;
}
.login_content, #login_body{
	background-color: #434743;
}
#logo_login{
	width: 10em; height:10em;
}
#logo_container{
	background-color:#fff;
	text-align:center;
	padding: 20px 20px 20px 20px;
}
.review_results{
	text-align:center;
}
.edit_on{
	background-color:red !important;
	color:#fff !important;
}
.edit_off{
	background-color:grey !important;
	color:#fff !important;
}
button {
	background-color:grey;
	color:#fff;
	border:none;
}

button.current{
	background-color: var(--color1);
	color:#fff;
}

button.save{
	background-color: var(--color1);
	color:#fff;
}

button.delete{
	background-color: red;
	color:#fff;
}

span.divider{
	font-size: 1.5em;
	line-height: 1.5em;
	color:lightgrey;
}

div.notice{
	background-color: var(--color1);
	color:#fff;
}