/*
  This file is a part of ezTodoList.
*/

/*
  Browsers support:
  Flexbox layout - https://caniuse.com/flexbox
  CSS masks from SVG images - https://caniuse.com/mdn-css_properties_mask-image_svg_masks
  CSS variables - https://caniuse.com/css-variables
*/


/* light colors */

:root {
  --color-bg: #fff;
  --color-text-default: #000;
  --color-text-reduced: #222;
  --color-text-reduced2: #666;
  --color-text-reduced3: #999;
  --color-link: blue;
  --color-btn-reduced: #707070;
  --color-btn-reduced-hover: #4c4c4c;
  --color-btn-default: #000;
  --color-btn-hover: #efefef;
  --color-submit: #eee;
  --color-submit-hover: #ddd;
  --color-row-underlinig: #dedede;
  --color-border-default: #ccc;
  --color-border-focus: #5a8df0;
  --color-border-focus-shadow: rgba(90,141,240,0.7);
  --color-error: var(--color-text-reduced);
  --color-error-bg: #ff3333;
  --color-info: var(--color-text-reduced);
  --color-info-bg: #EFC300;
  --color-input-bg: #fff;

  --color-toolbar: #ededed;
  --color-btn-toolbar-hover: #ddd;
  --color-content-delimiter: #31c193;
  --color-footer: #31c193;

  /* Tabs */
  --color-tab: #fbfbfb;
  --color-tab-selected: var(--color-toolbar);
  --color-tab-hover: #ddd;
  --color-tab-border: #ededed;
  --color-tab-text: #0062B2;
  --color-btn-tab: #888;
  --color-btn-tab-hover: #fff;
  --color-btn-tab-hover-bg: #999;

  /* Menu */
  --color-menu: #f9f9f9;
  --color-menu-border: var(--color-border-default);
  --color-menu-hover: #5a8df0;
  --color-menu-text: #000;
  --color-menu-text-hover: #fff;
  --color-menu-text-disabled: #ACA899;
  --color-popup-shadow: 1px 2px 5px rgba(0,0,0,0.5);

  /* Tasklist */
  --color-tasklist-row: var(--color-bg);;
  --color-tasklist-row-border: var(--color-row-underlinig);
  --color-tasklist-row-inter-border: #f0f0f0;
  --color-tasklist-row-expanded-border: var(--color-tasklist-row-border);
  --color-tasklist-tag: var(--color-tab-text);
  --color-tasklist-note-link: #777;
  --color-tasklist-link-hover: var(--color-link); /* #af0000 */
  --color-taglist-text-hover: var(--color-bg);
  --color-taglist-text-hover-bg: var(--color-btn-tab-hover-bg);
  --color-tasklist-listname: #555;
  --color-tasklist-listname-bg: #eee;

  /* Priority */
  --color-priority-none: #dedede;
  --color-priority-low: #00b548;
  --color-priority-high: #ff7700;
  --color-priority-urgent: #ff3333;
  --color-priority-text: #fff;

  /* DueDates */
  --color-duedate-default: var(--color-tab-text);
  --color-duedate-soon: #FF0033;
  --color-duedate-today: #FF0000;
  --color-duedate-past: #A52A2A;


  /* Markdown */
  --color-md-border: #ddd;
  --color-md-bg-highlighted: #f8f8f8;
  --color-md-text-blockquote: #777;

  /* Settings */
  --color-settings-row: #f5f5f5;

  /* */
  --color-placeholder: #ddd;
  --color-placeholder-border: #aaa;

  /*--svg-select: url(images/select.svg);*/
  --svg-select: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxNCI+PHBvbHlsaW5lIHBvaW50cz0iMiA2LCA3IDExLCAxMiA2IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iIzQ0NCIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==");
}

/*	default style	*/

html {
  height:100%;
  /*overflow-y:hidden; /* for modal overlay to disable scrolling, but breaks position:absolute */
  font-size:14px; /* =1rem */
}
body {
  margin: 0px;
  padding: 0px;
  width: 100%;
  height: 100%;
  background-color: var(--color-bg);
  color: var(--color-text-default);
  display:flex;
  flex-direction:column;
  align-items:center;
  overflow-y: scroll; /* always show scrollbar */
}
body, td, th, input, textarea, select, button {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", /*Roboto,*/ Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  font-size: 1rem;
}
#eztdlist {
  flex: 1 0 auto;
  width:100%;
  max-width:1000px;
  padding:8px;
  margin-bottom:8px;
  box-sizing: border-box;
}

form { display: inline; }
.topblock h2 {
  margin:0;
  font-size:1.5rem;
  padding-left: 30px;
  padding-right: 10px;
  background: url(images/logo.gif) no-repeat top left;
  background-size: 24px 24px;
}
#eztdlist.ajax-loading .topblock h2 {
  background-image: url(images/logo-loading.gif);
}

/* preload images */
body::after {
  position:absolute; width:0; height:0; overflow:hidden; z-index:-1;
  content:url(images/logo-loading.gif) url(images/checkmark.svg) url(images/arr-right.svg) url(images/closetag.svg)  url(images/rss.svg) url(images/rss-disabled.svg);
}

h3.page-title { margin:0; border-bottom:2px solid var(--color-content-delimiter); margin-bottom:10px; padding:0.6rem 0; font-size:1.1rem; }
a { color: var(--color-link); cursor:pointer; text-decoration:underline; }

