:root {
    --template-color: #5821f4;
    --template-color-hover: #5821f4e0;
    --template-color-dark: #35178b;
    --dashboard-hover: #7960bf;
    --bg-template-purple: #ca51e8;
}

body {
    background-color: #ececec;
}

.hide {
    display: none;
}

.text-right {
    text-align: right;
}

.btn:focus {
    outline: none !important;
    box-shadow: none !important;
}

.cursor-pointer {
    cursor: pointer;
}

.bold {
    font-weight: bold;
}

.no-margin {
    margin: 0;
}

.error-border {
    border: 1.5px solid red;
}

.error-message {
    color: red;
    font-size: 11pt;
    display: none;
}

.yrm-logo-circle {
    width: 100pt;
}

label.required::after {
    content: ' *';
    color: red;
}

.sign-in {
    padding: 17px 100px !important;
    font-size: 17pt !important;
    font-weight: bold !important;
    text-align: center;
    margin-top: 1.5rem;
    border: none;
    cursor: pointer;
    transition: .15s ease-in-out;
}

.btn-template:hover, .btn-template:active {
    background-color: var(--template-color-hover);
    color: #fff;
    border-color: var(--template-color-hover);
}

.btn-template {
    padding: 0.375rem 0.75rem ;
    border: none;
    cursor: pointer;
    text-align: center;
    transition: .15s ease-in-out;
    background-color: var(--template-color);
    color: #fff;
}

.align-vh-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.template-color {
    color: var(--template-color);
}

.template-color-dark {
    color: var(--template-color-dark);
}

#login-container {
    display: flex;
    justify-content: center;
    height: 100vh;
}

#login-container .card {
    width: 600px;
    margin: auto;
}

#login-container .card .card-body {
    padding: 5rem 4rem;
}

#login-container .card .form-group {
    margin-bottom: 2rem;
}

#login-container .card .form-group:last-child {
    margin-bottom: 0;
}

#login-container .card .form-control {
    height: 40pt;
}

#login-container .card .title {
    margin-bottom: 2rem;
}

#login-container .card .regcard-footer {
    border-top: 1px solid #dfdfdf;
    padding-top: 1rem;
    margin-bottom: 0;
    margin-top: 2rem;
}

#login-container .register-button {
    width: 70%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    white-space: nowrap;
}

#login-container .register-button.submit {
    cursor: progress;
    background-color: var(--template-color-hover);
}

#login-container .register-button img {
    width: 25px;
    margin-left: 10px;
    display: none;
}

#login-container #success-body {
    padding-bottom: 3rem;
}

#login-container #success-body .fa-circle-check {
    font-size: 70pt;
    margin-bottom: 2rem;
    color: #53bf5b;
}

#login-container #success-body img {
    width: 80%;
    margin-bottom: 2rem;
}

#login-container .verification-form {
    border-radius: 10px;
}

#login-container .verification-form .card-title {
    background-color: var(--template-color);
    padding: 20px;
    font-size: 20pt;
    text-align: center;
    color: #fff;
    font-weight: bold;
    border-radius: 10px 10px 0 0;
}

#login-container .verification-form .card-body {
    padding: 2rem 4rem;
}

#login-container .verification-form .title {
    letter-spacing: 1px;
}

@media screen and (max-width: 600px) {
    #login-container {
        padding: 0;
    }

    #login-container .card .card-body {
        padding: 4rem 2rem;
    }
}

/* SIDEBAR */
#sidebar {
    margin: 0;
	padding: 0;
	width: 300px;
	background-color: var(--template-color-dark);
	position: fixed;
	height: 100%;
	overflow: auto;
	transition: all 200ms ease;
}

#sidebar.hide-sidebar {
	width: 5rem;
}

#content {
	margin-left: 300px;
	transition: margin 200ms ease;
}

#content .page-content {
    padding-left: 20px;
    margin-top: 4rem;
}

#content.hide-sidebar {
	margin-left: 5rem;
}

#sidebar .title {
    padding: 12pt 15pt;
    color: #fff;
    position: relative;
}

