:root
{
	--darkGrey: #818181;
	--grey: #666666;
	--white: #ffffff;
	--white01: rgba(255,255,255,0.1);
	--white03: rgba(255,255,255,0.3);
	--white05: rgba(255,255,255,0.5);
	--white07: rgba(255,255,255,0.7);
	--white09: rgba(255,255,255,0.9);
	--light-grey: #f7f7f7;
	--blue: rgba(47, 127, 218, 1);
	--blue02: rgba(47, 127, 218, 0.2);
	--red: #ff0000;
	--red05: rgba(255,0,0,0.5);
	--durty-green: #00b9b6;
	--grey: #6b6565;
	--supgrey: #dad6d6;
	--green: #3bb900;
	--orange: #ff9c0e;
}

body, html
{
	margin:0;
	padding:0;
	font-family:Arial;
	height:100vh;
	width:100%;
	font-size: 14px;
}

body
{
	display: grid;
	grid-template-rows: 50px 1fr;
}

header
{
	background: var(--blue);
	display: grid;
	grid-template-columns: repeat(18, 1fr);
	grid-gap: 0px;
	position: relative;
	z-index: 1;
}

.col1 {grid-column: span 1;}
.col2 {grid-column: span 2;}
.col3 {grid-column: span 3;}
.col4 {grid-column: span 4;}
.col5 {grid-column: span 5;}
.col6 {grid-column: span 6;}
.col7 {grid-column: span 7;}
.col8 {grid-column: span 8;}
.col9 {grid-column: span 9;}
.col10 {grid-column: span 10;}
.col11 {grid-column: span 11;}
.col12 {grid-column: span 12;}
.col13 {grid-column: span 13;}
.col14 {grid-column: span 14;}
.col15 {grid-column: span 15;}
.col16 {grid-column: span 16;}
.col17 {grid-column: span 17;}
.col18 {grid-column: span 18;}

.selector
{
	display: grid;
	grid-template-columns: 30px 1fr;
	padding: 0 0 0 10px;
	box-sizing: border-box;
	cursor: pointer;
	position: relative;
}

.selector>i
{
	display: flex;
	justify-content: center;
	text-align: center;
	align-items: center;
	font-size: 20px;
}

.selector>span
{
	display: flex;
	position: relative;
	justify-content: flex-start;
	text-align: left;
	align-items: center;
	box-sizing: border-box;
	padding-right: 20px;
}

.selector>span:after
{
	font-family: 'icomoon';
	content: "\e909";
	position: absolute;
	right: 10px;
	top: calc(50% - 5px);
	font-size: 0.8em;
}

.selector>div
{
	display: block;
	height: 0;
	transition: all 0.4s ease;
	width: 100%;
	overflow: hidden;
	position: absolute;
	top: 100%;
	opacity: 0;
	background: var(--blue);
}

.selector>div a
{
	display: block;
	padding: 10px 15px;
	color: var(--white07);
	text-decoration: none;
}

.selector>div a:hover
{
	color: var(--white09);
	background: var(--white03);
}

.selector:hover>div
{
	opacity: 1;
	height: auto;
}

header .actions
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 0px;
}

header .actions a:nth-child(1) {background: var(--white01);}
header .actions a:nth-child(2) {background: var(--white01);}
header .actions a:nth-child(3) {background: var(--durty-green);}

.workgroup
{
	color: var(--white09);
	background: var(--durty-green);
}
.selector.workgroup>div
{
	background: var(--durty-green);
}

.sort
{
	color: var(--white09);
	background: var(--white01);
}

.top-user
{
	color: var(--white07);
}

header .actions a
{
	color: var(--white09);
	font-size: 20px;
	display: flex;
	align-items: center;
	text-align: center;
	justify-content: center;
	text-decoration: none;
	position: relative;
}

header .actions a sup
{
	display: flex;
	position: absolute;
	top: 2px;
	right: 2px;
	box-sizing: border-box;
	background: var(--red);
	color: var(--white);
	padding: 3px;
	width: 16px;
	height: 16px;
	text-align: center;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	font-size: 0.9rem;
}

header form
{
	display: grid;
	grid-template-columns: 1fr 50px;
	height: 100%;
	box-sizing: border-box;
	padding: 0 20px;
}

header form div
{
	display: flex;
	align-items: center;
	height: 100%;
}

header form input
{
	-webkit-appearance: none;
	color: var(--white09);
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--white09);
	width: 100%;
	font-size: 1.2rem;
	line-height: 140%;
	outline: none;
}