.topblock { display:flex; align-items:flex-start; margin-bottom:1rem; }
#footer { flex-shrink:0; width:100%; max-width:1000px; }
#footer_content {
  background-color: var(--color-footer);
  border-top: 1px solid var(--color-content-delimiter);
  padding:0.7rem;
  font-size:0.9rem;
  display:flex;
  justify-content:space-between;
}
#footer_content span:last-child { text-align:center; }
#footer_content a {
  color: var(--color-text-default);
}
#footer_content a.powered-by-link { font-weight:bold; }

.topblock-title {
  display:flex;
  align-items:center;
  min-width: 0; /* required for h2 ellipsis */
}
.topblock-bar { flex-grow:1; display:flex; justify-content:flex-start; border-bottom:1px solid var(--color-content-delimiter); padding-bottom:5px; }
.bar-menu {
  flex-grow:1;
  display:flex;
  justify-content:flex-end;
  text-align:right;
  white-space: nowrap;
}
.bar-menu > * {
  margin-left: 10px;
}


#eztdlist.no-need-auth .eztdlist-need-auth-enabled { display:none; }

.form-input {
  padding: 3px;
  border: 1px solid var(--color-border-default);
  background-color: var(--color-input-bg);
  border-radius: 2px;
  transition: box-shadow .15s ease-in-out;
}
select.form-input {
  appearance: none;
  -webkit-appearance: none; -moz-appearance: none;
  background: var(--color-input-bg) var(--svg-select) no-repeat top 4px right 5px;
  background-size: 1rem 1rem;
  padding-right: calc(1rem + 10px);
}
.form-input:focus {
  outline: none;
  border-color: var(--color-border-focus);
  box-shadow: 0 0 0 2px var(--color-border-focus-shadow);
}
.form-bottom-buttons {
  display: flex;
  justify-content: center;
  padding: 1rem 0;
}
.form-bottom-buttons > * {
  min-width: 4rem;
  padding: 4px 6px;
  margin: 0 6px;
  background-color: var(--color-submit);
  border: 1px solid var(--color-border-default);
  border-radius: 3px;
}
.form-bottom-buttons > *:hover {
  background-color: var(--color-submit-hover);
}


#page_login {
  max-width: 250px;
  margin:0 auto; /* center */
  margin-top: 100px;
}
#authform {
  background-color: var(--color-menu);
  border: 1px solid var(--color-menu-border);
  border-radius: 5px;
}
#authform .auth-content {
  padding: 1.5rem;
}
#authform div { padding:2px 0px; }
#authform .form-bottom-buttons {
  border-top: 1px solid var(--color-border-default);
  padding: 0.8rem 0;
}

#authform div.h { font-weight:bold; }
#authform input[type=password] { width: 100%; box-sizing: border-box; }

#msg .msg-text {  font-weight:bold; cursor:pointer; padding:0 1px; }
#msg .msg-details {
  display:none;
  padding:1px 4px;
  background-color: var(--color-bg);
  max-width:800px;
  position:absolute;
  z-index:2;
  white-space: pre-line;
}
#msg.eztdlist-error .msg-text { background-color: var(--color-error-bg) }
#msg.eztdlist-error .msg-details { border:1px solid var(--color-error-bg);  }
#msg.eztdlist-error .msg-text, #msg.eztdlist-error .msg-details { color: var(--color-error); }
#msg.eztdlist-info .msg-text { background-color: var(--color-info-bg); }
#msg.eztdlist-info .msg-details { border:1px solid var(--color-info-bg); }
#msg.eztdlist-info .msg-text, #msg.eztdlist-info .msg-details { color: var(--color-info); }

#lists { font-size:0.95rem; display:flex; align-items:flex-start; justify-content:flex-end; }
#eztdlist.readonly.no-lists #lists > * { visibility: hidden; }
.tabs-n-button { flex-grow:1; display:flex; align-items:flex-start; }
.tab-height-wrapper { box-sizing:border-box; height:2.2rem; display:flex; align-items:center; }
.eztdlist-tabs { list-style:none; padding:0; margin:0; display:flex; justify-content:flex-start; flex-wrap:wrap; }
.eztdlist-tab { margin:1px 3px 0 0;
  background-color: var(--color-tab);
  border:1px solid var(--color-tab-border);
  border-bottom:none; border-top-right-radius:8px; transition:background-color 0.1s ease-in;
}
.eztdlist-tab a {
  margin:0; text-decoration:none; white-space:nowrap;
  color: var(--color-tab-text);
  display:inline-block; outline:none;
  box-sizing:border-box; height:2.2rem; padding:1px 0.3rem 0 0.3rem; display:flex; align-items:center;
}
.eztdlist-tab a:active { outline:0; text-decoration:none; }
.eztdlist-tab a>span {
  display:inline-block;
  text-align:center;
  min-width:75px;
  max-width:195px;
  cursor:pointer;
  padding:0;
  overflow:hidden;
  text-overflow: ellipsis;
  margin-left:0.3rem;
  margin-right:0.3rem;
}
.eztdlist-tab .list-action { display:none; }
.eztdlist-tab .eztdlist-img-button:hover,
.eztdlist-tab .eztdlist-img-button.eztdlist-menu-button-active {
  background-color:var(--color-btn-tab-hover-bg);
}
.eztdlist-tab .eztdlist-img-button > span {
  width: 8px; height: 8px;
  mask: url(images/arrdown2.svg) no-repeat; -webkit-mask: url(images/arrdown2.svg) no-repeat;
  background-color: var(--color-btn-tab);
  transition: background-color 0.1s ease-in; /* animate together with button background */
}
.eztdlist-tab .eztdlist-img-button:hover > span,
.eztdlist-tab .eztdlist-img-button.eztdlist-menu-button-active > span {
  background-color: var(--color-btn-tab-hover);
}
.eztdlist-tab.eztdlist-tab-selected .list-action { display:block; }
.eztdlist-tab.eztdlist-tab-selected { border-color: var(--color-tab-selected); background-color: var(--color-tab-selected); }
.eztdlist-tab:not(.eztdlist-tab-selected):hover { background-color: var(--color-tab-hover); }
.eztdlist-tab.eztdlist-tab-selected a { color: var(--color-text-default); }

