/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, .blog ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul, .blog ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* ---------------------- Responsiveness ---------------------- */
#ems {
  position: fixed;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.75);
  left: 30%;
  bottom: 0;
  padding: 0.25em; }
  #ems p {
    padding-bottom: 0; }

#ems p {
  color: black;
  font-weight: bold; }
  #ems p:after {
    content: ' <1 (i6 V)';
    margin-left: 1em; }
    @media only screen and (min-width: 32em) {
      #ems p:after {
        content: 'bp1'; } }
    .no-mq #ems p:after {
      content: 'bp1'; }
    @media only screen and (min-width: 41.5em) {
      #ems p:after {
        content: 'bp2/i6 H'; } }
    .no-mq #ems p:after {
      content: 'bp2/i6 H'; }
    @media only screen and (min-width: 47.5em) {
      #ems p:after {
        content: 'bp3/ipad V'; } }
    .no-mq #ems p:after {
      content: 'bp3/ipad V'; }
    @media only screen and (min-width: 62em) {
      #ems p:after {
        content: 'bp4/ipad H'; } }
    .no-mq #ems p:after {
      content: 'bp4/ipad H'; }
    @media only screen and (min-width: 72em) {
      #ems p:after {
        content: 'bp5'; } }
    .no-mq #ems p:after {
      content: 'bp5'; }
    @media only screen and (min-width: 85em) {
      #ems p:after {
        content: 'bp6'; } }
    .no-mq #ems p:after {
      content: 'bp6'; }
    @media only screen and (min-width: 100em) {
      #ems p:after {
        content: 'bp7'; } }
    .no-mq #ems p:after {
      content: 'bp7'; }

/* ----------------------  ---------------------- */
html {
  box-sizing: border-box; }

body {
  font-family: "Lato", sans-serif;
  line-height: 1.3em;
  -webkit-text-size-adjust: 100%;
  color: #444;
  width: 100%; }

.siteWrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100vh; }
  .siteWrapper footer {
    margin-top: auto !important;
    margin-bottom: 0; }

*, *:before, *:after {
  box-sizing: inherit; }

*[data-href] {
  cursor: hand;
  cursor: pointer; }

figure img {
  width: 100%;
  display: block; }

.clear {
  clear: both; }

.fr {
  float: right; }

.fl {
  float: left; }

.oh {
  overflow: hidden; }

.smallcaps {
  font-variant: small-caps; }

.allcaps {
  text-transform: uppercase; }

.smaller {
  font-size: 90%; }

.tal {
  text-align: left !important; }

.tar {
  text-align: right !important; }

.center {
  text-align: center; }

.centerm {
  margin: 0 auto; }

.fixed {
  position: fixed; }

@media only screen and (max-width: 41.5em) {
  .fixed-bp2 {
    position: fixed; } }

@media only screen and (max-width: 47.5em) {
  .fixed-bp3 {
    position: fixed; } }

strong {
  font-weight: bold; }

em {
  text-decoration: underline; }

u {
  text-decoration: underline; }

p, a, h1, h2, h3, h4, h5, h6, li, q {
  color: inherit;
  line-height: inherit; }

