@font-face {
  font-family: "poppins-light";
  src: url("../fonts/Poppins-Light.ttf");
  font-display: swap;
}
@font-face {
  font-family: "poppins-medium";
  src: url("../fonts/Poppins-Medium.ttf");
  font-display: swap;
}
@font-face {
  font-family: "poppins-extrabold";
  src: url("../fonts/Poppins-ExtraBold.ttf");
  font-display: swap;
}
:root {
  --light-blue: #f4f5f7;
  --light-purple: #b5adf3;
  --purple: #6c5ce7;
  --grey: #616161;
  --text-dark: #252525;
  --box-shadow: 0 0 0 1px #444, 4px 4px 0 #000;
  --desktop-menu-width: 110px;

  --blue-100: #0984e3;
  --blue-80: #46a3ea;
  --blue-60: #83c1f1;
  --blue-40: #c1e0f8;
  --blue-20: #e5f2fc;

  --red-100: #c63e6e;
  --red-80: #d46e92;
  --red-60: #e29eb6;
  --red-40: #f1ceda;
  --red-20: #f9ebf0;

  --green-100: #02b894;
  --green-80: #41caaf;
  --green-60: #80dbc9;
  --green-40: #bfede4;
  --green-20: #e5f8f4;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "poppins-light";
}

body{
  position: relative;
	background-image:url('../images/background.gif');
  padding-bottom: 100px;
  min-height: 100vh;
  overflow-y: scroll;
}

body,a{
  color:#2D3436;
}
div::-webkit-scrollbar-track
{
  /* -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); */
  border-radius: 10px;
  background-color: transparent;
}

div::-webkit-scrollbar
{
  width: 4px;
  height: 4px;
  background-color: transparent;
}

div::-webkit-scrollbar-thumb
{
  border-radius: 10px;
  /* -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3); */
  background-color: #666666;
}
.poppins-extrabold {
  font-family: "poppins-extrabold";
}
.poppins-medium {
  font-family: "poppins-medium";
}
.quote-crimson-text {
  font-family: "Crimson Text";
}
/* grid */
.d-grid {
  display: grid;
}
.w-100 {
  width: 100%;
}
.h-100 {
  height: 100%;
}
.homepage-grid {
  grid-template-columns: repeat(5, 1fr);
  grid-gap: 30px;
}
.homepage-grid div:last-child {
  grid-column: span 2;
}
@media screen and (max-width: 992px) {
  .homepage-grid {
    grid-template-columns: 1fr;
  }
  .homepage-grid div:last-child {
    grid-column: 1;
  }
}