.eztdlist-tab-hidden { display:none; }
.eztdlist-tab-sort-placeholder {
  background-color: var(--color-placeholder);
  border-color: var(--color-placeholder-border);
}

#tabs_buttons {
  padding-left:2px; padding-right:2px;
  border-top:1px solid transparent;
  margin-top:1px;
}

.eztdlist-tabs-new-button { display:inline-block; margin-top:1px; border:1px solid var(--color-tab-border); border-bottom:none; border-top-right-radius: 8px;
  background-color: var(--color-tab);
  padding-left:3px; padding-right:3px;
}
.eztdlist-tabs-new-button span {
  display:block;
  width:16px; height:16px;
  mask: url(images/plus.svg) no-repeat; -webkit-mask: url(images/plus.svg) no-repeat;
  background-color: var(--color-tab-text);
}
.eztdlist-tabs-new-button:hover { cursor:pointer; background-color: var(--color-tab-hover); }
#eztdlist.readonly .eztdlist-tabs-new-button { display:none; }

.eztdlist-tabs-select-button > span {
  mask: url(images/selectlist2.svg) no-repeat; -webkit-mask: url(images/selectlist2.svg) no-repeat;
  background-color: var(--color-tab-text);
}

.eztdlist-img-button {
  padding: 5px;
  display:block;
  border-radius:4px;
  transition:background-color 0.1s ease-in;
  cursor:pointer;
}
.eztdlist-img-button:hover,
.eztdlist-img-button.eztdlist-menu-button-active {
  background-color: var(--color-btn-hover);
}
.eztdlist-img-button span { display:block; width:16px; height:16px; }

#eztdlist.no-lists         #toolbar > * { visibility:hidden; }
#eztdlist.no-list-selected #toolbar > * { visibility:hidden; }
#eztdlist.readonly.no-lists #toolbar { visibility: hidden; }
#toolbar  {
  padding:8px;
  border-bottom:1px solid var(--color-row-underlinig);
  background: var(--color-toolbar);
}
#toolbar .eztdlist-img-button:hover {
  background-color: var(--color-btn-toolbar-hover);
}

.arrdown, .arrdown2  {
  display: inline-block;
  height: 9px; width:9px;
  mask: url(images/arrdown2.svg) no-repeat; -webkit-mask: url(images/arrdown2.svg) no-repeat;
  background-color: var(--color-btn-default);
}
.arrdown2 {
  height:7px; width:7px;
}

.newtask-n-search-container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* Quick Task Add */
.taskbox-c { flex-grow:1; display:flex; align-items:center; }
.eztdlist-taskbox { position:relative; padding-left:22px; /*input padding+border*/ flex-grow:1; max-width:430px; }
#task {
  color: var(--color-text-reduced);
  background: var(--color-bg);
  height:1.35rem; padding:2px 4px; padding-right:20px; border:1px solid var(--color-border-default); border-radius:3px; width:100%; margin-left:-24px;
}
#eztdlist.show-all-tasks .taskbox-c,
#eztdlist.readonly .taskbox-c {
  visibility: hidden;
}

.eztdlist-taskbox-icon {
  width:16px; height:16px;
  position:absolute;
  top:50%;
  right:2px;
  margin-top:-8px;
  cursor:pointer;
  mask: url(images/add.svg) no-repeat; -webkit-mask: url(images/add.svg) no-repeat;
  background-color: var(--color-btn-reduced);
  transition: background-color 0.1s ease-in;
}
.eztdlist-taskbox-icon:hover {
  background-color: var(--color-btn-reduced-hover);
}
#newtask_adv { margin-left:0.5rem; }
#newtask_adv span {
  mask: url(images/newtask-ext.svg) no-repeat; -webkit-mask: url(images/newtask-ext.svg) no-repeat;
  background-color: var(--color-btn-reduced);
}


/* Live Search */
#search {
 color: var(--color-text-reduced);
 background: var(--color-bg);
 height:1.35rem; padding:2px 20px; width:100%; margin-left:-42px; /*padding+border*/
 border:1px solid var(--color-border-default); border-radius:10px;
}
#search_close { display:none; }

.eztdlist-searchbox { position:relative; padding-left:42px; /*input padding+border*/ }
.eztdlist-searchbox-icon { width:16px; height:16px; position:absolute; top:50%; margin-top:-8px; }
.eztdlist-searchbox-icon.eztdlist-icon-search {
  left:4px;
  mask: url(images/search.svg) no-repeat; -webkit-mask: url(images/search.svg) no-repeat;
  background-color: var(--color-btn-reduced);
}
.eztdlist-searchbox-icon.eztdlist-icon-cancelsearch {
  right:4px;
  cursor:pointer;
  mask: url(images/search-cancel.svg) no-repeat; -webkit-mask: url(images/search-cancel.svg) no-repeat;
  background-color: var(--color-btn-reduced);
  transition: background-color 0.1s ease-in;
}
.eztdlist-searchbox-icon.eztdlist-icon-cancelsearch:hover {
  background-color: var(--color-btn-reduced-hover);
}

