html,
body {
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
}

body {
  --bg: #f0f1ff;
  --black: #000;
  --white: #fff;
  --iris: #5d5fef;
  --iris-dark: #372580;
  font-family: 'DM Sans';
  background: var(--bg);
}

header {
  padding: 16px 102px;
}

section {
  padding: 0 102px 168px 102px;
}

footer {
  padding: 40px 102px;
}

.gap-16px {
  gap: 16px;
}

.gap-40px {
  gap: 40px;
}

.gap-64px {
  gap: 64px;
}

.gap-12px {
  gap: 12px;
}

.flex-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.flex-column-start {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
}

.flex-start {
  display: flex;
  justify-content: start;
  align-items: center;
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.logo {
  display: flex;
  color: var(--black);
  font-size: 28px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%;
}

.logo img {
  width: 61.243px;
  height: 35.366px;
  padding-right: 15px;
}

button {
  background: transparent;
  border: none;
  outline: none;
  padding: 12px 80px;
  color: var(--white);
  background: var(--iris);
  border-radius: 30px;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  cursor: pointer;
}

/* WELCOME */
.welcome-section {
  margin: auto;
  padding-top: 200px;
  padding-bottom: 200px;
  text-align: center;
  max-width: 778px;
}

.welcome-small-text {
  color: var(--iris-dark);
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 33.98px;
}

.welcome-text {
  color: var(--iris-dark);
  font-family: DM Sans;
  font-size: 58px;
  font-style: normal;
  font-weight: 500;
  line-height: 105%;
  padding-bottom: 44px;
  margin-top: 12px;
}

.welcome-image-container {
  width: 102px;
  height: 102px;
  flex-shrink: 0;
  background: var(--white);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.welcome-image-container img {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
}

.welcome-section span {
  padding-top: 17px;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  text-transform: capitalize;
  color: var(--iris-dark);
}

/* SECTION */

.section-text-block {
  max-width: 45%;
  color: var(--iris-dark);
  font-style: normal;
}

.section-title {
  font-size: 44px;
  font-weight: 500;
  line-height: 105%;
  margin-bottom: 32px;
}

.section-subtitle {
  font-size: 20px;
  font-weight: 400;
  line-height: 29.64px;
}

.section-image {
  max-width: 45%;
}

/* BUTTONS */

.buttons-title {
  font-size: 44px;
  font-style: normal;
  font-weight: 500;
  line-height: 105%;
  text-align: center;
  color: var(--iris-dark);
  max-width: 773px;
}

.buttons-subtitle {
  margin-top: 32px;
  margin-bottom: 54px;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 29.64px;
  max-width: 594px;
  color: var(--iris-dark);
}

/* FOOTER */

footer {
  color: var(--white);
  background: var(--iris);
}

.products-container {
  margin-right: 80px;
}

.footer-title {
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

.footer-links {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}

.footer-logo img {
  width: 43.23px;
  height: 24.964px;
  flex-shrink: 0;
}

.footer-logo span {
  font-size: 28px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%;
}

.divider {
  width: 100%;
  height: 1px;
  background: var(--white);
  margin-top: 40px;
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  section {
    padding: 20px;
    text-align: center;
  }

  header {
    flex-direction: column;
    margin: auto;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
  }

  .header-buttons-container {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
  }

  .welcome-section {
    padding: 20px;
    margin-bottom: 40px;
  }

  .section-text-block,
  .section-image {
    max-width: 100%;
    margin-bottom: 20px;
  }

  .section-2 {
    flex-direction: column-reverse;
  }

  .buttons-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  footer {
    padding: 20px;
  }

  .footer-title {
    margin-top: 20px;
  }
}