a {
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

p {
  padding-bottom: 1em;
  font-size: 100%; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.3em; }

h1 {
  font-size: 274.4%;
  font-weight: bold;
  margin-bottom: 0.5em;
  font-family: "Playfair Display"; }

h2 {
  font-size: 196%; }

h3 {
  font-size: 140%; }

h2, h3, h4, h5 {
  margin-bottom: 1em; }

p + h1, p + h2, p + h3, p + h4 {
  margin-top: 1.5em; }

.cols + h1, .cols + h2, .cols + h3, .cols + h4 {
  margin-top: 1.5em; }

section + h1, section + h2, section + h3, section + h4 {
  margin-top: 0.5em; }

div.button, p.button {
  padding: 0; }

p.button.wide {
  width: 100%;
  text-align: center; }
  p.button.wide a {
    display: block; }

input[type=submit],
p.button.thin a {
  padding: 0.5em 1em; }

button,
.button a,
input[type=submit] {
  font-family: "Lato", sans-serif;
  background: transparent;
  border: 1px solid #444;
  text-transform: uppercase;
  padding: 0.6em 2em;
  color: #444;
  border-radius: 0;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  letter-spacing: 1px;
  cursor: hand;
  cursor: pointer;
  font-weight: 400; }
  button:hover,
  .button a:hover,
  input[type=submit]:hover {
    background: #9b1710;
    color: white;
    text-decoration: none; }
  button.wide,
  .button a.wide,
  input[type=submit].wide {
    width: 100%; }

.button a {
  display: inline-block; }

p + p.button,
p + button {
  margin-top: 1em; }

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
  box-sizing: border-box;
  width: 100%;
  border: none;
  padding: 0.75em 1em;
  margin-bottom: 0.5em;
  font-size: 100%;
  font-family: "Lato", sans-serif;
  background: #f2f2f2; }

textarea {
  height: 5em; }

select {
  box-sizing: border-box;
  border: none;
  padding: 0.75em 1em;
  margin-bottom: 0.5em;
  font-size: 100%;
  font-family: "Lato", sans-serif;
  background: #f2f2f2; }

input::-webkit-input-placeholder {
  color: #999; }

input:-moz-placeholder {
  color: #999; }

textarea::-webkit-input-placeholder {
  color: #999; }

textarea:-moz-placeholder {
  color: #999; }

select::-ms-expand {
  display: none; }

.captchaSection {
  margin-bottom: 2em; }

input.captcha {
  width: 5em;
  display: inline-block; }

.captchaText {
  display: inline; }

/* ---------------------- layouts ---------------------- */
.band {
  width: 100%;
  overflow: hidden; }
  .band.pattern {
    background: url("../images/pattern-bg.jpg") no-repeat center center;
    background-size: cover; }

.band + .band {
  margin-top: 5em; }

.container {
  margin: 0 2em; }
  @media only screen and (min-width: 41.5em) {
    .container {
      margin: 0 auto;
      width: 37.5em; } }
  .no-mq .container {
    margin: 0 auto;
    width: 37.5em; }
  @media only screen and (min-width: 47.5em) {
    .container {
      width: auto;
      margin: 0 4em; } }
  .no-mq .container {
    width: auto;
    margin: 0 4em; }
  @media only screen and (min-width: 100em) {
    .container {
      width: 96em;
      margin: 0 auto; } }
  .no-mq .container {
    width: 96em;
    margin: 0 auto; }

.containerNarrow {
  margin: 0 2em; }
  @media only screen and (min-width: 41.5em) {
    .containerNarrow {
      margin: 0 auto;
      width: 37.5em; } }
  .no-mq .containerNarrow {
    margin: 0 auto;
    width: 37.5em; }
  @media only screen and (min-width: 47.5em) {
    .containerNarrow {
      width: auto;
      margin: 0 4em; } }
  .no-mq .containerNarrow {
    width: auto;
    margin: 0 4em; }
  @media only screen and (min-width: 62em) {
    .containerNarrow {
      margin: 0 5em; } }
  .no-mq .containerNarrow {
    margin: 0 5em; }
  @media only screen and (min-width: 72em) {
    .containerNarrow {
      margin: 0 6em; } }
  .no-mq .containerNarrow {
    margin: 0 6em; }
  @media only screen and (min-width: 85em) {
    .containerNarrow {
      margin: 0 7em; } }
  .no-mq .containerNarrow {
    margin: 0 7em; }
  @media only screen and (min-width: 100em) {
    .containerNarrow {
      width: 96em;
      margin: 0 auto; } }
  .no-mq .containerNarrow {
    width: 96em;
    margin: 0 auto; }

.containerRightMargin {
  margin-right: 4em; }

.containerLeftMargin {
  margin-left: 4em; }

.rotatorWrapper {
  position: relative; }

.rotator .flex-control-nav {
  bottom: 6%; }

.band.rotator {
  margin: 0; }
  .band.rotator ul.rotator {
    overflow: hidden; }
    .band.rotator ul.rotator li {
      line-height: 0; }
      .band.rotator ul.rotator li img {
        width: 100%; }
  .band.rotator #map-canvas {
    width: 100%;
    height: 30em; }

/* ---------------------- common ---------------------- */
.cols {
  overflow: hidden;
  margin-bottom: 1em; }
  .cols img {
    max-width: 100%; }

@media only screen and (min-width: 47.5em) {
  .cols--two > * {
    float: left;
    width: 47.5%;
    padding-left: 2.5%;
    padding-right: 2.5%; }
    .cols--two > *:nth-child(2n+1) {
      clear: left;
      margin-left: 0;
      padding-left: 0; }
    .cols--two > *:nth-child(2n) {
      margin-right: 0;
      padding-right: 0; } }

.no-mq .cols--two > * {
  float: left;
  width: 47.5%;
  padding-left: 2.5%;
  padding-right: 2.5%; }
  .no-mq .cols--two > *:nth-child(2n+1) {
    clear: left;
    margin-left: 0;
    padding-left: 0; }
  .no-mq .cols--two > *:nth-child(2n) {
    margin-right: 0;
    padding-right: 0; }

@media only screen and (min-width: 47.5em) {
  .cols--two.line > *:nth-child(2n) {
    border-left: 1px solid #888; } }

.no-mq .cols--two.line > *:nth-child(2n) {
  border-left: 1px solid #888; }

@media only screen and (min-width: 41.5em) {
  .cols--three > * {
    float: left;
    width: 30%;
    margin-left: 5%; }
    .cols--three > *:nth-child(3n+1) {
      clear: left;
      margin-left: 0; } }

.no-mq .cols--three > * {
  float: left;
  width: 30%;
  margin-left: 5%; }
  .no-mq .cols--three > *:nth-child(3n+1) {
    clear: left;
    margin-left: 0; }

@media only screen and (min-width: 32em) {
  .cols--three-two > * {
    float: left;
    width: 46%;
    margin-left: 8%; }
    .cols--three-two > *:nth-child(2n+1) {
      clear: left;
      margin-left: 0; } }

.no-mq .cols--three-two > * {
  float: left;
  width: 46%;
  margin-left: 8%; }
  .no-mq .cols--three-two > *:nth-child(2n+1) {
    clear: left;
    margin-left: 0; }

@media only screen and (min-width: 62em) {
  .cols--three-two > * {
    width: 30%;
    margin-left: 3.3333333333%; }
    .cols--three-two > *:nth-child(2n+1) {
      clear: none;
      margin-left: 3.3333333333%; }
    .cols--three-two > *:nth-child(3n+1) {
      clear: left;
      margin-left: 0; } }

.no-mq .cols--three-two > * {
  width: 30%;
  margin-left: 3.3333333333%; }
  .no-mq .cols--three-two > *:nth-child(2n+1) {
    clear: none;
    margin-left: 3.3333333333%; }
  .no-mq .cols--three-two > *:nth-child(3n+1) {
    clear: left;
    margin-left: 0; }

.cols--four > * {
  margin-bottom: 2em; }

@media only screen and (min-width: 32em) {
  .cols--four > * {
    float: left;
    width: 47.5%;
    margin-left: 5%; }
    .cols--four > *:nth-child(2n+1) {
      clear: left;
      margin-left: 0; } }

.no-mq .cols--four > * {
  float: left;
  width: 47.5%;
  margin-left: 5%; }
  .no-mq .cols--four > *:nth-child(2n+1) {
    clear: left;
    margin-left: 0; }

@media only screen and (min-width: 47.5em) {
  .cols--four > * {
    width: 23.75%;
    margin-left: 1.6666666667%; }
    .cols--four > *:nth-child(2n+1) {
      clear: none;
      margin-left: 1.6666666667%; }
    .cols--four > *:nth-child(4n+1) {
      clear: left;
      margin-left: 0; } }

.no-mq .cols--four > * {
  width: 23.75%;
  margin-left: 1.6666666667%; }
  .no-mq .cols--four > *:nth-child(2n+1) {
    clear: none;
    margin-left: 1.6666666667%; }
  .no-mq .cols--four > *:nth-child(4n+1) {
    clear: left;
    margin-left: 0; }

@media only screen and (min-width: 47.5em) {
  .cols--five > * {
    float: left;
    width: 18.4%;
    margin-left: 2%; }
    .cols--five > *:nth-child(5n+1) {
      clear: left;
      margin-left: 0; } }

.no-mq .cols--five > * {
  float: left;
  width: 18.4%;
  margin-left: 2%; }
  .no-mq .cols--five > *:nth-child(5n+1) {
    clear: left;
    margin-left: 0; }

/* ---------------------- lists ---------------------- */
ol {
  counter-reset: li;
  /* Initiate a counter */
  list-style: none;
  /* Remove default numbering */
  *list-style: decimal;
  /* Keep using default numbering for IE6/7 */
  font: 15px 'trebuchet MS', 'lucida sans';
  padding: 1.5em;
  margin-bottom: 4em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); }

ul, .blog ul {
  margin-bottom: 1em; }

/* ---------- rounded list ---------- */
.rounded-list {
  padding: 0 1.5em; }

.rounded-list li {
  position: relative;
  display: block;
  padding: .4em .4em .4em 2em;
  *padding: .4em;
  margin: .5em 0;
  background: #ddd;
  color: #444;
  text-decoration: none;
  border-radius: .3em;
  transition: all .3s ease-out; }
  .rounded-list li a:hover {
    background: none; }
  .rounded-list li:before {
    content: counter(li);
    counter-increment: li;
    position: absolute;
    left: -1.3em;
    top: 50%;
    margin-top: -1.3em;
    height: 2em;
    width: 2em;
    line-height: 2em;
    border: .3em solid #fff;
    text-align: center;
    font-weight: bold;
    border-radius: 2em;
    transition: all .3s ease-out;
    content: "\00BB \0020"; }

.rounded-list li:hover {
  background: #eee; }

ul.raquo li {
  list-style-type: none;
  padding-left: 10px;
  margin-bottom: 0.2em; }

ul.raquo:before {
  content: "\00BB \0020";
  display: inline;
  margin-left: -10px; }

/* ---------------------- header ---------------------- */
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 15px 15px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 1; }
  .hamburger.is-active:hover {
    opacity: 1; }
  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
    background-color: #FFF; }

.hamburger-box {
  width: 25px;
  height: 19px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1.5px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 25px;
    height: 3px;
    background-color: #FFF;
    border-radius: 0px;
    position: absolute;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -8px; }
  .hamburger-inner::after {
    bottom: -8px; }

/*
   * 3DX
   */
.hamburger--3dx .hamburger-box {
  -webkit-perspective: 50px;
          perspective: 50px; }

.hamburger--3dx .hamburger-inner {
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
    transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg); }
  .hamburger--3dx.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(0, 8px, 0) rotate(45deg);
            transform: translate3d(0, 8px, 0) rotate(45deg); }
  .hamburger--3dx.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -8px, 0) rotate(-45deg);
            transform: translate3d(0, -8px, 0) rotate(-45deg); }

/*
   * 3DX Reverse
   */
.hamburger--3dx-r .hamburger-box {
  -webkit-perspective: 50px;
          perspective: 50px; }

.hamburger--3dx-r .hamburger-inner {
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
    transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateY(-180deg);
          transform: rotateY(-180deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(0, 8px, 0) rotate(45deg);
            transform: translate3d(0, 8px, 0) rotate(45deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -8px, 0) rotate(-45deg);
            transform: translate3d(0, -8px, 0) rotate(-45deg); }

/*
   * 3DY
   */
.hamburger--3dy .hamburger-box {
  -webkit-perspective: 50px;
          perspective: 50px; }

.hamburger--3dy .hamburger-inner {
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
    transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(-180deg);
          transform: rotateX(-180deg); }
  .hamburger--3dy.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(0, 8px, 0) rotate(45deg);
            transform: translate3d(0, 8px, 0) rotate(45deg); }
  .hamburger--3dy.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -8px, 0) rotate(-45deg);
            transform: translate3d(0, -8px, 0) rotate(-45deg); }

/*
   * 3DY Reverse
   */
.hamburger--3dy-r .hamburger-box {
  -webkit-perspective: 50px;
          perspective: 50px; }

.hamburger--3dy-r .hamburger-inner {
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
    transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(180deg);
          transform: rotateX(180deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(0, 8px, 0) rotate(45deg);
            transform: translate3d(0, 8px, 0) rotate(45deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -8px, 0) rotate(-45deg);
            transform: translate3d(0, -8px, 0) rotate(-45deg); }

/*
   * 3DXY
   */
.hamburger--3dxy .hamburger-box {
  -webkit-perspective: 50px;
          perspective: 50px; }

.hamburger--3dxy .hamburger-inner {
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
    transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dxy.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(180deg) rotateY(180deg);
          transform: rotateX(180deg) rotateY(180deg); }
  .hamburger--3dxy.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(0, 8px, 0) rotate(45deg);
            transform: translate3d(0, 8px, 0) rotate(45deg); }
  .hamburger--3dxy.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -8px, 0) rotate(-45deg);
            transform: translate3d(0, -8px, 0) rotate(-45deg); }

