:root{
    --cal-font-size: 1.5rem;
    --bg-vals: 39, 38, 43;
    
    --bg: rgb(var(--bg-vals));
    --hover-bg: #4a4a4a;

    --past-day-bg: #3a3a3a;
    --past-day-hover-bg: #3f3f3f;

    --current-day-bg: #a7b477;
    --current-day-hover-bg: #b5c780;

    --fg: #f0f0f0;
    --sec: rgb(57, 56, 63);
}

body {
    color: var(--fg);
    padding:20px;
    background-color: var(--bg);
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

#header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

#header-warning {
    background-color: yellow;
    border-radius: 5px;
    color:red;
    display: flex;
    padding:5px;
    margin-left:10px;
}

#header-warning > * {
    margin-top: auto;
    margin-bottom: auto;
}

#header-warning > p {
    text-decoration: dotted underline;
}

#icon-text {
    display: flex;
    align-items: center;
}

#icon-text img {
    width: 50px;
    padding:5px;
    cursor: pointer;
}

#icon-text h3 {
    margin-bottom:0px;
}
/*
#about {
    margin-top: 30px;
    text-align:center;
}

#about > p {
    text-align:left;
}
*/
#about > img {
    border: 8px solid var(--fg);
    border-radius: 30px;
    box-shadow: 0 80px 80px 30px rgba(0,0,0,0.5);
    width: 80%;
}

#calendar {
    width: 100%;
    font-size: 1rem;
    min-width: 330px;
    box-sizing: border-box;
    table-layout: fixed;
}

#calendar tr {
    overflow: auto;
}

#calendar td, #calendar th {
    border: solid 1px var(--fg);
    border-collapse: collapse;
}

.current-day {
    background-color: var(--current-day-bg);
}

.current-day:hover {
    background-color: var(--current-day-hover-bg) !important;
}

.cal-day {
    padding-left:3px;
    padding-right:3px;
}

.cal-day .task-container {
    height: 200px;
    cursor: pointer;
    padding: 3px;
    overflow: scroll;
}

.hide-scroll {
    /* Hide scrollbar for IE, Edge and Firefox */
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

.hide-scroll::-webkit-scrollbar {
    display: none;  /* Safari and Chrome */
}

.cal-day h4 {
    font-size: var(--cal-font-size);
    width: 100%;
    margin-bottom:0px;
    border-bottom: 1px solid var(--fg);
    text-align: center;
}

#calendar #weekdays {
    text-align: center;
    text-overflow: ellipsis;
}

#calendar-body tr:last-child td .task-container{
    height:100px;
}

#cal-fade-out {
    position:absolute;
    background: linear-gradient(to bottom, rgba(var(--bg-vals), 0), rgba(var(--bg-vals), 1) 50%, rgba(var(--bg-vals), 1));
    height:250px;
    width:100%;
    top: 550px;
    left:0px;
    pointer-events: none;
}

#new-task-modal {
    padding-right: 0px !important;
}

.modal-content {
    background-color: var(--bg);
}

#new-task-modal .close {
    border: solid 1px grey;
    border-radius:5px;
}

#new-task-modal .close:hover {
    background-color: #f0f0f0;
}

.modal .form-group {
    padding: 5px;
}

.form-control:disabled {
    opacity: 0.7;
}

#new-task-modal .row {
    align-items: center;
}

#task-repeating-options, #task-repeating-end-options {
    display: flex;
}

#task-repeating-options > *, #task-repeating-end-options > *, #task-repeating-end-number-container > * {
    margin-top:auto;
    margin-bottom:auto;
    margin-left: 0px;
    margin-right: 10px;
    width:auto;
}

#new-task-modal .modal-footer {
    justify-content: space-between;
}

#new-group-modal > .modal-dialog{
    max-width:400px;
}

.group-color-preview {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: solid 1px grey;
    margin-right: 5px;
}

.modal-backdrop {
    width:100%;
    height:100%;
}

.task-container {
    padding-top:30px;
}

.task {
    border-radius: 7px;
    padding: 5px;
    margin-bottom: 3px;
}

.task:hover {
    opacity: 0.8;
}

.task > * {    
    text-overflow: ellipsis;
    margin-bottom:0px;
}

.task .task-footer {
    display: flex;
    justify-content: space-between;
    align-items: end;
    flex-wrap: nowrap;
}

.task-icons > * {
    margin:3px;
}

.task .task-footer > * {
    margin: 0px;
}

.past {
    opacity:0.5;
}

.past:hover {
    opacity:0.3;
}

#button-menu {
    z-index: 200;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#button-menu #offset-controller i {
    cursor: pointer;
    margin: 5px;
    font-size: 3rem;
    color: var(--bs-primary);
}

#button-menu #new-task i {
    font-size:2rem;
    margin-top: auto;
    margin-bottom: auto;
}

#button-menu #new-task {
    padding:0px;
    border-radius: 50%;
    aspect-ratio: 1/1;
}

#button-menu button {
    height: 50px;
}

#button-menu i:hover {
    opacity: 0.8;
}

#return-today {
    position: relative;
    opacity: 0;
    transition: opacity 0.5s;
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
}

#new-task {
    position: relative;
}

#upcoming-tasks {
    position: relative;
    margin-top: 30px;
    background-color : var(--sec);
    border-radius: 7px;
    padding: 15px;
}

#upcoming-task-container{
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    flex-wrap:wrap;
}

.upcoming-task {
    border-radius: 7px;
    padding: 8px;
    margin:10px;
    max-height: 300px;
    max-width: 300px;
    cursor: pointer;
}

.upcoming-task:hover {
    opacity: 0.8;
}

.upcoming-task-notes {
  max-width: 150px;
}

@media (hover: hover) {
    .cal-day:hover {
        background-color: var(--hover-bg);
    }
}

@media (max-width: 768px) {
    body {
        padding:0px;
    }

    #icon-text h3 {
        font-size: 1rem !important;
    }
    
    #icon-text img {
        padding: 10px !important;
    }

    #header-button-menu > * {
        font-size:0.75rem !important;
    }

    .cal-day .task-container {
        height: 120px !important;
    }

    .upcoming-task {
        margin:2px !important;
        padding: 5px !important;
    }

    #cal-fade-out {
        height: 80px !important;
    }

    
    .cal-day h4 {
        height: 2.8rem;
    }

    .task {
        padding: 0px !important;
        font-size: 0.8rem;
    }

    .task-container{
        padding: 0px !important;
    }
}