:root {
	--main: #FFDF9B;
	--mainaccent:#f3c051;
	--accent: #FF9B9B;
	--inverse: #518EE2;
	--success: #61DE61;
	--failure: #FF9B9B;
	--accent2: #FFA300;
	--accent3: #6167C6;
	--accent4: #FF6A00;
	--persistent: #FF6868;
	--completed: #61DE61;
	--recurring: #518EE2;
}
body, html {
	color:var(--main);
	line-height: 110%;
	font-size:105%;
	font-family: "Kode+Mono", sans-serif;
	z-index: 1;
}
p {
	font-size:105%;
	line-height: 150%;
}
body {
	background-image: url("sunlight-underwater-space-nebula-outer-space-universe-60217-pxhere.com_mid.jpg");
	background-size: 100% 100%;
	min-height: 100vh;
	height: 100%;
}
div {
	background: rgba(53, 34, 104, 0.25);
	border: 1px solid rgba( 255, 255, 255, 0.18 );
	border-radius: 10px;
	line-height: 110%;
	box-shadow: 0 8px 32px 0 rgba( 31, 38, 135, 0.37 );
	backdrop-filter: blur( 4px );
}
.fa-rainbow-gradient {
	-webkit-text-fill-color: transparent;
	background-image: linear-gradient(to right, red,orange,yellow,green,blue,purple,pink);
	background-clip: text;
	margin-left:10px;
}
#footer-div {
	padding: 10px;
}
#flexcontainer-main {
	display:flex;
	flex-flow: row nowrap;
	min-height: 100svh;
	height:100%;
}
#flexcontainer-main > * {
	flex: 1 1 auto;
	margin: 10px;
	padding: 10px;
}
ul {
	list-style-type: circle;
	list-style-position: inside;
}
li {
	margin:8px;
	font-size:1.4em;
	line-height: 120%;
}
li span {
	font-size:1rem;
}
#flexchild-menu {
	height:100vh;
	flex: 0 0 20%;
	margin: 10px;
	padding: 10px;
	display:flex;
	flex-flow: column;
	justify-content: space-between;
}
#flexchild-menu-logout {
	height:50vh;
	flex: 0 0 20%;
	margin: 10px;
	padding: 10px;
	display:flex;
	flex-flow: column;
	justify-content: space-between;
}
h2 {
	font-size: 1.8em;
	line-height: 130%;
}
#formbox {
	background-color: none;
	border:none;
	background:none;
	box-shadow: none;
	backdrop-filter: none;
	display: flex;
	flex-direction: column;
	padding:10px;
	align-items: center;
}
input, button, textarea, select{
	font: inherit;
	letter-spacing:inherit;
	background: rgba(53, 34, 104, 0.25);
	backdrop-filter: blur( 4px );
	border-radius: 10px;
	color: var(--main);
	padding: 4px;
	flex:1;
	-webkit-backdrop-filter: blur( 4px );
	box-shadow: 0 8px 32px 0 rgba( 31, 38, 135, 0.37 );
	border: 1px solid rgba( 255, 255, 255, 0.18 );
}
select {
	max-width:300px;
}
button {
	padding: 8px 20px;
}
input[type="color"] {
	all: revert;
}
input[type="date"] {
	margin:20px;
}
select {
	margin:20px;
}
button:hover{
	opacity: 0.90;
	border: 1px solid rgba( 255, 255, 255, 0.70 );
}
.selected {
	opacity: 1;
	background: rgba(107, 73, 201, 0.25);
	font-weight:bold;
}
#formbox label {
	flex: 0 0 30%;
	margin-bottom: 8px;
}
input[type="submit"]{
	padding: 10px;
	font-size:1em;
}
input[type="submit"]:hover {
	opacity: 0.90;
	border: 1px solid rgba( 255, 255, 255, 0.70 );
}
input[type="checkbox"] {
	transform: scale(2);
}
.menu-item-ref {
	width: 100%;
}
.menu-item {
	opacity: 0.60;
	margin: 0px 5px;
	padding: 25px 5px;
	flex: 0.8 1 auto;
	font-size:1.2em;
	color: var(--accent);
	opacity: 1.00;
	text-align: center;  
}
#menu-title {
	background-color: rgba(54, 145, 110, 0);
	color: var(--main);
	font-size: 1.7em;
	flex: 1 0 auto;
	padding: 4vh 0px;
	text-shadow:none;
	box-shadow:0px 0px 15px var(--accent3);
}
.menu-item:hover {
	color: var(--mainaccent);
	border: 1px solid rgba( 255, 255, 255, 0.70 );
}
.flex-menu {
	background-color: none;
	border:none;
	background:none;
	box-shadow: none;
	backdrop-filter: none;
	display: flex;
	width:100%;
	text-align: center;
	flex-flow: row nowrap;
	height:5vh;
}
.flex-menu-item {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
}
#list-content{
	background-color: none;
	border:none;
	background:none;
	box-shadow: none;
	backdrop-filter: none;
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
option {
	background: rgb(39, 1, 146);
}
form {
	width:100%;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
}
table {
    table-layout: fixed;
	width: 100%;
	border-collapse: separate;
	text-align: center;
}
tr, td, th {
	background-color: rgba(96, 44, 121, 0.11);
	padding: 8px;
	border: 1px solid rgba( 255, 255, 255, 0.40 );
	text-align: center;
    word-wrap:break-word;
	white-space: normal;
}
th {
	font-weight: bolder;
}
th:first-of-type {
	border-top-left-radius: 10px;
}
th:last-of-type {
	border-top-right-radius: 10px;
}
.tabletitle {
	font-weight: bolder;
	border-radius: 10px;
	padding:25px;
}
tr:last-of-type td:first-of-type {
	border-bottom-left-radius: 10px;
}
tr:last-of-type td:last-of-type {
	border-bottom-right-radius: 10px;
}
a {
	color: var(--accent2);
}
a:hover {
	color: var(--accent4);
}
.persistent {
	background-color: var(--persistent);
}
.completed {
	background-color: var(--completed);
}
.recurring {
	background-color: var(--recurring);
}
.recurring-text {
	color: var(--recurring);
}
.completed-text {
	color: var(--completed);
}
.persistent-text {
	color: var(--persistent);
}
.circle {
	display: inline-flex;
	margin-right: 0.5rem;
	margin-left: 0.5rem;
	justify-content: center;
	color:var(--main);
	align-items: center;
	border-radius: 9999px;
	width: 1.25rem;
	height: 1.25rem;
	text-align: center;
	pointer-events: none;
}
.invisible-item {
	visibility: hidden;
	padding: 5px;
}
i {
	/* Makes fontawesome tags ignore clicks in buttons */
	pointer-events: none;
}
.fa-rainbow-gradient-link:hover{
	/* Couldn't figure out how to make the gradient highlighting work so I added this as a minor gradient for the color/rainbow sorting icon */
	-webkit-text-fill-color: transparent;
	background-image: linear-gradient(to right, rgb(184, 154, 154),orange,purple,pink);
	background-clip: text;
}
.datacell:hover{
	background-color: rgba(96, 44, 121, 0.3) !important;
}
#pomodoro-tracker {
	max-width:150px;
	overflow: hidden;
	padding: 10px;
	font-size: 2.5em;
	margin-bottom: 20px;
	text-align: center;
}
.pomobutton {
	width: 75px;
	padding: 10px;
	margin: 4px;
}
.invisible-div {
	background: none;
	border: none;
	border-radius: 0px;
	box-shadow: none;
	backdrop-filter: unset;
	-webkit-backdrop-filter: unset;
}
.pomodoro-container {
	background-color: none;
	border:none;
	background:none;
	box-shadow: none;
	backdrop-filter: none;
	display:flex;
	align-items:center;
	flex-direction: column;
}
#task-selector {
	padding:10px;
	margin:10px
}
#pomodoro-tracker {
	margin:10px;
}
.button-container {
	display:flex;
	align-items:center;
	flex-direction: column;
	margin:10px;
}
.horizontal-button-container {
	display:flex;
	align-items:center;
	flex-direction: row;
	padding: 5px;
	border:none;
	background-color:none;
}
.pomo-blurb {
	background-color: none;
	border:none;
	background:none;
	box-shadow: none;
	backdrop-filter: none;
	display:flex;
	align-items:center;
	flex-direction: row;
	padding: 15px;
	margin:10px;
}
.incompletebtn {
	color:var(--failure);
	border:2px solid var(--failure);
}
.completebtn {
	color:var(--success);
	border:2px solid var(--success);
}
.modifybtn {
	color:var(--inverse);
	border:2px solid var(--inverse);
}
.task-btn-container {
	display:flex;
	gap:10px;
}
.mod-text {
	font-size:0.75em;
}
.star {
	color: #FFD43B;
}
.ml-10 {
	margin-left:10px;
}
.recur-container {
	padding: 20px;
	margin:8px;
}
.recur-span {
	display:flex;
	flex-direction:row;
	margin:10px;
}
#searchForm {
	height:35px;
	width:100%;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
}
#searchBox {
	border-bottom-right-radius: 0px;
	padding:1px;
	padding-top:2px;
	border-top-right-radius: 0px;
	width:100%;
	height:100%;
	flex: 1 1 auto;
}
#searchsubmit {
	padding:19px;
	height:100%;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
}
.vertical-center {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height:0px;
}
td {
	vertical-align: middle;
	text-align: center;
}
.table-rounded-tr{
	border-top-left-radius: 10px;
	border-bottom-right-radius: 10px;
}
.tooltip {
	border-bottom: 1px dotted var(--main); /* If you want dots under the hoverable text */
}
.tooltip .tooltiptext {
	background: rgb(55, 38, 100);
	border:1px solid whitesmoke;
	visibility: hidden;
	text-align: center;
	opacity:1;
	border-radius: 6px;
	padding: 5px 0;  
	width:400px;
  
	/* Position the tooltip */
	position: fixed;
	z-index: 1000000000;
  }
  
  .tooltip:hover .tooltiptext {
	visibility: visible;
  }
  
  #loader {
	position: fixed;
	display: flex;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	text-align: center;
	opacity: 1.0;
	background-color: rgb(55, 38, 100);
	z-index: 99;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	}

	#loadimg {
		border: 12px solid rgb(105, 89, 151);
		border-radius: 50%;
		border-top: 12px solid #444444;
		width: 70px;
		height: 70px;
		animation: spin 1s linear infinite;
	}

	.center {
		margin: auto;
	}

	@keyframes spin {
		100% {
			transform: rotate(360deg);
		}
	}

	#menu-button {
		display:none;
	}