header form input::placeholder
{
	color: var(--white05);
}

header form button
{
	-webkit-appearance: none;
	color: var(--white09);
	background: transparent;
	border: none;
	width: 100%;
	font-size: 1.2rem;
	line-height: 140%;
}

.tasks-wrapper
{
	display: grid;
	grid-template-columns: 1fr 5fr;
	grid-template-rows: 1fr;
	height: calc(100vh - 50px);
}

.tasks-wrapper .task-item
{
	display: none;
}

.task-item *[contenteditable=true]
{
	outline: none;
}

.tasks-wrapper.show-task
{
	grid-template-columns: 1fr 2.5fr 2.5fr;
}

.tasks-wrapper.show-task .task-item
{
	display: block;
	border-left: 1px solid var(--supgrey);
	max-height: 100%;
	overflow: auto;
}

.tasks-menu
{
	background: var(--light-grey);
	display: block;
	max-height: 100%;
	overflow: auto;
}

.tasks-list
{
	overflow: auto;
	max-height: 100%;
	display: block;
	border-left: 1px solid var(--supgrey);
}

.nav-block
{
	display: block;
	box-sizing: border-box;
	padding: 10px;
	margin: 10px;
	border-bottom: 1px solid var(--supgrey);
}

.nav-block .nav-name
{
	color: var(--grey);
	font-size: 1.1rem;
	padding-bottom: 15px;
	display: flex;
	justify-content: space-between;
}

.nav-block .nav-name a
{
	text-decoration: none;
	color: var(--durty-green);
	font-size: 18px;
	font-weight: bold;
}

.nav-block input[type=radio]
{
	display: none;
}

.nav-block input[type=radio]+label
{
	display: grid;
	grid-template-columns: 20px 1fr;
	padding: 5px 0;
	cursor: pointer;
}

.nav-block input[type=radio]:checked+label
{
	font-weight: bold;
}

.nav-block input[type=radio]+label div:first-child
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
}

.nav-block input[type=radio]+label i
{
	display: block;
	font-size: 1rem;
	opacity: 0.5;
}
.nav-block input[type=radio]:checked+label i
{
	opacity: 1;
}

.rvalue
{
	display: flex;
	justify-content: space-between;
}

.rvalue a
{
	display: none;
	text-decoration: none;
	align-items: center;
	color: var(--durty-green);
}

.rvalue:hover a
{
	display: flex;
}

.settings
{
	display: block;
	padding: 10px 20px;
	margin: 10px;
	background: transparent;
	color: var(--grey);
	font-size: 1rem;
	text-decoration: none;
}

.settings:hover
{
	background: var(--durty-green);
	color: var(--white09);
}

#assignments_list
{
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#assignments_list li
{
	display: grid;
	grid-template-columns: 30px 30px 1fr 150px 30px 100px 30px;
	padding: 10px;
	border-bottom: 1px solid var(--supgrey);
	grid-gap: 10px;
	box-sizing: border-box;
}

#assignments_list li.task-ready
{
	display: none;
}

#assignments_list li.selected
{
	background: var(--blue02);
}

.show-task #assignments_list li
{
	grid-template-columns: 30px 30px 1fr 100px 30px;
}

#assignments_list li.al-name
{
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--light-grey);
	color: var(--grey);
}

#assignments_list li>div:nth-child(1),
#assignments_list li>div:nth-child(2),
#assignments_list li>div:nth-child(5)
{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}



.tag-div
{
	text-decoration: none;
}

.tag-div div
{
	display: block;
	position: relative;
}

.tag-div div span
{
	display: none;
}

.tag-div:hover div span
{
	display: block;
	position: absolute;
	left: 120%;
	font-size: 0.9rem;
	background: var(--grey);
	padding: 2px 10px;
	border-radius: 10px;
	top: -2px;
	color: var(--white07);
}

.a-creator, .cu-name div
{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
	width: 100%;
	border-radius: 3px;
	background: var(--durty-green);
	color: var(--white09);

}

.cu-name
{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.cu-name a
{
	color: var(--grey);
	text-decoration: none;
}

.cu-name div
{
	width: 40px;
	height: 40px;
}

.a-remove a
{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 30px;
	width: 30px;
	border-radius: 3px;
	background: var(--red05);
	color: var(--white09);
}



.a-name
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	cursor: pointer;
}

.bar
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 5px;
}

.bar>div:nth-child(2)
{
	color: var(--grey);
	font-size: 0.8rem;
}

