/* RESET */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ROOT */

html {
    font-size: 16px;
    color: #3b4b33;
}

body {
    font-family: 'Karla', sans-serif;
}

/* FONT-FACE */

@font-face {
    font-family: 'Charm';
    src: url('Charm-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Charm';
    src: url('Charm-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Fraunces';
    src: url('Fraunces-VariableFont_SOFT,WONK,opsz,wght.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: normal;
}

@font-face {
    font-family: 'Fraunces';
    src: url('Fraunces-Italic-VariableFont_SOFT,WONK,opsz,wght.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: italic;
}

@font-face {
    font-family: 'Karla';
    src: url('Karla-VariableFont_wght.ttf') format('truetype-variations');
    font-weight: 200 800;
    font-style: normal;
}

@font-face {
    font-family: 'Karla';
    src: url('Karla-Italic-VariableFont_wght.ttf') format('truetype-variations');
    font-weight: 200 800;
    font-style: italic;
}
/* TYPOGRAPHY */

h1, h2, h3, h4, h5, h6 {
    font-family: 'Fraunces', serif;
    font-weight: 500;
}

h1 {
    font-size: 2rem;
}

.wordmark {
    font-family: 'Charm', cursive;
    font-size: 3rem;
    font-weight: 700;
}

main {
    font-weight: 400;
}

p, a {
    font-family: 'Karla', sans-serif;
}

a:visited {
    color: #ec5f88;
    font-weight: bold;
}

/* LAYOUT/STRUCTURAL */

.page-background {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #393939;
    padding: 2rem;
}

.page-content {
    background-color: #f2e8d6;
    border: 3px solid #d69fab;
    border-radius: 12px;
    max-width: 400px;
    width: 100%;
    aspect-ratio: 9 / 19.5;
    overflow-y: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
}

header {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    padding: 4rem 3rem 0 3rem;
}

main {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;
    padding: 0 3rem;
}

main p {
    margin-bottom: 3rem;
    margin-top: 3rem;
}

form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: left;
}

form p {
    margin-bottom: 1rem;
}

input {
    width: 100%;
    padding: 0.5rem;
    margin-top: .5rem;
    margin-bottom: .5rem;
}

input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
}

input[type="radio"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
}

form .btn {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.details-content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    text-align: left;
    margin-top: 0.75rem;
}

.details-content select {
    padding: 0.3rem;
}

select {
    padding: 0.4rem;
}

.field-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.field-column {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding-left: 2rem;
}

footer {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    font-size: 14px;
    font-weight: 400;
    margin-top: auto;
    padding: 3rem
}

footer nav {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.bottom-nav {
    display: flex;
    justify-content: space-around;
    background-color: #d69fab;
    padding: 1rem 0;
    border-top: 3px solid #393939;
    margin-top: auto;
}

.nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    text-decoration: none;
    color: #393939;
}

.nav-item:visited {
    color: #393939;
}

.nav-item img {
    width: 32px;
    height: 32px;
}

/* CUSTOMIZED REUSABLE COMPONENTS */

.btn {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    padding: 1rem 2rem;
    border-radius: 999px;
    font-weight: bold;
    font-size: 1.2rem;
    border: 3px solid #393939;
    cursor: pointer;
    background-color: #d69fab;
    color: #393939;
}

.btn-login {
    background-color: rgba(214, 159, 171, 0.4);
}

.btn:visited,
.btn-login:visited {
    color: #393939;
}

.btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* PAGE/SECTION SPECIFIC */

.index-header {
    font-size: 1.25rem;
}

.form-intro {
    text-align: center;
}

.history-form {
    text-align: left;
}

.history-form .field-row {
    justify-content: flex-start;
    gap: 0.75rem;
}

.delete-account {
    background-color: crimson;
    color:#f2e8d6;
}

.faq-p p, a {
    margin-top: 0.5rem;
}

/* MEDIA QUERIES */

/* MEDIA QUERIES */

@media (max-width: 480px) {
    .page-background {
        padding: 2rem;
    }

    .page-content {
        aspect-ratio: auto;
        min-height: 90vh;
    }


    header {
        padding: 2rem 1.5rem 0 1.5rem;
    }

    main {
        padding: 1.5rem 1.5rem;
    }

    .wordmark {
        font-size: 2.2rem;
    }

    .btn {
        font-size: 1rem;
        padding: 0.85rem 1.5rem;
    }
}
