@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");

:root {
  --base-font-size: 18px;
  --h2-font-size: 36px;
  --h3-font-size: 30px;

  --base-line-height: calc(var(--base-font-size) + 6px);
  --h2-line-height: calc(var(--h2-font-size) + 12px);
}

body {
  font-family: "Open Sans", system-ui;
  font-size: var(--base-font-size);

  min-height: 100vh;

  display: flex;
  flex-direction: column;
}

h2 {
  font-size: var(--h2-font-size);
  line-height: var(--h2-line-height);
}

h3 {
  font-size: var(--h3-font-size);
}

p {
  line-height: var(--base-line-height);
}

header {
  height: 54px;

  display: flex;

  justify-content: center;
}

.header-wrapper {
  max-width: 1080px;
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-wrapper ul {
  display: flex;
}

nav {
  height: 100%;
}

.nav-menu {
  height: 100%;
}

.nav-menu li:first-of-type img {
  display: none;
}

.nav-menu li {
  height: 100%;

  display: flex;
  align-items: center;

  padding: 0 15px;
}

.active {
  background-color: rgb(51, 102, 0);
  color: white;
}

.media-menu {
  margin-right: 10px;
}

.media-menu img {
  width: 30px;
  height: 30px;

  margin-left: 10px;
}

header nav ul li a {
  text-decoration: none;
  user-select: none;
  color: inherit;
}

header nav ul li a::first-letter,
h2::first-letter,
h3::first-letter,
button::first-letter,
.card-info p::first-letter {
  text-transform: uppercase;
}

.banner {
  width: 100%;
  height: 45vh;

  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

  display: flex;
  justify-content: center;
}

.banner-content {
  max-width: 1080px;
  width: 100%;
  height: 100%;

  display: flex;
  align-items: start;
  justify-content: space-between;

  gap: 50px;

  padding-top: 40px;
}

.banner-content h2 {
  font-weight: 600;
}

.banner-content p {
  line-height: calc(var(--base-line-height) + 4px);
}

.banner-content > div {
  flex: 1;

  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
}

.banner-buttons-wrapper {
  width: 60%;

  display: flex;
  gap: 10px;

  margin-top: 20px;
}

.banner-buttons-wrapper button {
  flex: 1;
  height: 50px;

  background-color: rgb(51, 102, 0);
  border: none;
  border-radius: 25px;
}

input,
button {
  font-size: calc(var(--base-font-size)-20px);
}

button {
  color: white;
  cursor: pointer;
}

.main-wrapper {
  display: flex;

  justify-content: center;

  color: white;
}

.main-content-wrapper {
  display: flex;

  max-width: 1080px;

  gap: 30px;

  flex: 1;
  color: black;
}

main {
  flex: 1;
}

.main-image-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.main-image-wrapper img {
  width: 100%;
}

.card-info {
  height: 40px;
  width: 100%;

  display: flex;
  align-items: center;

  margin-top: 25px;

  border-bottom: 2px white solid;
  background-color: rgb(239, 236, 223);
}

.card-info img {
  width: 25px;

  margin-left: 10px;
  margin-right: 5px;
}

main section {
  margin: 15px 2px;
}

main section p {
  letter-spacing: 0.3px;
  word-spacing: 0.3px;
}

.secondary-image-container {
  width: 100%;

  display: flex;
  justify-content: space-between;
  gap: 30px;

  padding-bottom: 20px;
}

.secondary-image-wrapper {
  flex: 1;
}

.secondary-image-wrapper > img {
  width: 100%;
}

aside {
  width: 30%;
}

.newsletter-container {
  margin-bottom: 30px;
}

.newsletter-content {
  background-color: rgb(238, 238, 238);
  padding: 20px;

  display: flex;
  flex-direction: column;
}

.newsletter-content input,
.newsletter-content button {
  margin-top: 10px;
  border: 1px solid rgba(0, 0, 0, 0.122);
}

.newsletter-content input {
  flex: 1;

  padding: 7.5px;
}

.newsletter-content input::placeholder {
  color: rgba(0, 0, 0, 0.4);
}

.newsletter-content button {
  height: 40px;
  background-color: rgb(51, 102, 0);
}

.schedule-content li {
  display: flex;
  gap: 20px;
  line-height: 1.5;

  padding: 10px;
  word-spacing: 15px;
}

.schedule-content li:nth-child(odd) {
  background-color: rgb(238, 238, 238);
}

footer {
  display: flex;
  justify-content: center;

  background-color: rgb(203, 197, 173);
}

.footer-content-wrapper {
  max-width: 1080px;
  width: 100%;

  display: flex;
  justify-content: space-between;

  gap: 100px;
}

.footer-content-wrapper > div {
  padding: 50px 0 30px 0;

  flex: 1;
}

.footer-content-wrapper h3 {
  color: rgb(144, 136, 105);
}

.footer-content-wrapper p {
  color: rgb(229, 231, 220);

  margin-top: 15px;
  line-height: 30px;
}
