.people {
  display: flex;
  justify-content: center; }
  .people img {
    position: absolute;
    bottom: 3rem;
    width: 32%;
    transform-origin: 0 100%; }
    .people img.business {
      width: 27%; }
    .people img.delivery {
      width: 39%; }
    .people img.doctor {
      width: 28%; }
    .people img.delivery {
      width: 37%; }
    .people img.farmer {
      width: 33%; }
    .people img.maintenance {
      width: 36%; }
    .people img.media {
      width: 27%; }
    .people img.military {
      width: 27%; }
    .people img.nurse {
      width: 27%; }
    .people img.police {
      width: 27%; }
    .people img.postal {
      width: 37%; }
    .people img.scientist {
      width: 29%; }
    .people img.other {
      width: 25%; }

.heart {
  width: 100%;
  height: auto;
  margin: 2rem auto 6rem auto;
  transform-origin: 50% 100%; }
  @media screen and (max-width: 520px) {
    .heart {
      margin-bottom: 3rem; } }

@-webkit-keyframes beat {
  0% {
    transform: scale(1); }
  60% {
    transform: scale(0.9); } }

@keyframes beat {
  0% {
    transform: scale(1); }
  60% {
    transform: scale(0.9); } }

html {
  font-size: 16px; }

body {
  margin: 0;
  background-color: #FBD982;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-family: "Josefin Sans", sans-serif; }

main {
  display: flex;
  flex-direction: column;
  opacity: 0;
  overflow: visible; }
  main.loaded {
    opacity: 1; }
  @media screen and (max-width: 560px) {
    main {
      overflow: hidden;
      padding: 2rem 0; } }

h2 {
  margin: 0;
  color: black;
  text-align: center; }
  h2.text {
    text-transform: uppercase; }
    h2.text-top {
      font-size: 3rem; }
    h2.text-bottom {
      font-size: 4rem; }
      h2.text-bottom.large {
        font-size: 4rem; }
      h2.text-bottom.small {
        font-size: 3rem; }
      h2.text-bottom.end {
        font-size: 2rem; }
    @media screen and (max-width: 520px) {
      h2.text-top {
        font-size: 2rem; }
      h2.text-bottom {
        font-size: 3rem; }
        h2.text-bottom.large {
          font-size: 2rem; }
        h2.text-bottom.small {
          font-size: 1.6rem; }
        h2.text-bottom.end {
          font-size: 1.2rem; } }

.text-bottom-container {
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (max-width: 520px) {
    .text-bottom-container {
      height: 4rem;
      padding: 0 1rem; } }

.art {
  position: relative;
  margin: 0 auto; }

#restartButton {
  position: absolute;
  bottom: -1rem;
  left: 50%;
  transform: translateX(-50%);
  border: none;
  background: none;
  font-size: 1.2rem;
  color: black;
  cursor: pointer;
  padding: 1rem 2rem;
  opacity: 0.9;
  display: flex;
  z-index: 100;
  white-space: nowrap; }
  #restartButton svg {
    fill: black;
    margin-left: 0.2rem; }
  #restartButton:hover {
    opacity: 1 !important; }

.floating {
  padding: 2rem;
  position: absolute;
  bottom: 0; }
  .floating a {
    color: inherit; }
  .floating.left {
    left: 0;
    text-transform: uppercase; }
  .floating.right {
    right: 0; }
    .floating.right img {
      width: 64px;
      transition: transform 0.3s ease-out; }
    .floating.right:hover img {
      transform: rotateY(180deg); }
  @media screen and (max-width: 768px) {
    .floating {
      display: none; } }
