html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

img {
    display: block;
    max-inline-size: 100%;
}

body {
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 400;
    background-color: hsl(32, 50%, 88%);
}

.card {
    background-color: hsl(0, 0%, 100%);
    max-width: 550px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    /* padding: 2rem; */
    margin: 6.25rem auto;
}

h1,
h2 {
    font-family: 'Young Serif', serif;
}

h1 {
    font-size: xx-large;
    margin: 2rem 0 1.75rem 0;
}

h2 {
    font-size: x-large;
    color: hsl(14, 45%, 36%);
}

h3 {
    font-size: medium;
    font-weight: 600;
    color: hsl(332, 51%, 32%);
    margin-bottom: 0.65rem;
}

p {
    line-height: 1.5;
}

.description {
    padding: 0 2rem;
}

.image {
    max-width: 100%;
    padding: 2rem;
}

img {
    height: auto;
    border-radius: 10px;
}

.prepTime {
    background-color: hsl(330, 100%, 98%);
    border-radius: 10px;
    padding: 1.5rem;
    margin: 2rem;
    max-width: 510px;
}

.prepList {
    padding-inline-start: 0.65rem;
    list-style: inside;
}

.prepList li {
    margin: 1rem 0;
}

.prepList li::before {
    content: '';
    display: inline-block;
    margin-left: 0.65rem;
}

.prepList li::marker {
    color: hsl(332, 51%, 32%);
}

.ingredients {
    display: flex;
    flex-direction: column;
    border-bottom: 1px groove hsl(34, 8%, 62%);
    padding-bottom: 1rem;
    margin: 0 2rem 2rem 2rem;
    width: 88%;
}

.ingredients h2 {
    margin-bottom: 1rem;
}

.ingredientsList {
    list-style: outside square;
    margin-left: 1rem;
}

.ingredientsList li {
    margin: 1rem 0;
    padding-left: 1rem;
}

/* .ingredientsList li::before {
    content: '';
    display: inline-block;
    margin-left: 15px;
} */

.ingredientsList li::marker {
    font-size: xx-small;
    color: hsl(14, 45%, 36%);
}

.instructions {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid hsl(33, 8%, 77%);
    padding-bottom: 1rem;
    margin: 0 2rem 2rem 2rem;
    width: 88%;
}

.instructions h2 {
    margin-bottom: 15px;
}

.instructList {
    padding-left: 20px;
    line-height: 1.5;
}

.instructList li {
    margin: 15px 0;
    list-style: outside decimal;
    padding-left: 15px;
}

.instructList li::marker {
    font-weight: 600;
    color: hsl(14, 45%, 36%);
}

.nutrition {
    display: flex;
    flex-direction: column;
    margin: 0 2rem 2rem 2rem;
}

.nutrition h2 {
    margin-bottom: 30px;
}

table {
    width: 100%;
    margin-top: 20px;
    border-collapse: collapse;
}

td {
    padding: 15px;
}

td:last-child {
    color: hsl(14, 45%, 36%);
    font-weight: 600;
}

tr {
    border-bottom: 1px solid hsl(33, 8%, 77%);
}

tr:last-child {
    border-bottom: none;
}

.attribution {
    font-size: 11px;
    text-align: center;
}

.attribution a {
    color: hsl(228, 45%, 44%);
}

@media (max-width: 400px) {

    img {
        border-radius: 0;
    }

    .card {
        margin: 0;
        width: 100%;
        border-radius: 0;
        /* padding: 0 1.5rem; */
        /* flex-grow: 0;
        flex-shrink: 0; */
    }

    .image {
        padding: 0;
    }
}