html, body {
  height:100%; /* allows us to size the header height based as a percent */
}

.header {
  height:calc(100% - 1em); /* subtract an amount of space for your arrow element */
  background-color:#000;
  width:100%;
}

.main {
  width:100%;
  position:relative;
  background-color:#F9D450;
}

/* the important styles */

.arrow-wrap {
  position:absolute;
  z-index:9999;
  left:50%;
  top:-5em;
  margin-left:-7em;
  background:#;
  width:2em;
  height:2em;
  padding:4em 2em;
  border-radius:50%;
  font-size:0.5em;
  display:block;
  box-shadow:0px 0px 5px 0px #;
}

.arrow {
  float:left;
  position:relative;
  width: 0px;
height: 0px;
border-style: solid;
border-width: 3em 3em 0 3em;
border-color: #FFF transparent transparent transparent;
  -webkit-transform:rotate(360deg)
}

.arrow:after {
  content:'';
  position:absolute;
  top:-0em;
  left:-1em;
  width: 0px;
height: 0px;
border-style: solid;
border-width: 6em 6em 0 6em;
border-color: #000 transparent transparent transparent;
  -webkit-transform:rotate(360deg)
}

.hint {
  position:absolute;
  top:0.6em;
  width:100%;
  left:0;
  font-size:2em;
  font-style:italic;
  text-align:center;
  color:#fff;
  opacity:0;
}
.arrow-wrap:hover .hint {
  opacity:1;
}

  @-webkit-keyframes arrows {
    0% { top:0; }
    10% { top:12%; }
    20% { top:0; }
    30% { top:12%; }
    40% { top:-12%; }
    50% { top:12%; }
    60% { top:0; }
    70% { top:12%; }
    80% { top:-12%; }
    90% { top:12%; }
    100% { top:0; }
  }

  .arrow-wrap .arrow {
    -webkit-animation: arrows 2.8s 0.4s;
    -webkit-animation-delay: 3s;
  }