@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Lusitana);
.header-nav p {
  font-size: 20px;
  line-height: 28px;
  margin: 0 0 18px; }
  .header-nav p span {
    position: relative;
    display: block;
    font-size: 16px;
    line-height: 20px;
    padding: 12px 20px;
    margin-bottom: 24px;
    background-color: white;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 2px 4px; }
    .header-nav p span:before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: -12px;
      margin: auto;
      background-color: #98B296;
      width: 24px;
      height: 24px;
      border-radius: 100%;
      box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 3px; }
    .header-nav p span:after {
      content: '';
      position: absolute;
      top: -2px;
      bottom: 0;
      left: -6px;
      margin: auto;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 6px 8px 6px;
      border-color: transparent transparent white transparent; }

.header-nav h1 {
  font-size: 40px;
  font-weight: normal;
  line-height: 44px;
  text-align: center;
  margin-bottom: 18px; }
  @media (min-width: 500px) {
    .header-nav h1 {
      font-size: 60px;
      line-height: 64px; } }

.header-nav h3 {
  font-size: 24px;
  font-weight: normal;
  text-align: center;
  margin-bottom: 60px; }

.header-nav ul {
  list-style: none;
  margin: 0;
  padding: 0; }
  .header-nav ul li {
    cursor: pointer;
    padding: 6px 20px;
    font-size: 48px;
    position: relative; }

.header-nav button {
  opacity: 0.6;
  background-color: transparent;
  position: fixed;
  z-index: 2;
  top: 24px;
  left: 24px;
  border: none;
  width: 36px;
  height: 30px;
  outline: none;
  transition: opacity 0.2s ease-out; }
  .header-nav button:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    right: auto;
    width: 100%;
    background: linear-gradient(to bottom, #98B296, #98B296 20%, transparent 20%, transparent 40%, #98B296 40%, #98B296 60%, transparent 60%, transparent 80%, #98B296 80%, #98B296 100%);
    transition: opacity 0.2s ease-out,
 width 0.2s 0.2s ease-out; }
  .header-nav button:after {
    opacity: 0;
    content: '×';
    color: white;
    position: absolute;
    top: 16px;
    left: -4px;
    font-family: Arial, sans-serif;
    font-size: 76px;
    line-height: 0;
    transition: opacity 0.4s ease-out; }
  .header-nav button:active {
    transform: translateY(2px); }
  .header-nav button:hover {
    opacity: 1; }
  .open .header-nav button {
    opacity: 1; }
    .open .header-nav button:before {
      opacity: 0;
      width: 0; }
    .open .header-nav button:after {
      opacity: 1;
      transform: translate3d(0, 0, 0) rotate(360deg);
      transition: transform 0.4s 1s ease-out,
 opacity 0.4s 1s ease-out; }

.header-nav nav {
  z-index: 1;
  position: fixed;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  overflow: hidden; }
  .header-nav nav:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: rgba(123, 156, 121, 0.98);
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    border-radius: 100%;
    transform: scale(0.04), translateY(9999px);
    overflow: hidden; }
  .open .header-nav nav {
    top: 0; }
    .open .header-nav nav:before {
      animation: menu-animation 0.8s ease-out forwards; }

.header-nav ul.menu {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  backface-visibility: hidden;
  perspective: 1000;
  color: white; }
  .header-nav ul.menu a {
    opacity: 0;
    text-align: center;
    transform: translate3d(0, 36px, 0); }
    .header-nav ul.menu a:before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      left: auto;
      background-color: white;
      height: 100%;
      width: 0;
      overflow: hidden;
      transition: width 0.14s ease-out; }
    .header-nav ul.menu a:after {
      opacity: 0;
      content: attr(data-text);
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      color: #98B296;
      overflow: hidden;
      transform: translate(-24px, 6px);
      transition: transform 0.1s ease-out,
 opacity 0.1s ease-out; }
    .header-nav ul.menu a:hover:before {
      left: 0;
      right: auto;
      width: 100%; }
    .header-nav ul.menu a:hover:after {
      opacity: 1;
      padding: 0 20px;
      transform: translate(0px, 6px);
      transition: transform 0.2s 0.14s ease-out,
 opacity 0.2s 0.14s ease-out; }
    .open .header-nav ul.menu a {
      opacity: 1;
      transform: translate3d(0, 0, 0);
      transition: transform 0.2s ease-out,
 opacity 0.2s ease-out; }
      .open .header-nav ul.menu a:nth-child(1) {
        transition-delay: 0.75s; }
      .open .header-nav ul.menu a:nth-child(2) {
        transition-delay: 0.85s; }
      .open .header-nav ul.menu a:nth-child(3) {
        transition-delay: 0.95s; }
      .open .header-nav ul.menu a:nth-child(4) {
        transition-delay: 1.05s; }

@keyframes menu-animation {
  0% {
    opacity: 0;
    transform: scale(0.04) translateY(300%); }
  40% {
    transform: scale(0.04) translateY(0);
    transition: ease-out; }
  40% {
    transform: scale(0.04) translateY(0); }
  60% {
    opacity: 1;
    transform: scale(0.02) translateY(0px); }
  61% {
    transform: scale(0.04); }
  99.9% {
    height: 0;
    padding-bottom: 100%;
    border-radius: 100%; }
  100% {
    transform: scale(2);
    height: 100%;
    padding-bottom: 0;
    border-radius: 0; } }
