:root {
  --fw-xbold: 800;
  --fw-bold: 700;
  --fw-medium: 500;

  --fs-small: 1rem;
  --fs-medium: 1.125rem;
  --fs-heading-small: 1.5rem;
  --fs-heading-medium: 2rem;
  --fs-heading-large: 2.5rem;
  --fs-heading-xlarge: 3.5rem;

  --color-greyish: #666ca3;
  --color-dark: #13183f;
  --color-grey: #83869a;
  --color-fuchia: #f74780;
  --color-pink: #ffa7c3;

  --color-primary-gradient: linear-gradient(to top, #f02aa6 0%, #ff6f48 100%);
  --color-secondary-gradient: linear-gradient(to top, #4851ff 0%, #f02aa6 100%);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: "Plus Jakarta Sans", sans-serif;
  margin: 0;
}

.btn-1,
.btn-2,
.btn-3 {
  border-radius: 50px;
  padding: 0.8em 1.5em;
  font-weight: var(--fw-bold);
  color: #fff;
  font-size: var(--fs-small);
  border: none;
  cursor: pointer;
}

.btn-1 {
  background-color: var(--color-dark);
}

.btn-1:hover,
.btn-1:focus {
  background-color: var(--color-greyish);
}

.btn-2 {
  background-image: var(--color-primary-gradient);
  padding: 1.4em 3em;
}

.btn-2:hover,
.btn-2:focus {
  opacity: 0.5;
}

.btn-3 {
  background-image: var(--color-secondary-gradient);
  padding: 1.4em 3em;
}

.btn-3:hover,
.btn-3:focus {
  opacity: 0.5;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 2em auto;
  padding: 0 1.8em;
}

.presentation > * {
  margin-bottom: 1em;
  max-width: 700px;
}

.presentation h2 {
  font-size: var(--fs-heading-large);
  font-weight: var(--fw-xbold);
  max-width: 450px;
}

.presentation p {
  font-size: var(--fs-heading-small);
  line-height: 1.35;
  color: var(--color-grey);
}

.hero--img {
  margin: 0 auto;
}

main {
  background-image: linear-gradient(to bottom, #fff 0%, #f0f1ff 100%);
  padding: 1em 0;
}

.presentation,
.intro,
.main-container {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 1em;
}

.main-container h3 {
  background-image: var(--color-primary-gradient);
  color: #fff;
  padding: 1em;
  margin: 0 0.5em;
  line-height: 1.35;
  font-size: var(--fs-heading-medium);
  border-radius: 10px;
}

.container {
  margin: 3em 1em;
  background-color: #fff;
  border-radius: 10px;
  padding: 1em 1.5em;
}

.container > * {
  margin-top: -5px;
  margin-bottom: 1em;
}

.container .icon {
  margin-top: -40px;
}

.container h4 {
  font-size: var(--fs-heading-small);
  font-weight: var(--fw-xbold);
}

.container p {
  line-height: 1.5;
  font-size: var(--fs-medium);
  color: var(--color-greyish);
}

.get-started-btn {
  text-decoration: none;
  font-size: var(--fs-medium);
  font-weight: var(--fw-bold);
  color: var(--color-fuchia);
  cursor: pointer;
}

footer {
  background-color: var(--color-dark);
}

.footer-container {
  padding: 3em 1em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1600px;
  margin: 0 auto;
}

/* Media queries */

@media screen and (min-width: 768px) {
  .intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
  }

  .presentation {
    max-width: 900px;
  }

  .hero--img {
    margin-top: -120px;
    margin-right: -300px;
  }

  .main-container {
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-flow: wrap;
    margin: 0 auto;
  }

  .main-container h3 {
    max-width: 360px;
    height: 325px;
  }

  .container {
    max-width: 360px;
  }
}

@media screen and (min-width: 1024px) {
  .intro {
    overflow: visible;
  }
}
