body {
    font-family: 'Circular', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    background-color: #f4f4f4;
    background: url("img/money2.jpeg");
    overflow: hidden;
   /* Prevent body from scrolling */
}
.form-container {
    display: flex;
    justify-content: left;
    flex-wrap: wrap;
    box-shadow: rgba(33, 35, 38, 0.1) 0px 10px 10px -10px;
}
.form-row {
    display: flex;
    align-items: center;
    margin: 10px;
}
.no-margin {
    margin: 0;
}
.form-row label {
    margin: 0 10px;
    font-weight: 400;
}
.form-row input, .form-row select {
    margin: 0 10px;
    padding: 5px;
    border-radius : 15px;
    font-size: 22px;
    border : 1px solid #f5f5f5;
}
.form-row input:not(#data-debts):not(#data-estimated-contributions), .form-row select {
    font-size: 14px;
}
.form-row select[disabled] {
    background-color: #e0e0e0;
}
.add-btn {
    background-color: #9fc3ff;
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 24px;
    line-height: 40px;
    text-align: center;
    cursor: pointer;
    margin: 10px auto;
    display: block;
}
.add-btn:hover {
    background-color: #6ba3ff;
}
@media only screen and (max-width: 1024px) {

    .btn-container {
        display: inline-grid;
        margin: 2em !important;
   }
    #add-revenue-btn {
       margin: 0px !important;
       margin-bottom: 3em !important;
   }
    .highlight-mobile {
        border: 2px solid rgb(241, 229, 95);
   }
   .menu-mobile-container {
    width: 90%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    position: fixed;
   }
    .modal-mobile {
        display: none;
       /* Hidden by default */
        position: fixed;
       /* Stay in place */
        z-index: 1000;
       /* Sit on top */
        left: 0;
        top: 0;
        width: 100%;
       /* Full width */
        height: 100%;
       /* Full height */
        overflow: auto;
       /* Enable scroll if needed */
        background-color: rgba(0,0,0,0.4);
       /* Black w/ opacity */
        animation: fadeIn 0.4s;
   }
    .top-bar {
        position: fixed;
       /* width: 100%;
        */
        background: transparent;
        padding: 0px;
        top: 5%;
        left: 1.4em;
       /* border-radius: 100px;
        */
       /* display: contents;
        */
        right: 1.4em;
        z-index: 1000;
   }
   .top-bar h2 {
    text-align: left; 
    color: #000;   
    text-align: center;
    margin-top: 30px;
   }
    #due-options a {
        padding: 40px 1em !important;
        border-radius: 60px !important;
        display: inline-flex;
   }
    .content {
        position: fixed;
        bottom: -100%;
       /* Initially positioned off-screen */
        left: 50%;
       /* Center horizontally */
        transform: translateX(-50%);
        width: 100%;
        height: 100px;
        background-color: #f0f0f0;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
        animation: slideUp 0.4s ease forwards;
       /* Animation */
        padding-bottom: 6em !important;
   }
   /* Keyframes for the animation */
    @keyframes slideUp {
        to {
            bottom: 0;
           /* Slide up to the bottom */
       }
   }
    .menu a {
        height: 3em !important;
   }
    body {
        font-size: 2em;
   }
    .inapp-alert:not(.shadow) {
        flex-direction: column !important;
        box-shadow: none !important;
        padding-top: 3em;
   }
    .inapp-alert table tr td:nth-child(-n+1) {
        max-width: 200px;
   }
    .inapp-alert table tr td:last-child {
        float: right;
   }
    h1 {
        text-align: center;
   }
    h1:not(:first-of-type) {
        margin-top: 3em;
   }
    .tag-text, .tag, .tag-transparent {
        font-size: 1em !important;
        border-radius: 40px !important;
   }
    .mobile-grid tr {
        display: inline-grid;
   }
    .mobile-grid tr .td-align {
        padding: 1em;
   }
    .inapp-alert .info {
       /* background: rebeccapurple !important;
        */
        display: block;
        min-width: 100%;
        border-radius: 20px;
        margin: 0;
   }
    .inapp-alert .panel {
        box-shadow: rgba(33, 35, 38, 0.1) 0px 10px 10px -10px;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
   }
    .form-panel input {
        font-size: 1em;
        width: 4em;
        flex-basis: fit-content;
   }
    .inapp-alert .info .large-text {
        font-size: 3em !important;
        text-align: center;
        padding-top: 1em;
   }
    .inapp-alert .info .small-text {
        font-size: 1.3em !important;
        text-align: center;
        padding: 2em;
   }
    .large-text {
        font-size: 2.4em !important;
        font-family: 'Caveat', cursive;
   }
    .small-text {
        font-size: 1.3em !important;
   }
    .info-right {
        margin-top: 1em !important;
   }
    #edit-form {
        font-size: 1.3em;
   }
   #edit-form {
    display: inline-grid;
    width: unset !important;
    position: absolute;
    overflow-y: auto;
    top: 10%;
    left: 1.5em;
    right: 1.5em;
    bottom: 60px;
    margin: 0;
    padding: 0;
}
    .form-row {
        padding: 0 !important;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
        margin: 0 !important;
        border-radius: 60px !important;
   }
    #revenue-form .form-row {
        box-shadow: unset !important;
        box-shadow: unset !important;
        font-size: 1.2em !important;
        display: flex;
        /* width: 100%; */
        justify-content: start;
        align-content: center;
        align-items: start;
   }

   #revenue-form .form-row select {
    width: 100%;
    border: 1px solid #cfcfcf !important;
    border-radius: 60px !important;
    padding: 20px 40px !important;   
    background: #fff;
    color: #000;
   }
    #revenue-form .form-row input, #revenue-form .form-row select {
        font-size: 1.3em !important;
        width: 100%;
        margin-top: 1em;     
   }
    .info-right {
        max-width: unset !important;
   }
    .equal-sign {
        font-size: 3em !important;
        font-family: 'Caveat', cursive;
   }
    .form-container {
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
       /* box-shadow: rgb(33 35 38 / 21%) 0px 10px 10px -10px;
        */
        position: fixed;
        z-index: 1000;
        left: 0;
        top: 2em;
        width: 100%;
        height: 100%;
        overflow: auto;
        background-color: rgba(0, 0, 0, 0.4);
        animation: fadeIn 0.4s;
        background: white;
       /* display: inline-grid;
        */
        align-content: flex-start;
        flex-direction: column;
        align-items: flex-start;
       /* border: 1px solid grey;
        */
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px !important;
        border-radius: 20px;
        padding: 1em;
   }
    .form-row-mainbtn {
        position: relative !important;
        bottom: 0%;
       /* font-size: 2em;
        */
       /* transform: scale(2);*/
        left: 0%
   }
    .modal-content-mobile {
        background-color: #fefefe;
        margin: 10% auto;
       /* 10% from the top and centered */
        padding: 20px;
        border: 1px solid #888;
        width: 50%;
       /* Could be more or less, depending on content */
        border-radius: 8px;
        box-shadow: 0 4px 8px rgba(0,0,0,0.2);
        animation: scaleUp 0.4s;
        display: block !important;
   }
    .form-row {
        display: flex;
        position: relative;
        flex-wrap: wrap;
        align-content: flex-end !important;
        justify-content: flex-start !important;
        flex-direction: row !important;
        padding: 1em !important;
   }
    .close-modal {
        font-size: 2em !important;
        padding: 0.3em;
        position: absolute;
        z-index: 200000;
        right: 0;
   }
    .shadow {
        padding-top: 5em !important;
   }
    .close-new-modal {
        margin-right: 1em;
        padding: 0.3em;
        position: fixed;
        z-index: 200000;
        right: 0 !important;
        margin-right: 0.7em !important;
        top: 5%;

   }
    a:hover {
        background: transparent !important;
   }
    .add-new {
        transform: scale(2.5);
        position: absolute;
        bottom: 2em;
        top: 2em;
        right: 2em;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
        width: 2em;
        height: 2em;
        text-align: center;
        padding: 0;
        margin-right: 2em;
        margin-top: 2em;
        z-index: 0;
   }
    #edit-form input {
        font-size: 1.2em !important;
        margin-bottom: 1.5em !important;
        margin-top: 1.2em !important;
   }
    .modal-content {
        display: block !important;
        overflow-y: hidden;
        padding: 1.4em !important;
        padding-top: 6em !important;
   }
    #due-options a {
        font-size: 1em !important;
   }
    .save-btn, .delete-btn {
        margin-top: 1.5em !important;
        font-size: 1.4em !important;
        border-radius: 60px !important;
        margin-bottom: 1.5em !important;
        padding: 0.5em 1em !important;
        margin: 0.5em !important;
   }
    .inapp-save {
        margin-top: 1.5em !important;
        font-size: 1.4em !important;
        border-radius: 60px !important;
        margin-bottom: 1.5em !important;
        padding: 0.5em 1em !important;
   }
    .form-panel {
        margin-bottom: 2em !important;
        font-size: 1.3em !important;
        justify-content: left !important;
        border: 0px !important;
        display: flex;
        flex-wrap: wrap;
   }
    .inapp-input {
        background: #ffffff;
        color: #000;
        border-radius: 60px;
        display: flex;
        overflow: hidden;
        padding: 40px;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
   }
    .info-right .large-text {
        text-align: center;
   }
    .last-info {
        margin-bottom: 2em;
        text-align: center;
   }
    .inapp-input .validate-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: unset !important;
        height: unset !important;
        background-color: #9fc3ff;
        border: none;
        border-radius: 50%;
        cursor: pointer;
        transition: background-color 0.3s ease;
        position: relative;
        margin: auto;
        background: #ffc1cb;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
       /* color: #000;
        */
        font-size: 3em !important;
        padding: 70px;
        margin-bottom: 0.7em;
   }
    .inapp-input input {
        padding-left: 40px !important;
        border-radius: 0px !important;
        font-size: 1.5em;
        border: 0 !important;
        border-radius: 0px !important;
        border-bottom: 1px solid rgb(221, 221, 221) !important;
        outline: none;
   }
    #background-transition {
        padding: 0.8em 0.5em !important;
        top: 10px !important;
   }
    .filter-btn:not(.active) {
        color: #888;
        font-size: 1.5em;
        margin: 0px;
        margin-right: 0.5em;
        padding: 0.6em 0.8em;
        border-radius: 40px;
   }
    .filter-btn.active {
        font-size: 1.5em;
        margin: 0px;
        padding: 0.6em 0.8em;
        margin-right: 0.5em;
        border-radius: 40px;
   }
    #background-transition {
        border-radius: 40px !important;
   }
    input {
        border: 1px solid #cfcfcf !important;
        border-radius: 60px !important;
        padding: 20px 40px !important;
   }
    .modal-content, #revenue-form {
        background-color: #fefefe;
        margin: 0px !important;
        padding: 20px;
        border: 1px solid #888;
        width: unset !important;
        border-radius: 60px !important;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        animation: scaleUp 0.4s;
        bottom: 0;
        top: 5%;
        left: 0;
        position: fixed;
        right: 0;
        animation: slideUp 0.5s ease forwards !important;
       /* Animation */
        overflow-y: auto;
       height: unset;
       padding-top: 2em;
    }
   
    table tr td {
        padding: 50px 0px;
        font-size: 1.4em;
        text-align: right;
        color: black;
        padding-right: 40px;
   }
    table tr {
        border-radius: 20px;
        display: table;
        background: #fff;
        border-radius: 20px;
        border : 0px solid #b6b6b6;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
        margin-bottom: 10px;
        overflow: hidden;
        width: 100%;
        margin-bottom: 60px;
   }
    .mobile-tag {
        font-size: 0.7em;
   }
    table tr td:nth-child(-n+2) {
        font-size: 1.3em;
        font-weight: 400;
        text-align: left;
        color: grey;
        float: left;
        justify-content: left;
   }
    table tr td:nth-child(-n+1) {
        padding-left:40px;
   }
    table {
        border-collapse: separate !important;
   }
    .content {
        padding: 60px 60px !important;
        padding-bottom: 6em !important;
   }
   .panel-1-mobile {
    background: url("img/money1.png");
    background-size: cover;
    background-size: contain;
    background-repeat: no-repeat;
}
.panel-1-mobile-small {
 background: url("img/money1-small.png");
 background-size: cover;
 background-size: contain;
 background-repeat: no-repeat;
}
.panel-2-mobile {
    background: url("img/money2.png");
    background-size: cover;
    background-size: contain;
    background-repeat: no-repeat;
}
.panel-3-mobile {
    background: url("img/money3.png");
    background-size: cover;
    background-size: contain;
    background-repeat: no-repeat;
}
.panel-4-mobile {
    background: url("img/money4.png");
    background-size: cover;
    background-size: contain;
    background-repeat: no-repeat;
}
.panel-5-mobile {
    background: url("img/money5.png");
    background-size: cover;
    background-size: contain;
    background-repeat: no-repeat;
}

}
.container {
    display: flex;
    height: 100vh;
   /* Full viewport height */
    overflow: hidden;
   /* Prevent container from scrolling */
    width: 100%;
}
.menu {
    padding: 25px 10px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    border-top: 1px solid #f0f0f0;
    background: white;
    line-height: 60px;
    z-index: 100;
    height: 7em;
}
.menu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #b2b2b2;
    font-weight: 300;
}
.menu-item .material-icons {
    font-size: 60px;
   /* Adjust icon size if needed */
    margin-bottom: 2px;
   /* Space between icon and text */
}
.menu-item span {
    text-transform: uppercase;
    font-size:0.8em;
   /* Smaller text like an iPhone app */
}
.menu a {
    text-decoration: none;
    color: #333;
   /* Adjust color as needed */
    padding: 10px;
    border-radius: 5px;
   /* Rounded corners */
    height: 20px;
}
.menu a:hover {
    background-color: #f0f0f0;
   /* Light background on hover */
    border-radius: 15px;
   /* Rounded corners on hover */
}
.menu a.active {
    background-color: #f0f0f0;
   /* Light background when active */
    border-radius: 15px;
   /* Rounded corners when active */
}
.menu i {
    vertical-align: middle;
    margin-right: 5px;
    font-size: 19px;
    margin-top: -2px;
}
.menu img:not(.logo) {
    height: 20px;
    width: 20px;
    margin-right: 20px;
}
.menu .logo {
    width: 50%;
   /* margin: auto;
    */
   /* padding: 0;
    */
   /* margin-top: 0;
    */
    height: 2;
    margin-left: auto;
    margin-right: auto;
    padding-top: 40px;
    padding-bottom: 20px;
}
@media (max-width: 1024px) {
    .hide-mobile {
        display: none;
   }
    .menu img {
        height: 1.4em !important;
        width: 1.4em !important;
   }
}
@media (min-width: 1054px) {
    .panel-1-desktop {
        background: url("img/money1.png");
        background-size: cover;
        background-size: contain;
        background-repeat: no-repeat;
   }
    .panel-2-desktop {
        background: url("img/money2.png");
        background-size: cover;
        background-size: contain;
        background-repeat: no-repeat;
   }
    .panel-3-desktop {
        background: url("img/money3.png");
        background-size: cover;
        background-size: contain;
        background-repeat: no-repeat;
   }
    .panel-4-desktop {
        background: url("img/money4.png");
        background-size: cover;
        background-size: contain;
        background-repeat: no-repeat;
   }
    .panel-5-desktop {
        background: url("img/money5.png");
        background-size: cover;
        background-size: contain;
        background-repeat: no-repeat;
   }
    .inapp-alert .info {
        background: #fff !important;
   }
    .mobile-tag {
        display:none;
   }
    .hide-desktop {
        display: none;
   }
    .menu {
        background-color: #f8f8f8;
        width: 200px;
        height: 100%;
        position: relative;
        box-shadow: none;
        border-top: none;
        border-right: 1px solid #fff;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        background: linear-gradient(45deg, #ffecec, #f8fdff);
        flex-direction: column;
   }
    .menu-item {
        justify-content: flex-start;
        align-items: center;
        padding: 10px 0;
        align-content: center;
        display: flex;
        flex-direction: row;
        font-size: 16px;
        font-weight: 400;
        width: 160px;
   }
    .menu-item span {
        text-transform: capitalize;
       /* Capitalize text */
   }
    .menu-item .material-icons {
        margin-right: 10px;
        margin-bottom: 0;
       /* Remove bottom margin in desktop view */
        font-size: 20px;
       /* Adjust icon size if needed */
   }
}
.content {
    flex: 1;
    padding: 60px 100px;
    overflow-y: auto;
   /* Allows vertical scrolling */
    height: 100%;
   /* Ensure content div takes full height */
    box-sizing: border-box;
   /* Ensure padding is included in height calculation */
    background: #fff;
}
table {
    margin-top: 40px;
    width: 100%;
    border-spacing: 0;
   /* Remove cell spacing */
    border: 0;
    text-align: left;
}
table, th, td {
}
th, td {
    padding: 10px;
    text-align: left;
}
td {
    border-top: 1px solid #f5f5f5;
   /* Add a top border to simulate horizontal borders */
    border-left : none;
    border-right:none;
}
tr:not(:has(th)):hover, td:hover {
    background-color: #f5f5f5;
}
/* Remove vertical borders */
th:first-child, td:first-child {
    border-left: none;
}
th:last-child, td:last-child {
    border-right: none;
}
/* Styles for the pop-up message */
.popup-container {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    padding: 10px;
    background-color: #e0f0ff;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    z-index: 9999;
}
.close-btn {
    cursor: pointer;
    float: right;
    font-weight: bold;
}
/* Styles for the filter buttons */
.filter-btn {
    border: none;
    padding: 8px 16px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 1em;
    margin: 4px 2px;
    margin-top : 40px;
    cursor: pointer;
    border-radius: 16px;
    transition: background-color 0.3s;
    float: left;
}
/* Grey out year toggle buttons when not selected */
.filter-btn:not(.active) {
    background-color: #f5f5f5;
    color: #888;
}
/* Pale blue for active state */
.filter-btn.active {
    background-color: #e2f0ff;
    color: #6e7f8f;
}
.filter-btn:hover {
    background-color: #f0f7ff !important;
}
/* Modal container */
.modal {
    display: none;
   /* Hidden by default */
    position: fixed;
   /* Stay in place */
    z-index: 1000;
   /* Sit on top */
    left: 0;
    top: 0;
    width: 100%;
   /* Full width */
    height: 100%;
   /* Full height */
    overflow: auto;
   /* Enable scroll if needed */
    background-color: rgba(0,0,0,0.4);
   /* Black w/ opacity */
    animation: fadeIn 0.4s;
}
/* Modal content */
.modal-content {
    background-color: #fefefe;
    margin: 5% auto;
   /* 10% from the top and centered */
    padding: 20px;
    border: 1px solid #888;
    width: 50%;
   /* Could be more or less, depending on content */
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    animation: scaleUp 0.4s;
}
@keyframes fadeIn {
    from {
       opacity: 0;
   }
    to {
       opacity: 1;
   }
}
@keyframes scaleUp {
    from {
        transform: scale(0.7);
        opacity: 0;
   }
    to {
        transform: scale(1);
        opacity: 1;
   }
}
/* Close button */
.close-modal {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}
input[readonly] {
    background: rgb(244, 244, 244);
}
.close-modal:hover, .close-modal:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}
/* Save and Delete buttons */
.btn-container {
    margin-top: 40px;
    text-align: center;
    margin-bottom: 20px;
}
.save-btn, .delete-btn {
    background-color: #f2f2f2;
   /* Green */
    border: none;
    color: #565656;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 18px;
}
.save-btn:hover, .delete-btn:hover {
    background-color: #45a049;
   /* Darker green */
}
#edit-form {
    display: inline-grid;
    width: 100%;
}
#edit-form label {
    padding-top: 10px;
}
#edit-form input {
    padding-top: 5px;
    padding: 8px 16px;
    text-decoration: none;
    font-size: 15px;
    margin: 4px 2px;
    border-radius: 16px;
    transition: background-color 0.3s;
    border: 1px solid #f2f2f2;
}
.modal input[type="number"], .modal input[type="date"], {
    width: calc(100% - 20px);
    margin: 5px 0;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
}
.light-grey-hr {
    border: none;
    border-top: 1px solid #f6f6f6;
   /* Light grey color */
}
.margin-20 {
    margin: 20px;
}
.margin-60 {
    margin: 60px;
}
.margin-60-v {
    margin: 60px 0px;
}
.padding-40 {
    padding: 40px;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
    border-radius: 20px !important;
    padding: 4px;
    font-size: 14px;
    text-align: center;
}
.flatpickr-current-month .numInputWrapper {
    font-size: 14px;
    margin-left: 20px;
    border-radius: 20px;
    padding: 4px 20px;
}
.numInputWrapper span.arrowUp ,.numInputWrapper span.arrowDown {
    margin-right : 10px;
    background: transparent;
    border: 0px;
}
#due-options a {
    border: none;
    outline: none;
    cursor: pointer;
    padding: 10px 20px;
    margin: 5px;
    border-radius: 20px;
    background-color: #f9f9f9;
    font-size: 14px;
    transition: background-color 0.3s ease;
}
#due-options a.active , #due-options a:hover {
    background-color: #9cccf1 !important;
    color: white;
}
/* social contribution */
.tag {
    background: rgb(243, 246, 249);
    border-radius: 6px;
    padding-right: 8px;
    padding-left: 8px;
    font-size: 15px;
}
.mobile-tag {
    background: rgb(250 250 250);
    border-radius: 30px;
    padding: 10px 20px;
    color: grey;
}
.margin-left {
    margin-left: 15px;
}
.tag-transparent {
    border-radius: 6px;
    padding-right: 8px;
    padding-left: 8px;
    font-size: 15px;
}
.inapp-alert {
    border-radius: 8px;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    min-height: 100px;
    display: flex;
    align-items: center;
   /* Vertically aligns items */
}
.tag-text {
    font-size: 16px;
    font-weight : 900;
}
.info {
    margin-left: 80px;
}
.info-right {
    display: block;
    margin-right: 60px;
    max-width: 320px;
    margin-left: 20px;
}
.flex-top {
    align-items: flex-start;
}
.large-text {
    font-size: 24px;
   /* Adjust as needed */
    font-weight: bold;
}
.small-text {
    font-size: 14px;
   /* Adjust as needed */
    color: darkgrey;
}
.validate-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
   /* Button width */
    height: 40px;
   /* Button height */
    background-color: #9fc3ff;
   /* Button background color */
    border: none;
    border-radius: 50%;
   /* Circle shape */
    cursor: pointer;
    transition: background-color 0.3s ease;
   /* Smooth transition */
    position: absolute;
    right: 20px;
    bottom: 20px;
}
.checkmark {
    width: 65%;
   /* Adjust size of the checkmark icon */
    height: auto;
    fill: white;
   /* Icon color */
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.v-letter {
    font-size: 20px;
   /* Adjust size of the "V" */
    color: white;
   /* Text color */
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.validate-btn:hover {
    background-color: #88a8e0;
   /* Darker blue on hover */
}
.validate-btn:active {
    background-color: #6b8dbb;
   /* Even darker blue on click */
}
.validate-btn:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
   /* Blue shadow for accessibility */
}
#filter-buttons {
    display: inline-flex;
    margin-left: 10px;
}
.margin-bottom {
    padding-bottom: 40px;
}
#overlay-spin {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 1);
   /* White background with transparency */
    z-index: 9999;
   /* Ensure overlay is on top */
    display: none;
   /* Initially hidden */
    margin-left: 220px;
}
#overlay-spin .spinner {
    top: 50%;
    left: 50%;
    position: absolute;
    width: 50px;
    height: 50px;
    border: 6px solid #f3f3f3;
   /* Light grey */
    border-top: 6px solid #3498db;
   /* Blue */
    border-radius: 50%;
    animation: spin 2s linear infinite;
    margin-left: -200px;
   /* Center the spinner */
}
#spinner-text {
    top: 50%;
    left: 50%;
    position: absolute;
    width: 50px;
    height: 50px;
    margin-top: 80px;
    margin-left: -280px;
    width: 400px;
}
@keyframes spin {
    0% {
        transform: rotate(0deg);
   }
    100% {
        transform: rotate(360deg);
   }
}
.form-panel {
    border-radius : 8px;
    padding: 20px;
    margin-right: 40px;
   /* border: 1px solid rgb(247, 247, 247);
   */
    display: flex;
    align-content: center;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
.form-panel-wrap {
    display: flex;
    align-content: center;
    flex-direction: row !important;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap !important;
}
.form-panel-highlight {
    border: 1px solid pink;
}
.strike {
    text-decoration: line-through;
    color: #dbdbdb;
}
.content-panel {
    padding: 60px;
    margin-bottom: 120px;
    margin-top: 0px;
}
.color-pink {
    color: pink;
}
.equal-sign {
    text-align: center;
    width: 100%;
    margin-left: -20px;
    font-size: 20px;
    color: darkgrey;
    font-family: 'Caveat', cursive;
}
.form-row {
    display: flex;
    justify-content: space-around;
    position: relative;
}
.filter-btn {
    background-color: transparent !important;
    color: black;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    position: relative;
    z-index: 1;
    transition: color 0.5s ease;
    margin-top: 0px !important;
}
.filter-btn.active {
    margin-top: 0px !important;
    background-color: transparent !important;
}
.form-row-buttons {
    position: relative;
    height: 100%;
    display: flex;
}
.button-containers {
    overflow-x: auto;
    margin-top: 2em;
}
#background-transition {
    position: absolute;
    top: 0px;
    bottom: -20px;
    left: 0;
    width: 0;
    background-color: #4CAF50;
    z-index: 20000;
    transition: left 0.5s ease, width 0.5s ease;
    border: none;
    padding: 10px 0px;
    cursor: pointer;
    z-index: 0;
   /* transition: color 0.5s ease;
    */
    background-color: #e2f0fe;
    width: 5em !important;
   /* padding-right: 20px;
    */
    border-radius: 20px;
    height: 1.3em;
}
.inapp-input-field {
    border: 0;
    outline: none;
    background: transparent;
    font-size: 1em;
}
.inapp-save {
    background-color: #f2f2f2;
    border: none;
    color: #565656;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 18px;
}
.pink-light {
    color: #ffd6dd;
}
.large-text {
    font-family: 'Caveat', cursive;
    font-size: 2em;
}
.small-line-height {
    line-height: 01em;
}
.align-center {
    text-align: center;
}
.info-tight {
    max-width: 300px;
}
.padding-left {
    padding-left : 60px;
}
.img-info {
    width: 10em;
}
.btn {
    flex: 1 1 auto;
    margin: 10px;
    padding: 15px 30px;
    text-align: center;
    text-transform: uppercase;
    transition: 0.5s;
    background-size: 200% auto;
    color: white;
   /* text-shadow: 0px 0px 10px rgba(0,0,0,0.2);
   */
    box-shadow: 0 0 20px #eee;
    border-radius: 10px;
}
/* Demo Stuff End -> */
/* <- Magic Stuff Start */
.btn:hover {
    background-position: right center;
   /* change the direction of the change here */
}
.btn-1 {
    background-image: linear-gradient(to right, #f6d365 0%, #fda085 51%, #f6d365 100%);
}
.btn-2 {
    background-image: linear-gradient(to right, #fbc2eb 0%, #a6c1ee 51%, #fbc2eb 100%);
}
.btn-3 {
    background-image: linear-gradient(to right, #84fab0 0%, #8fd3f4 51%, #84fab0 100%);
}
.btn-4 {
    background-image: linear-gradient(to right, #a1c4fd 0%, #c2e9fb 51%, #a1c4fd 100%);
}
.btn-5 {
    background-image: linear-gradient(to right, #ffecd2 0%, #fcb69f 51%, #ffecd2 100%);
}
.panel-1 {
    background: url("img/money1.png") #fff;
    background-size: cover;
    background-size: contain;
    background-repeat: no-repeat;
}
.panel-2 {
    background: url("img/money2.png") #fff;
    background-size: cover;
    background-size: contain;
    background-repeat: no-repeat;
}
.panel-3 {
    background: url("img/money3.png") #fff;
    background-size: cover;
    background-size: contain;
    background-repeat: no-repeat;
}
.panel-4 {
    background: url("img/money4.png") #fff;
    background-size: cover;
    background-size: contain;
    background-repeat: no-repeat;
}
.panel-5 {
    background: url("img/money5.png") #fff;
    background-size: cover;
    background-size: contain;
    background-repeat: no-repeat;
}
.panel-5-2 {
    background: url("img/money5.2.png") #fff;
    background-size: cover;
    background-size: contain;
    background-repeat: no-repeat;
}
.panel-6 {
    background: url("img/money6.png") #fff;
    background-size: cover;
    background-size: contain;
    background-repeat: no-repeat;
}
input.flatpickr-input:not(:disabled) {
    background: #fff !important;
}