#searchbar { font-size:1rem; font-weight:normal; display:none;  margin-top:0.5rem; }
#searchbarkeyword { font-weight:bold; }

/* */
#page_tasks h3 { display:flex; align-items:baseline; }
#eztdlist.no-lists         #page_tasks h3 { visibility:hidden; }
#eztdlist.no-list-selected #page_tasks h3 { visibility:hidden; }
.eztdlist-notes-showhide { font-size:1rem; font-weight:normal; margin-left:5px; margin-right:5px; }
.eztdlist-notes-showhide a { text-decoration:none; border-bottom:1px dotted; }


/* Tag Toolbar */
#eztdlist-tag-toolbar { font-size:1.0rem; font-weight:normal; margin-top:0.5rem; line-height:1.5rem; display:flex; }
.tag-toolbar-content { flex:auto; margin-bottom:-3px; }
.tag-toolbar-close { flex-shrink:0; }
.tag-toolbar-header { font-weight:normal; }
.tag-filter {
  margin-left:3px;
  margin-right:3px;
  display:inline-flex;
  align-items:center;
  border:1px solid var(--color-border-default);
  border-radius:2rem;
  background-color: var(--color-bg);
  padding:0.1rem 0.5rem;
  margin-bottom:3px;
  cursor:pointer;
}
.tag-filter-exclude { text-decoration:line-through; }
.eztdlist-filter-header { font-weight:bold; margin-right:.33rem; }
.tag-filter-btn {
  margin-left:3px;
  display:inline-block;
  width:1em; height:1em; /* em! */
  mask: url(images/closetag.svg) no-repeat; -webkit-mask: url(images/closetag.svg) no-repeat;
  background-color: var(--color-btn-reduced);
  transition: background-color 0.1s ease-in;
}
.tag-filter:hover .tag-filter-btn {
  background-color: var(--color-btn-reduced-hover);
}
#eztdlist-tag-toolbar-close span {
  mask: url(images/closetag.svg) no-repeat; -webkit-mask: url(images/closetag.svg) no-repeat;
  background-color: var(--color-btn-reduced);
}

/* Tasklist */

.task-toggle {
  visibility: hidden;
  cursor: pointer;
  width: 1rem; height: 1rem;
  display: inline-block;
  margin-right: 2px;
  mask: url(images/note-toggle.svg) no-repeat; -webkit-mask: url(images/note-toggle.svg) no-repeat;
  background-color: var(--color-btn-reduced);
  transition: transform .1s linear, background-color .1s ease-in;
}
.task-toggle::after { /* for baseline */
  content:'0';
  color:transparent;
}
.task-toggle:hover {
  background-color: var(--color-btn-reduced-hover);
}
li.task-row.task-has-note .task-toggle { visibility:visible; }
li.task-row.task-expanded .task-toggle { transform:rotate(90deg); }

/* #tasklist input[type="checkbox"] { vertical-align:-1px; } /* Chrome */

#tasklist { list-style-type: none; margin: 0; padding: 0;}
#tasklist li.task-row {
  border:1px solid transparent; /* allocate space for expanded border */
  border-bottom:1px solid var(--color-tasklist-row-border);
  margin-bottom: 4px;
  min-height:20px;
  background-color: var(--color-tasklist-row); /* ?? */
  position:relative; /* for z-index */
}
#tasklist li.task-row:hover,
#tasklist li.task-row.menu-active {
  z-index: 1;
}
#tasklist .task-block {
   display: flex;
   justify-content: flex-start;
   align-items: stretch;
   padding: 0.5rem 3px;
}
#tasklist li.task-row.task-expanded {
  border:1px solid var(--color-tasklist-row-expanded-border);
  border-radius: 3px;
}
#tasklist li.task-row.task-has-note.task-expanded .task-block {
  border-bottom: 1px solid var(--color-tasklist-row-inter-border);
}
.task-left {
  display: flex;
  align-items: center;
  height: 1.2rem; /* same as line-height of task-middle */
}
.task-middle {
  flex-grow:1;
  margin-left: 5px;
  align-items: baseline;
  line-height: 1.2rem;
  min-width: 0; /*for long text*/
}
.task-middle-top {
  display: flex;
}
.task-actions { flex:0 0 1rem; margin-left:5px; }

.task-left label { min-width:18px; text-align:center; } /* Safari has small checkboxes */
.task-date {
  color: var(--color-text-reduced3);
  font-size: 0.8rem;
  margin-top: 0.2rem;
  display: none;
}
.task-id {
  /*display: none;*/
}
#eztdlist.show-inline-date .task-date { display: block; }
.task-through { overflow:hidden; flex-grow:1; }
.task-title a { color: var(--color-text-default); }
.task-title a:hover { color: var(--color-tasklist-link-hover); }
#eztdlist.readonly #tasklist li.task-row .task-actions { display:none; }
.task-listname {
  background-color: var(--color-tasklist-listname-bg);
  color: var(--color-tasklist-listname);
  padding: 0px 3px;
  margin: 0px 2px;
}
.task-tags { padding:0px 2px; }
.task-tags .tag { font-size:0.9rem; font-weight:bold; color: var(--color-tasklist-tag); text-decoration:underline;  }
.duedate { color:var(--color-duedate-default); padding:0px; padding-left:1px; margin-left:5px; white-space:nowrap; }
.duedate:before {
  content:'\2192\20';
  font-family: -apple-system, "Segoe UI", "DejaVu Sans", sans-serif;
}
li.task-row.task-completed .duedate { /*font-size:0.8rem;*/ display:none; }
#tasklist li.task-row.soon  .duedate { color: var(--color-duedate-soon); }
#tasklist li.task-row.today .duedate { color: var(--color-duedate-today); }
#tasklist li.task-row.past  .duedate { color: var(--color-duedate-past); }

