body,
h1,
p,
ul,
li {
  margin: 0px;
  padding: 0px;
}

ul {
  list-style: none;
}

body {
  background-color: #f7f7f7;
  text-align: center;
  line-height: 1;
}

header {
  display: flex;
  flex-direction: column;
  padding-top: 55px;
}
@media (max-width: 550px) {
  header {
    padding-top: 50px;
  }
}
@media (max-width: 420px) {
  header {
    padding-top: 45px;
  }
}

header a {
  display: block;
  margin: 0 auto;
  text-decoration: none;
  color: black;
}

header a span:first-of-type {
  display: block;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 2.9rem;
  font-weight: normal;
  margin-bottom: 20px;
}
@media (max-width: 550px) {
  header a span:first-of-type {
    font-size: 2.6rem;
  }
}
@media (max-width: 420px) {
  header a span:first-of-type {
    font-size: 2.2rem;
  }
}
@media (max-width: 350px) {
  header a span:first-of-type {
    font-size: 2rem;
  }
}

header a span:last-of-type {
  display: block;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1.2rem;
  letter-spacing: 0.3px;
  font-style: italic;
}
@media (max-width: 800px) {
  header a span:last-of-type {
    position: absolute;
    height: 1px;
    width: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    white-space: nowrap;
    border-width: 0;
  }
  header a span:first-of-type {
    margin-bottom: 0;
  }
}

main {
  display: flex;
  flex-direction: column;
  padding: 0 20px;
  max-width: 830px;
  margin: 0 auto;
}

main h1 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1.9rem;
  font-weight: normal;
  margin-bottom: 35px;
}
@media (max-width: 550px) {
  main h1 {
    font-size: 1.7rem;
  }
}
@media (max-width: 420px) {
  main h1 {
    font-size: 1.5rem;
    margin-bottom: 30px;
  }
}

main h1::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: black;
  margin: 0 auto;
  margin-top: 35px;
  margin-bottom: 35px;
}
@media (max-width: 420px) {
  main h1::before {
    margin-top: 30px;
    margin-bottom: 30px;
    width: 4px;
    height: 4px;
  }
}

main ul li {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.5px;
  margin-bottom: 35px;
}
@media (max-width: 420px) {
  main ul li {
    font-size: 1.1rem;
    margin-bottom: 30px;
  }
}

main ul li:last-child {
  margin-bottom: 0;
}

main ul li a {
  color: #2828e6;
  padding: 10px 0;
  text-decoration: none;
}

main ul li.sem-obras a {
  color: #575757;
}

main ul li span {
  margin-top: 10px;
  display: block;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1rem;
  letter-spacing: 0.3px;
  font-style: italic;
}
@media (max-width: 420px) {
  main ul li span {
    font-size: 0.9rem;
  }
}

footer {
  display: flex;
  flex-direction: column;
  padding: 0 20px;
  margin: 0 auto 60px;
}
@media (max-width: 550px) {
  footer {
    margin: 0 auto 55px;
  }
}
@media (max-width: 420px) {
  footer {
    margin: 0 auto 50px;
  }
}

footer span.inicio {
  display: block;
  margin: 0 auto 30px;
}
@media (max-width: 420px) {
  footer span.inicio {
    margin: 0 auto 25px;
  }
}

footer span.inicio::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: black;
  margin: 0 auto;
  margin-top: 45px;
  margin-bottom: 45px;
}
@media (max-width: 420px) {
  footer span.inicio::before {
    margin-top: 40px;
    margin-bottom: 40px;
    width: 4px;
    height: 4px;
  }
}

footer span.inicio a {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1.3rem;
  letter-spacing: 0.3px;
  color: #2828e6;
  padding: 10px;
  text-decoration: none;
  text-transform: capitalize;
}
@media (max-width: 420px) {
  footer span.inicio a {
    font-size: 1.2rem;
  }
}

footer span.contato a {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.3px;
  color: #000;
  text-decoration: none;
  padding: 5px;
}
@media (max-width: 420px) {
  footer span.contato a {
    font-size: 1rem;
  }
}
