html {
  box-sizing: border-box;
  font-family: "Karla";
  font-size: 16px;
}

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

body {
  padding: 20px;
}

#card {
  box-shadow: 2px 3px 7px 0px rgba(0, 0, 0, 0.35);
  border-radius: 5px;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
}

#top-section {
  width: 100%;
  height: 45%;
  padding: 25px;
  margin-left: 10px;
}

#bottom-section {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 55%;
  color: white;
}
#bottom-left {
  height: 100%;
  background-color: #2bb3b0;
  padding: 20px;
  flex-basis: 50%;
}
#bottom-right {
  height: 100%;
  background-color: #31ccc9;
  padding: 20px;
  flex-basis: 50%;
}

#top-section h2 {
  color: #76b828;
}
#top-section h4 {
  color: #faed53;
  margin-bottom: 3px;
}
#top-section p {
  color: #98a6bd;
  margin-top: 6px;
}

button {
  color: white;
  background-color: #faed53;
  border: none;
  padding: 14px;
  width: 100%;
  border-radius: 5px;
  font-weight: 800;
  margin-top: 5px;
  box-shadow: 2px 2px 7px 0px rgba(0, 0, 0, 0.35);
}
button:hover {
  cursor: pointer;
  background-color: #d4c846;
  transform: scale(1.02);
}

#price-flex {
  display: flex;
}
#price {
  font-weight: 900;
  font-size: 1.7rem;
}
#price-freq {
  position: relative;
  padding: 7px;
  opacity: 0.6;
  font-size: 0.9rem;
  margin-left: 3px;
}

#bottom-left p {
  margin-top: 6px;
  font-size: 0.9rem;
}
#bottom-left h4 {
  font-weight: 800;
  font-size: 1.1rem;
}

#bottom-right h4 {
  font-weight: 800;
  font-size: 1.1rem;
}
#bottom-right ul {
  padding: 0;
  list-style: none;
  opacity: 0.6;
  font-size: 0.9rem;
}

.attribution {
  font-size: 11px;
  text-align: center;
}
.attribution a {
  color: #384166;
}

@media (min-width: 576px) {
  #card {
    width: 550px;
    height: 400px;
  }
  #bottom-section {
    flex-direction: row;
  }
}
