* {
  padding: 0px;
  margin: 0px;
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  font-family: "Josefin Sans", sans-serif;
}

img {
  width: 100%;
}

.show {
  display: block;
}

.hide {
  display: none;
}

span {
  color: hsl(0, 36%, 70%);
}

.container {
  display: grid;
  grid-template-columns: 60% 40%;
  min-height: 100vh;
}

.card1 {
  padding: 4rem 17rem 4rem 12rem;
  background-image: url(./images/bg-pattern-desktop.svg), url(./images/bg-pattern-desktop.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: -5rem center, 0rem 10rem;
  background-size: 130%, 150%;
}
.card1 img {
  width: 8rem;
  margin-bottom: 7rem;
}
.card1 h1 {
  font-size: 5rem;
  margin-bottom: 3rem;
}
.card1 p {
  margin-bottom: 2rem;
  color: hsl(0, 36%, 70%);
  line-height: 1.7rem;
}
.card1 input[type=email] {
  width: 100%;
  height: 3rem;
  border-radius: 2rem;
  padding: 1rem;
  border: 0.1rem solid #ccc;
}
.card1 input[type=email]::-moz-placeholder {
  color: hsl(0, 36%, 70%);
}
.card1 input[type=email]::placeholder {
  color: hsl(0, 36%, 70%);
}
.card1 input[type=email]:focus {
  outline-color: hsl(0, 74%, 74%);
}
.card1 input[type=submit] {
  width: 20%;
  height: 3rem;
  border-radius: 2rem;
  padding: 1rem;
  background-image: url(./images/icon-arrow.svg);
  background-color: hsl(0, 74%, 74%);
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  top: 0;
  left: 80%;
  border: none;
}
.card1 input[type=submit]:hover {
  background-color: hsl(0, 80%, 86%);
  cursor: pointer;
}
.card1 form {
  position: relative;
}
.card1 form div {
  position: absolute;
  top: 0;
  left: 60%;
  height: 100%;
}
.card1 form div img {
  width: 1.5rem;
  position: relative;
  top: 25%;
}

.card2 {
  background-repeat: no-repeat;
  background-size: 120%;
  background-position: center center;
}
.card2 img {
  width: 100%;
  height: 100%;
}

.mobile {
  display: none;
}

.attribution {
  font-size: 11px;
  text-align: center;
}

.attribution a {
  color: hsl(228, 45%, 44%);
}

@media (max-width: 1385px) {
  .card1 {
    padding: 4rem 13rem 4rem 10rem;
  }
}
@media (max-width: 1225px) {
  .container {
    display: grid;
    grid-template-columns: 55% 45%;
    min-height: 100vh;
  }
  .card1 {
    padding: 4rem 8rem 4rem 6rem;
    background-size: 160%, 160%;
  }
}
@media (max-width: 1023px) {
  .container {
    display: grid;
    grid-template-columns: 50% 50%;
    min-height: 100vh;
  }
  .card1 {
    padding: 4rem 3rem 4rem 3rem;
    background-size: 160%, 160%;
  }
}
@media (max-width: 800px) {
  .card1 {
    padding: 4rem 3rem 4rem 2rem;
    background-size: 160%, 160%;
  }
  .card1 input[type=submit] {
    left: 87%;
  }
  .card1 form div {
    position: absolute;
    top: 0;
    left: 70%;
    height: 100%;
  }
}
@media (max-width: 800px) and (max-width: 767px) {
  .container {
    grid-template-columns: 1fr;
  }
  .card1 {
    padding: 0;
    background-image: url(./images/bg-pattern-desktop.svg), url(./images/bg-pattern-desktop.svg);
    background-repeat: no-repeat, no-repeat;
    background-position: 0rem 23rem, 0rem 0rem;
    background-size: 200%, 200%;
  }
  .card1 img {
    width: 8rem;
    margin-bottom: 2rem;
  }
  .card1 img.logo {
    margin: 2rem 0rem 2rem 2rem;
  }
  .card1 img.mobile {
    width: 100%;
  }
  .card1 h1 {
    font-size: 3.5rem;
    margin-bottom: 1rem;
    padding: 2rem 5rem 0rem 5rem;
    text-align: center;
  }
  .card1 p {
    margin-bottom: 2rem;
    color: hsl(0, 36%, 70%);
    line-height: 1.5rem;
    padding: 0rem 3rem;
    text-align: center;
  }
  .card1 input[type=email] {
    padding: 1rem;
  }
  .card1 input[type=submit] {
    width: 25%;
    height: 3rem;
    border-radius: 2rem;
    padding: 1rem;
    background-image: url(./images/icon-arrow.svg);
    left: 70%;
  }
  .card1 form {
    position: relative;
    padding: 0rem 3rem;
  }
  .card1 form div {
    position: absolute;
    top: 0;
    left: 60%;
    height: 100%;
  }
  .card1 form div img {
    width: 1.5rem;
    position: relative;
    top: 23%;
  }
  .card2 {
    background-repeat: no-repeat;
    background-size: 120%;
    background-position: center center;
  }
  .mobile {
    display: block;
  }
  .desktop {
    display: none;
  }
}