@import url('https://fonts.googleapis.com/css2?family=Overpass:wght@300;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;500;700&display=swap');

:root {
  --light-red: hsl(356, 100%, 66%);
  --very-light-red: hsl(355, 100%, 74%);
  --very-dark-blue: hsl(208, 49%, 24%);

  --white: hsl(0, 0%, 100%);
  --grayish-blue: hsl(240, 2%, 79%);
  --grayish-blue-alter: hsla(240, 3%, 79%, 0.5);
  --very-dark-grayish-blue: hsl(207, 13%, 34%);
  --very-dark-black-blue: hsl(240, 10%, 16%);

  --very-light-red: hsl(13, 100%, 72%);
  --light-red: hsl(353, 100%, 62%);

  --very-dark-gray-blue: hsl(237, 17%, 21%);
  --very-dark-desaturated-blue: hsl(237, 23%, 32%);
}

body {
  font-size: 16px;
  margin: 0;
  padding: 0;
}

nav {
  display: flex;
  position: absolute;
  width: calc(100% - 2rem);
  top: 3rem;
  left: 50%;
  transform: translateX(-50%);
}

nav>* {
  margin: auto 0;
}

.nav__menu {
  margin-left: auto;
}

.nav__menu.nav__menu-invisible {
  display: none;
}

.nav__close {
  display: none;
}

.nav__container {
  font-family: 'Overpass', sans-serif;
  overflow-x: hidden;
}

.nav__inside {
  display: none;
  background-color: var(--white);
  width: 100%;
  top: 4rem;
  text-align: center;
  justify-content: space-between;
  padding: 0 5rem;
}