.bar>div:first-child
{
	width: 100px;
	position: relative;
	display: block;
	border: 1px solid var(--supgrey);
	height: 10px;
	margin-right: 10px;
}

.bar>div:first-child span
{
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
}

.deadline
{
	display: block;
	text-align: center;
}

.deadline>span
{
	display: block;
	font-size: 0.8rem;
	color: var(--grey);
}

.bar.orange>div:first-child span {background: var(--orange);}
.bar.green>div:first-child span {background: var(--green);}

.show-task #assignments_list li .a-ready, .show-task #assignments_list li .a-creator
{
	display: none;
}

.a-creator>div
{
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.a-ready .icon-status
{
	color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
}

.task-name
{
	display: grid;
	grid-template-columns: 50px 1fr;
	background: var(--blue);
}

.task-name a
{
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--white07);
	background: var(--durty-green);
	width: 100%;
	height: 100%;
	min-height: 50px;
}

.task-name a i
{
	transform: rotate(90deg);
}

.task-name div
{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	color: var(--white07);
	background: var(--white01);
	width: 100%;
	height: 100%;
	min-height: 50px;
	box-sizing: border-box;
	padding: 10px;
	font-size: 1.3rem;
	font-weight: bold;
}

.task-info
{
	display: grid;
	grid-template-columns: max-content 1fr 2fr 1fr;
	background: var(--light-grey);
	box-sizing: border-box;
	padding: 10px;
	grid-gap: 10px;
	border-bottom: 1px solid var(--supgrey);
}

.ti-block.big
{
	grid-column: span 2;
}

.ti-block
{
	display: block;
}

.ti-block>span>a
{
	text-decoration: none;
	color: var(--durty-green);
}

.ti-block>span
{
	display: block;
	font-size: 0.8rem;
	color: var(--grey);
}

.ti-block>div
{
	margin: 0.2rem 0;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: flex-start;
}

.ti-block .person
{
	display: inline-block;
	font-size: 0.9rem;
	padding: 3px 8px;
	background: var(--blue);
	color: var(--white09);
	text-decoration: none;
	margin-right: 0.5em;
	margin-bottom: 0.3rem;
}

.ti-block .person:hover
{
	color: var(--white);
}

.ti-block .date
{
	display: block;
	padding: 0 0 3px;
	color: var(--grey);
	font-size: 0.9rem;
}

.ti-block .time
{
	display: block;
	padding: 0px 0;
	color: var(--grey);
	font-size: 0.7rem;
}

.subtask
{
	display: grid;
	grid-template-columns: 50px 1fr;
	grid-gap: 10px;
	padding: 15px 10px;
}

.subtask-actions
{
	display: flex;
	justify-content: flex-start;
}

.subtask-actions a
{
	display: block;
	color: var(--grey);
	position: relative;
	height: 20px;
	text-decoration: none;
	margin-right: 5px;
}

.subtask-actions a sup
{
	display: block;
	position: absolute;
	left: 10px;
	top: -5px;
	min-width: 7px;
	text-align: center;
	background: var(--red);
	padding: 3px;
	border-radius: 10px;
	color: var(--white);
	font-size: 0.6rem;
}

.subtask-content
{
	color: var(--grey);
	font-size: 1rem;
	line-height: 140%;
}

.subtask-content textarea, .form-with-files textarea
{
	-webkit-appearance: none;
	display: none;
	width: 100%;
	min-height: 10px;
	resize: none;
	color: var(--grey);
	font-size: 1rem;
	line-height: 140%;
	border: none;
	margin: 0;
	padding: 0;
}

.form-with-files textarea
{
	display: block;
	height: 1.4rem;
}

.subtask-content a
{
	color: var(--blue);
}

.subtask-files
{
	display: flex;
	justify-content: flex-start;
	padding-top: 10px;
	flex-wrap: wrap;
}

.file_item
{
	margin-right: 10px;
	margin-bottom: 10px;
	text-decoration: none;
	color: var(--grey);
	max-width: 100px;
	font-size: 0.9rem;
	position: relative;
	text-align: center;
}

.file_item .f-remover
{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	position: absolute;
	width: 20px;
	height: 20px;
	background: var(--white07);
	border-radius: 50%;
	color: var(--red05);
	font-size: 1.4rem;
	line-height: 0.9rem;
	top: 0;
	right: 0;
}

.file_item .file-image
{
	display: flex;
	width: 100px;
	height: 100px;
	align-items: center;
	justify-content: center;
	color: var(--grey);
	font-size: 90px;
}