#tasklist li.task-row.task-completed  { opacity:0.6; }
#tasklist li.task-row.task-completed .task-through { text-decoration:line-through; }
#tasklist li.task-row.task-completed:hover { opacity:1.0; }

#tasklist li.task-row.not-in-tagpreview  {
  opacity: 0.1;
}
#tasklist .eztdlist-task-placeholder {
 min-height: 0px;
 padding: 0px;
 height: 18px;
 line-height: 18px;
 background-color: var(--color-placeholder);
 border: 1px solid var(--color-placeholder-border);
 border-radius: 5px;
}

.taskactionbtn {
  height: 1rem;
  width: 1rem;
  visibility: hidden; /* allocate space */
  mask: url(images/task-menu2.svg) no-repeat; -webkit-mask: url(images/task-menu2.svg) no-repeat;
  background-color: var(--color-btn-reduced);
  transition: background-color 0.1s ease-in;
}
.taskactionbtn::after {  /* for baseline */
  content:'0';
  color:transparent;
}
li.task-row:hover .taskactionbtn {
  visibility:visible;
}
.taskactionbtn:hover,
.taskactionbtn.eztdlist-menu-button-active {
  visibility:visible;
  cursor:pointer;
  background-color: var(--color-btn-reduced-hover);
}

#tasklist.filter-past  li.task-row,
#tasklist.filter-today li.task-row,
#tasklist.filter-soon  li.task-row {
  display:none;
}
#tasklist.filter-past  li.task-row.past,
#tasklist.filter-today li.task-row.today,
#tasklist.filter-soon  li.task-row.soon {
  display:block;
}
#tasklist.filter-past  li.task-row.task-completed,
#tasklist.filter-today li.task-row.task-completed,
#tasklist.filter-soon  li.task-row.task-completed {
  display:none;
}

.task-note-block {
  padding: 10px 2rem;
  color: var(--color-text-reduced);
  background-size:16px 16px;
  min-height:16px;
  display:none;
  white-space:normal;
  word-wrap:break-word;
}
li.task-row.task-expanded .task-note-block { display:block; }
li.task-row.task-completed .task-note-block .task-note { text-decoration:line-through; }
.task-note-area { display:none; margin-bottom:5px; }
.task-note-area textarea { color:var(--color-text-reduced); width:100%; display:block; height:65px; }
.task-note-actions { font-size:0.8rem; }
.hidden { display:none; }
.invisible { visibility:hidden; }
.in500 { width:500px; color: var(--color-text-reduced); }
.in100 { width:100px; color: var(--color-text-reduced); }
.task-note a { color: var(--color-tasklist-note-link); }
.task-note a:hover { color: var(--color-tasklist-link-hover) }

.task-prio { padding-left:2px; padding-right:2px; margin-left:0px; margin-right:5px; cursor:default; }
.prio-neg { background-color:var(--color-priority-low); color: var(--color-priority-text); }
.prio-pos { background-color:var(--color-priority-urgent); color:var(--color-priority-text); }
.prio-pos-1 { background-color:var(--color-priority-high); color:var(--color-priority-text); }
.task-prio.prio-zero { display:none; }

/* */

#tasks_info {
  display: flex;
  justify-content: center;
  align-content: center;
  flex-direction: column;
  min-height: 100px;
  border: 1px solid var(--color-border-default);
  border-radius: 5px;
}
#tasks_info .v {
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
}


.form-row { margin-top:0.6rem; }
.form-row .h {
  font-weight:bold;
  color: var(--color-text-reduced);
}
.form-row div.h { margin-bottom:3px; }
.form-row-short-end { clear:both; }
#page_taskedit .form-row .in500 { width:100%; box-sizing:border-box; }
#page_taskedit .form-row textarea.in500 {
  height:300px;
  font-size:13px;
  font-family: ui-monospace,Consolas,"SF Mono",Menlo,"Liberation Mono",monospace;
  white-space: pre;
  padding: 5px;
}
#page_taskedit .form-row-short { float:left; margin-right:12px; }
#alltags .tag { font-weight:bold; color:var(--color-tasklist-tag); }
#alltags .tag:hover {
  background-color:var(--color-taglist-text-hover-bg);
  color: var(--color-taglist-text-hover);
}
.alltags-cell { width:1%; white-space:nowrap; padding-left:5px; }
#page_taskedit.eztdlist-inadd .eztdlist-inedit { display:none; }
#page_taskedit.eztdlist-inedit .eztdlist-inadd { display:none; }
#taskedit_id {
  color: var(--color-text-reduced2);
  font-weight: normal;
  margin-left: 5px;
}
#taskedit_info { font-size:1rem; font-weight:normal; color:var(--color-text-reduced2); margin-bottom:6px; }
#taskedit_info > div { margin-top:6px; }

a.eztdlist-back-button { font-size:1rem; }
h3.page-title a.eztdlist-back-button {
  display:inline-block;
  width:1.3rem;
  height:1.3rem;
  padding-right:0.4rem;
  position: relative;
  top:4px;
  mask: url(images/back.svg) no-repeat; -webkit-mask: url(images/back.svg) no-repeat;
  background-color: var(--color-btn-default);
}

