/* Mao */
/* http://minifycode.com/css-minifier/ */

/*
&#8216;
&#8217;
&#8220;
&#8221;
*/



/* ==========================================================================
	00. RESET
========================================================================== */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, acronym, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent;
}

main, article, aside, details, summary, figcaption, figure, footer, header, hgroup, menu, nav, section, img, svg, label, legend {
  display: block;
}

address, caption, cite, code, dfn, th, var, strong, b, i, em {
  font-style: normal;
  font-weight: normal;
}

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

.svg, svg {
  display: block;
}

ul, li {
  list-style: none;
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  width: auto;
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6, p, li {
  font-weight: normal;
}


q:before, q:after {
  content: "";
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select, button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  border: 0;
  border-radius: 0;
  line-height: normal;
}

a, a:hover, a:visited:hover, a:active, a:active:hover {
  outline: none;
}

a, a:hover, a:visited:hover, a:visited {
  text-decoration: none;
}

html ::selection {
  background: blue;
  color: #111;
}

html ::-moz-selection {
  background: blue;
  color: #111;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

:focus, input {
  outline: 0;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  box-shadow: none !important;
}

button {
  border-radius: 0;
  padding: 0;
  margin: 0;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.touchevents a,
.touchevents a:hover {
  -webkit-transition: none !important;
  transition: none !important;
}

a.absolute-link,
.article__link {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  width: auto;
  margin: 0 auto;
  z-index: 1;
  -webkit-transition: visibility 0s 1s;
  transition: visibility 0s 1s;
}

a,
a:hover,
a:active,
a:visited {
  outline: 0;
}

a:focus {
  outline: none;
}

.p, a, button, input, li, p, select {
  color: inherit;
  font-size: inherit;
  text-decoration: none;
  letter-spacing: inherit;
  background-color: inherit;
}

ul, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

ul li {
  vertical-align: top;
}

img {
  border: none;
  outline: 0;
  vertical-align: bottom;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
  outline: none;
  text-decoration: none;
}

img[width],
img[height] {
  max-width: none;
}

.img, img {
  opacity: 1;
  visibility: visible;
}

img,
.loading img {
  -webkit-transform-style: preserve-3d;
  -webkit-transform: translate3d(0, 0, 0);
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  perspective: 400;
}

img.img-fit {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.img,
.image {
  font-size: 0;
  line-height: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50%;
}

.img--bg {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50%;
}

.img.img--bg img {
  pointer-events: none !important;
  opacity: 0;
  visibility: hidden;
}

.img--bg.center-top {
  background-position: 50% 0;
}

.img--bg.center-left {
  background-position: 50% 100%;
}

.img--bg.center-right {
  background-position: 100% 50%;
}

.img--bg.center-bottom {
  background-position: 50% 100%;
}

@media screen and (orientation: landscape) {
.img--bg.contain {
  background-size: contain;
}

.img--bg.repeat {
  background-repeat: repeat;
  background-size: auto;
}

.img--bg.repeat-x {
  background-repeat: repeat-x;
  background-size: contain;
}

.img--bg.repeat-y {
  background-repeat: repeat-y;
  background-size: contain;
}
}

.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}

.nav__container:after,
.section__container:after,
.figcaption__container:after,
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
  font-size: 0;
}

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  width: 100%;
  height: 0;
  display: block;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  margin: 20px 0 19px;
  padding: 0;
}

.hr-0 {
  margin: 0 auto;
}

.hr-20 {
  margin: 10px 0 9px;
}

.hr-break {
  margin: 0;
  border: 0;
  height: 0;
  display: block;
  width: 100%;
  position: relative;
}

.tab {
  display: table;
  vertical-align: middle;
  width: 100%;
  height: 100%;
}

.tab-cell {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}

.tab-wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  text-align: center;
}

.hidden,
.remove-element,
.touchevents .remove-element--touch-only,
.no-touchevents .remove-element--desktop-only {
  display: none !important;
}

.invisible {
  visibility: hidden !important;
}

