@font-face {
  font-family: 'Chivo-ExtraLight';
  src: url('/static/themes/pylims_velocity_v1.0/Chivo-ExtraLight.ttf') format('truetype');
  font-weight: normal;
}

@font-face {
  font-family: 'Chivo-ExtraLightItalic';
  src: url('/static/themes/pylims_velocity_v1.0/Chivo-ExtraLightItalic.ttf') format('truetype');
  font-weight: normal;
  font-style: italic;
}

:root {
  --accent1: #8A3D9F; /* dark blue */
  --accent2: #FFDA58; /* yellow */
  --accent3: #CFB6D5; /* light blue */
  --accent4: #fff4cb; /* light yellow */
  --accent5: #636363; /* gray */
  --accent6: #979797; /* med gray */
  --accent7: #d3d3d3; /* light gray */
  --accent8: #ECE7EE; /* very light purple */
  --accent9: #BF9ACA; /* med purple */
  --blue-dark: #306998; --blue-med: #6f9abd; --blue-light: #a9cdea;
  --yellow-dark: #FFDA58; --yellow-med: #fff4cb; --yellow-light: #fcfaf3;
  --gray-dark: #636363; --gray-med: #979797; --gray-light: #d3d3d3; --gray-lightest: #f0f0f0;
  --pink-dark: 	#6d0637;	--pink-med:	#c42b74;	--pink-light: #f7b3d3;
  --green-dark: #488248;	--green-med: #5aab5a;	--green-light: #e2eee2;
  --purple-med: #BF9ACA; --purple-light: #f6d5fd; 
  --purple-med-hover: #d4ace0;
  
  --inputbg: #eef3f6; /* light gray blue */
  --inputhover: #dbe5eb; /* slightly darker gray blue */

  --highlight-green-med: #7FBE7F;

  --data-color1:#9c27b0;
	--data-color2:#5dcb51ff;
	--data-color3:#0077ffff;
	--data-color4:#ffd500ff;
	--data-color5:#e53030ff;
	--data-color6:#9e78e0ff;
	--data-color7:#cbe91eff;
	--data-color8:#0bbdd0ff;
	--data-color9:#e96900ff;
	--data-color10:#f78ae6ff;

	--data-color1-bg: #d1a3dd;
	--data-color2-bg: #b3e6b3;
	--data-color3-bg: #b3e6e6;	
	--data-color4-bg: #f2e6b3;
	--data-color5-bg: #f2b3b3;
	--data-color6-bg: #d1b3e6;
	--data-color7-bg: #e6f2b3;
	--data-color8-bg: #b3e6e6;
	--data-color9-bg: #f2b3b3;
	--data-color10-bg: #f2b3e6;

  }



body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	margin: 0;
	font-family: 'Chivo-ExtraLight', sans-serif;
	font-size:16px;
	color: #212121;
	background-color:var(--accent8);
}

input, textarea, button, select {
	font-family: 'Chivo-ExtraLight', sans-serif;
	padding:5px;
	font-size:16px;
    border-radius: 3px;
	margin:2px;
}
input, textarea, select {
	border: inset 1px #cccccc;
	background-color: var(--inputbg);
	box-sizing: border-box;
}
input:hover, textarea:hover {
	background-color: var(--inputhover);
}
button {
	border: outset 1px #cccccc;
	background-color: #e9e9e9;
    padding: 5px 20px;
}
button:hover {
	background-color: var(--inputhover);
}

p {
	filter: grayscale(1);
}
.h1 {
	font-size:20px;
	font-weight:bold;
	color:var(--accent1);
	border-bottom:solid 2px var(--accent1);
	margin:10px 0px;
	overflow: hidden;
}
.h2 {
	font-size: 18px;
    font-weight: bold;
    color: var(--accent5);
    border-bottom: solid 1px var(--accent1);
    margin-bottom: 5px;
    overflow: hidden;
}
.h3 {
	font-weight: bold;
    border-bottom: solid 1px #bcc2c6;
    overflow: hidden;
    margin-bottom: 2px;
    padding-bottom: 2px;
}
.indented {
	box-sizing:border-box;
	padding-left:30px;
}
a {
	color: var(--accent1);
}