/* autocomplete */
.ui-helper-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.ui-autocomplete {
  position: absolute;
  padding:0px;
  border:1px solid var(--color-border-default);
  background-color: var(--color-menu);
  overflow:hidden;
  z-index:99999;
  box-shadow: var(--color-popup-shadow);
}
.ui-autocomplete .ui-menu-item { margin: 0px; cursor:default; overflow: hidden;  }
.ui-autocomplete .ui-menu-item-wrapper { position: relative; padding:0.3rem 4px; }
.ui-autocomplete .ui-menu-item-wrapper.ui-state-active { background-color:var(--color-menu-hover); color: var(--color-menu-text-hover); }

#priopopup { overflow: hidden; z-index:100;
  background-color: var(--color-menu);
  border:1px solid var(--color-border-default); padding:5px; }
#priopopup span { cursor:pointer; border:1px solid var(--color-menu); padding:1px; }
#priopopup .prio-zero:hover { border-color: var(--color-priority-none); }
#priopopup .prio-neg:hover { border-color: var(--color-priority-low); }
#priopopup .prio-pos:hover { border-color: var(--color-priority-urgent); }
#priopopup .prio-pos-1:hover { border-color: var(--color-priority-high); }

#tagcloudbtn {
  font-size: 1rem;
  font-weight: normal;
  margin-left: auto;
}
#tagcloud {
  overflow: hidden; z-index:100;
  background-color:var(--color-menu);
  border:1px solid var(--color-border-default);
  width: 100%;
  max-width: 600px;
  text-align: center;
  box-shadow: var(--color-popup-shadow);
  border-radius: 5px;
}
#tagcloud.eztdlist-left-adjusted { margin-left:5px; }
#tagcloud.eztdlist-right-adjusted { margin-right:5px; }
#tagcloud.eztdlist-left-adjusted.eztdlist-right-adjusted { margin-bottom:5px; }
#tagcloud > div {
  padding:5px;
}
#tagcloud .tag {
  margin: 2px;
  padding: 2px;
  line-height:160%;
  color: var(--color-text-default);
  cursor: pointer;
  text-decoration: underline;
  white-space: nowrap;
}
#tagcloud .tag:hover {
  background-color:var(--color-taglist-text-hover-bg);
  color: var(--color-taglist-text-hover);
}
#tagcloudload {
  display:none;
  height:24px;
  background:url(images/loading48.gif) center no-repeat;
  background-size:24px 24px;
}
#tagcloud .actions {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--color-menu-border);
}
#tagcloud .actions > *:first-child {
  flex-grow: 1;
}
#tagcloudAllLists:disabled + label {
  opacity: 0.6;
}
#tagcloudcancel span {
  mask: url(images/closetag.svg) no-repeat; -webkit-mask: url(images/closetag.svg) no-repeat;
  background-color: var(--color-btn-reduced);
}
#tagcloudcontent {
  overflow: hidden;
  text-overflow: ellipsis;
}


.ui-datepicker {
  width: 250px;
  z-index: 202;
  border: 1px solid var(--color-menu-border);
  background: var(--color-menu);
  display: none;
  padding: 2px;
  box-shadow: var(--color-popup-shadow);
  border-radius: 5px;
}
.ui-datepicker-trigger { cursor:pointer; vertical-align:text-bottom; margin-left:4px; margin-right:4px; width:16px; height:16px; }
.ui-datepicker-calendar { width:100%; border-collapse:collapse; }
.ui-datepicker-calendar thead th { text-align:center; padding:1px; font-size:0.9rem; }
.ui-datepicker-calendar tbody td { text-align:right; padding:1px;  }
.ui-datepicker-calendar td a {
  display:block;
  text-decoration:none;
  border:1px solid var(--color-border-default);
  background-color:var(--color-menu);
  color:var(--color-text-reduced);
  padding:4px;
}
.ui-datepicker-calendar td.ui-datepicker-current-day a {
  background-color: var(--color-menu-hover);
  color: var(--color-menu-text-hover);
  border-color: var(--color-menu-hover);
}
.ui-datepicker-calendar td.ui-datepicker-today a {
  color: var(--color-menu-text-hover);
  background-color: var(--color-border-default);
}
.ui-datepicker-calendar td a:hover {
  border-color: var(--color-link);
}
.ui-datepicker-header { padding:3px 0px; }
.ui-datepicker-prev { position:absolute; left:2px; height:20px; text-decoration:none; }
.ui-datepicker-next { position:absolute; right:2px; height:20px; text-decoration:none; }
.ui-datepicker-title { text-align:center; line-height:20px; }
.ui-icon { width:16px; height:16px; text-indent:-99999px; overflow:hidden; }
.ui-datepicker .ui-icon-circle-triangle-w { display:block; position:absolute; top:50%; margin-top:-8px; left:50%;
  mask: url(images/arr-left.svg) no-repeat; -webkit-mask: url(images/arr-left.svg) no-repeat;
  background-color: var(--color-btn-default);
}
.ui-datepicker .ui-icon-circle-triangle-e { display:block; position:absolute; top:50%; margin-top:-8px; right:50%;
  mask: url(images/arr-right.svg) no-repeat; -webkit-mask: url(images/arr-right.svg) no-repeat;
  background-color: var(--color-btn-default);
}


.eztdlist-menu-button {
  user-select: none;
  cursor:pointer;
  padding:4px;
  transition:background-color 0.1s ease-in;
}
.eztdlist-menu-button:hover,
.eztdlist-menu-button.eztdlist-menu-button-active {
  background-color: var(--color-btn-hover);
  border-radius:4px;
}

/* Menu */