/*
   * 3DXY Reverse
   */
.hamburger--3dxy-r .hamburger-box {
  -webkit-perspective: 50px;
          perspective: 50px; }

.hamburger--3dxy-r .hamburger-inner {
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after {
    transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dxy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg);
          transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg); }
  .hamburger--3dxy-r.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(0, 8px, 0) rotate(45deg);
            transform: translate3d(0, 8px, 0) rotate(45deg); }
  .hamburger--3dxy-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -8px, 0) rotate(-45deg);
            transform: translate3d(0, -8px, 0) rotate(-45deg); }

/*
   * Arrow
   */
.hamburger--arrow.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(-5px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(-5px, 0, 0) rotate(-45deg) scale(0.7, 1); }

.hamburger--arrow.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(-5px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(-5px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Arrow Right
   */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(5px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(5px, 0, 0) rotate(45deg) scale(0.7, 1); }

.hamburger--arrow-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(5px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(5px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Arrow Alt
   */
.hamburger--arrowalt .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: translate3d(-5px, -6.25px, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(-5px, -6.25px, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: translate3d(-5px, 6.25px, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(-5px, 6.25px, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Arrow Alt Right
   */
.hamburger--arrowalt-r .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: translate3d(5px, -6.25px, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(5px, -6.25px, 0) rotate(45deg) scale(0.7, 1);
  transition: top 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: translate3d(5px, 6.25px, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(5px, 6.25px, 0) rotate(-45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Arrow Turn
   */
.hamburger--arrowturn.is-active .hamburger-inner {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg); }
  .hamburger--arrowturn.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
            transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }
  .hamburger--arrowturn.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
            transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Arrow Turn Right
   */
.hamburger--arrowturn-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg); }
  .hamburger--arrowturn-r.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
            transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }
  .hamburger--arrowturn-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
            transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Boring
   */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  transition-property: none; }

.hamburger--boring.is-active .hamburger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
  .hamburger--boring.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--boring.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg); }

/*
   * Collapse
   */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse .hamburger-inner::after {
    top: -16px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -8px, 0) rotate(-45deg);
          transform: translate3d(0, -8px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse.is-active .hamburger-inner::before {
    top: 0;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Collapse Reverse
   */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse-r .hamburger-inner::after {
    top: -16px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse-r .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -8px, 0) rotate(45deg);
          transform: translate3d(0, -8px, 0) rotate(45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse-r.is-active .hamburger-inner::before {
    top: 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Elastic
   */
.hamburger--elastic .hamburger-inner {
  top: 1.5px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic .hamburger-inner::before {
    top: 8px;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic .hamburger-inner::after {
    top: 16px;
    transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 8px, 0) rotate(135deg);
          transform: translate3d(0, 8px, 0) rotate(135deg);
  transition-delay: 0.075s; }
  .hamburger--elastic.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -16px, 0) rotate(-270deg);
            transform: translate3d(0, -16px, 0) rotate(-270deg);
    transition-delay: 0.075s; }

/*
   * Elastic Reverse
   */
.hamburger--elastic-r .hamburger-inner {
  top: 1.5px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic-r .hamburger-inner::before {
    top: 8px;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic-r .hamburger-inner::after {
    top: 16px;
    transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 8px, 0) rotate(-135deg);
          transform: translate3d(0, 8px, 0) rotate(-135deg);
  transition-delay: 0.075s; }
  .hamburger--elastic-r.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -16px, 0) rotate(270deg);
            transform: translate3d(0, -16px, 0) rotate(270deg);
    transition-delay: 0.075s; }

/*
   * Emphatic
   */
.hamburger--emphatic {
  overflow: hidden; }
  .hamburger--emphatic .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic .hamburger-inner::before {
      left: 0;
      transition: top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335); }
    .hamburger--emphatic .hamburger-inner::after {
      top: 8px;
      right: 0;
      transition: top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335); }
  .hamburger--emphatic.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent !important; }
    .hamburger--emphatic.is-active .hamburger-inner::before {
      left: -50px;
      top: -50px;
      -webkit-transform: translate3d(50px, 50px, 0) rotate(45deg);
              transform: translate3d(50px, 50px, 0) rotate(45deg);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic.is-active .hamburger-inner::after {
      right: -50px;
      top: -50px;
      -webkit-transform: translate3d(-50px, 50px, 0) rotate(-45deg);
              transform: translate3d(-50px, 50px, 0) rotate(-45deg);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Emphatic Reverse
   */
.hamburger--emphatic-r {
  overflow: hidden; }
  .hamburger--emphatic-r .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::before {
      left: 0;
      transition: top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335); }
    .hamburger--emphatic-r .hamburger-inner::after {
      top: 8px;
      right: 0;
      transition: top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335); }
  .hamburger--emphatic-r.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent !important; }
    .hamburger--emphatic-r.is-active .hamburger-inner::before {
      left: -50px;
      top: 50px;
      -webkit-transform: translate3d(50px, -50px, 0) rotate(-45deg);
              transform: translate3d(50px, -50px, 0) rotate(-45deg);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic-r.is-active .hamburger-inner::after {
      right: -50px;
      top: 50px;
      -webkit-transform: translate3d(-50px, -50px, 0) rotate(45deg);
              transform: translate3d(-50px, -50px, 0) rotate(45deg);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Minus
   */
.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {
  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear; }

.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {
  opacity: 0;
  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear; }

.hamburger--minus.is-active .hamburger-inner::before {
  top: 0; }

.hamburger--minus.is-active .hamburger-inner::after {
  bottom: 0; }

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 1.5px; }
  .hamburger--slider .hamburger-inner::before {
    top: 8px;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after {
    top: 16px; }

.hamburger--slider.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 8px, 0) rotate(45deg);
          transform: translate3d(0, 8px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    -webkit-transform: rotate(-45deg) translate3d(-3.5714285714px, -5px, 0);
            transform: rotate(-45deg) translate3d(-3.5714285714px, -5px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -16px, 0) rotate(-90deg);
            transform: translate3d(0, -16px, 0) rotate(-90deg); }

/*
   * Slider Reverse
   */
.hamburger--slider-r .hamburger-inner {
  top: 1.5px; }
  .hamburger--slider-r .hamburger-inner::before {
    top: 8px;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider-r .hamburger-inner::after {
    top: 16px; }

.hamburger--slider-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 8px, 0) rotate(-45deg);
          transform: translate3d(0, 8px, 0) rotate(-45deg); }
  .hamburger--slider-r.is-active .hamburger-inner::before {
    -webkit-transform: rotate(45deg) translate3d(3.5714285714px, -5px, 0);
            transform: rotate(45deg) translate3d(3.5714285714px, -5px, 0);
    opacity: 0; }
  .hamburger--slider-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -16px, 0) rotate(90deg);
            transform: translate3d(0, -16px, 0) rotate(90deg); }