.no-point {
  pointer-events: none;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.header__container,
.footer__container,
.section__container,
.article__container,
.figure__container,
.figcaption__container {
  width: 100%;
  max-width: 100%;
  position: relative;
  margin: 0 auto;
  padding: 0;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50%;
}

.nav__container,
.nav__wrapper,
.header__wrapper,
.footer__wrapper,
.section__wrapper,
.article__wrapper,
.figure__wrapper,
.figcaption__wrapper {
  width: 100%;
  max-width: 100%;
  position: relative;
  margin: 0 auto;
  padding: 0;
}

.inner-wrap {
  width: 100%;
  position: relative;
  margin: 0 auto;
  padding: 0;
}

.inner-wrap:before,
.inner-wrap:after {
  display: table;
  content: "";
  font-size: 0;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.inner-wrap:after {
  clear: both;
}

.container {
  width: 100%;
  position: relative;
  margin: 0 auto;
  padding: 0;
}

.container:before,
.container:after {
  display: table;
  content: "";
  font-size: 0;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.container:after {
  clear: both;
}

.text-wrap {
  width: 100%;
  position: relative;
}

#menu ul:before,
#menu ul:after {
  display: table;
  content: "";
  font-size: 0;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

#menu ul:after {
  clear: both;
}

.orientation-change,
.no-transition,
.resizing * {
  -webkit-transition: none 0s linear !important;
  -moz-transition: none 0s linear !important;
  -ms-transition: none 0s linear !important;
  -o-transition: none 0s linear !important;
  transition: none 0s linear !important;
}

.no-animation {
  -webkit-animation: none !important;
  -moz-animation: none !important;
  animation: none !important;
}

.not-local body,
.no-select {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.nowrap {
  white-space: nowrap;
}

.te,
.text-ellipsis {
  display: block;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.no-touchevents .loading,
.no-touchevents .loading * {
  cursor: progress !important;
}

.zero-height {
  height: 0;
  overflow: hidden;
  clear: both;
}

.fixed {
  position: fixed;
}

.no-overflow,
.clear {
  overflow: hidden;
}

.disable-hover,
.disable-hover * {
  pointer-events: none !important;
}

.full {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.fullscreen {
  position: relative;
  width: 100%;
  height: 100vh;
}

.divider {
  z-index: -1;
  width: 1px;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  background-color: rgba(0, 0, 0, 0.1);
  margin: 0 auto;
}

.underline {
  text-decoration: underline;
}

.transparent {
  background: none !important;
  background-color: none !important;
}

.border:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 1px solid rgba(0, 0, 0, 0.15);
  pointer-events: none;
}

.cut-out {
  visibility: hidden;
  opacity: 0;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transition-duration: 0s;
  transition-duration: 0s;
}

.fade-out {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: visibility 0s 1s, opacity 1s;
  transition: visibility 0s 1s, opacity 1s;
}

.fade-in {
  visibility: visible;
  opacity: 1;
  -webkit-transition: visibility 0s 0s, opacity 1s;
  transition: visibility 0s 0s, opacity 1s;
}

.lazyload,
.lazyloading {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
  transition: opacity 300ms 300ms;
}

.black-text {
  color: black;
}

.white-text {
  color: white;
}

.translate-center {
  position: absolute;
  width: 100%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  top: 50%;
  left: 50%;
  text-align: center;
}

/* ==========================================================================
	00. row
========================================================================== */

.row {
  display: block;
  width: 100%;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}

.row:after {
  content: "";
  display: table;
  clear: both;
}

.row:last-child {
  margin-bottom: 0;
}

.row__container {
  width: 100%;
  position: relative;
  margin: 0 auto;
  padding: 0;
}

@media only screen and (min-device-width: 300px) and (max-device-width: 500px) and (orientation: landscape) {}
@media (max-width: 1024px) and (min-width: 768px) {}
@media all and (max-width: 1600px) and (min-width: 1441px) {}
@media all and (max-width: 1440px) and (min-width: 1201px) {}
@media all and (max-width: 1200px) and (min-width: 1025px) {}
@media all and (max-width: 1024px) and (min-width: 768px) {}
@media only screen and (min-width: 1280px) {}
@media only screen and (min-width: 980px) and (max-width: 1279px) {}
@media only screen and (min-width: 768px) and (max-width: 1440px) {}
@media only screen and (min-width: 640px) and (max-width: 979px) {}
@media only screen and (max-width: 639px) {}
@media (min-width: 1280px) and (min-height: 700px) {}
@media (min-width: 1440px) and (min-height: 810px) {}
@media (min-width: 1440px) and (min-height: 910px) {}
@media (min-width: 1600px) and (min-height: 910px) {}
@media screen and (max-width: 1279px) and (min-width: 1025px) {}
@media (max-width: 1024px) and (min-width: 768px) {}
@media (min-width: 1280px) and (min-height: 810px) {}
@media (min-width: 1600px) and (min-height: 900px) {}

/* ==========================================================================
	00. grid
========================================================================== */

.grid {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.grid:after {
  content: "";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
  font-size: 0;
}

.grid__container {
  width: 100%;
  max-width: 100%;
  position: relative;
  margin: 0 auto;
  padding: 0;
}

.grid .col {
  width: 100%;
  padding: 0 20px;
  display: inline-block;
  vertical-align: top;
  position: relative;
  min-height: 20px;
}

@media (max-width: 767px) {
.grid .col {
  width: 100%;
  float: none;
}
}

@media (min-width: 768px) {
.grid .col-4   { width: 4.16666667%; }
.grid .col-8   { width: 8.33333333%; }
.grid .col-10  { width: 10%; }
.grid .col-12  { width: 12.5%; }
.grid .col-16  { width: 16.66666667%; }
.grid .col-20  { width: 20%; }
.grid .col-25  { width: 25%; }
.grid .col-30  { width: 30%; }
.grid .col-31  { width: 31.25%; }
.grid .col-33  { width: 33.33333333%; }
.grid .col-40  { width: 40%; }
.grid .col-41  { width: 41.66666667%; }
.grid .col-50  { width: 50%; }
.grid .col-58  { width: 58.33333333%; }
.grid .col-60  { width: 60%; }
.grid .col-62  { width: 62.5%; }
.grid .col-66  { width: 66.66666667%; }
.grid .col-70  { width: 70%; }
.grid .col-75  { width: 75%; }
.grid .col-80  { width: 80%; }
.grid .col-83  { width: 83.33333333%; }
.grid .col-87  { width: 87.5%; }
.grid .col-90  { width: 90%; }
.grid .col-91  { width: 91.66666667%; }
.grid .col-100 { width: 100%; }
}

@media (max-width: 1024px) and (min-width: 768px) {}

@media (min-width: 768px) {
.push-8  { margin-left: 8.33333333%; }
.push-16 { margin-left: 16.66666667%; }
.push-25 { margin-left: 25%; }
.push-33 { margin-left: 33.33333333%; }
.push-50 { margin-left: 50%; }
.push-66 { margin-left: 66.66666667%; }
}

@media (min-width: 768px) {
.pull-8  { margin-right: 8.33333333%; }
.pull-16 { margin-right: 16.66666667%; }
.pull-25 { margin-right: 25%; }
.pull-33 { margin-right: 33.33333333%; }
.pull-50 { margin-right: 50%; }
.pull-66 { margin-right: 66.66666667%; }
}



















/* ==========================================================================
	00. READY
========================================================================== */

html * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  height: 100%;
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  overflow-x: hidden;
  overflow-y: scroll;
  font-size: 62.5%;
}

html.touchevents {
  overflow-y: auto;
}

@media (max-width: 767px) {
html {
  font-size: 56.25%;
  font-size: 10px;
}
}

body {
  height: 100%;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-text-size-adjust: none;
  -webkit-highlight: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-size: 1.5rem;
  background-color: black;
}

.body {
  -webkit-font-feature-settings: "kern" 1;
  font-feature-settings: "kern" 1;
  -webkit-font-kerning: normal;
  font-kerning: normal;
}

#background {
  pointer-events: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}


















/* ==========================================================================
	00. assets
========================================================================== */

.img-holder {
  display: block;
  background-color: #000;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  padding-bottom: 100%;
}

.img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.img-holder img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}

.img-holder .img-loaded {
  opacity: 1;
  visibility: visible;
  transition: opacity 375ms ease-in-out 500ms;
}




























/* ==========================================================================
	00. main
========================================================================== */

@media (min-width: 1025px) {
.in-transit a,
.in-transit div,
.in-transit {
  pointer-events: none;
}
}

#main {
  text-align: center;
}

.in-transit #main.back-button-clicked {
  opacity: 0;
}

.main__container {}

.container:not(:first-of-type) {
  height: 0;
  display: none;
  overflow: hidden;
}

#page {
  position: absolute;
  position: static;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  min-height: 100%;
}

#page.fixed {
  position: fixed;
}

#content {
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: -webkit-transform 875ms ease-out;
  transition: transform 875ms ease-out;
}

#content.fixed {
  position: fixed;
  width: 100%;
}

.layout {
  left: 0;
  width: 100%;
  padding: 0;
  margin: 0 auto;
}




















article,
figure {
  position: relative;
}

article {
  position: relative;
  margin: 0 auto;
  max-width: 600px;
}




















