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

h1, h2, h3, h4, h5, h6 {
  color: #222;
  font-family: 'Work Sans', sans-serif; }

p {
  font-family: 'Work Sans', sans-serif;
  padding: 16px 0; }

#jumbotron {
  background-color: #dee8e6;
  width: 100%;
  height: 100vh;
  padding: 120px; }
  #jumbotron .heading-container {
    margin: 110px;
    text-align: center; }
    #jumbotron .heading-container h1 {
      padding-top: 15px;
      font-size: 50px; }

#demo {
  width: 100%;
  padding: 100px;
  background-color: #f5f5f5; }
  #demo h1 {
    text-align: center; }
  #demo #githubStar {
    text-align: center; }

#aboutWrapper {
  margin: 80px; }
  #aboutWrapper .about-container {
    display: flex;
    justify-content: space-evenly;
    margin: 100px auto; }
    #aboutWrapper .about-container .about-details {
      width: 50%;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      #aboutWrapper .about-container .about-details h2 {
        text-decoration: underline;
        text-decoration-color: #ff6c6c; }
    #aboutWrapper .about-container .about-details.left {
      margin-left: 2rem; }
    #aboutWrapper .about-container .about-details.right {
      margin-right: 2rem; }
    #aboutWrapper .about-container .about-image > img {
      max-width: 520px; }

#contributors {
  background-color: #dee8e6;
  width: 100%;
  height: 100vh;
  padding: 100px; }
  #contributors h1 {
    text-align: center;
    padding: 30px auto; }
  #contributors .bio-container {
    padding: 50px 200px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    align-items: center; }
  #contributors .single-contributor {
    padding: 25px;
    grid-column: span 2; }
    #contributors .single-contributor:last-child:nth-child(3n - 1) {
      grid-column-end: -2; }
    #contributors .single-contributor:nth-last-child(2):nth-child(3n + 1) {
      grid-column-end: 4; }
    #contributors .single-contributor a {
      color: black;
      text-decoration: underline;
      text-decoration-color: #ff6c6c; }
      #contributors .single-contributor a:visited {
        color: black; }
    #contributors .single-contributor p {
      text-align: center; }
  #contributors img {
    border-radius: 50%;
    width: 90px;
    margin-left: auto;
    margin-right: auto;
    display: block; }

footer svg {
  margin-top: 5px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  width: 28px; }

footer p {
  text-align: center;
  padding-top: 0;
  font-size: 12px; }

@media all and (max-width: 839px) {
  #jumbotron {
    padding: 60px; }
  #jumbotron .heading-container {
    margin: 150px 0px; }
  #demo {
    padding: 60px 20px 20px 20px; }
  #aboutWrapper {
    margin: 0px; }
    #aboutWrapper .about-container {
      display: flex;
      flex-direction: column;
      margin: 50px auto; }
      #aboutWrapper .about-container .about-details {
        width: 100%;
        margin: 0px;
        padding: 0px; }
      #aboutWrapper .about-container .about-image img {
        max-width: 100%; }
  #aboutWrapper .about-container .about-details.left {
    margin-top: 1rem;
    margin-left: 0rem;
    text-align: center; }
  #aboutWrapper .about-container .about-details.right {
    margin-top: 1rem;
    margin-right: 0rem;
    text-align: center; }
  #contributors {
    height: 1200px; }
  #contributors .bio-container {
    display: block;
    padding: 0;
    margin: 0; } }

@keyframes rain {
  0% {
    transform: translateY(-50%);
    opacity: 0; }
  50% {
    transform: translateY(-10%);
    opacity: 0.3; }
  100% {
    transform: translateY(0);
    opacity: 1; } }

.animate {
  animation-name: rain;
  animation-duration: 2.5s;
  animation-timing-function: ease-out; }

@keyframes rotate {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(90deg); }
  50% {
    transform: rotate(0deg); }
  75% {
    transform: rotate(-90deg); }
  100% {
    transform: rotate(0deg); } }

@keyframes heartBeat {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }

.animate svg {
  animation-name: rotate;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-delay: 4s;
  cursor: pointer; }
  .animate svg:hover {
    animation-name: heartBeat;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-out;
    animation-delay: 0s; }

