:root {
    --font-body: 'Shantell Sans', sans-serif;
    --font-display: 'Bakso Sapi', 'Shantell Sans', sans-serif;
    
    --ls-gradient-color: white;
    --ls-gradient-2: hsla(250, 50%, 100%, 1);
  
    --button-bg: hsl(338, 49%, 43%);
    --button-bg-hover: hsl(347, 62%, 62%);
    --button-icon-clr: hsl(30, 83%, 90%);
  }
  
  * {
    margin: 0;
    border: 0;
    box-sizing: border-box;
  }
  
  html, body {scroll-behavior: smooth}
  body { line-height: 1.6 }
  
  h1, h2 {
    font-family: var(--font-display);
    text-align: center;
    font-weight: 400;
    
    color: var(--button-bg);
  }

  h1 {
    font-size: 2.25rem;
  }

  h2 {
    font-size: 1.325rem;
  }

  .darby {
    margin: 3em auto;
    max-width: 500px;
  }
  
  .info {
    font-family: 'Shantell Sans';
    margin: 1em auto 6em auto;
    padding: 2em 1em;
    background: pink;
    max-width: 500px;
    border-radius: 1em;
  }
  
  .info p {
    margin: 1em;
    text-align: center;
    text-wrap: balance;
  }
  
  .info b {
    font-family: var(--font-display);
    color: var(--button-bg);  
    font-weight: normal;
    font-size: 1.05rem;
    line-height: 1.3;
    vertical-align: middle;
    display: inline-block;
  }
  
  .button-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2rem;
    gap: 1rem;
  }
  
  button[aria-label] {
    background: var(--button-bg);
    color: var(--button-icon-clr);
    display: grid;
    place-items: center;
    width: 3.5rem;
    aspect-ratio: 1/1;
    border: none;
    border-radius: 100%;
    cursor: pointer;
    box-shadow: 0px 1px 1px 0px hsla(0, 0%, 0%, 0.25);
  }
  
  button[aria-label]:hover {
    background: var(--button-bg-hover);
  }
  
  button[aria-label]::after {
    font-family: FontAwesome;
    font-size: 1.75rem;
    text-align: center;
    margin: 0 auto;
  }

  .info form {
    display: flex;
    flex-direction: column;
    margin: 1.5em;
    gap: 1em;
    max-width:500px;
    /* overflow:; */
    align-items: center;
    justify-content: center;

  }

  label {
    font-family: var(--font-display);
    color: var(--button-bg);
    /* font-weight: bold; */
    text-align: center;
    font-size: 1.25rem;
  }
  
  input[type=text],
  input[type=email],
  input[type=textarea] {
      line-height: 1.6;
      padding: 0.25em 0.75em;
      border-radius: 12px;
      max-width: 20ch;
  }

  input[type=textarea] {
    height: 100px;
    /* height: auto !important; */
    max-width: 25ch;
    vertical-align:top;
  }

  input:focus {
    outline-color: 2px solid var(--button-bg);
  }

  input[type=submit] {
    margin: 0.5em;
    font-size: 1.25rem;
    padding: 0.325em 0.75em;
    font-family: var(--font-display);
    color: var(--button-icon-clr);
    background: var(--button-bg);
    border-radius: 12px;
  }

  /* happy */
  
  [aria-label="happy"]::after { content: "\f118"; }
  
  [aria-label="happy"]:hover::after { content: "\f580"; }
  
  /* cookie */
  
  [aria-label="eat cookie"]::after { content: "\f563"; }
  
  [aria-label="eat cookie"][data-count="1"] {
    animation: cookieBounce ease 250ms;
  }
  
  [aria-label="eat cookie"][data-count="1"]::after {
    content: "\f564";
  }
  
  [aria-label="eat cookie"][data-count="2"] {
    animation: cookieBounce1 ease 250ms;
  }
  
  [aria-label="eat cookie"][data-count="2"]::after {
    content: "\e394";
  }
  
  @keyframes cookieBounce {
    50% { transform: translateY(-4px) }
    100% { transform: translateY(0) }
  }
  
  @keyframes cookieBounce1 {
    50% { transform: translateY(-4px) }
    100% { transform: translateY(0) }
  }
  
  [aria-label="heart"]::after {
    content: "\f004";
  }
  
  [aria-label="heart"][data-count="1"]::after {
    animation: heartBeat 1000ms infinite
  }
  
  @keyframes heartBeat {
    10% {
      transform: scale(1.25);
    }
    
    20% {
      transform: scale(1);
    }
    
    30% { transform: scale(1.25)}
    
    40% {
      transform: scale(1);
    }
  }
  
  /* undo button */
  
  [aria-label="undo"]::after { content: "\f0e2"; }
  
  .undo-spin { animation: undoSpin ease 1s; }
  
  @keyframes undoSpin {
    100% { transform: rotate(-360deg)}
  }
  
  /* local storage */
  
  [aria-label="local storage"] {
    transition: transform 1250ms linear,
                box-shadow 250ms 1000ms ease,
                color 125ms 1125ms ease,
                background 250ms 1000ms ease;
  }
  
  [aria-label="local storage"]::after {
    content: "\f1c0";
  }
  
  [aria-label="local storage"]:hover,
  [aria-label="local storage"]:target {
    background: hsla(0, 0%, 0%, 0) !important;
    transform: rotateY(-360deg);
    box-shadow: 0 0 0 3px var(--ls-gradient-color);
    color: white;
  }
  
  @keyframes fadeIn {
    0% {
      opacity: 0;
    }
    
    100% {
      opacity: 1;
    }
  }
  
  /* run button */
  
  [aria-label="run"] {
    margin-bottom: 5em;
  }
  
  [aria-label="run"]:hover {
  
  }
  
  [aria-label="run"]::after {
    content: "\f70c"
  }
  
  .display-none {
    display: none !important;
  }
  
  [aria-label="run"][data-count="1"] {
    animation: runAway linear 3500ms;
  }
  
  @keyframes runAway {
    5% {
      transform: translateX(100px);
    }
    
    24.999% {
      transform: translateX(100px) rotateY(0);
    }
    
    25% {
      transform: translateX(100px) rotateY(180deg);
    }
    
    34.99999% {
      transform: translateX(-125px) rotateY(180deg);
    }
    
    35% {
      transform: translateX(-125px) rotateY(180deg);
    }
    
    54.9999% {
      transform: translateX(-125px) rotateY(180deg);
    }
    
    55% {
      transform: translateX(-125px)
    }
    
    90% {
      transform: translateX(1500px);
      opacity: 1;
    }
    100% {
      transform: translateX(1500px);
      opacity: 0;
    }
  }

  [aria-label="return"] {
    position: fixed;
    bottom: 2rem;
    left: 2rem;
    opacity: 33%;
  }

  [aria-label="return"]:hover {
    opacity: 100%;
  }

  [aria-label="return"]::after {
    content: '\f355';
  }

  .bottom-nav {
  }

  .bottom-nav:hover {
    opacity: 100%;
  }

  
  #section-1 {
    position: relative;
    margin-block: 3rem;
    display: flex;
    justify-content: center;
  }
  
  #section-1 .button-wrapper {
    position: absolute;
    margin: auto;
  }
  
  .panels {
    opacity: 0;
    display: none;
    margin-bottom: 3em;
  }
  
  .fade-in {
    animation: fadeIn 1000ms ease;
    opacity: 1;
    display: block;
  }
  
  #panels-1 {
    margin-block: 2.25em;
  }
  
  @keyframes fadeIn {
    0% {
      display: block;
      opacity: 0;
    }
    
    100% {
      opacity: 1;
    }
  }
  
  @media all and (max-width: 700px) {
    .info {
      margin: 2em 1em 7.5em 1em;
    }
    
    .panels-wrapper {
      margin: 3em 1em;
    }
  }