@import url(import.css);

* {
  box-sizing: border-box;
}

:root {
  --very-dark-magenta: hsl(300, 43%, 22%);
  --soft-pink: hsl(333, 80%, 67%);
  --dark-grayish-magenta: hsl(303, 10%, 53%);
  --light-grayish-magenta: hsl(300, 24%, 96%);
  --white: hsl(0, 0%, 100%);
}

body {
  font-family: 'League Spartan', sans-serif;
  font-weight: 400;
  font-size: 15px;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}

.container {
  max-width: 1110px;
  margin: 0 20px 10px;
}

.bg-top {
  position: fixed;
  top: 0;
  left: 0;
  width: 584px;
  height: 362px;
  background: url(../images/bg-pattern-top-desktop.svg);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

.bg-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 1085px;
  height: 673px;
  background: url(../images/bg-pattern-bottom-desktop.svg);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

.hero p {
  max-width: 400px;
  line-height: 150%;
  color: var(--very-dark-magenta);
}

.hero h1 {
  max-width: 400px;
  font-size: 50px;
  margin-bottom: 20px;
  color: var(--very-dark-magenta);
}

div.one {
  display: flex;
  align-items: stretch;
}

div.one > * {
  width: 50%;
}

.ratings {
  display: flex;
  flex-flow: column;
  justify-content: center;
  padding-left: 1px;
}

.rate i {
  content: url(../images/icon-star.svg);
}

.rate {
  display: flex;
  align-items: center;
  gap: 25px;
  min-height: 50px;
  max-width: 400px;
  background-color: var(--light-grayish-magenta);
  padding: 0 20px 0 20px;
  border-radius: 5px;
  font-weight: bold;
  margin-top: 5px;
  margin-bottom: 5px;
}

.rate > div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rate span {
  color: var(--very-dark-magenta);
}

.rate.two {
  margin-left: 30px;
}

.rate.three {
  margin-left: 60px;
}

.testimonies {
  display: flex;
  flex-flow: row wrap;
  margin-top: 40px;
  padding-top: 5px;
}

.testimony {
  width: 330px;
  height: fit-content;
  background-color: var(--very-dark-magenta);
  color: var(--white);
  font-weight: 500;
  border-radius: 5px;
  padding: 35px;
  margin: 10px;
}

.testimony q {
  display: block;
  line-height: 150%;
}

.user {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.user img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.user > div {
  display: flex;
  flex-flow: column;
}

.user span {
  margin-top: 5px;
  color: var(--soft-pink);
}

@media only screen and (min-width:1100px) {
  .testimonies {
    flex-flow: row nowrap;
    padding-top: 5px;
    gap: unset;
  }

  .testimony.two {
    margin-top: 30px;
  }

  .testimony.three {
    margin-top: 60px;
  }
}

@media only screen and (max-width: 800px) {
  .bg-top {
    width: 374px;
    height: 232px;
    background: url(../images/bg-pattern-top-mobile.svg);
    background-repeat: no-repeat;
    z-index: -1;
  }

  .bg-bottom {
    width: 100%;
    height: 503px;
    background: url(../images/bg-pattern-bottom-mobile.svg);
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1;
  }

  .rate {
    flex-flow: column;
    justify-content: center;
    gap: unset;
  }

  .rate.three, .rate.two {
    margin-left: unset;
  }

  .testimonies {
    display: block;
  }

  .testimonies > * {
    width: 100%;
    margin: 10px 0 0 0;
  }
}

@media only screen and (max-width: 720px) {
  div.one {
    display: block;
  }

  div.one > * {
    width: 100%;
  }

  .hero h1, .hero p {
    max-width: unset;
    width: 100%;
  }

  .ratings {
    width: 100%;
  }

  .rate {
    margin: 20px auto auto auto;
    width: 320px;
  }
  
  .rate.three, .rate.two {
    margin: auto;
    margin-top: 20px;
  }
}

address {
  font-style: normal;
}

.author {
  font-size: inherit;
  margin: unset;
}

.sr-only {
  border: 0;
  padding: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  left: -1000px;
}