a:hover {
	color: var(--accent3);
}
	
#adminlinks a {
	color:var(--accent2);
}
#adminlinks a:hover {
	color: var(--accent4);
}

#breadcrumbs {
	position: relative;
    left: -20px;
    padding: 5px 20px;
    background-color: var(--accent1);
    width: fit-content;
    margin: 0px 0px 5px 0px;
	color:#ffffff;
}
#breadcrumbs a {
	color: var(--accent4);
}
#breadcrumbs a:hover {
	color: var(--accent2);
}
.template_for_later {
	display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
	font: var(--fa-font-light);
    content: "\f0e8";
	margin-right:10px;
	
}




/* index.html */
#header {
	text-align:center;
	margin-top:10px;
}
#login-pylims-logo {
	height:50px;
	margin-top:10px;
	text-align:center;
}
#login-pylims-logo img {
	height:100%;
}
#center-content {
	text-align:center;
	font-size:1em;
	flex: 1;
}
.center-border {
	margin:20px 50px;
	border:solid 1px var(--accent1);
	text-align:left;
	padding:30px 20px;
	background-color:#ffffff;
	position:relative;
}
#adminlinks {
    font-size: 16px;
    background-color: #4477a0;
    color: #fff;
    text-align: center;
    padding: 2px 10px;
    position: absolute;
    top: 0px;
	width: 100%;
	max-width: 1000px;
	margin: auto;
	left: 0;
	right: 0;
	box-sizing: border-box;
}

#footer {
	background-color: white;
    color: #000000;
    text-align: center;
    padding: 10px;
    width: 50%;
    max-width: 1000px;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    margin: auto;
    border: solid 1px var(--accent1);
    border-bottom: none;
}
#pylims_request_error, .localerror {
	border:solid 1px #ff0000;
	color:#ff0000;
	background:#660000;
	padding:10px;
	display:none;
	margin:10px 0px;
}
#pylims_request_success {
	border:solid 1px #00ff00;
	color:#00ff00;
	background:#006600;
	padding:10px;
	display:none;
	margin:10px 0px;
}
#pylims_unsaved_changes {
	border:solid 1px #ff6600;
	color:#ff6600;
	background:#fff4bd;;
	padding:10px;
	display:none;
	margin:10px 0px;
}
.admin_link {
	margin:0px 3px;
}
.header_link {
	display:inline-block;
	margin:0px 3px;
}
.header_link:not(:first-child) {
    border-left: solid 2px #b2c5d3;
    padding: 2px 0px 2px 5px;
}
.button_container {
	text-align:center;
	border-top: solid 2px var(--accent1);
	padding-top:10px;
	margin:10px 0px;
}


/* setup.html */

#modules details {
	margin-top:20px;
}
#modules details summary {
	font-size:1.5em;
}
#modules details summary:hover {
	cursor:pointer;
	color:var(--accent1);
}
.setup_mod_options {
	font-size: .75em;
    color: #616161;
}
#modules .version {
	font-family: monospace;
	color:var(--accent1);
	font-size:.8em;
	margin:0px 10px;
	border:solid 1px var(--accent1);
	padding:2px;
	padding: 2px 5px;
    border-radius: 10px;
	position:relative;
	top:-1px;
}
#modules input[type="radio"] {
	margin-right:15px;
}
.mod_disabled {
	color:#9f9f9f;
	font-style: italic;
}
#modules .options_details {
	margin:0px 50px;
	font-size:1em;
	display:none;
}
#modules .options_details summary {
	font-size:1em;
	margin:0px -15px;
}
#modules .tf_container {
	border: solid 1px #9b9b9b;
    height: 18px;
    width: 32px;
    border-radius: 15px;
    display: inline-block;
	margin:5px;
	vertical-align:middle;
	cursor:pointer;
	background-color: #919191;
}
#modules .tf_ball {
	height:18px;
	width:18px;
	border-radius:18px;
	background-color:#ffffff;
	position:absolute;
	top:0px;
	position:relative;
	transition:background-color .5s, left .5s;
}
#modules .tf_true {
	background-color:var(--accent2);
	left:14px;
}
#modules .tf_false {
	background-color:#cccccc;
	left:0px;
}
#modules .pylimsui_select {
    margin-left: 5px;
    font-size: 16px;
    background-color: #919191;
    color: #ffda58;
}