#sidebar .title h4 {
    font-size: 20pt;
    font-weight: bold;
    margin: 0;
}

#sidebar .title .toggle-sidebar {
    font-size: 20pt;
    position: absolute;
    right: 30px;
    top: 31px;
    cursor: pointer;
}

#sidebar ul {
	list-style-type: none;
	padding: 0;
}

#sidebar ul li {
    cursor: pointer;
    padding: 12px 20pt;
    color: #fff;
    transition: 0.10s ease-in; 
    position: relative;
    font-size: 14pt;
}

#sidebar ul li:hover {
	background-color: var(--dashboard-hover);
	transition: 0.10s ease-in;
}

#sidebar ul li.active {
    background-color: var(--dashboard-hover);
}

#sidebar ul li i {
    width: 34px;
}

#sidebar ul li.dashboard img {
    position: absolute;
    width: 24px;
    padding: 1px;
    top: 14px;
}
#sidebar ul li.dashboard i {
    color: transparent;
}

#sidebar.hide-sidebar .title h4 {
    display: none;
}

#sidebar.hide-sidebar ul li span {
    display: none;
}

#sidebar.hide-sidebar .pages {
    padding-top: 0px;
}

/* Page Header */

.header-container {
    background-color: #fff;
    padding: 0;
}

.header-container .page-title {
    padding: 22px 20px;
    color: var(--template-color-dark);
}

.header-container .navbar {
    padding: 0;
}

.header-container .navbar ul {
    list-style-type: none;
    padding: 0 20px;
    display: flex;
    margin: 0;
    border-top: 1.5px solid var(--bs-gray-400);
    width: 100%;
}

.header-container .navbar ul li {
    font-size: 15pt;
    padding: 15px 0;
    margin-right: 2rem;
    cursor: pointer;
}

.header-container .navbar ul li:hover {
    color: var(--template-color);
    transition: .20s ease-in;
}

.header-container .navbar ul li.active {
    color: var(--template-color);
    border-bottom: 3px solid var(--template-color);
}

/* Page Content */
.page-content .row {
    margin-left: 0;
}

/* Dashboard */
#dashboard-page, #reminder-group-page {
    display: flex;
    flex-direction: column;
    min-height: 80vh;
}

.add-reminder-group {
    margin-top: auto;
    font-size: 15pt;
    color: var(--template-color);
    cursor: pointer;
}

.add-reminder-group a {
    color: unset;
    text-decoration: none;
}

.empty-message {
    text-align: center;
}

.empty-message img {
    width: 130px;
    margin-bottom: 15px;
}

.reminders {
    display: flex;
    flex-wrap: wrap;
}

.reminders .reminder-card {
    width: 270px;
    height: 180px;
    border-radius: 20px;
    border: none;
    margin-right: 2rem;
    margin-bottom: 2rem;
    padding: 13px 18px;
    text-decoration: none;
}

.reminders .reminder-card:hover {
    box-shadow: 0px 0px 10px 1px #d0d0d0;
    cursor: pointer;
    transition: 0.20s ease;
}

.reminders .reminder-card .header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.reminders .reminder-card .header .icon-wrapper {
    background-color: #cacaca;
    position: relative;
    display: flex;
    width: 60px;
    height: 59px;
    border-radius: 50px;
    justify-content: center;
    align-items: center;
}

.reminders .reminder-card .header .icon-wrapper i {
    font-size: 21pt;
    color: #fff;
}

.reminders .reminder-card .header h4 {
    font-size: 32pt;
    font-weight: bold;
    margin: 0;
    color: #424242;
}

.reminders .reminder-card .reminder-group-name {
    font-size: 13pt;
    margin-top: 13px;
    color: #424242;
}

/* Form Content */
.flex {
    display: flex;
}

.form-content {
    background-color: #fff;
    padding: 45px 50px;
}

.form-content .form-title {
    margin-bottom: 2rem;
    color: var(--template-color-dark);
}

/* Profile */

#profile .form-content .form-group {
    margin-bottom: 2rem;
}