.file-image>span
{
	position: relative;
}

.file_item .file-image sup
{
	color: var(--white09);
	font-size: 1rem;
position: absolute;
left: 10px;
bottom: 10px;
}
.file_item .f-remover:hover
{
	background: var(--white);
	color: var(--red);
}

.file_item .file-name span
{
	color: var(--supgrey);
	font-size: 0.8rem;
	display: block;
	text-align: center;
}

.comments
{
	background: var(--light-grey);
	border-top: 1px solid var(--supgrey);
	padding: 10px;
}

.comments h4
{
	font-size: 1.3rem;
	font-weight: normal;
	margin: 0 0 1rem 0;
	color: var(--grey);
}


.comments ul
{
	display: block;
	margin: 0 0 15px;
	list-style-type: none;
	padding-left: 0px;
}

.comments ul li ul
{
	padding-left: 40px;
}

.comments ul li
{
	display: grid;
	grid-template-columns: 40px 1fr;
	grid-gap: 10px;
	padding: 5px 0;
}

.cu-info
{
	display: flex;
	justify-content: space-between;
	color: var(--grey);
	font-size: 0.8rem;
	padding-bottom: 10px;
}

.cu-info .cui-name
{
	font-size: 0.9rem;
	font-weight: bold;
	color: var(--blue);
}

.cu-text
{
	color: var(--grey);
	line-height: 140%;
	font-size: 1rem;
}

.popup
{
	display: none;
	position: absolute;
	top: 10vh;
	max-height: 80vh;
	width: 500px;
	max-width: 90vh;
	left: 50%;
	margin-left: -250px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.popup-closer
{
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--durty-green);
	color: var(--white07);
	font-size: 30px;
	line-height: 30px;
	text-decoration: none;
}

.popup-closer:hover
{
	color: var(--white09);
}

.popup-header
{
	display: grid;
	grid-template-columns: 1fr 40px;
	height: 40px;
	background: var(--blue);
}

.popup-name
{
	overflow: hidden;
	max-width: 100%;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 10px 20px;
	box-sizing: border-box;
	color: var(--white09);
	text-align: left;
}

.popup-content
{
	padding: 0px;
	background: var(--white);
	max-height: calc(80vh - 40px);
	overflow: auto;
}

.form-with-files
{
	display: block;
	padding: 15px 10px 15px 70px;
	position: relative;
}

.form-with-files .fileuploader
{
	display: flex;
	margin: 10px 0;
	border: 1px dashed var(--supgrey);
	width: 100%;
	box-sizing: border-box;
	height: 50px;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--supgrey);
	position: relative;
}

.form-with-files .fileuploader input
{
	-webkit-appearance: none;
	margin: 0;
	padding: 0;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	position: absolute;
}

.loader
{
	display: none;
	max-height: 80%;
}

.form-with-files button
{
	-webkit-appearance: none;
	position: absolute;
	left: 10px;
	top: 15px;
	width: 50px;
	height: 50px;
	background: var(--durty-green);
	color: var(--white07);
	border: none;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 2rem;
}

.form-with-files button:hover
{
	color: var(--white);
}

.subtask .form-with-files
{
	display: none;
	padding-top: 0;
}

.subtask .form-with-files button
{
	top: 0;
}

.task-editor input[type=checkbox]
{
	display: none;
}

.task-editor input[type=checkbox]+label
{
	display: grid;
	padding: 10px;
	grid-template-columns: 20px 250px;
	color: var(--supgrey);
}

.task-editor input[type=checkbox]:checked+label
{
	color: var(--grey);
}

.task-editor input[type=radio]
{
	display: none;
}

.task-editor input[type=radio]+label
{
	display: grid;
	padding: 10px;
	grid-template-columns: 20px 250px;
	color: var(--grey);
	opacity: 0.5;
}

.task-editor input[type=radio]:checked+label
{
	opacity: 1;
}

.te-projects a
{
	margin-right: 10px;
}

.login-block
{
	display: flex;
	width: 100vw;
	height: 100vh;
	align-items: center;
	justify-content: center;
	background: var(--blue);
}

#login_form
{
	display: block;
	background: var(--white03);
	width: 300px;
	max-width: 90vw;
	padding-bottom: 20px;
}

#login_form>span
{
	display: block;
	padding: 5px 10px;
	background: var(--durty-green);
	color: var(--white07);
	font-size: 18px;
	text-align: center;
}

#login_form .input
{
	display: block;
	padding: 10px 20px;
}

