:root {
    --white_50: rgba(255, 255, 255, 0.5);
    --white_75: rgba(255, 255, 255, 0.75);
    --green: forestgreen;
}

* {
    font-family: "Georgia", serif;
    box-sizing: border-box;
}

html {
    height: 100%;
    font-size: x-large;
}

#index_html {
    overflow: hidden;
    max-height: 100%;
}

body {
    background: violet;
    background: radial-gradient(circle at 0% 0%, lightpink 10%, orange 20%, khaki 35%, lightgreen 45%, lightblue 50%, violet 70%);
    background-attachment: fixed;
    margin: 0;
    border: 0;
}

main {
    display: grid;
    grid-template-columns: 1fr 5fr;
    overflow: hidden;
    margin-top: 0.25rem;
}

h2 {
    font-size: 1.4rem;
    color: var(--green);
    font-variant: small-caps;
}

h3 {
    font-size: 1.2rem;
    color: var(--green);
    font-variant: small-caps;
    margin: 0;
    padding-left: 1rem;

}

.button_fullwidth {
    background-color: var(--white_50);
    transition: background-color 0.2s ease-out, letter-spacing 0.2s ease-out;
    display: block;
    color: var(--green);
    text-align: center;
    padding: 0.2rem;
    font-size: 1.2rem;
    text-decoration: none;
    letter-spacing: 1rem;
    font-weight: bold;
    font-variant: small-caps;
    cursor: pointer;
    border: none;
    width: 100%;
}

.button_fullwidth:hover {
    background-color: var(--white_75);
}

.user_input {
    background-color: var(--white_50);
    transition: background-color 0.2s ease-out;
    font-size: 0.8rem;
    width: 100%;
}

.user_input:focus {
    background-color: var(--white_75);
}

.hidden_menu {
    display: none;
}

.hidden_menu:checked+.hidden_menu_button {
    background-color: var(--white_50);
}

.hidden_menu:checked+.hidden_menu_button:hover {
    background-color: var(--white_75);
}

.hidden_menu:checked+.hidden_menu_button:before {
    content: "\00a0\00a0\00a0";
}

.hidden_menu:not(:checked)+.hidden_menu_button+.hidden_menu_content > .link_recipe {
    font-size: 0;
    padding: 0;
}

.hidden_menu_button, #button_new_recipe {
    cursor: pointer;
    transition: background-color 0.2s ease-out;
    font-variant: small-caps;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.hidden_menu_button:before {
    content: "+ ";
}

.link_recipe {
    text-decoration: none;
    font-size: 0.9rem;
    color: black;
    transition: background-color 0.2s ease-out;
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
    display: block;
}

.hidden_menu_button:hover, .link_recipe:hover, #button_new_recipe:hover {
    background-color: var(--white_75);
    transition: backgrounc-color 0s;
}

.note {
    background-color: var(--white_50);
    white-space: pre-wrap;
}

.form_recipe {
    max-width: 40rem;
    margin: auto;
    font-variant: small-caps;
}

.form_recipe > fieldset {
    border: 0.5rem double;
    padding: 0.5rem;
}

.form_recipe legend {
    font-size: 1.2rem;
    font-weight: bold;
}

.form_recipe label {
    font-size: 1rem;
    text-decoration: underline;
    font-weight: bold;
    display: block;
}

.form_recipe .user_input {
    margin-bottom: 0.5rem;
    padding: 0.2rem;
    border: none;
}

.form_recipe textarea {
    resize: vertical;
    height: 8rem;
}

#navigation_menu {
    overflow-y: auto;
    resize: horizontal;
    text-align: center;
    min-width: 9rem;
    word-break: keep-all;
    display: flex;
    flex-direction: column;
    padding: 0 0.25rem 0.25rem;
}

#recipe {
    overflow-y: auto;
    padding: 0 0.25rem 0.25rem;
}

#search {
    display: flex;
    flex-direction: column;
    width: 100%;
}

#search_query {
    max-width: calc(100% - 2.5rem);
    width: 100%;
    font-family: Arial, sans-serif;
}

#search_submit {
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
}

#form_search {
    margin: 0;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

#search_query {
    font-size: 1rem;
}

#search_result {
    margin: 0;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

#button_new_recipe {
    margin: 0;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-variant: small-caps;
    text-decoration: none;
    color: black;
}

#recipe_title {
    margin: 0;
    padding-left: 1rem;
    padding-top: 0.05rem;
    padding-bottom: 0.05rem;
    background-color: var(--white_50);
}

#directions {
    margin-bottom: 0.25rem;
}

#ingredients_list, #directions_list {
    margin: 0;
    border: 0;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-right: 0.5rem;
    background-color: var(--white_50);
}

#ingredients_list {
    column-count: 2;
    column-gap: 1.5rem;
}

#ingredients_list > li {
    break-inside: avoid;
}

#new_note, #edit_recipe {
    letter-spacing: normal;
}

#index_body {
    max-height: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

#new_recipe_body {
    display: block;
    min-height: 100%;
}

#select_category {
    border: none;
    padding: 0.2rem;
    appearance: none;
    cursor: pointer;
    font-variant: small-caps;
}

#input_title {
    font-variant: small-caps;
}

#input_submit {
    font-size: 1rem;
    letter-spacing: 0.8rem;
}

#input_delete {
    width: auto;
    display: inline-block;
}

#label_delete_description {
    width: auto;
    display: inline-block;
    text-decoration: none;
    font-weight: normal;
    font-variant: none;
    font-size: 0.8rem;
    cursor: pointer;
}

#input_delete:checked~.user_input:not(#textarea_password) {
    color: lightgray;
}

#input_delete:checked~#input_submit {
    background-color: rgba(255, 0, 0, 0.5);
}

#input_delete:checked~#input_submit:hover {
     background-color: rgba(255, 0, 0, 0.75);
 }

#recipe_container {
    padding: 0.5rem;
    margin: 1rem auto;
    border: dashed 0.2rem;
    max-width: 40rem;
}
@media (max-width: 35rem) {

    html {
        overflow-y: auto;
    }

    body {
        max-height: unset;
        height: unset;
    }

    main {
        display: block;
        overflow-y: auto;
    }

    .button_fullwidth, #input_submit {
        letter-spacing: 0;
    }

    #navigation_menu {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        resize: none;
    }

    .hidden_menu_button {
        margin: auto;
        flex-grow: 1;
    }

    .hidden_menu_button:before, .hidden_menu:checked+.hidden_menu_button:before {
        content: "";
    }

    .hidden_menu_content, #search_result {
        order: 50;
        width: 100%;
    }

    #button_new_recipe {
        width: 100%;
        order: 100;
    }

    #recipe {
        margin: 0;
        padding: 0;
    }
}

@media (max-width: 40rem) {
    #ingredients_list {
        column-count: 1;
    }
}

@media (min-width: 80rem) {
    #ingredients_list {
        column-count: 3;
    }
}

@media (min-width: 120rem) {
    #ingredients_list {
        column-count: 4;
    }
}