/* buttons */
.btn {
  border: none;
  outline: none;
  padding: 1px 6px;
  cursor: pointer;
  background: transparent;
  text-decoration: none;
  display: inline-block;
  font-size: 13px;
  text-align: center;
}
.btn-md {
  font-size: 16px;
  padding: 4px 8px;
  min-width: 100px;
}
.btn-primary {
  background: var(--purple)!important;
  color: white;
}
.btn-secondary {
  background: #f1f2f5;
  color: #657075;
}
.btn-danger {
  color: red;
  background: white;
}
.btn-white {
  color: black;
}
.box-shadow {
  border: none;
  box-shadow: var(--box-shadow);
  background-color:white;
}
.border-none {
  border: none;
}
.border {
  border: 1px solid #d4d4d4;
}
.border-rounded {
  border-radius: 50%;
}
.border-top {
  border-top: 1px solid #d4d4d4;
}
.border-bottom {
  border-bottom: 1px solid #d4d4d4;
}
.border-bottom-none {
  border-bottom: none;
}
.border-dashed {
  border: 1px dashed #d4d4d4;
}
.border-bottom-dashed {
  border-bottom: 1px dashed #d4d4d4;
}
.border-top-dashed {
  border-top: 1px dashed #d4d4d4;
}
.border-color-dark {
  border-color: var(--dark);
}
.cursor-pointer {
  cursor: pointer;
}
.user-select {
  user-select: none;
}
.menu-logo {
  width: 125px;
}
.side-menu {
  flex-basis: var(--desktop-menu-width);
}
.side-menu-item {
  background: var(--purple);
  color: white;
  transition: background 200ms;
}
.side-menu-item p {
  opacity: 0;
  height: 18px;
  overflow: hidden;
  font-family: "poppins-medium";
  font-weight: bold;
}
.side-menu-item-active {
  margin-left: -10px;
  margin-right: -10px;
  background: var(--light-purple);
}
.side-menu-item-active p {
  opacity: 1!important;
  height: auto;
}
.side-menu-item:hover {
  margin-left: -10px;
  margin-right: -10px;
  background: var(--light-purple);
}
.side-menu-item:hover p{
  opacity: 1!important;
  height: auto;
}
.sidemenu-mob {
  position: fixed;
  background: rgba(0,0,0, .6);
  display: none;
  opacity: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99999;
  transition: 300ms;
  overflow-y: auto;
}
.sidemenu {
  position: relative;
  left: -100%;
  height: 100%;
  background: white;
  transition: 300ms;
  width: 300px;
  overflow-y: auto;
}
.sidemenu-mob-open .sidemenu {
  left: 0;
}
.sidemenu-close {
  position: absolute;
  right: 0;
  top: 15px;
  line-height: 25px;
  cursor: pointer;
  padding: 15px;
  font-size: 1.6rem;
  user-select: none;
}
.agenda-menu {
  text-decoration: none;
  color: #000;
  border-bottom: 3px solid transparent;
}
.agenda-menu-active {
  border-bottom: 3px solid #000;
}
.agenda-menu:hover {
  border-bottom: 3px solid #000;
}
.sortable-placeholder {
  background: #d4d4d4;
  width: 25%;
  border-bottom: 1.5rem solid white;
  border-left: 15px solid white;
  border-right: 15px solid white;
}
.list-unstyled {
    padding-left: 0;
    list-style: none;
}
.dropdown-menu{
  position:absolute;
  top:100%;
  left:0;
  z-index:1000;
  display:none;
  float:left;
  min-width:10rem;
  padding:.5rem 0;
  margin:.125rem 0 0;
  font-size:1rem;
  color:#212529;
  text-align:left;
  list-style:none;
  background-color:#fff;
  background-clip:padding-box;
  /* border:1px solid rgba(0,0,0,.15); */
  border-radius:.25rem
}
.scroll-icon {
  position: fixed;
  bottom: -50px;
  right: 10px;
  z-index: 999;
  transition: 300ms;
  cursor: pointer;
}
.agenda-table-days {
  width: 100%;
  table-layout: fixed;
}
.agenda-table-one-day-task {
  width: 100%;
  table-layout: fixed;
  font-size: 0px;
  min-height: 16px;
}
#taskDetails .agenda-table-days td {
  padding: 4px 4px 25px 4px;
}
#taskDetailsModal .agenda-table-days td {
  padding: 4px 4px 45px 4px;
}
@media screen and (max-width: 992px) {
  #taskDetailsModal .agenda-table-days td {
    padding: 2px 2px 25px 2px;
  }
}
.agenda-table-one-day-task td {
  padding: 0 5px 0 5px;
}
.agenda-table-one-day-task td span {
  margin-right: 2px;
  margin-bottom: 2px;
}
.agenda-table-multi-day-task {
  width: 100%;
  table-layout: fixed;
  font-size: 0px;
  z-index: 1;
  position: relative;
  min-height: 16px;
}
.agenda-table, .agenda-bg-table {
  position: absolute;
  top:0;
  bottom:0;
  right:0;
  left: 0;
  border-collapse: collapse;
  width: 100%;
  height: 100%;
}
.agenda-table {
  z-index: 11;
}
.agenda-bg-table td {
  border: 1px solid #d4d4d4;
}
.monthly-table-day {
  cursor: pointer;
}
@media screen and (max-width: 992px) {
  .sortable-placeholder {
    background: #d4d4d4;
    width: 100%;
    border-bottom: 1.5rem solid white;
    border-left: 15px solid white;
    border-right: 15px solid white;
  }
  .menu-logo {
    width: 100px;
  }
  .navigation {
    background: white;
    border-bottom: 1px solid #d4d4d4;
  }
  .diagram-list-fixed {
    position: absolute;
    z-index: 100;
    background: white;
    height: 28px;
    width: 200px;
    padding-right: 10px;
    border-top: 1px solid #d4d4d4;
    transform: translateY(-1px);
  }
}
.goal-checkbox[data-check="1"] {
  text-decoration: line-through;
  color: #aaa;
}
/* Colors */
.text-secondary {
  color: var(--grey);
}
.text-white {
  color: #fff;
}
.text-black {
  color: var(--text-dark);
}
.text-mauve{
	color:#7263e8;
}
.bg-purple {
  background: var(--purple);
}
.bg-white {
  background: #fff;
}
.bg-black {
  background: #000;
}
.bg-light {
  background: #f8f9fa;
}
/* Fonts */
.font-weight-normal {
  font-weight: normal;
}
.font-weight-bold {
  font-weight: bold;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-left {
  text-align: left;
}
.text-decoration-none {
  text-decoration: none;
}
.text-decoration-none:hover{
  color:#6C5CE7;
}
.text-decoration-line-through {
  text-decoration: line-through;
}
.fs-05 {
  font-size: 10px;
}
.fs-1 {
  font-size: 12px;
}
.fs-1-5 {
  font-size: 14px;
  line-height: 18px;
}
.fs-2 {
  font-size: 16px;
}
.fs-3 {
  font-size: 18px;
}
.fs-4 {
  font-size: 20px;
}
.fs-5 {
  font-size: 22px;
}
.fs-6 {
  font-size: 24px;
}
.fs-7 {
  font-size: 26px;
}
.fs-8 {
  font-size: 28px;
}
.fs-9 {
  font-size: 30px;
}
.fs-10 {
  font-size: 32px;
}
.text-ellipsis {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.min-width-0 {
  min-width: 0px;
}
.calendar-day-hover {
  background: #b5acf3;
  border-radius: 50%;
  color: white;
}
@media screen and (min-width: 992px) {
  .text-lg-left {
    text-align: left;
  }
  .waves-left {
    background: url(../images/waves_left.png);
    background-repeat: no-repeat;
    background-position: left bottom;
  }
  .waves-right {
    background: url(../images/waves_right.png);
    background-repeat: no-repeat;
    background-position: left top;
  }
  .fs-lg-4 {
    font-size: 20px;
  }
}
/* Positions */
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.hover-hidden {
  opacity: 0;
  transition: 200ms;
}
.hover-show:hover .hover-hidden {
  opacity: 1;
}
.top-0 {
  top: 0;
}
.left-0 {
  left: 0;
}
.project-group {
  margin-bottom: 10px;
}
.project-group:not(:first-child) {
  margin-top: 10px;
}
#tasks {
  user-select: none;
}
.task .task-border {
  border-bottom: 1px solid #d4d4d4;
}
.task .task {
  margin-left: 20px;
  /* color: red; */
}
.task .task .padding-left-fix {
  padding-left: 5px!important;
}
.new-task-kind {
  background: #e7ebed;
  display: flex;
  align-items: center;
}
.new-task-kind-active {
  background: var(--purple);
  color: white;
}
.repeat-day {
  background: #f3f3f3;
  border-radius: 50%;
  height: 25px;
  width: 25px;
  line-height: 25px;
  cursor: pointer;
  transition: 300ms;
  text-align: center;
  margin-right: 10px;
  user-select: none;
}
.repeat-day:last-child {
  margin-right: 0;
}
.repeat-day-active {
  background: var(--purple);
  color: white;
}

.custom-select-wrapper {
     position: relative;
     user-select: none;
     width: 100%;
     z-index: 9;
}
 .custom-select {
     position: relative;
     display: flex;
     flex-direction: column;
}
 .custom-select__trigger {
     position: relative;
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 0 0.5rem;
     font-size: 12px;
     font-weight: 300;
     color: #3b3b3b;
     height: 30px;
     line-height: 30px;
     background: #e7eaef;
     cursor: pointer;
}
 .custom-options {
     position: absolute;
     display: block;
     top: 100%;
     left: 0;
     /* right: 0; */
     border: 1px solid #394a6d;
     /* border-top: 0; */
     background: #fff;
     transition: all 0.5s;
     opacity: 0;
     visibility: hidden;
     pointer-events: none;
     z-index: 2;
}
 .custom-select.open .custom-options {
     opacity: 1;
     visibility: visible;
     pointer-events: all;
}
 .custom-option {
     position: relative;
     display: block;
     padding: 0 0.5rem 0 0.5rem;
     font-size: 12px;
     font-weight: 300;
     color: #3b3b3b;
     line-height: 30px;
     cursor: pointer;
     transition: all 0.5s;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
}
 .custom-option:hover {
     cursor: pointer;
     background-color: #e7eaef;
}
 .custom-option.selected {
     color: #ffffff;
     background-color: var(--purple);
}
.arrow {
     position: relative;
     height: 8px;
     width: 8px;
}
 .arrow::before, .arrow::after {
     content: "";
     position: absolute;
     bottom: 0px;
     width: 0.15rem;
     height: 100%;
     transition: all 0.5s;
}
 .arrow::before {
     left: -2px;
     transform: rotate(45deg);
     background-color: #394a6d;
}
 .arrow::after {
     left: 3px;
     transform: rotate(-45deg);
     background-color: #394a6d;
}
 .open .arrow::before {
     left: -2px;
     transform: rotate(-45deg);
}
 .open .arrow::after {
     left: 3px;
     transform: rotate(45deg);
}

.hours-table {
  position: absolute;
  border-collapse: collapse;
}
.hours-table td {
  border-top: 1px solid #d4d4d4;
  border-bottom: 1px solid #d4d4d4;
  height: 40px;
  font-family: 'Roboto Mono', monospace;
  font-size: 14px;
}
.hours-table td:first-child {
  width: 50px;
  border:none;
  padding-right: 5px;
  transform: translateY(-50%);
}
#task-table {
  margin-left: 50px;
  /* height: 480px; */
  height: 720px;
  width: calc(100% - 50px);
  position: relative;
}
#task-table .task-settings {
  position: absolute;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-left: 5px;
  cursor: pointer;

  /* padding: 4px 0 0 5px; */
	font-size: 13px;
	color: white;
	border:solid 1px rgba(0, 0, 0,0.2);
	/* box-shadow: 2px 2px 0px rgba(0, 0, 0,0.5); */
}
#task-table-list .task-settings, #popup-task-table-list .delay-task-settings {
  padding-left: 5px;
	font-size: 13px;
	color: white;
	border:solid 1px rgba(0, 0, 0,0.2);
	/* box-shadow: 2px 2px 0px rgba(0, 0, 0,0.5); */
}
#task-table .task-settings:hover, #task-table-list .task-settings:hover, #popup-task-table-list .delay-task-settings:hover{
	border:solid 1px rgba(0, 0, 0,1);
	/* box-shadow: 2px 2px 0px rgba(0, 0, 0,1); */
  /* padding-top: 4px;
  padding-left:5px; */
}
#task-table-list > div {
  margin-left: 66px;
}
#popup-task-table-list > div {
  margin-left: 80px;
}