#login_form .input input
{
	--webkit-appearance: none;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 10px 20px;
	border: 0px;
	font-size: 15px;
}

#login_form .lf-buttons
{
	display: flex;
	justify-content: space-around;
}

#login_form .lf-buttons button, #login_form .lf-buttons a, #invite button
{
	display: block;
	width: auto;
	-webkit-appearance:none;
	padding: 10px 15px;
	color: var(--white07);
	background: var(--blue);
	border:none;
	font-size: 15px;
	text-decoration: none;
}

#login_err
{
	text-align: center;
	color: var(--red);
}

.u-item
{
	display: flex;
	padding: 10px 20px;
	justify-content: flex-start;
	gap:10px;
	color: var(--grey);
	text-decoration: none;
	border: 1px solid var(--supgrey);
	margin: 10px;
}

.u-item.selected
{
	background: var(--blue02);
}

.users-list
{
	display: grid;
	grid-template-columns: 1fr 2fr;
	grid-gap: 40px;
}

.u-param
{
	display: block;
	padding: 10px 0;
}

.u-param .p-name
{
	color: var(--grey);
	display: block;
}

.u-param .p-val
{
	color: var(--blue);
	display: block;
	font-size: 18px;
}

.utop
{
	padding: 10px 20px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
}

.utop a
{
	display: block;
	padding: 10px 20px;
	background: var(--blue);
	color: var(--white07);
	text-decoration: none;
}

.adderForm label
{
	display: block;
	padding: 0px 0 5px;

}

.adderForm
{
	padding: 10px 15px 10px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 10px;
}

.adderForm input
{
	-webkit-appearance:none;
	display: block;
	border: 1px solid var(--grey);
	padding: 5px 10px;
	width: 100%;
	box-sizing: border-box;
	font-size: 16px;
}

.adderForm input[type=submit]
{
	background: var(--durty-green);
	border:none;
	color: var(--white07);
	margin-top: 15px;
}

#invite
{
	display: block;
	padding: 20px;
}

#invite input
{
	-webkit-appearance:none;
	display: block;
	border:1px solid var(--supgrey);
	padding: 10px 10px;
	font-size: 16px;
	margin: 0;
}

.invite
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap:20px;
}

@media all and (min-width: 701px)
{
	.ms{
		display: none !important;
	}
}

@media all and (max-width: 700px)
{
	.fs
	{
		display: none !important;
	}
	header
	{
		grid-template-columns: 50px 50px 1fr 50px 50px;
	}
	header .selector span
	{
		display: none;
	}

	header .col3, header .col7
	{
		grid-column: span 1;
	}

	header .actions>a:nth-child(1), header .actions>a:nth-child(2)
	{
		display: none;
	}

	header .actions
	{
		grid-template-columns: 1fr;
		grid-column: span 1;
	}

	header .search.col7
	{
		grid-template-columns: 1fr;
	}

	header form>div
	{
		display: none;
	}

	.selector>div
	{
		width: 100vw;
	}

	.top-user.selector>div
	{
		right: 0;
		text-align: right;
	}

	.selector>div a
	{
		box-sizing: border-box;
	}

	.tasks-wrapper
	{
		grid-template-columns: 1fr;
	}

	.tasks-wrapper .tasks-menu
	{
		display: none;
	}

	#assignments_list li
	{
		grid-template-columns: 20px 1fr 40px 50px 30px;
		grid-template-areas: "stat task task task task" "prj ready creator time remove";
	}

	#assignments_list li .a-priority {grid-area: stat;}
	#assignments_list li .a-tags {grid-area: prj;}
	#assignments_list li .a-name {grid-area: task;}
	#assignments_list li .a-creator {grid-area: creator;}
	#assignments_list li .deadline {grid-area: time;}
	#assignments_list li .a-remove {grid-area: remove;}

	#assignments_list li .a-ready
	{
		grid-area: ready;
	}

	.tasks-wrapper.show-task
	{
		grid-template-columns: 1fr;
	}

	.tasks-wrapper.show-task .tasks-list
	{
		display: none;
	}

	.tasks-wrapper.mob-filter .tasks-list
	{
		display: none;
	}

	.tasks-wrapper.mob-filter .tasks-menu
	{
		display: block;
	}

	.task-info
	{
		grid-template-columns: repeat(4, 1fr);
	}

	.task-info .ti-block:nth-child(2n+1)
	{
		grid-column: span 3;
	}

	.task-info .ti-block.big, .task-info .ti-block.big:nth-child(2n+1)
	{
		grid-column: span 2;
	}
}