/*!
 * font-awesome-animation - v0.0.7
 * https://github.com/l-lin/font-awesome-animation
 * License: MIT
 */

@-webkit-keyframes wrench {
  0% {
    -webkit-transform: rotate(-12deg);
    transform: rotate(-12deg);
  }

  8% {
    -webkit-transform: rotate(12deg);
    transform: rotate(12deg);
  }

  10% {
    -webkit-transform: rotate(24deg);
    transform: rotate(24deg);
  }

  18%, 20% {
    -webkit-transform: rotate(-24deg);
    transform: rotate(-24deg);
  }

  28%, 30% {
    -webkit-transform: rotate(24deg);
    transform: rotate(24deg);
  }

  38%, 40% {
    -webkit-transform: rotate(-24deg);
    transform: rotate(-24deg);
  }

  48%, 50% {
    -webkit-transform: rotate(24deg);
    transform: rotate(24deg);
  }

  58%, 60% {
    -webkit-transform: rotate(-24deg);
    transform: rotate(-24deg);
  }

  68% {
    -webkit-transform: rotate(24deg);
    transform: rotate(24deg);
  }

  100%, 75% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

@keyframes wrench {
  0% {
    -webkit-transform: rotate(-12deg);
    -ms-transform: rotate(-12deg);
    transform: rotate(-12deg);
  }

  8% {
    -webkit-transform: rotate(12deg);
    -ms-transform: rotate(12deg);
    transform: rotate(12deg);
  }

  10% {
    -webkit-transform: rotate(24deg);
    -ms-transform: rotate(24deg);
    transform: rotate(24deg);
  }

  18%, 20% {
    -webkit-transform: rotate(-24deg);
    -ms-transform: rotate(-24deg);
    transform: rotate(-24deg);
  }

  28%, 30% {
    -webkit-transform: rotate(24deg);
    -ms-transform: rotate(24deg);
    transform: rotate(24deg);
  }

  38%, 40% {
    -webkit-transform: rotate(-24deg);
    -ms-transform: rotate(-24deg);
    transform: rotate(-24deg);
  }

  48%, 50% {
    -webkit-transform: rotate(24deg);
    -ms-transform: rotate(24deg);
    transform: rotate(24deg);
  }

  58%, 60% {
    -webkit-transform: rotate(-24deg);
    -ms-transform: rotate(-24deg);
    transform: rotate(-24deg);
  }

  68% {
    -webkit-transform: rotate(24deg);
    -ms-transform: rotate(24deg);
    transform: rotate(24deg);
  }

  100%, 75% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

.faa-parent.animated-hover:hover>.faa-wrench,
.faa-wrench.animated,
.faa-wrench.animated-hover:hover {
  -webkit-animation: wrench 2.5s ease infinite;
  animation: wrench 2.5s ease infinite;
  transform-origin-x: 90%;
  transform-origin-y: 35%;
  transform-origin-z: initial;
}

.faa-parent.animated-hover:hover>.faa-wrench.faa-fast,
.faa-wrench.animated-hover.faa-fast:hover,
.faa-wrench.animated.faa-fast {
  -webkit-animation: wrench 1.2s ease infinite;
  animation: wrench 1.2s ease infinite;
}

.faa-parent.animated-hover:hover>.faa-wrench.faa-slow,
.faa-wrench.animated-hover.faa-slow:hover,
.faa-wrench.animated.faa-slow {
  -webkit-animation: wrench 3.7s ease infinite;
  animation: wrench 3.7s ease infinite;
}

@-webkit-keyframes ring {
  0% {
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg);
  }

  2% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  }

  4% {
    -webkit-transform: rotate(-18deg);
    transform: rotate(-18deg);
  }

  6% {
    -webkit-transform: rotate(18deg);
    transform: rotate(18deg);
  }

  8% {
    -webkit-transform: rotate(-22deg);
    transform: rotate(-22deg);
  }

  10% {
    -webkit-transform: rotate(22deg);
    transform: rotate(22deg);
  }

  12% {
    -webkit-transform: rotate(-18deg);
    transform: rotate(-18deg);
  }

  14% {
    -webkit-transform: rotate(18deg);
    transform: rotate(18deg);
  }

  16% {
    -webkit-transform: rotate(-12deg);
    transform: rotate(-12deg);
  }

  18% {
    -webkit-transform: rotate(12deg);
    transform: rotate(12deg);
  }

  100%, 20% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

@keyframes ring {
  0% {
    -webkit-transform: rotate(-15deg);
    -ms-transform: rotate(-15deg);
    transform: rotate(-15deg);
  }

  2% {
    -webkit-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    transform: rotate(15deg);
  }

  4% {
    -webkit-transform: rotate(-18deg);
    -ms-transform: rotate(-18deg);
    transform: rotate(-18deg);
  }

  6% {
    -webkit-transform: rotate(18deg);
    -ms-transform: rotate(18deg);
    transform: rotate(18deg);
  }

  8% {
    -webkit-transform: rotate(-22deg);
    -ms-transform: rotate(-22deg);
    transform: rotate(-22deg);
  }

  10% {
    -webkit-transform: rotate(22deg);
    -ms-transform: rotate(22deg);
    transform: rotate(22deg);
  }

  12% {
    -webkit-transform: rotate(-18deg);
    -ms-transform: rotate(-18deg);
    transform: rotate(-18deg);
  }

  14% {
    -webkit-transform: rotate(18deg);
    -ms-transform: rotate(18deg);
    transform: rotate(18deg);
  }

  16% {
    -webkit-transform: rotate(-12deg);
    -ms-transform: rotate(-12deg);
    transform: rotate(-12deg);
  }

  18% {
    -webkit-transform: rotate(12deg);
    -ms-transform: rotate(12deg);
    transform: rotate(12deg);
  }

  100%, 20% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

.faa-parent.animated-hover:hover>.faa-ring,
.faa-ring.animated,
.faa-ring.animated-hover:hover {
  -webkit-animation: ring 2s ease infinite;
  animation: ring 2s ease infinite;
  transform-origin-x: 50%;
  transform-origin-y: 0;
  transform-origin-z: initial;
}

.faa-parent.animated-hover:hover>.faa-ring.faa-fast,
.faa-ring.animated-hover.faa-fast:hover,
.faa-ring.animated.faa-fast {
  -webkit-animation: ring 1s ease infinite;
  animation: ring 1s ease infinite;
}

.faa-parent.animated-hover:hover>.faa-ring.faa-slow,
.faa-ring.animated-hover.faa-slow:hover,
.faa-ring.animated.faa-slow {
  -webkit-animation: ring 3s ease infinite;
  animation: ring 3s ease infinite;
}

@-webkit-keyframes vertical {
  0% {
    -webkit-transform: translate(0,-3px);
    transform: translate(0,-3px);
  }

  4% {
    -webkit-transform: translate(0,3px);
    transform: translate(0,3px);
  }

  8% {
    -webkit-transform: translate(0,-3px);
    transform: translate(0,-3px);
  }

  12% {
    -webkit-transform: translate(0,3px);
    transform: translate(0,3px);
  }

  16% {
    -webkit-transform: translate(0,-3px);
    transform: translate(0,-3px);
  }

  20% {
    -webkit-transform: translate(0,3px);
    transform: translate(0,3px);
  }

  100%, 22% {
    -webkit-transform: translate(0,0);
    transform: translate(0,0);
  }
}

@keyframes vertical {
  0% {
    -webkit-transform: translate(0,-3px);
    -ms-transform: translate(0,-3px);
    transform: translate(0,-3px);
  }

  4% {
    -webkit-transform: translate(0,3px);
    -ms-transform: translate(0,3px);
    transform: translate(0,3px);
  }

  8% {
    -webkit-transform: translate(0,-3px);
    -ms-transform: translate(0,-3px);
    transform: translate(0,-3px);
  }

  12% {
    -webkit-transform: translate(0,3px);
    -ms-transform: translate(0,3px);
    transform: translate(0,3px);
  }

  16% {
    -webkit-transform: translate(0,-3px);
    -ms-transform: translate(0,-3px);
    transform: translate(0,-3px);
  }

  20% {
    -webkit-transform: translate(0,3px);
    -ms-transform: translate(0,3px);
    transform: translate(0,3px);
  }

  100%, 22% {
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0);
  }
}

.faa-parent.animated-hover:hover>.faa-vertical,
.faa-vertical.animated,
.faa-vertical.animated-hover:hover {
  -webkit-animation: vertical 2s ease infinite;
  animation: vertical 2s ease infinite;
}

.faa-parent.animated-hover:hover>.faa-vertical.faa-fast,
.faa-vertical.animated-hover.faa-fast:hover,
.faa-vertical.animated.faa-fast {
  -webkit-animation: vertical 1s ease infinite;
  animation: vertical 1s ease infinite;
}

.faa-parent.animated-hover:hover>.faa-vertical.faa-slow,
.faa-vertical.animated-hover.faa-slow:hover,
.faa-vertical.animated.faa-slow {
  -webkit-animation: vertical 4s ease infinite;
  animation: vertical 4s ease infinite;
}

@-webkit-keyframes horizontal {
  0% {
    -webkit-transform: translate(0,0);
    transform: translate(0,0);
  }

  6% {
    -webkit-transform: translate(5px,0);
    transform: translate(5px,0);
  }

  12% {
    -webkit-transform: translate(0,0);
    transform: translate(0,0);
  }

  18% {
    -webkit-transform: translate(5px,0);
    transform: translate(5px,0);
  }

  24% {
    -webkit-transform: translate(0,0);
    transform: translate(0,0);
  }

  30% {
    -webkit-transform: translate(5px,0);
    transform: translate(5px,0);
  }

  100%, 36% {
    -webkit-transform: translate(0,0);
    transform: translate(0,0);
  }
}

@keyframes horizontal {
  0% {
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0);
  }

  6% {
    -webkit-transform: translate(5px,0);
    -ms-transform: translate(5px,0);
    transform: translate(5px,0);
  }

  12% {
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0);
  }

  18% {
    -webkit-transform: translate(5px,0);
    -ms-transform: translate(5px,0);
    transform: translate(5px,0);
  }

  24% {
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0);
  }

  30% {
    -webkit-transform: translate(5px,0);
    -ms-transform: translate(5px,0);
    transform: translate(5px,0);
  }

  100%, 36% {
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0);
  }
}