.eztdlist-menu-container {
  overflow: hidden;
  max-width: 100vw;
  z-index: 100;
  background-color: var(--color-menu);
  border: 1px solid var(--color-menu-border);
  padding: 2px 0px;
  box-shadow: var(--color-popup-shadow);
  border-radius: 5px;
  user-select: none;
}
.eztdlist-menu-container.eztdlist-left-adjusted { margin-left:5px; }
.eztdlist-menu-container.eztdlist-right-adjusted { margin-right:5px; }
.eztdlist-menu-container.eztdlist-right-adjusted.eztdlist-left-adjusted { margin-bottom:5px; }
.eztdlist-menu-container ul { list-style: none; padding:0; margin:0; }
.eztdlist-menu-container li {
  margin:1px 0px;
  cursor:default;
  color: var(--color-menu-text);
  white-space:nowrap;
  padding-top:0.20rem; padding-bottom:0.20rem; padding-left:28px; padding-right:28px;
  position:relative;
  overflow:hidden;
  text-overflow:ellipsis;
}
.eztdlist-menu-container li:hover,
.eztdlist-menu-container li.eztdlist-menu-item-active {
  background-color: var(--color-menu-hover);
  color: var(--color-menu-text-hover);
}
.eztdlist-menu-container li.eztdlist-item-disabled,
.eztdlist-menu-container li.eztdlist-item-disabled a {
  color: var(--color-menu-text-disabled);
}
.eztdlist-menu-container a {
  display:block;
  cursor:default;
  text-decoration:none;
  outline:none;
  color: var(--color-menu-text);
  overflow:hidden;
  text-overflow:ellipsis;
  }
.eztdlist-menu-container li:hover a {
  color: var(--color-menu-text-hover);
}
.eztdlist-menu-container li.eztdlist-menu-delimiter { height:0px; line-height:0; border-bottom:1px solid var(--color-menu-border); margin:2px -1px; padding:0px; font-size:0px; }
.eztdlist-menu-container .menu-icon { width:16px; height:16px; position:absolute; left:6px; top:50%; margin-top:-8px; }
li.eztdlist-item-checked .menu-icon {
  mask: url(images/checkmark.svg) no-repeat; -webkit-mask: url(images/checkmark.svg) no-repeat;
  background-color: var(--color-btn-default);
}
li.eztdlist-menu-indicator .submenu-icon {
  position:absolute; right:6px; top:50%; margin-top:-8px;
  width:16px; height:16px;
  mask: url(images/arr-right.svg) no-repeat; -webkit-mask: url(images/arr-right.svg) no-repeat;
  background-color: var(--color-btn-default);
}
li.eztdlist-item-hidden { display:none; }

#slmenucontainer li.eztdlist-list-hidden a { font-style:italic;color:#cccccc }
#cmenulistscontainer li.eztdlist-list-hidden { font-style:italic;color:#cccccc }
#eztdlist.readonly .eztdlist-need-list { display:none; }
#eztdlist.readonly .eztdlist-only-authorized { display:none; }

/**/

#btnRssFeed .menu-icon { background:url(images/rss.svg) no-repeat; }
#btnRssFeed.eztdlist-item-disabled .menu-icon { background:url(images/rss-disabled.svg) no-repeat; }

#task, #search {
  transition: box-shadow .15s ease-in-out;
}
#task:focus, #search:focus {
  outline: none;
  border-color: var(--color-border-focus);
  box-shadow: 0 0 0 2px var(--color-border-focus-shadow);
}

.monospace {
  font-family: ui-monospace,Consolas,"SF Mono",Menlo,"Liberation Mono",monospace;
}

.eztdlist-settings-table { width:100%; }
.eztdlist-settings-table .tr {
   padding: 10px 0;
  vertical-align:top;
  display: flex;
}
.eztdlist-settings-table .tr:not(:last-child) {
  border-bottom:1px solid var(--color-row-underlinig);
}
.eztdlist-settings-table .th, .eztdlist-settings-table .td {
  padding: 0 10px;
}
.eztdlist-settings-table .th {
    width: 30%;
    font-weight: bold;
}
.eztdlist-settings-table .td {
  flex-grow: 1;
  line-height: 1.5em;
}
.eztdlist-settings-table .td.extensions {
  line-height: 1.7em;
}
.eztdlist-settings-table .descr {
  display: block;
  font-size:0.8rem;
  font-weight:normal;
  color:var(--color-text-reduced);
  padding-top: 4px;
}
.eztdlist-settings-table .in350 { min-width:350px; }
.eztdlist-settings-table textarea.in350 { height:400px; }
.eztdlist-settings-table textarea.inmax { height:400px; width:100%; }
.eztdlist-settings-table input,
.eztdlist-settings-table select,
.eztdlist-settings-table button,
.eztdlist-settings-table textarea  {
  padding: 3px;
  border: 1px solid var(--color-border-default);
  border-radius: 2px;
  background-color: var(--color-input-bg);
  color: var(--color-text-default);
}
.eztdlist-settings-table select {
  appearance: none;
  -webkit-appearance: none; -moz-appearance: none;
  background: var(--color-input-bg) var(--svg-select) no-repeat top 4px right 5px;
  background-size: 1rem 1rem;
  padding-right: calc(1rem + 10px);
}
.eztdlist-settings-table input:focus,
.eztdlist-settings-table select:focus {
  outline:none;
  border-color: var(--color-border-focus);
  box-shadow:0 0 0 2px var(--color-border-focus-shadow);
}
.eztdlist-settings-table a {
  color: var(--color-text-default);
}
.eztdlist-settings-table button {
  padding: 3px 6px;
  border-radius: 3px;
}
.eztdlist-settings-table button:hover {
  background-color: var(--color-btn-hover);
}
.eztdlist-settings-table .form-bottom-buttons button {
  min-width: 4rem;
  padding: 4px 6px;
  margin: 0 6px;
  background-color: var(--color-submit);
  border: 1px solid var(--color-border-default);
  border-radius: 3px;
}
.eztdlist-settings-table .form-bottom-buttons button:hover {
  background-color: var(--color-submit-hover);
}

