body {
    background-color: #f8f8f8;
    font-family: "Noto Sans", sans-serif;
}

dialog::backdrop {
    background: rgba(0, 0, 0, .25);
}

button {
    display: flex;
    justify-content: center;
    border: 1.5px solid black;
    border-radius: 15px;
    background-color: #8babfb;
    box-shadow: -2px 3px 0.5px rgba(0, 0, 0, 0.25);
    color: black;
    text-decoration: none;
    font-weight: 550;
}

button:hover {
    cursor: pointer;
    background-color: #414080;
    color: whitesmoke;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

.button,
.pop-button {
    display: flex;
    justify-content: center;
    border: 1.5px solid black;
    border-radius: 15px;
    background-color: #8babfb;
    box-shadow: -2px 3px 0.5px rgba(0, 0, 0, 0.25);
    color: black;
    text-decoration: none;
    font-weight: 550;
}

.button:hover,
.pop-button:hover {
    cursor: pointer;
    background-color: #414080;
    color: whitesmoke;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

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

/*container for the top 3 buttons*/
.top-buttons {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    margin: 2vw;
}

.pop-button {
    display: inline-flex;
    justify-content: center;
    min-width: 180px;
    text-align: center;
}

.popup-menu {
    border: 0;
    padding: 0;
    background: transparent;
    position: absolute;
}

/*dialog tuning to allow inner panel to style itself*/
.popup-menu::backdrop {
    backdrop-filter: blur(2px);
}

/*the actual menu panel*/
.popup-menu .menu {
    display: grid;
    border: 1.5px solid black;
    border-radius: 15px;
    background: #fff;
}

.popup-menu .menu-title {
    font-weight: 700;
}

.popup-menu .menu-btn {
    background: #8babfb;
    border: 1.5px solid black;
    border-radius: 15px;
    transition: transform 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
    font-family: "Noto Sans", sans-serif;
    font-weight: 550;
}

.popup-menu .menu-btn:hover {
    transform: translateY(-1px);
    background-color: #414080;
    color: whitesmoke;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

.popup-menu .menu-btn.danger {
    background: #fee;
    border: 1.5px solid black;
    border-radius: 15px;
    color: #900;
    box-shadow: -2px 3px 0.5px rgba(0, 0, 0, 0.25);
}

.menu-btn.danger:hover {
    background: #414080;
    color: whitesmoke;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

/*force center*/
#popupMenu.popup-center {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 9999;
}

.title,
.menu-title {
    text-align: center;
    font-weight: 700;
}

.input {
    border: 1.5px solid black;
    border-radius: 15px;
    font-family: "Noto Sans", sans-serif;
    width: 100%;
}

.row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1vw;
}

.empty {
    opacity: .7;
}

.form-row {
    display: flex;
    align-items: center;
    gap: 1vw;
}

.form-row>label {
    opacity: .85;
}

/*section titles inside a menu*/
.section-title {
    font-weight: 600;
    text-align: center;
    border-bottom: 1px solid #d1d1d1;
}

/*log section container*/
#log-section,
#reminder-section {
    border: 1.5px solid black;
    border-radius: 15px;
    background: #fff;
    box-shadow: -2px 3px 0.5px rgba(0, 0, 0, 0.25);
    font-weight: 400;
}

.embDel {
    border: none;
    border-radius: 15px;
    background: rgb(255, 205, 205);
    font-family: "Noto Sans", sans-serif;
}

.embDel:hover {
    cursor: pointer;
    transform: translateY(-1px);
    background-color: #414080;
    color: whitesmoke;
}

.button.back-btn {
    align-self: center;
    width: 350px;
}

/*reminder entries inline*/
.entry {
    display: flex;
    border-bottom: 1px solid #eee;
}

.entry strong {
    font-weight: 600;
}

/* ??? */
.inline-center {
    display: flex;
    align-items: center;
    gap: 8px;
}

.countdown {
    font-weight: 500;
    font-size: 15px;
    color: black;
}

@media screen and (max-width: 600px) {
    button {
        padding: 1vw;
        margin: 0 0 2vw;
    }

    .button,
    .pop-button {
        padding: 2.5vw;
    }

    .top-buttons .pop-button,
    .top-buttons .back-btn {
        margin: 2vw;
    }

    .button-row-top {
        display: flex;
        padding: 0 10vw;
    }

    .page-container {
        display: flex;
        flex-wrap: wrap;
    }

    .popup-menu .menu {
        width: 300px;
        min-height: 200px;
        padding: 5vw;
        gap: 1vw;
    }

    .popup-menu .menu-btn {
        padding: 0.5vw;
    }

    .input {
        padding: 1vw;
        font-size: 10px;
        margin: 1vw 0;
        max-width: 300px;
    }

    .section-title {
        font-size: 20px;
    }

    #log-section,
    #reminder-section {
        width: 100%;
        min-height: 250px;
        padding: 2vw 5vw;
        margin: 0 5vw 5vw;
    }

    .entry {
        padding: 1vw 0 1vw;
    }
}

@media screen and (min-width: 768px) {
    button {
        padding: 0.5vw;
        margin: 0 0 0.5vw;
    }
    
    .button,
    .pop-button {
        padding: 1vw;
    }

    .top-buttons .pop-button,
    .top-buttons .back-btn {
        margin: 1vw;
    }

    .popup-menu .menu {
        min-width: 350px;
        padding: 2.5vw;
        gap: 1vw;
    }

    .popup-menu .menu-btn {
        padding: 1vw 2vw;
    }

    .input {
        font-size: 15px;
        padding: 0.5vw;
        width: 350px;
    }

    .section-title {
        font-size: 20px;
    }

    #log-section,
    #reminder-section {
        min-width: 350px;
        min-height: 350px;
        padding: 1vw 2vw;
        margin: 0 1vw;
    }

    .entry {
        padding: 1vw 0 1vw;
    }
}