html, body, div, h1, h2, h3, h4, h5, h6, p, a, blockquote, pre, code, hr, img, form, fieldset, legend, label, textarea, span, em, strong, sub, sup, cite, table, tbody, td, tfoot, th, thead, tr, tt, dl, dt, dd, ol, ul, li {margin: 0; padding: 0;}

*, *:before, *:after {-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}

header, main, footer, section, article, aside, nav {display: block;}
img {vertical-align: bottom; max-width: 100%;border: none;}

@media only screen and (max-width: 30em) {
  body {-webkit-text-size-adjust: none; word-wrap:break-word;}
}

body {
  min-height: 100vh;
  min-height: 100svh;
  width: 100%;
  background: #74D680;
  background-image: linear-gradient(135deg, #74D680, #FF7878);
  background-repeat: no-repeat;
  background-size: cover;
  font-size: 1.25em;
  font-family: ui-sans-serif, system-ui, -apple-system, "system-ui", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

.wrap {
  padding: 20px;
  max-width: 30em;
  margin: 0 auto;
}

h1 {
  text-align: center;
  margin: .5em 0 .75em;
  font-weight: 400;
  color: #a23e1c;
  line-height: 1;
  font-size: 1.75em;
}

h2 {
  margin: 1.5em 0 1em;
}

.item {
  display: flex;
  gap: .5em;
  margin-bottom: .5em;
}

.number, .title, .header p, .footer p, .carol {
  background: rgba(256,256,256,.6);
}

.number, .title a, .header p a, .footer p a {
  padding: .75em .5em;
}

.number {
  display: flex;
  width: 3.5em;
  flex: 0 0 auto;
  justify-content: center;
  align-items: center;
  border-radius: 10px 0 0 10px;
  color: #bf3c3c;
  font-weight: bold;
}

.title {
  flex: 1 1 0;
  border-radius: 0 10px 10px 0;
  overflow-wrap: break-word;
}

.item a, .header a, .footer a {
  text-decoration: none; 
  display: block;
}

.item a, .header a, .footer a, .carol a {
  color: #3c6641; /* #4e7938; */
}

.item a {
  border-radius: 0 10px 10px 0;
}

.header a, .footer a {
  border-radius: 10px;
}

.item a:hover, .header a:hover, .footer a:hover {
  background: #43873e; 
  background-image: linear-gradient(135deg, #3e8447, #f04343);
  color: #f4ebeb;
}

.header, .footer {
  text-align: center;
  display: flex;
  gap: .5em;
  flex-direction: column;
}

.header {
  margin-bottom: 2em;
}

.footer {
  /* border-top: 1px solid #299338; */
  padding-top: 150px;
  margin-top: 50px;
  background: no-repeat url(/holly.svg) 50% 0;
  background-size: 100px;
}

.footer p, .header p {
  border-radius: 10px;
  flex: 1 1 auto;
}

.carol {
  border-radius: 10px;
  padding: 1em;
}

.carol p {
  color: black;
  line-height: 1.2;
}

.carol p + p {
  margin-top: 1em;
}

@media only screen and (min-width: 30em) {
  .footer {flex-direction: row;}
}