.faa-horizontal.animated,
.faa-horizontal.animated-hover:hover,
.faa-parent.animated-hover:hover>.faa-horizontal {
  -webkit-animation: horizontal 2s ease infinite;
  animation: horizontal 2s ease infinite;
}

.faa-horizontal.animated-hover.faa-fast:hover,
.faa-horizontal.animated.faa-fast,
.faa-parent.animated-hover:hover>.faa-horizontal.faa-fast {
  -webkit-animation: horizontal 1s ease infinite;
  animation: horizontal 1s ease infinite;
}

.faa-horizontal.animated-hover.faa-slow:hover,
.faa-horizontal.animated.faa-slow,
.faa-parent.animated-hover:hover>.faa-horizontal.faa-slow {
  -webkit-animation: horizontal 3s ease infinite;
  animation: horizontal 3s ease infinite;
}

@-webkit-keyframes flash {
  0%, 100%, 50% {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

@keyframes flash {
  0%, 100%, 50% {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

.faa-flash.animated,
.faa-flash.animated-hover:hover,
.faa-parent.animated-hover:hover>.faa-flash {
  -webkit-animation: flash 2s ease infinite;
  animation: flash 2s ease infinite;
}

.faa-flash.animated-hover.faa-fast:hover,
.faa-flash.animated.faa-fast,
.faa-parent.animated-hover:hover>.faa-flash.faa-fast {
  -webkit-animation: flash 1s ease infinite;
  animation: flash 1s ease infinite;
}

.faa-flash.animated-hover.faa-slow:hover,
.faa-flash.animated.faa-slow,
.faa-parent.animated-hover:hover>.faa-flash.faa-slow {
  -webkit-animation: flash 3s ease infinite;
  animation: flash 3s ease infinite;
}

@-webkit-keyframes bounce {
  0%, 10%, 100%, 20%, 50%, 80% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  40%, 60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

@keyframes bounce {
  0%, 10%, 100%, 20%, 50%, 80% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  40%, 60% {
    -webkit-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

.faa-bounce.animated,
.faa-bounce.animated-hover:hover,
.faa-parent.animated-hover:hover>.faa-bounce {
  -webkit-animation: bounce 2s ease infinite;
  animation: bounce 2s ease infinite;
}

.faa-bounce.animated-hover.faa-fast:hover,
.faa-bounce.animated.faa-fast,
.faa-parent.animated-hover:hover>.faa-bounce.faa-fast {
  -webkit-animation: bounce 1s ease infinite;
  animation: bounce 1s ease infinite;
}

.faa-bounce.animated-hover.faa-slow:hover,
.faa-bounce.animated.faa-slow,
.faa-parent.animated-hover:hover>.faa-bounce.faa-slow {
  -webkit-animation: bounce 3s ease infinite;
  animation: bounce 3s ease infinite;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(359deg);
    -ms-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}

.faa-parent.animated-hover:hover>.faa-spin,
.faa-spin.animated,
.faa-spin.animated-hover:hover {
  -webkit-animation: spin 1.5s linear infinite;
  animation: spin 1.5s linear infinite;
}

.faa-parent.animated-hover:hover>.faa-spin.faa-fast,
.faa-spin.animated-hover.faa-fast:hover,
.faa-spin.animated.faa-fast {
  -webkit-animation: spin .7s linear infinite;
  animation: spin .7s linear infinite;
}

.faa-parent.animated-hover:hover>.faa-spin.faa-slow,
.faa-spin.animated-hover.faa-slow:hover,
.faa-spin.animated.faa-slow {
  -webkit-animation: spin 2.2s linear infinite;
  animation: spin 2.2s linear infinite;
}

@-webkit-keyframes float {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  50% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes float {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  50% {
    -webkit-transform: translateY(-6px);
    -ms-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.faa-float.animated,
.faa-float.animated-hover:hover,
.faa-parent.animated-hover:hover>.faa-float {
  -webkit-animation: float 2s linear infinite;
  animation: float 2s linear infinite;
}

.faa-float.animated-hover.faa-fast:hover,
.faa-float.animated.faa-fast,
.faa-parent.animated-hover:hover>.faa-float.faa-fast {
  -webkit-animation: float 1s linear infinite;
  animation: float 1s linear infinite;
}

.faa-float.animated-hover.faa-slow:hover,
.faa-float.animated.faa-slow,
.faa-parent.animated-hover:hover>.faa-float.faa-slow {
  -webkit-animation: float 3s linear infinite;
  animation: float 3s linear infinite;
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }

  50% {
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }
}

.faa-parent.animated-hover:hover>.faa-pulse,
.faa-pulse.animated,
.faa-pulse.animated-hover:hover {
  -webkit-animation: pulse 2s linear infinite;
  animation: pulse 2s linear infinite;
}

.faa-parent.animated-hover:hover>.faa-pulse.faa-fast,
.faa-pulse.animated-hover.faa-fast:hover,
.faa-pulse.animated.faa-fast {
  -webkit-animation: pulse 1s linear infinite;
  animation: pulse 1s linear infinite;
}

.faa-parent.animated-hover:hover>.faa-pulse.faa-slow,
.faa-pulse.animated-hover.faa-slow:hover,
.faa-pulse.animated.faa-slow {
  -webkit-animation: pulse 3s linear infinite;
  animation: pulse 3s linear infinite;
}

.faa-parent.animated-hover:hover>.faa-shake,
.faa-shake.animated,
.faa-shake.animated-hover:hover {
  -webkit-animation: wrench 2.5s ease infinite;
  animation: wrench 2.5s ease infinite;
}

.faa-parent.animated-hover:hover>.faa-shake.faa-fast,
.faa-shake.animated-hover.faa-fast:hover,
.faa-shake.animated.faa-fast {
  -webkit-animation: wrench 1.2s ease infinite;
  animation: wrench 1.2s ease infinite;
}

.faa-parent.animated-hover:hover>.faa-shake.faa-slow,
.faa-shake.animated-hover.faa-slow:hover,
.faa-shake.animated.faa-slow {
  -webkit-animation: wrench 3.7s ease infinite;
  animation: wrench 3.7s ease infinite;
}

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  10%, 20% {
    -webkit-transform: scale(.9) rotate(-8deg);
    transform: scale(.9) rotate(-8deg);
  }

  30%, 50%, 70% {
    -webkit-transform: scale(1.3) rotate(8deg);
    transform: scale(1.3) rotate(8deg);
  }

  40%, 60% {
    -webkit-transform: scale(1.3) rotate(-8deg);
    transform: scale(1.3) rotate(-8deg);
  }

  100%, 80% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  10%, 20% {
    -webkit-transform: scale(.9) rotate(-8deg);
    -ms-transform: scale(.9) rotate(-8deg);
    transform: scale(.9) rotate(-8deg);
  }

  30%, 50%, 70% {
    -webkit-transform: scale(1.3) rotate(8deg);
    -ms-transform: scale(1.3) rotate(8deg);
    transform: scale(1.3) rotate(8deg);
  }

  40%, 60% {
    -webkit-transform: scale(1.3) rotate(-8deg);
    -ms-transform: scale(1.3) rotate(-8deg);
    transform: scale(1.3) rotate(-8deg);
  }

  100%, 80% {
    -webkit-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

.faa-parent.animated-hover:hover>.faa-tada,
.faa-tada.animated,
.faa-tada.animated-hover:hover {
  -webkit-animation: tada 2s linear infinite;
  animation: tada 2s linear infinite;
}

.faa-parent.animated-hover:hover>.faa-tada.faa-fast,
.faa-tada.animated-hover.faa-fast:hover,
.faa-tada.animated.faa-fast {
  -webkit-animation: tada 1s linear infinite;
  animation: tada 1s linear infinite;
}

.faa-parent.animated-hover:hover>.faa-tada.faa-slow,
.faa-tada.animated-hover.faa-slow:hover,
.faa-tada.animated.faa-slow {
  -webkit-animation: tada 3s linear infinite;
  animation: tada 3s linear infinite;
}

@-webkit-keyframes passing {
  0% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0;
  }

  50% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0;
  }
}

@keyframes passing {
  0% {
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0;
  }

  50% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0;
  }
}

.faa-parent.animated-hover:hover>.faa-passing,
.faa-passing.animated,
.faa-passing.animated-hover:hover {
  -webkit-animation: passing 2s linear infinite;
  animation: passing 2s linear infinite;
}

.faa-parent.animated-hover:hover>.faa-passing.faa-fast,
.faa-passing.animated-hover.faa-fast:hover,
.faa-passing.animated.faa-fast {
  -webkit-animation: passing 1s linear infinite;
  animation: passing 1s linear infinite;
}

.faa-parent.animated-hover:hover>.faa-passing.faa-slow,
.faa-passing.animated-hover.faa-slow:hover,
.faa-passing.animated.faa-slow {
  -webkit-animation: passing 3s linear infinite;
  animation: passing 3s linear infinite;
}

@-webkit-keyframes burst {
  0% {
    opacity: .6;
  }

  50% {
    -webkit-transform: scale(1.8);
    transform: scale(1.8);
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

@keyframes burst {
  0% {
    opacity: .6;
  }

  50% {
    -webkit-transform: scale(1.8);
    -ms-transform: scale(1.8);
    transform: scale(1.8);
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.faa-burst.animated,
.faa-burst.animated-hover:hover,
.faa-parent.animated-hover:hover>.faa-burst {
  -webkit-animation: burst 2s infinite linear;
  animation: burst 2s infinite linear;
}

.faa-burst.animated-hover.faa-fast:hover,
.faa-burst.animated.faa-fast,
.faa-parent.animated-hover:hover>.faa-burst.faa-fast {
  -webkit-animation: burst 1s infinite linear;
  animation: burst 1s infinite linear;
}

.faa-burst.animated-hover.faa-slow:hover,
.faa-burst.animated.faa-slow,
.faa-parent.animated-hover:hover>.faa-burst.faa-slow {
  -webkit-animation: burst 3s infinite linear;
  animation: burst 3s infinite linear;
}
/* Mobile first layout SmartMenus Core CSS (it's not recommended editing these rules)
   You need this once per page no matter how many menu trees or different themes you use.
-------------------------------------------------------------------------------------------*/

.sm {
  position: relative;
  z-index: 999;
}

.sm,
.sm ul,
.sm li {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: normal;
  direction: ltr;
  text-align: left;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.sm-rtl,
.sm-rtl ul,
.sm-rtl li {
  direction: rtl;
  text-align: right;
}

.sm>li>h1,
.sm>li>h2,
.sm>li>h3,
.sm>li>h4,
.sm>li>h5,
.sm>li>h6 {
  margin: 0;
  padding: 0;
}

.sm ul {
  display: none;
}

.sm li,
.sm a {
  position: relative;
}

.sm a {
  display: block;
}

.sm a.disabled {
  cursor: not-allowed;
}

.sm:after {
  content: "\00a0";
  display: block;
  height: 0;
  font: 0px/0 serif;
  clear: both;
  visibility: hidden;
  overflow: hidden;
}

.sm,
.sm *,
.sm *:before,
.sm *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.sm-simple {
  border: 1px solid #bbbbbb;
  background: white;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.sm-simple a,
.sm-simple a:hover,
.sm-simple a:focus,
.sm-simple a:active {
  padding: 13px 20px;
  /* make room for the toggle button (sub indicator) */
  padding-right: 58px;
  color: #555555;
  font-family: "Lucida Sans Unicode", "Lucida Sans", "Lucida Grande", Arial, sans-serif;
  font-size: 16px;
  font-weight: normal;
  line-height: 17px;
  text-decoration: none;
}

.sm-simple a.current {
  background: #555555;
  color: white;
}

.sm-simple a.disabled {
  color: #cccccc;
}

.sm-simple a span.sub-arrow {
  position: absolute;
  top: 50%;
  margin-top: -17px;
  left: auto;
  right: 4px;
  width: 34px;
  height: 34px;
  overflow: hidden;
  font: bold 14px/34px monospace !important;
  text-align: center;
  text-shadow: none;
  background: rgba(0, 0, 0, 0.08);
}

.sm-simple a.highlighted span.sub-arrow:before {
  display: block;
  content: '-';
}

.sm-simple li {
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.sm-simple > li:first-child {
  border-top: 0;
}

.sm-simple ul {
  background: rgba(179, 179, 179, 0.1);
}

.sm-simple ul a,
.sm-simple ul a:hover,
.sm-simple ul a:focus,
.sm-simple ul a:active {
  font-size: 14px;
  border-left: 8px solid transparent;
}

.sm-simple ul ul a,
.sm-simple ul ul a:hover,
.sm-simple ul ul a:focus,
.sm-simple ul ul a:active {
  border-left: 16px solid transparent;
}

.sm-simple ul ul ul a,
.sm-simple ul ul ul a:hover,
.sm-simple ul ul ul a:focus,
.sm-simple ul ul ul a:active {
  border-left: 24px solid transparent;
}

.sm-simple ul ul ul ul a,
.sm-simple ul ul ul ul a:hover,
.sm-simple ul ul ul ul a:focus,
.sm-simple ul ul ul ul a:active {
  border-left: 32px solid transparent;
}

.sm-simple ul ul ul ul ul a,
.sm-simple ul ul ul ul ul a:hover,
.sm-simple ul ul ul ul ul a:focus,
.sm-simple ul ul ul ul ul a:active {
  border-left: 40px solid transparent;
}

@media (min-width: 768px) {
  /* Switch to desktop layout
  -----------------------------------------------
     These transform the menu tree from
     collapsible to desktop (navbar + dropdowns)
  -----------------------------------------------*/

  /* start... (it's not recommended editing these rules) */

  .sm-simple ul {
    position: absolute;
    width: 12em;
  }

  .sm-simple li {
    float: left;
  }

  .sm-simple.sm-rtl li {
    float: right;
  }

  .sm-simple ul li,
  .sm-simple.sm-rtl ul li,
  .sm-simple.sm-vertical li {
    float: none;
  }

  .sm-simple a {
    white-space: nowrap;
  }

  .sm-simple ul a,
  .sm-simple.sm-vertical a {
    white-space: normal;
  }

  .sm-simple .sm-nowrap > li > a,
  .sm-simple .sm-nowrap > li > :not(ul) a {
    white-space: nowrap;
  }

  /* ...end */

  .sm-simple {
    background: white;
  }

  .sm-simple a,
  .sm-simple a:hover,
  .sm-simple a:focus,
  .sm-simple a:active,
  .sm-simple a.highlighted {
    padding: 11px 20px;
    color: #555555;
  }

  .sm-simple a:hover,
  .sm-simple a:focus,
  .sm-simple a:active,
  .sm-simple a.highlighted {
    background: #eeeeee;
  }

  .sm-simple a.current {
    background: #555555;
    color: white;
  }

  .sm-simple a.disabled {
    background: white;
    color: #cccccc;
  }

  .sm-simple a.has-submenu {
    padding-right: 32px;
  }

  .sm-simple a span.sub-arrow {
    top: 50%;
    margin-top: -8px;
    right: 20px;
    width: 8px;
    height: 16px;
    font: 14px/16px monospace !important;
    background: transparent;
  }

  .sm-simple a.highlighted span.sub-arrow:before {
    display: none;
  }

  .sm-simple > li {
    border-top: 0;
    border-left: 1px solid #eeeeee;
  }

  .sm-simple > li:first-child {
    border-left: 0;
  }

  .sm-simple ul {
    border: 1px solid #bbbbbb;
    background: white;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  }

  .sm-simple ul a {
    border: 0 !important;
  }

  .sm-simple ul a.has-submenu {
    padding-right: 20px;
  }

  .sm-simple ul a span.sub-arrow {
    right: auto;
    margin-left: -12px;
  }

  .sm-simple ul > li {
    border-left: 0;
    border-top: 1px solid #eeeeee;
  }

  .sm-simple ul > li:first-child {
    border-top: 0;
  }

  .sm-simple span.scroll-up,
  .sm-simple span.scroll-down {
    position: absolute;
    display: none;
    visibility: hidden;
    overflow: hidden;
    background: white;
    height: 20px;
  }

  .sm-simple span.scroll-up-arrow,
  .sm-simple span.scroll-down-arrow {
    position: absolute;
    top: -2px;
    left: 50%;
    margin-left: -8px;
    width: 0;
    height: 0;
    overflow: hidden;
    border-width: 8px;
    border-style: dashed dashed solid dashed;
    border-color: transparent transparent #555555 transparent;
  }

  .sm-simple span.scroll-down-arrow {
    top: 6px;
    border-style: solid dashed dashed dashed;
    border-color: #555555 transparent transparent transparent;
  }

  .sm-simple.sm-rtl a.has-submenu {
    padding-right: 20px;
    padding-left: 32px;
  }

  .sm-simple.sm-rtl a span.sub-arrow {
    right: auto;
    left: 20px;
  }

  .sm-simple.sm-rtl.sm-vertical a.has-submenu {
    padding: 11px 20px;
  }

  .sm-simple.sm-rtl.sm-vertical a span.sub-arrow {
    right: 20px;
    margin-right: -12px;
  }

  .sm-simple.sm-rtl > li:first-child {
    border-left: 1px solid #eeeeee;
  }

  .sm-simple.sm-rtl > li:last-child {
    border-left: 0;
  }

  .sm-simple.sm-rtl ul a.has-submenu {
    padding: 11px 20px;
  }

  .sm-simple.sm-rtl ul a span.sub-arrow {
    right: 20px;
    margin-right: -12px;
  }

  .sm-simple.sm-vertical a span.sub-arrow {
    right: auto;
    margin-left: -12px;
  }

  .sm-simple.sm-vertical li {
    border-left: 0;
    border-top: 1px solid #eeeeee;
  }

  .sm-simple.sm-vertical > li:first-child {
    border-top: 0;
  }
}
/* (A) POPUP */

.picker-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s;
}

.picker-wrap.show {
  opacity: 1;
  visibility: visible;
}

.picker-wrap .picker {
  margin: 50vh auto 0 auto;
  transform: translateY(-50%);
}

/* (B) CONTAINER */

.picker {
  max-width: 300px;
  padding: 10px 0px 0px;
}

/* (C) MONTH + YEAR */

.picker-m,
.picker-y {
  width: 50%;
  padding: 5px;
  box-sizing: border-box;
  font-size: 16px;
}

/* (D) DAY */

.picker-d table {
  color: #333;
  border-collapse: separate;
  width: 100%;
  margin-top: 10px;
}

.picker-d table td {
  width: 14.28%;
  /* 7 EQUAL COLUMNS */
  padding: 5px;
  text-align: center;
}

/* HEADER */

.picker-d-h td {
  font-weight: bold;
}

/* BLANK DATES */

.picker-d-b {
  background: #ddd;
}

/* TODAY */

.picker-d-td {
  background: #ffe0d4;
}

/* PICKABLE DATES */

.picker-d-d:hover {
  cursor: pointer;
  background: #2d68c4;
  color: #fff;
}

/* UNPICKABLE DATES */

.picker-d-dd {
  color: #aaa;
  background: #ddd;
}