@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");

body {
  font-family: Roboto, sans-serif;
  display: flex;
  flex-direction: column;
  margin: 0;
}

.first-element {
  background-color: #1f2937;
  display: flex;
  flex-direction: column;
  padding: 24px clamp(1rem, 10vw, 168px);
}

header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  /* flex-wrap: wrap; */
  gap: 24px;
}

.logo {
  font-size: 24px;
  color: #f9faf8;
  margin-right: auto;
  font-weight: bold;
  flex-shrink: 0;
}

a {
  text-decoration: none;
  flex-shrink: 1;
}

.hero-section {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 48px;
  margin: 96px 0;
}

@media (max-width: 995px) {
  .hero-section {
    justify-content: center;
  }
}

.hero-left-section {
  display: flex;
  flex: 1 1 150px;
  flex-direction: column;
  max-width: 450px;
}

.hero-image-container {
  flex: auto;
  max-width: 450px;
}

.hero-image {
  max-width: 100%;
  border-radius: 16px;
  align-items: flex-end;
  height: auto;
  -webkit-border-radius: 16px;
  -moz-border-radius: 16px;
  -ms-border-radius: 16px;
  -o-border-radius: 16px;
}

.hero-main {
  font-size: 48px;
  font-weight: 900;
  min-width: 280px;
  color: #f9faf8;
  margin: 0;
}

.hero-sub {
  margin: 12px 0;
}

.hero-sub,
a {
  font-size: 18px;
  color: #979797;
}

button {
  background-color: #3882f6;
  align-self: flex-start;
  white-space: nowrap;
  padding: 8px 36px;
  border: 0;
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  font-size: 18px;
  color: #f9faf8;
  font-weight: bold;
}

.second-element {
  display: flex;
  flex: auto;
  flex-direction: column;
  padding-bottom: 98px;
}

.information-header {
  margin: 48px auto;
}

.row-of-information {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 24px;
  column-gap: 12px;
  margin-inline: clamp(1rem, 18vw, 400px);
}

.information-image-text {
  flex: 1 0 168px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.information-image {
  width: 164px;
  height: 164px;
  border: 4px solid #3882f6;
  border-radius: 16px;
  -webkit-border-radius: 16px;
  -moz-border-radius: 16px;
  -ms-border-radius: 16px;
  -o-border-radius: 16px;
}

.information-header {
  font-size: 36px;
  color: #1f2937;
  font-weight: 900;
}

.information-content {
  font-size: 18px;
  color: #6d747d;
  width: 168px;
  text-align: center;
  margin: 12px 0 0 0;
}

.third-element {
  background-color: #e5e7eb;
  display: flex;
  justify-content: center;
  padding: 98px;
}

.quote-and-author {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 800px;
  gap: 24px;
}

.quote-text {
  font-size: 36px;
  font-weight: lighter;
  font-style: italic;
  color: #1f2937;
  margin: 0;
  flex-shrink: 1;
}

.quote-author-text {
  font-weight: bold;
  align-self: flex-end;
  font-size: 24px;
  margin: 0;
}

.fourth-element {
  padding: 96px clamp(1rem, 10vw, 200px);
  display: flex;
}

.call-to-action-section {
  display: flex;
  flex: 1 1 auto;
  max-width: 900px;
  justify-content: space-between;
  background-color: #3882f6;
  margin: auto;
  row-gap: 36px;
  column-gap: 24px;
  padding: 48px 96px;
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  color: #f9faf8;
  flex-wrap: wrap;
}

@media (max-width: 1254px) {
  .call-to-action-section {
    justify-content: center;
    text-align: center;
  }
}

.left-call-to-action {
  gap: 8px;
  display: flex;
  min-width: 154px;
  flex-direction: column;
}

.call-to-action-left-title {
  font-size: 24px;
  font-weight: bold;
  margin: 0;
  padding: 0;
}

.call-to-action-left-sub {
  font-size: 18px;
  margin: 0;
  padding: 0;
}

.call-to-action-button {
  border: 2px solid #f9faf8;
  align-self: center;
}

footer {
  background-color: #1f2937;
  font-size: 18px;
  color: #e5e7eb;
  display: flex;
  justify-content: center;
  padding: 48px 48px 48px 48px;
}