#currentTimeLine::after {
  content: "";
  position: absolute;
  top: -3px;
  left: -5px;
  height: 6px;
  width: 6px;
  background: #6c5ce7;
  border-radius: 50%;
  display: block;
}
.list-tracking-colors {
  width: calc(12.5% - 4px);
}
.color-checkmark {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}
.line-through {
  text-decoration: line-through;
  color: #aaa;
}
.weekly-table-hours div {
  font-family: 'Roboto Mono', monospace;
  transform: translateY(-50%);
}
.weekly-table-border div.weekly-table-column {
  border-left-color: transparent;
  border-top-color: transparent;
}
.weekly-table-border div:nth-child(2) .weekly-table-column {
  border-left-color: #d4d4d4;
}
.weekly-date-row-border .weekly-table-column {
  border-left-color: transparent;
}
.weekly-date-row-border .weekly-table-column:nth-child(2) {
  border-left-color: #d4d4d4;
}
.weekly-table-border .task-settings, .weekly-table-border .delay-task-settings {
  padding-left: 5px;
	font-size: 13px;
	color: white;
	border:solid 1px rgba(0, 0, 0,0.2);
}
.weekly-table-border .task-settings:hover, .weekly-table-border .delay-task-settings:hover {
	border:solid 1px rgba(0, 0, 0,1);
}
@media screen and (max-width: 586px) {
  .list-tracking-colors {
    width: calc(25% - 4px);
  }
}
/* Modal */
.modal {
  position: fixed;
  z-index: 999;
  background: rgba(0,0,0,0.65);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 15px;
  overflow-y: scroll;
  align-items: center;
  opacity: 0;
  display: none;
  transition: 200ms ease-in-out;
}
.modal-body {
  max-width: 992px;
  width: 100%;
  margin: auto;
  background: white;
  padding: 10px;
  position: relative;
}
.modal-body-md {
  max-width: 786px;
}
.modal-body-sm {
  max-width: 568px;
}
.modal-show {
  opacity: 1;
}
@media screen and (min-width: 992px) {
  .body-padding {
    padding-right: 17px;
  }
  .modal-body {
    padding: 10px 20px;
  }
  .modal[data-modal="monthly-calendar"], .modal[data-modal="weekly-calendar"] {
    padding-right: 17px!important;
  }
}
/* Inputs */
input {
  outline: none;
}
textarea {
  resize: none;
}
footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #444;
}
.form-control {
  display: block;
  width: 100%;
  padding: .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #f3f5f6;
  background-clip: padding-box;
  border: 1px solid #ced4da;
}
/* Diagrams */
.diagram-table {
  min-width: 1068px;
  font-size: 13px;
}
.tracking-list-row {
  display: flex;
}
.tracking-list-row > div{
  width: 28px;
  height: 28px;
  text-align: center;
  line-height: 28px;
}
.tracking-list-row div:first-child{
  flex: 1;
  text-align: left;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.tracking-row-daily {
  display: flex;
}
.tracking-row-daily div{
  flex: 1 0 0;
  height: 28px;
  /* text-align: center; */
  line-height: 28px;
}
.tracking-row-daily div:first-child{
  flex: 0 0 50px;
  text-align: left;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.tracking-row-daily:first-child div:nth-child(2){
  flex-basis: auto;
}
.tracking-row-monthly {
  display: grid;
  grid-template-columns: 50px repeat(12, 84px);
  text-align: center;
}
.tracking-row-monthly div {
  padding: 10px 0;
}
.tracking-row-monthly:first-child {
  display: grid;
  grid-template-columns: 50px auto;
  text-align: center;
  padding: 0;
}

.dot {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 50%;
}
.diagram-overflow {
  overflow-x: auto;
}

.journal_year_mood , .journal_year_mood  tr, .journal_year_mood  td {
  border-spacing: 0;
  border: none;
  border-collapse: collapse;
  font-size:10px;
  font-weight:bold;
}
.journal_year_mood_box{
	width:19px;
	height:19px;
	box-sizing: border-box;
	border-left:solid 1px #e7ebed;
	border-top:solid 1px #e7ebed;
}
.journal_year_mood_box.box_bottom{
	border-bottom:solid 1px #e7ebed;
}
.journal_year_mood_box.box_right{
	border-right:solid 1px #e7ebed;
}