#profile .row .form-content:first-child {
    margin-right: 15px;
}

/* Notification Settings */
#notification-settings .notification-option-wrapper {
    display: flex;
    align-items: baseline;
    margin-top: 1rem;
}

#notification-settings .notification-option-wrapper .option-detail {
    padding-left: 12px;
}

#notification-settings .notification-option-wrapper .option-detail h5 {
    font-weight: bold;
    margin: 0;
}

#notification-settings .notification-option-wrapper .option-detail p {
    margin: 0;
    color: #424242;
}

#notification-settings .emails-wrapper {
    margin-top: 2rem;
    margin-bottom: 8rem;
    border-top: 1px solid #00000040;
    padding-top: 1rem;
}

#notification-settings .emails-wrapper .add-email {
    color: var(--template-color);
    cursor: pointer;
}

/* Add Reminder List  */
#add-reminder-list .icon-editor {
    padding: 25px 0;
    margin-left: -10px;
}

#add-reminder-list .icon-editor .form-group {
    margin-bottom: 15px;
}

#add-reminder-list .icon-wrapper {
    background-color: #cacaca;
    position: relative;
    display: flex;
    width: 100px;
    height: 100px;
    border-radius: 50px;
    justify-content: center;
    align-items: center;
}

#add-reminder-list .icon-wrapper i {
    font-size: 34pt;
    color: #fff;
}

/* Reminder Group Page */
#reminder-group-page .page-header {
    display: flex;
    align-items: center;
}

#reminder-group-page .page-header h4 {
    padding-left: 13px;
    margin: 0;
}

#reminder-group-page .page-header .sub-text {
    margin: 0;
    padding-left: 13px;
    color: #868686;
}

#reminder-group-page .reminder-group-list {
    background-color: #fff;
    border-radius: 10px;
    margin-top: 1rem;
}

#reminder-group-page .reminder-group-list .table {
    margin: 0;
}

#reminder-group-page .reminder-group-list .table tbody td {
    padding: 15px 1rem;
}

#reminder-group-page .reminder-group-list .table tbody tr:last-child td {
    border-bottom: none;
}

#reminder-group-page .reminder-group-list .table .checkbox-col {
    width: 1%;
}

#reminder-group-page .reminder-group-list .table .checkbox-col input[type=checkbox],
#notification-settings .notification-option-wrapper input[type=checkbox] {
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: 0;
    background-color: #fff;
    border: 1px solid #5821f4;
    border-radius: 10px;
    width: 20px;
    height: 20px;
    position: relative;
    top: 3px;
}

#reminder-group-page .reminder-group-list .table .checkbox-col input[type=checkbox]:checked,
#notification-settings .notification-option-wrapper input[type=checkbox]:checked {
    background-color: #5821f4;
    box-shadow: inset 0px 0px 0px 2px #ffffff;
}

#reminder-group-page .icon-wrapper {
    background-color: #cacaca;
    position: relative;
    display: flex;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    justify-content: center;
    align-items: center;
}

#reminder-group-page .icon-wrapper i {
    font-size: 22pt;
    color: #fff;
}

#reminder-group-page .reminder-group-list .sent-from {
    white-space: nowrap;
    margin: 0;
}

#reminder-group-page .reminder-group-list .additional-notes {
    color: #868686;
    margin: 0;
}

#reminder-group-page .reminder-group-list .date-reminder {
    display: flex;
    align-items: baseline;
}

#reminder-group-page .reminder-group-list .date-reminder .badge {
    margin-right: 10px;
}

#reminder-group-page .reminder-group-list .date-reminder .due-date {
    color: #868686;
}

#reminder-group-page .reminder-group-list .date-reminder .due-date.warning {
    color: #ffc14b;
}

#reminder-group-page .reminder-group-list .date-reminder .due-date.danger {
    color: red;
}

#reminder-group-page .reminder-group-list .date-reminder div {
    margin-left: auto;
}

#reminder-group-page .reminder-group-list .date-reminder i.Low {
    color: rgb(68, 203, 146);
}