.popup_small {
    width:500px;
    height:300px;
    border: solid 2px var(--accent1);
    background-color:#ffffff;
    display:none;
    position: fixed;
    z-index: 1000;
    top: 100px;
    left: calc(50% - 250px);
    overflow-x: hidden;
    overflow-y: auto;
    padding:35px 20px;
}
.popup_large {
    width:calc(100vw - 200px);
    height:calc(100vh - 200px);
    border: solid 2px var(--accent1);
    background-color:#ffffff;
    display:none;
    position: fixed;
    z-index: 1000;
    top: 100px;
    left: 100px;
    overflow-x: hidden;
    overflow-y: auto;
    padding:35px 20px;
}
.popup::before {
    content: attr(data-title);
    position:absolute;
    height:25px;
    background-color:var(--accent1);
    color:#ffffff;
    font-weight:bold;
    line-height:25px;
    padding:3px;
    top:0px;
    left:0px;
    width:100%;
}
.popup_close {
    position: absolute;
    right: 2px;
    top: 2px;
    border: solid 1px #000000;
    background-color: var(--accent3);
    padding: 2px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    color: white;
}
.popup_close::before {
    content: '\e59b';
    font-family: "Font Awesome 6 Pro";
}
.popup_close:hover {
    background-color:var(--accent2);
    cursor:pointer;
}

#screen_block {
    width:100%;
    height:100%;
    position:fixed;
    z-index:999;
    user-select: none;
    background-color:#6b6b6bcc;
    top: 0px;
    left: 0px;
    overflow:hidden;
}
labelcontainer {
	display:block;
	margin:3px;
}
labelcontainer>label {
	display:inline-block;
}

sample, queuedsample {
    display: block;
    border: solid 1px;
    border-radius: 3px;
    margin: 2px 40px;
    padding: 2px 5px;
    background-color: var(--inputbg);
	position:relative;
}
sample:hover, queuedsample:hover {
	background-color:var(--inputbghover);
}
sample .fa-vial-circle-check, queuedsample .fa-vial-circle-check{
	color: var(--pink-med);
	margin-right:10px;
}
sample .fa-clock {
	color:var(--green-dark);
	margin-left:5px;
}
samplelist {
	margin-top: 5px;
    display: block;
}
projecttitle {
	display:inline-block;
}
sampleworkflow {
	position: absolute;
    top: 1px;
    right: 2px;
    font-size: 12px;
    border: solid 1px var(--green-med);
    padding: 2px 9px;
    border-radius: 10px;
    background-color: var(--green-light);
    color: var(--green-med);
}

.button-hover-right {
	position:relative;
	width:fit-content;
	border:solid 1px var(--accent5);
	padding:10px;
	padding-right:30px;
}
#arrowBox {
	position: absolute;
	top: 0px;
	right: 0px;
	padding: 0px;
	margin: 0px;
	font-size: 20px;
	background-color: var(--accent3);
	height: 100%;
	width: 20px;
	line-height: 20px;
}

#arrowBox::after {
	content: '';
	position:absolute;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font: var(--fa-font-solid);
	content: "\f0da";
	top: calc(50% - 10px);
	height: 20px;
	width: 12px;
	left: calc(50% - 6px);
	
}


#hoverBox {
  display: none;
  position: absolute;
  top: 10px;
  right: -183px; 
  background-color:var(--inputhover);
  padding: 10px 0px;
  width:180px;
  font-size:16px;
  border: solid 1px var(--accent7);
}