/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spin Reverse
   */
.hamburger--spin-r .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin-r .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin-r .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-225deg);
          transform: rotate(-225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin-r.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spring
   */
.hamburger--spring .hamburger-inner {
  top: 1.5px;
  transition: background-color 0s 0.13s linear; }
  .hamburger--spring .hamburger-inner::before {
    top: 8px;
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring .hamburger-inner::after {
    top: 16px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.22s;
  background-color: transparent !important; }
  .hamburger--spring.is-active .hamburger-inner::before {
    top: 0;
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 8px, 0) rotate(45deg);
            transform: translate3d(0, 8px, 0) rotate(45deg); }
  .hamburger--spring.is-active .hamburger-inner::after {
    top: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 8px, 0) rotate(-45deg);
            transform: translate3d(0, 8px, 0) rotate(-45deg); }

/*
   * Spring Reverse
   */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring-r .hamburger-inner::after {
    top: -16px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; }
  .hamburger--spring-r .hamburger-inner::before {
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -8px, 0) rotate(-45deg);
          transform: translate3d(0, -8px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spring-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; }
  .hamburger--spring-r.is-active .hamburger-inner::before {
    top: 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand
   */
.hamburger--stand .hamburger-inner {
  transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand.is-active .hamburger-inner {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  background-color: transparent !important;
  transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand.is-active .hamburger-inner::before {
    top: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand Reverse
   */
.hamburger--stand-r .hamburger-inner {
  transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand-r .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand-r .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  background-color: transparent !important;
  transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand-r.is-active .hamburger-inner::before {
    top: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand-r.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--squeeze .hamburger-inner::before {
    transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
  .hamburger--squeeze .hamburger-inner::after {
    transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--squeeze.is-active .hamburger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--squeeze.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
  .hamburger--squeeze.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Vortex
   */
.hamburger--vortex .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex .hamburger-inner::after {
    transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform;
    transition-property: bottom, transform, -webkit-transform; }

.hamburger--vortex.is-active .hamburger-inner {
  -webkit-transform: rotate(765deg);
          transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }

/*
   * Vortex Reverse
   */
.hamburger--vortex-r .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex-r .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex-r .hamburger-inner::after {
    transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform;
    transition-property: bottom, transform, -webkit-transform; }

.hamburger--vortex-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-765deg);
          transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex-r.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg); }

#mobileNavWrapper {
  cursor: hand;
  cursor: pointer;
  position: fixed;
  z-index: 5601;
  right: 1em;
  top: 1em;
  display: block; }
  @media only screen and (min-width: 62em) {
    #mobileNavWrapper {
      display: none; } }
  .no-mq #mobileNavWrapper {
    display: none; }
  #mobileNavWrapper.scrolled button.hamburger {
    box-shadow: none; }

button.hamburger {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 99em;
  transition: 250ms all;
  padding: 12px 12px;
  opacity: 1; }
  button.hamburger:focus {
    outline: 0 !important; }
  button.hamburger:hover, button.hamburger.is-active {
    background: #9b1710; }
  button.hamburger .hamburger-box {
    margin-top: 1px !important;
    margin-bottom: -1px !important; }

.hamburger-label {
  text-transform: uppercase;
  color: #009499;
  margin-right: 0.75em;
  display: inline-block;
  vertical-align: top; }

.offcanvas-menu {
  position: fixed;
  top: -150%;
  left: 0;
  width: 100%;
  height: 100vh;
  background: white;
  z-index: 100;
  color: #9b1710;
  transition: 500ms all;
  opacity: 0; }
  .offcanvas-menu figure.mobileMenuLogo figure {
    width: 20em;
    margin-left: 3em;
    margin-top: 1em; }
  .offcanvas-menu nav {
    position: absolute;
    left: 15%;
    top: 50%;
    width: 80%;
    -webkit-transform: translateY(-70%);
            transform: translateY(-70%);
    font-size: 8vw;
    font-weight: 900; }
    @media only screen and (min-width: 32em) {
      .offcanvas-menu nav {
        -webkit-transform: translateY(-70%);
                transform: translateY(-70%);
        font-size: 6vw; } }
    .no-mq .offcanvas-menu nav {
      -webkit-transform: translateY(-70%);
              transform: translateY(-70%);
      font-size: 6vw; }
    @media only screen and (min-width: 41.5em) {
      .offcanvas-menu nav {
        left: 15%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); } }
    .no-mq .offcanvas-menu nav {
      left: 15%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
    @media only screen and (min-width: 47.5em) {
      .offcanvas-menu nav {
        left: 20%; } }
    .no-mq .offcanvas-menu nav {
      left: 20%; }
    @media only screen and (min-width: 62em) {
      .offcanvas-menu nav {
        left: 50%;
        margin-left: -5em;
        font-size: 350%; } }
    .no-mq .offcanvas-menu nav {
      left: 50%;
      margin-left: -5em;
      font-size: 350%; }
    @media only screen and (max-height: 25em) {
      .offcanvas-menu nav {
        font-size: 6vmin;
        -webkit-transform: translateY(-60%);
                transform: translateY(-60%);
        left: 45%; }
        .offcanvas-menu nav ul > li > div {
          left: 10em !important;
          font-size: 5vmin !important; } }
    @media only screen and (min-height: 30em) {
      .offcanvas-menu nav ul > li, .offcanvas-menu nav .blog ul > li {
        margin-bottom: 0.5em; }
        .offcanvas-menu nav ul > li > div li {
          margin-bottom: 1em; } }
    .no-mq .offcanvas-menu nav ul > li, .no-mq .offcanvas-menu nav .blog ul > li {
      margin-bottom: 0.5em; }
      .no-mq .offcanvas-menu nav ul > li > div li {
        margin-bottom: 1em; }
    @media only screen and (min-height: 60em) {
      .offcanvas-menu nav {
        top: 40%; } }
    .no-mq .offcanvas-menu nav {
      top: 40%; }
    .offcanvas-menu nav li.tel {
      font-size: 80%;
      color: #009499 !important;
      line-height: 1.25; }
      .offcanvas-menu nav li.tel a.tel, .offcanvas-menu nav li.tel a.text {
        color: #009499 !important; }
        .offcanvas-menu nav li.tel a.tel:hover, .offcanvas-menu nav li.tel a.text:hover {
          color: #009499 !important; }
      .offcanvas-menu nav li.tel span {
        display: block;
        font-size: 50%; }
    .offcanvas-menu nav a {
      color: inherit !important;
      transition: 250ms all; }
      .offcanvas-menu nav a:hover {
        color: #009499 !important;
        text-decoration: none; }
    .offcanvas-menu nav ul > li, .offcanvas-menu nav .blog ul > li {
      line-height: 1.2em;
      margin-bottom: 0.4em; }
      .offcanvas-menu nav ul > li > div {
        left: 57.5%;
        position: absolute;
        top: 42%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        font-size: 1.20rem; }
        .offcanvas-menu nav ul > li > div li {
          margin-bottom: 0.75em; }
        @media only screen and (min-width: 32em) {
          .offcanvas-menu nav ul > li > div {
            left: 50%; } }
        .no-mq .offcanvas-menu nav ul > li > div {
          left: 50%; }
        @media only screen and (min-width: 41.5em) {
          .offcanvas-menu nav ul > li > div {
            left: 50%;
            font-size: 1.25rem; } }
        .no-mq .offcanvas-menu nav ul > li > div {
          left: 50%;
          font-size: 1.25rem; }
        @media only screen and (min-width: 47.5em) {
          .offcanvas-menu nav ul > li > div {
            left: 50%;
            font-size: 1.5rem; } }
        .no-mq .offcanvas-menu nav ul > li > div {
          left: 50%;
          font-size: 1.5rem; }
        @media only screen and (min-width: 62em) {
          .offcanvas-menu nav ul > li > div {
            left: 15em;
            font-size: 1.5rem; } }
        .no-mq .offcanvas-menu nav ul > li > div {
          left: 15em;
          font-size: 1.5rem; }
  .offcanvas-menu.active {
    top: 0;
    left: 0;
    opacity: 1; }

#headerGap {
  height: 10em; }

header {
  width: 100%;
  display: block;
  min-height: 3em;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 99;
  padding-left: 2em;
  padding-right: 2em; }
  @media only screen and (min-width: 41.5em) {
    header {
      padding-left: 3em;
      padding-right: 3em; } }
  .no-mq header {
    padding-left: 3em;
    padding-right: 3em; }
  header figure.logo {
    float: left;
    margin-top: 3em;
    margin-bottom: 1em; }
    header figure.logo img {
      height: auto;
      width: 95%; }
    header figure.logo .logoOnly {
      display: none; }
    @media only screen and (min-width: 32em) {
      header figure.logo {
        width: 25em; } }
    .no-mq header figure.logo {
      width: 25em; }
    @media only screen and (min-width: 47.5em) {
      header figure.logo {
        width: 28em; } }
    .no-mq header figure.logo {
      width: 28em; }
    @media only screen and (min-width: 72em) {
      header figure.logo img {
        width: 30em; } }
    .no-mq header figure.logo img {
      width: 30em; }
  header nav {
    text-transform: uppercase;
    display: none;
    color: black;
    text-transform: uppercase;
    float: right;
    letter-spacing: 3px;
    margin-top: 1.25em;
    font-size: 70%; }
    @media only screen and (min-width: 62em) {
      header nav {
        display: block; } }
    .no-mq header nav {
      display: block; }
    header nav > ul, header .blog nav > ul, .blog header nav > ul {
      padding: 0; }
      header nav > ul > li, header .blog nav > ul > li, .blog header nav > ul > li {
        float: left;
        display: block;
        margin-right: 1em;
        position: relative; }
        header nav > ul > li:last-child {
          margin-right: 0; }
        header nav > ul > li a, header .blog nav > ul > li a, .blog header nav > ul > li a {
          position: relative;
          color: inherit !important;
          transition: 250ms all;
          display: block;
          margin: 0.75em 0.25em 0;
          padding-top: 4em;
          z-index: 2; }
          header nav > ul > li a:hover {
            text-decoration: none; }
        header nav > ul > li.current:before, header nav > ul > li:hover:before {
          content: ' ';
          background: #9b1710;
          width: 3.5em;
          height: 10em;
          position: absolute;
          bottom: 2em;
          left: 0;
          right: 0;
          margin: 0 auto;
          z-index: 1; }
    @media only screen and (min-width: 67em) {
      header nav {
        font-size: 80%; }
        header nav > ul > li, header .blog nav > ul > li, .blog header nav > ul > li {
          margin: 0.75em 0.75em 0; } }
    .no-mq header nav {
      font-size: 80%; }
      .no-mq header nav > ul > li {
        margin: 0.75em 0.75em 0; }
    @media only screen and (min-width: 72em) {
      header nav {
        font-size: 90%; }
        header nav > ul > li, header .blog nav > ul > li, .blog header nav > ul > li {
          margin: 0.75em 0.75em 0; } }
    .no-mq header nav {
      font-size: 90%; }
      .no-mq header nav > ul > li {
        margin: 0.75em 0.75em 0; }
    @media only screen and (min-width: 85em) {
      header nav {
        font-size: 95%; } }
    .no-mq header nav {
      font-size: 95%; }
  header.scrolled {
    position: fixed;
    top: -10em;
    opacity: 0;
    background: white;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    transition-property: top, bottom;
    transition-duration: 500ms;
    display: none; }
    header.scrolled nav {
      color: black; }
    header.scrolled figure.logo .logoOnly {
      display: block; }
    header.scrolled figure.logo .logoWithName {
      display: none; }
    header.scrolled.animated {
      opacity: 1;
      top: 0; }
    @media only screen and (min-width: 41.5em) {
      header.scrolled {
        display: block; } }
    .no-mq header.scrolled {
      display: block; }

.topHeader h3 {
  margin: 0.25em 1em 0.25em 0;
  text-align: right; }
  @media only screen and (min-width: 47.5em) {
    .topHeader h3 {
      margin: 0.25em 0; } }
  .no-mq .topHeader h3 {
    margin: 0.25em 0; }

.left80 {
  width: 80%;
  margin-left: 0; }

.right80 {
  width: 80%;
  margin-left: 20%; }

.padTop {
  margin-top: 10em; }

ul.styled li, .blog ul li {
  font-weight: 600;
  margin-bottom: 0.5em;
  font-family: "Playfair Display";
  margin-left: 2em; }
  ul.styled li:before, .blog ul li:before {
    margin-left: -2em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f111";
    color: #9b1710;
    margin-right: 1rem;
    font-size: 50%; }

.barTop, .blog h3, .content h1 {
  margin-top: 1em;
  position: relative; }
  .barTop:before, .blog h3:before, .content h1:before {
    content: ' ';
    position: absolute;
    margin-top: -1rem;
    width: 3rem;
    height: 0.25rem;
    background: #9b1710; }

.content p, .content li {
  line-height: 1.5;
  font-weight: 400; }

.content .home-top {
  display: flex;
  justify-content: space-between;
  flex-direction: column; }
  .content .home-top h1 {
    font-size: 250%; }
  .content .home-top h2 {
    font-size: 150%; }
  .content .home-top .text {
    margin: 0 2em 3em 2em; }
  @media only screen and (min-width: 47.5em) {
    .content .home-top {
      flex-direction: row; }
      .content .home-top .text {
        margin-top: 3em;
        width: 40%; }
        .content .home-top .text h2 + .button {
          margin-top: 3em; }
      .content .home-top .image {
        width: 50%; }
      .content .home-top h1 {
        font-size: 3.5vw; }
      .content .home-top h2 {
        font-size: 1.6vw; } }
  .no-mq .content .home-top {
    flex-direction: row; }
    .no-mq .content .home-top .text {
      margin-top: 3em;
      width: 40%; }
      .no-mq .content .home-top .text h2 + .button {
        margin-top: 3em; }
    .no-mq .content .home-top .image {
      width: 50%; }
    .no-mq .content .home-top h1 {
      font-size: 3.5vw; }
    .no-mq .content .home-top h2 {
      font-size: 1.6vw; }

.content .box3 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 3em; }
  .content .box3 h1 {
    font-size: 155%; }
  .content .box3 p {
    font-style: italic;
    font-size: 80%;
    margin-bottom: 0.5em; }
  .content .box3 > div {
    padding: 1.5em 3em;
    transition: 250ms all; }
    .content .box3 > div.current, .content .box3 > div:hover {
      background: #9b1710;
      color: white; }
  @media only screen and (min-width: 47.5em) {
    .content .box3 {
      flex-direction: row; }
      .content .box3 > div {
        width: 32%; } }
  .no-mq .content .box3 {
    flex-direction: row; }
    .no-mq .content .box3 > div {
      width: 32%; }
  @media only screen and (min-width: 62em) {
    .content .box3 > div {
      padding: 0.75em 3em; } }
  .no-mq .content .box3 > div {
    padding: 0.75em 3em; }
  @media only screen and (min-width: 72em) {
    .content .box3 > div {
      min-height: 15em;
      padding: 1.5em 3em; }
    .content .box3 p {
      font-size: 100%; } }
  .no-mq .content .box3 > div {
    min-height: 15em;
    padding: 1.5em 3em; }
  .no-mq .content .box3 p {
    font-size: 100%; }

.content .welcome {
  display: flex;
  justify-content: space-between;
  flex-direction: column; }
  .content .welcome .image {
    max-height: 20em;
    overflow: hidden; }
    .content .welcome .image figure img {
      width: 100%;
      height: auto; }
  .content .welcome .text {
    margin: 2em 2em; }
  @media only screen and (min-width: 47.5em) {
    .content .welcome {
      flex-direction: row; }
      .content .welcome .image {
        width: 15em;
        height: auto;
        max-height: 30em; }
      .content .welcome .text {
        width: 60%;
        margin-top: 0;
        max-width: 50em;
        margin-right: auto;
        margin-left: 7%; } }
    @media only screen and (min-width: 47.5em) and (min-width: 62em) {
      .content .welcome .text {
        font-size: 1.6vw; } }
  @media only screen and (min-width: 47.5em) {
        .no-mq .content .welcome .text {
          font-size: 1.6vw; } }
    @media only screen and (min-width: 47.5em) and (min-width: 72em) {
      .content .welcome .text {
        font-size: 1.4vw; } }
  @media only screen and (min-width: 47.5em) {
        .no-mq .content .welcome .text {
          font-size: 1.4vw; } }
    @media only screen and (min-width: 47.5em) and (min-width: 100em) {
      .content .welcome .text {
        font-size: 140%; } }
  @media only screen and (min-width: 47.5em) {
        .no-mq .content .welcome .text {
          font-size: 140%; }
        .content .welcome .text h1 {
          font-size: 155%; }
        .content .welcome .text h2 {
          font-size: 100%;
          margin-bottom: 2em; } }
  .no-mq .content .welcome {
    flex-direction: row; }
    .no-mq .content .welcome .image {
      width: 15em;
      height: auto;
      max-height: 30em; }
    .no-mq .content .welcome .text {
      width: 60%;
      margin-top: 0;
      max-width: 50em;
      margin-right: auto;
      margin-left: 7%; }
      @media only screen and (min-width: 62em) {
        .no-mq .content .welcome .text {
          font-size: 1.6vw; } }
      .no-mq .no-mq .content .welcome .text {
        font-size: 1.6vw; }
      @media only screen and (min-width: 72em) {
        .no-mq .content .welcome .text {
          font-size: 1.4vw; } }
      .no-mq .no-mq .content .welcome .text {
        font-size: 1.4vw; }
      @media only screen and (min-width: 100em) {
        .no-mq .content .welcome .text {
          font-size: 140%; } }
      .no-mq .no-mq .content .welcome .text {
        font-size: 140%; }
      .no-mq .content .welcome .text h1 {
        font-size: 155%; }
      .no-mq .content .welcome .text h2 {
        font-size: 100%;
        margin-bottom: 2em; }

.content .serviceList {
  padding-top: 3em;
  padding-bottom: 3em; }
  .content .serviceList h1 {
    font-size: 200%;
    margin-bottom: 1.5em; }

.content .borderList {
  padding-top: 1em; }
  @media only screen and (min-width: 47.5em) {
    .content .borderList {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      flex-wrap: wrap; }
      .content .borderList > div {
        width: 35%; }
        .content .borderList > div:nth-child(even) {
          margin-right: 10%; } }
  .no-mq .content .borderList {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap; }
    .no-mq .content .borderList > div {
      width: 35%; }
      .no-mq .content .borderList > div:nth-child(even) {
        margin-right: 10%; }
  @media only screen and (min-width: 62em) {
    .content .borderList {
      font-size: 1.75vw; } }
  .no-mq .content .borderList {
    font-size: 1.75vw; }
  @media only screen and (min-width: 72em) {
    .content .borderList {
      font-size: 1.5vw; } }
  .no-mq .content .borderList {
    font-size: 1.5vw; }
  @media only screen and (min-width: 85em) {
    .content .borderList {
      font-size: 125%; } }
  .no-mq .content .borderList {
    font-size: 125%; }
  .content .borderList > div {
    border-left: 0.5em solid #9b1710;
    padding-left: 1.5em;
    margin-bottom: 2em; }
  .content .borderList h2 {
    margin-bottom: 0.25em;
    padding-bottom: 0.25em;
    font-size: 100%;
    font-weight: 600;
    letter-spacing: 1px; }
  .content .borderList p {
    font-style: italic;
    padding-bottom: 0; }

.content .contactArea {
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  .content .contactArea h1 {
    font-size: 150%;
    margin-bottom: 1.5em; }
  .content .contactArea .addr {
    margin-left: 2rem;
    position: relative; }
    .content .contactArea .addr:before {
      margin-left: -2rem;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      content: "\f3c5";
      color: #9b1710;
      position: absolute;
      margin-right: 1rem;
      font-size: 150%; }
  .content .contactArea form {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media only screen and (min-width: 41.5em) {
      .content .contactArea form input[type=email], .content .contactArea form input[type=tel] {
        width: 48%; } }
    .no-mq .content .contactArea form input[type=email], .no-mq .content .contactArea form input[type=tel] {
      width: 48%; }
    @media only screen and (min-width: 47.5em) {
      .content .contactArea form input[type=email], .content .contactArea form input[type=tel] {
        width: 100%; } }
    .no-mq .content .contactArea form input[type=email], .no-mq .content .contactArea form input[type=tel] {
      width: 100%; }
    @media only screen and (min-width: 62em) {
      .content .contactArea form input[type=email], .content .contactArea form input[type=tel] {
        width: 48%; } }
    .no-mq .content .contactArea form input[type=email], .no-mq .content .contactArea form input[type=tel] {
      width: 48%; }
    .content .contactArea form input[type=submit] {
      margin-left: auto;
      margin-top: 0.25em;
      text-transform: none;
      padding: 0.2em 1.75em;
      font-size: 125%; }
  @media only screen and (min-width: 47.5em) {
    .content .contactArea {
      flex-direction: row; }
      .content .contactArea > div {
        width: 48%; } }
  .no-mq .content .contactArea {
    flex-direction: row; }
    .no-mq .content .contactArea > div {
      width: 48%; }

.content .team {
  margin-top: 3em; }
  .content .team > div {
    margin-bottom: 1.5em; }
    .content .team > div h2 {
      font-family: "Playfair Display";
      color: #9b1710; }
  .content .team .email {
    font-style: italic; }

.content .figureText figure {
  margin-bottom: 5em; }

.content .figureText .text {
  padding: 0 3em; }

.content.c-contact h2 {
  font-size: 130%; }

.content.c-contact .contactPage {
  margin-top: 2em; }
  @media only screen and (min-width: 47.5em) {
    .content.c-contact .contactPage {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      flex-wrap: nowrap; }
      .content.c-contact .contactPage > div {
        width: 45%; } }
  .no-mq .content.c-contact .contactPage {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap; }
    .no-mq .content.c-contact .contactPage > div {
      width: 45%; }
  .content.c-contact .contactPage textarea#message {
    height: 8em; }
  .content.c-contact .contactPage .telAddr {
    margin-top: 2em;
    margin-bottom: 3em; }
    .content.c-contact .contactPage .telAddr .tel {
      margin-bottom: 2em; }
      .content.c-contact .contactPage .telAddr .tel h4 {
        margin-bottom: 0; }
    .content.c-contact .contactPage .telAddr h3 {
      font-family: "Playfair Display";
      color: #9b1710; }
    .content.c-contact .contactPage .telAddr h4 {
      font-size: 110%; }
    .content.c-contact .contactPage .telAddr h4.addr {
      margin-left: 2.5em;
      position: relative; }
      .content.c-contact .contactPage .telAddr h4.addr:before {
        position: absolute;
        left: -1.25em;
        bottom: 25%;
        content: "\f3c5";
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        display: inline-block;
        font-size: 200%;
        color: #9b1710; }
    @media only screen and (min-width: 37em) {
      .content.c-contact .contactPage .telAddr {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        flex-wrap: nowrap; }
        .content.c-contact .contactPage .telAddr > div {
          width: auto; } }
    .no-mq .content.c-contact .contactPage .telAddr {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      flex-wrap: nowrap; }
      .no-mq .content.c-contact .contactPage .telAddr > div {
        width: auto; }
    @media only screen and (min-width: 47.5em) {
      .content.c-contact .contactPage .telAddr {
        flex-direction: column; }
        .content.c-contact .contactPage .telAddr > div {
          width: 100%; } }
    .no-mq .content.c-contact .contactPage .telAddr {
      flex-direction: column; }
      .no-mq .content.c-contact .contactPage .telAddr > div {
        width: 100%; }
    @media only screen and (min-width: 72em) {
      .content.c-contact .contactPage .telAddr {
        flex-direction: row; }
        .content.c-contact .contactPage .telAddr > div {
          width: auto; } }
    .no-mq .content.c-contact .contactPage .telAddr {
      flex-direction: row; }
      .no-mq .content.c-contact .contactPage .telAddr > div {
        width: auto; }

.content .formList > div {
  margin-bottom: 2em;
  border-left: 0.25em solid #9b1710;
  padding-left: 0.75em; }

.content .formList .fas {
  color: #9b1710;
  font-size: 75%;
  margin-left: 0.5em; }

.content .formList h2 {
  margin-bottom: 0.25em; }

.content .formList p {
  padding-bottom: 0; }

.content .form li {
  padding-top: 0.25em;
  padding-bottom: 0.25em;
  transition: 250ms all; }
  .content .form li.marked {
    border-left: 0.25em solid #9b1710;
    padding-left: 0.5em; }

.content .form .padTop {
  margin-top: 2em;
  padding-top: 0em; }

@media only screen and (min-width: 47.5em) {
  .content .form .f2 {
    width: 47%; }
    .content .form .f2.left {
      float: left; }
    .content .form .f2.right {
      float: right; } }

.no-mq .content .form .f2 {
  width: 47%; }
  .no-mq .content .form .f2.left {
    float: left; }
  .no-mq .content .form .f2.right {
    float: right; }

@media only screen and (min-width: 47.5em) {
  .content .form .f3 {
    width: 30%;
    margin-right: 5%;
    float: left; }
    .content .form .f3.right {
      margin-right: 0;
      float: right; } }

.no-mq .content .form .f3 {
  width: 30%;
  margin-right: 5%;
  float: left; }
  .no-mq .content .form .f3.right {
    margin-right: 0;
    float: right; }

.content .form h2, .content .form h3 {
  margin-bottom: 0.25em;
  color: #9b1710; }

.content .form .cb {
  clear: both; }

.content .form .div {
  height: 2em; }

.content .form span.radio {
  display: block; }

.content .form label.radio {
  display: block; }

.content .form .legal {
  font-style: italic; }

/* ---------------------- blog ---------------------- */
.c-blog h1:before {
  content: none; }

.blog {
  margin-top: 4em; }
  .blog ul li {
    font-weight: 400;
    font-family: "Lato", sans-serif; }
  .blog h3 {
    font-family: "Playfair Display";
    font-size: 150%;
    color: #9b1710; }
  .blog .blogArticle {
    margin-bottom: 5em; }
  .blog .blogDate {
    color: #888;
    font-style: italic; }

/* ---------------------- footer ---------------------- */
footer {
  padding-top: 10em;
  padding-bottom: 2em;
  color: #666; }
  @media only screen and (min-width: 47.5em) {
    footer .rightCol {
      text-align: right; } }
  .no-mq footer .rightCol {
    text-align: right; }
  footer aside {
    font-size: 90%; }

.social {
  margin-top: 0.5em;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  max-width: 12em;
  margin-right: 0;
  margin-left: auto; }
  .social li a {
    display: flex;
    text-align: center;
    margin: auto auto;
    background: #9b1710;
    color: white;
    border-radius: 99em;
    padding: 0.5em;
    justify-content: center;
    align-items: center;
    transition: 250ms all; }
    .social li a i {
      font-size: 110%;
      width: 1em;
      height: 1em;
      padding: 0.05em 0 0 0;
      margin: 0em 0 0 0; }
    .social li a:hover {
      background: #f3f3f3;
      color: #009499;
      -webkit-transform: scale(1.25);
              transform: scale(1.25); }

.modalWrapper {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100; }
  .modalWrapper.active {
    display: block; }
  .modalWrapper .background {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 101;
    background: rgba(0, 0, 0, 0.5); }
  .modalWrapper .modal {
    background: white;
    padding: 1em;
    color: black;
    width: auto;
    margin: 2em;
    z-index: 102;
    position: relative; }
  .modalWrapper .destLink {
    float: left; }
  .modalWrapper .copyButton {
    margin-left: 2em;
    color: #008800;
    display: inline-block; }
/*# sourceMappingURL=screen.css.map */