@media only screen and (max-width: 1000px) {
	#flexchild-menu {
		height:100vh;
		flex: 0 0 20%;
		margin: 10px;
		padding: 10px;
		display:flex;
		flex-flow: column;
		justify-content: space-between;
	}
	#flexcontainer-main {
		display:flex;
		flex-flow: column nowrap;
		min-height: 100svh;
		height:100%;
	}
	
	#menu-title {
		display:none;
	}
	#menu-button {
		display:block;
	}
	.menu-item {
		display:block;
		opacity: 0.60;
		margin: 3px 5px;
		padding: 5px 2px;
		flex: 0.8 1 auto;
		opacity: 1.00;
	}
	button {
		padding: 4px 10px;
	}
	body, html {
		color:var(--main);
		line-height: 100%;
		font-size:95%;
		font-family: "Kode+Mono", sans-serif;
		z-index: 1;
	}
	p {
		font-size:95%;
		line-height: 130%;
	}
	table, thead, tbody, th, td, tr {
		display: block;
	}
	tr {display:none;}
	.datacell {
		display:block;
		border:none;
		background-color: none !important;
		background:none !important;
		border-radius:7px;
		margin:4px;
	}
	thead tr, th {
		display: none;
	}
	textarea {
		width:75%;
	}
	.colheaderrow{
		display:block;
		border:none;
		background-color: none !important;
		background:none !important;
		border-radius:7px;
		margin:4px;
	}
	.colheaderrow th{
		display:block;
	}
	.tabletitlerow {
		display:block;
		border:none;
		background-color: none !important;
		background:none !important;
		border-radius:7px;
		margin:4px;
	}
	.tabletitle {display:block;}
	
	td:first-of-type {
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
	}
	td:last-of-type {
		border-bottom-right-radius: 10px;
		border-bottom-left-radius: 10px;
	}
	
	th:first-of-type {
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
	}
	th:last-of-type {
		border-bottom-right-radius: 10px;
		border-bottom-left-radius: 10px;
		border-top-right-radius: 0px;
	}
	
	#list-content{
		padding:5px;
	}
}


.hidden {
	display:none;
}
.inline {
	display:inline;
}
.block {
	display:block;
}
.inline-block {
	display:inline-block;
}