#hoverBox a {
  display: block;
  margin: 5px 0;
  padding:0px 10px;
}

#hoverBox a:hover {
	background-color:var(--accent3);
	color:#ffffff;
}
#arrowBox:hover #hoverBox {
	display:block;
}
.project {
	height: 40px;
	border-bottom: solid 1px #cccccc;
	line-height: 40px;
}
#new_project_button {
	margin:20px 0px;
}
.project_owner {
	font-size: 14px;
	border: solid 1px #306998;
	padding: 2px 5px;
	border-radius: 13px;
	background-color: #f7f7f7;
	color: #306998;
	width: fit-content;
}
project {
	display:block;
	position:relative;
	border-radius: 4px;
	padding: 2px;
	background-color: #dee4e7;
	color: var(--accent1);
	margin: 4px 0px;
	user-select:none;
	position:relative;
	max-width:500px;
}
newsample {
	display:inline-block;
	border:solid 1px var(--accent3);
	padding:2px;
	border-radius: 3px;
	background-color: var(--inputbg);
	margin-right:10px;
}
newsample:hover, samplecount:hover {
	background-color: var(--inputhover);
	cursor:pointer;
}
samplecount, validationcount {
	color:var(--pink-med);
	display:block;
	position:absolute;
	right:2px;
	top:2px;
	border:solid 1px var(--accent3);
	border-radius: 3px;
	background-color: var(--inputbg);
	font-size: 20px;
	padding: 2px 5px;
	line-height: normal;
}
.button-hover-right {
	position:relative;
	width:fit-content;
	border:solid 1px var(--accent5);
	padding:10px;
	padding-right:30px;
}
#arrowBox {
	position: absolute;
	top: 0px;
	right: 0px;
	padding: 0px;
	margin: 0px;
	font-size: 20px;
	background-color: var(--accent3);
	height: 100%;
	width: 20px;
	line-height: 20px;
}

#arrowBox::after {
	content: '';
	position:absolute;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font: var(--fa-font-solid);
	content: "\f0da";
	top: calc(50% - 10px);
	height: 20px;
	width: 12px;
	left: calc(50% - 6px);
	
}


#hoverBox {
  display: none;
  position: absolute;
  top: 10px;
  right: -183px; 
  background-color:var(--inputhover);
  padding: 10px 0px;
  width:180px;
  font-size:16px;
  border: solid 1px var(--accent7);
}

#hoverBox a {
  display: block;
  margin: 5px 0;
  padding:0px 10px;
}

#hoverBox a:hover {
	background-color:var(--accent3);
	color:#ffffff;
}
#arrowBox:hover #hoverBox {
	display:block;
}
.project {
	height: 40px;
	border-bottom: solid 1px #cccccc;
	line-height: 40px;
}
#new_space_button {
	margin:20px 0px;
}
.project_owner {
	font-size: 14px;
	border: solid 1px #306998;
	padding: 2px 5px;
	border-radius: 13px;
	background-color: #f7f7f7;
	color: #306998;
	width: fit-content;
}
.space_level {
	position:relative;
	box-sizing:border-box;
	
}
details {
	display:inline-block;
	vertical-align:top;
}
.add_space_button {
	vertical-align:top;
}
#wf_container {
	display: flex;
	flex-wrap: wrap;
}

workflow {
	flex: 1 1 300px;
	box-sizing: border-box;
	border:solid 1px var(--accent1);
	margin:5px;
	display:block;
}
step {
	display: block;
	background-color: var(--green-light);
	margin: 4px 10px;
	padding: 2px 10px;
	border-radius: 4px;
	position:relative;
	height:30px;
	line-height:30px;
}
wftitle {
	background-color: var(--green-med);
	width: 100%;
	display: block;
	padding: 5px;
	box-sizing: border-box;
	font-size: 18px;
	font-weight: bold;
	color: white;
}

/* Mobile responsive styles */
@media (max-width: 768px) {
	.center-border {
		margin: 10px 5px;
	}
	
	#footer {
		width: 100%;
	}
}