.nav__link-container {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nav__link>a {
  text-decoration: none;
  color: var(--very-dark-gray-blue);
}

.nav__link-product-arrow,
.nav__link-company-arrow,
.nav__link-connect-arrow {
  content: url(images/icon-arrow-light.svg);
  display: inline;
}

.nav__product-inside,
.nav__company-inside,
.nav__connect-inside {
  display: none;
  background-color: var(--grayish-blue-alter);
}

.nav__product-inside>a,
.nav__company-inside>a,
.nav__connect-inside>a {
  display: block;
  margin: 1rem;
  text-decoration: none;
  color: var(--very-dark-gray-blue);
}

.nav__product-inside--opened,
.nav__company-inside--opened,
.nav__connect-inside--opened {
  display: block;
  position: absolute;
}

.nav__button button {
  display: block;
  margin: 1.5rem auto;
  border: none;
  width: 5rem;
  height: 2rem;
  border-radius: 1rem;
}

.nav__button-login {
  background: none;
}

.nav__button-sign {
  background-color: var(--light-red);
  color: var(--white);
}

header {
  font-family: 'Overpass', sans-serif;
  height: calc(37.5rem - 12.5rem);
  padding-top: 12.5rem;
  text-align: center;
  background:
    url(images/bg-pattern-intro-mobile.svg) left 35% top 35%,
    linear-gradient(var(--very-light-red), var(--light-red));
  color: var(--white);
  border-bottom-left-radius: 5rem;
}

header h1 {
  width: 14ch;
  margin: auto;
}

header p {
  width: 29ch;
  margin: auto;
}

header button {
  width: 8.5rem;
  height: 3rem;
  border-radius: 2rem;
  border: 1px solid var(--white);
  margin: 3rem .5rem;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 700;
}

.header__start {
  background-color: var(--white);
  color: var(--light-red);
}

.header__start:hover {
  background-color: var(--very-light-red);
  color: var(--white);
}

.header__learn {
  background-color: transparent;
  color: var(--white);
}

.header__learn:hover {
  background-color: var(--white);
  color: var(--light-red);
}

.section__design {
  text-align: center;
}

.section__design h2 {
  margin-top: 6.3rem;
}

.section__design-img {
  height: 20.5rem;
  background: url(images/illustration-editor-mobile.svg) center no-repeat;
  background-size: contain;
  margin-top: 3rem;
}

.section__design-body {
  margin: auto 2.5rem;
}

.section__design h3 {
  margin: 3rem auto 0;
  transform: scale(1.25);
  width: 15ch;
}

.section__state {
  background:
    url(images/bg-pattern-circles.svg) center top -16.5rem no-repeat,
    linear-gradient(var(--very-dark-gray-blue), var(--very-dark-desaturated-blue), var(--very-dark-gray-blue));
  background-size: 160%;
  margin-top: 15rem;
  border-top-right-radius: 5rem;
  border-bottom-left-radius: 5rem;
  text-align: center;
  padding-bottom: 7.5rem;
  color: var(--white);
}

.section__state-img {
  height: 21.5rem;
  background: url(images/illustration-phones.svg) center no-repeat;
  background-size: contain;
  transform: translateY(-11rem);
  width: 100%;
}

.section__state-body {
  margin: -11rem 2.5rem 0;
}

.section__state-body h2 {
  transform: scale(1.25);
  width: 15ch;
  margin: auto;
}

.section__laptop-img {
  height: 20.5rem;
  background: url(images/illustration-laptop-mobile.svg) center no-repeat;
  margin-top: 5rem;
}

.section__laptop-body {
  text-align: center;
  margin: 2.5rem;
}

.section__laptop-body h3 {
  transform: scale(1.25);
  margin-top: 3.5rem;
}

footer {
  background-color: var(--very-dark-black-blue);
  text-align: center;
  border-top-right-radius: 5rem;
}

footer img {
  margin: 4.5rem auto 1rem;
}

footer p {
  color: var(--white);
  margin: 3.5rem auto 2rem;
}

footer a {
  display: block;
  text-decoration: none;
  color: var(--grayish-blue);
  margin: 1rem;
}

.attribution {
  font-size: 11px;
  display: flex;
  color: var(--white);
  justify-content: center;
}

.attribution a {
  margin: 0 0 0 .25em;
  color: var(--grayish-blue);
}

@media (min-width:600px) {
  header {
    background:
      url(images/bg-pattern-intro-desktop.svg) left 35% top 35%,
      linear-gradient(var(--very-light-red), var(--light-red));
  }

  header h1 {
    width: auto;
  }

  header p {
    width: auto;
  }

  .section__design {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .section__design h2 {
    grid-area: 1/1/2/3;
  }

  .section__design-img {
    background: url(images/illustration-editor-desktop.svg) center no-repeat;
    background-size: contain;
    grid-area: 2/2/3/3;
    margin: auto 0 auto;
  }

  .section__design-body {
    grid-area: 2/1/3/2;
    text-align: left;
    margin: 0 0 0 2rem;
  }

  .section__design h3 {
    transform: scale(1);
    margin-left: 0;
    width: auto;
  }

  .section__state {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0;
    margin: 0;
    margin-top: 5rem;
  }

  .section__state-img {
    transform: translateY(0);
  }

  .section__state-body {
    margin: auto 2rem auto 0;
    text-align: left;
  }

  .section__state-body h2 {
    transform: scale(1);
    margin: 0;
    width: auto;
  }

  .section__laptop {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .section__laptop-img {
    background: url(images/illustration-laptop-desktop.svg) center no-repeat;
    background-size: contain;
    margin: auto 0 auto;
  }

  .section__laptop-body {
    margin: 0 2rem 0 0;
    text-align: left;
  }

  .section__laptop-body h3 {
    transform: scale(1);
  }

  footer {
    margin-top: 7rem;
  }

  .footer__link {
    display: flex;
    justify-content: space-around;
  }
}

@media (max-width:1000px) {
  .nav__close.nav__close-visible {
    display: block;
    margin-left: auto;
  }

  .nav__inside.nav__inside--opened {
    display: block;
    position: absolute;
    border-radius: .5rem;
    box-shadow: 0px 0px 3rem 0px var(--very-dark-grayish-blue);
    padding: 2rem 0 0;
  }

  .nav__inside.nav__inside--opened .nav__link-container {
    flex-direction: column;
  }

  .nav__product-inside--opened,
  .nav__company-inside--opened,
  .nav__connect-inside--opened {
    position: static;
  }

  .nav__link {
    width: calc(100% - 2rem);
  }

  .nav__product-inside.nav__product-inside--opened,
  .nav__company-inside.nav__company-inside--opened,
  .nav__connect-inside.nav__connect-inside--opened {
    padding: .1rem;
    margin-top: 1rem;
  }

  .nav__link-product-arrow,
  .nav__link-company-arrow,
  .nav__link-connect-arrow {
    content: url(images/icon-arrow-dark.svg);
  }

  .nav__button-login,
  .nav__button-sign {
    font-family: inherit;
    font-size: inherit;
  }
}

@media (min-width:1000px) {
  .nav__inside {
    display: flex;
    width: 100%;
    position: static;
    background-color: transparent;
  }

  .nav__link>a {
    color: var(--white);
  }

  .nav__link>a:hover {
    text-decoration: underline;
  }

  .nav__product-inside,
  .nav__company-inside,
  .nav__connect-inside {
    background-color: var(--white);
    text-align: left;
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-top: 1rem;
  }

  .nav__product-inside.nav__product-inside--opened,
  .nav__company-inside.nav__company-inside--opened,
  .nav__connect-inside.nav__connect-inside--opened {
    border-radius: .5rem;
    box-shadow: 0px 0px 3rem 0px var(--very-dark-grayish-blue);
    width: 8rem;
  }

  .nav__product-inside.nav__product-inside--opened>a:hover,
  .nav__company-inside.nav__company-inside--opened>a:hover,
  .nav__connect-inside.nav__connect-inside--opened>a:hover {
    color: var(--very-dark-black-blue);
    font-weight: bold;
  }

  .nav__button>button {
    display: inline;
    font-family: inherit;
  }

  .nav__button>button:hover {
    cursor: pointer;
  }

  .nav__button-login {
    color: var(--white);
  }

  .nav__button-sign {
    color: var(--light-red);
    background-color: var(--white);
  }

  .nav__button-sign:hover {
    color: var(--white);
    background-color: var(--very-light-red);
  }

  .nav__menu {
    display: none;
  }

  .section__design-body {
    max-width: 25rem;
    margin-left: auto;
    margin-right: 2rem;
  }

  .section__design-img {
    background-position: left;
  }

  .section__state-img {
    background-position: right;
  }

  .section__state-body {
    max-width: 25rem;
    margin-left: 2rem;
  }

  .section__laptop-img {
    background-position: right;
  }

  .section__laptop-body {
    max-width: 25rem;
    margin-left: 2rem;
  }

  footer {
    display: flex;
  }

  footer>img {
    margin: 3rem 5rem auto 5rem;
  }

  .footer__link>div {
    margin-right: 5rem;
    text-align: left;
  }

  .footer__link>div>a {
    margin-left: 0;
  }

  .attribution {
    position: absolute;
  }
}