#reminder-group-page .reminder-group-list .date-reminder i.Medium {
    color: #ffc14b
}

#reminder-group-page .reminder-group-list .date-reminder i.High {
    color: red;
}

#reminder-group-page .reminder-group-list .date-diff .badge {
    width: 100%;
}

#reminder-group-page .reminder-group-list .date-diff .badge.bg-secondary {
    background-color: #bdbdbd !important;
}

#reminder-group-page .reminder-group-list .date-diff .badge.bg-warning {
    background-color: #ffc14b !important
}

#reminder-group-page .reminder-group-list .date-diff .badge.bg-danger {
    background-color: red !important;
}

#reminder-group-page .reminder-group-list .done .task-title, 
#reminder-group-page .reminder-group-list .done .task-title .additional-notes {
    color: #b9b9b9;
}

#reminder-group-page .reminder-group-list .done .date-reminder .due-date {
    color: #b9b9b9 !important;
    text-decoration: line-through;
}

#reminder-group-page .reminder-group-list .done .date-diff .badge {
    display: none !important;
}

/* Add reminder */
#add-reminder {
    padding-bottom: 5rem;
}

#add-reminder .form-group {
    margin-bottom: 1.5rem;
}

#add-reminder .icon-wrapper {
    background-color: var(--bg-template-purple);
    position: relative;
    display: flex;
    width: 35px;
    height: 35px;
    border-radius: 50px;
    justify-content: center;
    align-items: center;
}

#add-reminder .icon-wrapper i {
    font-size: 13pt;
    color: #fff;
}

#add-reminder .datepicker-div {
    display: flex;
    align-items: baseline;
}

#add-reminder .datepicker-div .labels {
    padding-left: 8px;
}

#add-reminder .datepicker-div .labels p {
    margin-bottom: -3px;
    font-size: 15pt;
}

#add-reminder .datepicker-div .labels .date-output {
    color: #2c85fd;
}

#add-reminder .datepicker-div .calendar-toggle {
    margin-left: auto;
}

#add-reminder .datepicker-div .calendar-toggle {
    font-size: 18pt;
}

#add-reminder .priority-wrapper {
    background-color: #f9f9f9;
    border-radius: 10px;
}

#add-reminder .priority-wrapper .btn-group {
    padding: 8pt 15pt;
    width: 100%;
    font-size: 12pt;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    border-radius: 0;
    border-bottom: 1px solid var(--bs-gray-400);
}

#add-reminder .priority-wrapper .btn-group:last-child {
    border-bottom: none;
}

#add-reminder .priority-wrapper .btn-group h5 {
    margin: 0;
    font-size: 12pt !important;
}

#add-reminder .priority-wrapper .btn-group .dropdown-toggle {
    text-align: right;
    color: #9e9e9e;
    width: 100%;
    cursor: pointer;
}

#add-reminder .priority-wrapper .btn-group .dropdown-toggle i {
    margin-left: 8px;
}

#add-reminder .priority-wrapper .btn-group .dropdown-toggle::after {
    display: none;
}

#add-reminder .reoccurence-wrapper .reoccurence-values li.disabled {
    cursor: not-allowed;
}

#add-reminder .reoccurence-wrapper .reoccurence-values li.disabled .dropdown-item {
    color: #d0d0d0;
}

#add-reminder .reoccurence-wrapper .reoccurence-values li .dropdown-item {
    display: flex; 
    align-items: baseline;
}

#add-reminder .reoccurence-wrapper .reoccurence-values li .dropdown-item i {
    margin-left: auto;
}


#add-reminder .reoccurence-custom-dropdown .dropdown-toggle.dropdown-item {
    margin-top: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    cursor: pointer;
    color: #000;
}

#add-reminder .customday-wrapper {
    list-style-type: none;
    padding: 10px 12px;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

#add-reminder .customday-selector {
    border: 1px solid var(--bs-gray-400);
    padding: 3px 10px;
    cursor: pointer;
}

#add-reminder .customday-selector:hover, #add-reminder .customday-selector.selected {
    background-color: var(--dashboard-hover);
    color: #fff;
}
