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

body {
  width: 100vw;
  background-color: #f5f4f0;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
}

#page {
  width: 1120px;
  margin: 88px auto 65px;
}

header {
  margin-bottom: 40px;
}

.headline {
  font-weight: bold;
  color: #e1624f;
  font-size: 16px;
}

header .headline {
  margin-bottom: 8px;
}

h1,
h2,
h3 {
  color: #1b1b1b;
}

h1 {
  font-size: 36px;
  font-weight: bold;
}

#main-description {
  padding-top: 4px;
  margin-bottom: 40px;
}

img {
  border-radius: 28px;
}

#subtitle {
  font-style: italic;
  color: #333;
  text-align: center;
  margin: 24px 0 40px;
}

hr {
  background-color: #d9d9d9;
  height: 1px;
  border: none;
}

#apresentation {
  margin: 64px 0;
}

main .headline {
  margin-bottom: 2px;
}

h2 {
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 32px;
}

main section:nth-of-type(n + 2):nth-of-type(-n + 3) {
  margin-bottom: 48px;
}

#description-city {
  margin-top: 40px;
}

h3 {
  font-size: 28px;
  font-weight: bold;
  margin: 20px 0 4px;
}

p {
  color: #333;
  font-size: 16px;
  font-weight: normal;
  margin-bottom: 16px;
}

p:has(+ ul) {
  font-weight: bold;
  margin: 16px 0 0 0;
}

ul {
  list-style-position: inside;
}

li {
  font-weight: bold;
}

ul li::marker {
  color: #333333;
}

#history {
  color: #0c51a7;
}

#couples {
  color: #591b98;
}

#family {
  color: #e5245e;
}

#budget {
  color: #e95e10;
}

main section:nth-of-type(4) {
  margin: 40px;
}

#description-city {
  margin-top: 40px;
  text-align: center;
}

footer {
  text-align: center;
  margin-bottom: 48px;
}

footer img {
  vertical-align: middle;
}