#modal {
  position: fixed;
  z-index: 1000;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  min-width: 350px;
  max-width: 1000px; /* same as #eztdlist */
  border: 1px solid var(--color-menu-border);
  background: var(--color-bg);
  box-shadow: var(--color-popup-shadow);
  border-radius: 5px;
  opacity: 1;
}
#modal .modal-content {
  padding: 1.5rem;
}
#modal .modal-content input {
  margin-top: 1.5rem;
  width: 100%;
}
#modal input {
  padding: 3px;
  border: 1px solid var(--color-border-default);
  border-radius: 2px;
}
#modal .modal-bottom {
  border-top: 1px solid var(--color-border-default);
  padding: 0.8rem;
}

/* font for small screens */
@media only screen and (max-width: 600px),  only screen and (max-height: 600px) {
  html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%; /* Dont increase font-size in horizontal orientation on ios */
  }
  #page_taskedit .form-row textarea.in500 { font-size: 14px; }
}

/* narrow screens */
@media only screen and (max-width: 600px) {

  #eztdlist { padding: 15px 8px 0px; }
  #eztdlist.page-ajax .topblock { display: none; } /* hide topmost block if settings pages is opened */
  #eztdlist.page-taskedit .topblock { display: none; } /* hide topmost block if edit/add task  page is opened */

  h2 { font-size:1rem; }
  .topblock h2 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; /* min-width of parent flex is required for this */
  }

  .eztdlist-img-button { padding:4px; }
  .eztdlist-menu-button { padding:4px; }
  h3.page-title a.eztdlist-back-button { width:2rem; }

  .eztdlist-tabs-new-button { padding-left:0.4rem; padding-right:0.4rem; } /* make thiсker */

  /* singletab */
  li.eztdlist-tab { display:none; }
  li.eztdlist-tab.eztdlist-tab-selected { display:block; }

  #task { padding:5px; padding-right:18px; margin-left:-22px; }
  #task_placeholder span { padding:6px; }

  .searchbox-c { width:30%; max-width:190px; }
  #toolbar.eztdlist-intask .searchbox-c { display:none; }
  #toolbar.eztdlist-insearch .taskbox-c { display:none; }
  #toolbar.eztdlist-insearch .searchbox-c { width:100%; max-width:100%; }
  #search { padding:5px 20px; border-radius:15px; }

  .task-date {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .task-note-actions { display:block; padding-top:8px; }
  .task-note-block {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    display: none;
  }
  .task-note-area textarea { width:95%; }
  .taskactionbtn {
    padding: 2px 0.5rem;
    mask-origin: content-box;
    -webkit-mask-origin: content-box;
    visibility: visible;
  }
  .duedate:before {
    content:'\279d\20'; /* Use another arrow, because Rightwards Arrow U+2192 is ugly in Noto font used in some Androids */
  }

  #tasklist li.task-row .task-through { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #tasklist li.task-row.task-expanded .task-note-block { display:none; }
  #tasklist li.task-row.clicked {
    border:1px solid var(--color-tasklist-row-expanded-border);
    border-radius: 3px;
  }
  #tasklist li.task-row.task-has-note.clicked .task-block {
    border-bottom: 1px solid var(--color-tasklist-row-inter-border);
  }
  #tasklist li.task-row.clicked .task-actions { display:block; }
  #tasklist li.task-row.clicked .task-through { white-space:normal; display:inline; }
  #tasklist li.task-row.clicked.task-has-note .task-note-block { display:block; }
  .task-toggle { display:none; }
  #tasklist .eztdlist-task-placeholder { line-height:1rem; padding-top:0.6rem; padding-bottom:0.6rem; }
  #tasklist .ui-sortable-helper { box-shadow:0px 0px 3px #555; }

  #page_taskedit { max-width:100%; border:none; position:static; padding:0; }
  #page_taskedit .form-table { width:100%; }
  #page_taskedit .form-row textarea { height: 70px; }

  #loading {  padding:0px; padding-top:1px; padding-right:1px; height:16px; overflow:hidden; }

  #tagcloud { max-width:100%; margin:0px 5px 5px 5px; }
  .eztdlist-settings-table .in350 { min-width:50px; width:100%; }
  .eztdlist-notes-showhide { display:none; }

  .eztdlist-menu-container li { padding-top:0.3rem; padding-bottom:0.3rem; }

  .eztdlist-settings-table .tr { display: block; }
  .eztdlist-settings-table .tr:not(.form-bottom-buttons) {
    background-color:var(--color-settings-row);
    border:1px solid var(--color-settings-row);
    border-radius: 10px;
    padding:10px 15px;
    margin-bottom: 5px;
  }
  .eztdlist-settings-table .th {
    width: auto;
    padding-left: 0px;
  }
  .eztdlist-settings-table .td {
    padding-top: 4px;
    padding-left: 0px;
  }
  .eztdlist-settings-table .td.extensions {
    line-height: 2em;
  }
  .eztdlist-settings-table input , .eztdlist-settings-table select, .eztdlist-settings-table label { margin-top:5px; background-color: var(--color-settings-row); }

  .form-bottom-buttons > * {
    padding: 7px;
    border-radius: 14px;
  }

  #modal {
    min-width: auto;
    width: 90%;
  }

} /* end of @media min 600px */
