body {
    color: var(--mauve-950);
    margin: 0;
    background-color: var(--gray-20);
    color: var(--page-color);
}

h1 {
    font-family: var(--title-font-family);
    font-size: 48px;
    line-height: 48px;
}

h2 {
    font-family: var(--title-font-family);
    font-size: 40px;
}

h3 {
    font-family: var(--body-font-family);
    font-size: 18px;
    font-weight: 600;
    margin: 0;
}

p {
    font-family: var(--body-font-family);
    font-size: 16px;
    font-weight: 400;
    margin: 0;
}

strong {
    font-family: var(--body-font-family);
    font-size: 16px;
    font-weight: 600;
}

em {
    font-family: var(--quote-font-family);
    font-size: 16px;
    letter-spacing: -0.5px;
    word-spacing: -2.5px;
    color: black;
}
button {
    padding: 8px 16px;
    border-radius: 20px;
    border: none;
}

a {
    text-decoration: none;
    color: inherit;
}

summary {
    color: var(--tangerine-100);
    font-weight: bold;
    text-decoration: underline;
}

select {
    border-radius: 6px;
    border: 2px solid var(--cherry-100);
    outline: none;
    appearance: none;
}

::target-text {
    background-color: var(--lilac-100);
}

.section {
    width: 100%;
    padding: 32px 16px;
}

.sectionTitle {
    font-weight: bold;
    font-size: 24px;
    text-align: center;
}

input::placeholder {
    color: var(--black-50);
}

.toggle-input .toggle-caret {
    margin-left: 4px;
    margin-right: 2px;
    width: 16px;
    height: 16px;
    border-radius: 4px;
}
a {
    color: var(--tangerine-100);
}

.toggle-input[state="on"] .toggle-caret {
    margin-left: 24px;
    background-color: var(--green-500);
}

.toggle-input[state="off"] .toggle-caret {
    margin-right: 24px;
    background-color: var(--gray-400);
}

.appear {
    animation: appearition 0.8s;
}

.link {
    color: var(--tangerine-100);
    text-decoration: underline;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 8px;
}

@keyframes appearition {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.dotted {
    background-image: linear-gradient(
        to right,
        black 33%,
        rgba(255, 255, 255, 0) 0%
    );
    background-position: bottom;
    background-size: 8px 2px;
    background-repeat: repeat-x;
}

hr {
    max-width: 70%;
    margin: auto;
    border-top: 4px dotted var(--cherry-100);
}

form.crispyForm {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: start;
}

.img-preview {
    max-width: 300px;
    margin-bottom: 32px;
}
