@charset "UTF-8";
/* @override 
	https://ixian.au/air/styles/air.css */

/* @group Reset */

/* 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, 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 {
  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;
}

/* @end */

/* @group Generic */

body {
  background-color: #fff;
  background-image: url(../images/bands.svg), linear-gradient(to bottom, #e3e6e8 0%, #e3e6e8 50%, #fff 100%);
  background-position: center 0;
  background-size: 3100px auto, 100% 1000px;
  background-repeat: no-repeat, no-repeat;
  font: 16px/1.9 system, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
  color: #616568;
  min-width: 560px;
  margin: 0;
  font-weight: 300;
}

a, a:visited {
  color: #498dde;
  text-decoration: none;
  font-weight: 400;
  border: 0 solid #e3e5e8;
  border-bottom-width: 1px;
  padding-bottom: 1px;
}

a:hover {
  color: #5161dd;
  fill: #5161dd;
  border-color: #54bded;
}

.mtfuji a, .mtfuji a:visited, .mtfuji .logo {
  color: #9691af;
  fill: #9691af;
  stroke: none;
  border-color: #f8e8e9;
}

a[name] {
  cursor: default;
  text-decoration: none;
  border-color: transparent;
  position: relative;
}

a[name]:hover {
  color: #43474a;
  border-color: #e3e5e8;
}

a[name]:focus {
  outline: none;
}

a[name]:hover:before {
  content: "#";
  display: block;
  width: 1em;
  cursor: pointer;
  position: absolute;
  left: -1em;
  font-weight: 100;
}

p, ul, ol {
  margin-bottom: 2em;
}

.content ol {
  counter-reset: li;
}

.content ul, .content ol {
  list-style: none;
  padding-left: 25px;
}

.content ul li::before, .content ol li::before {
  display: inline-block;
  vertical-align: middle;
  content: "•";
  font-size: 0.7em;
  color: #7c8893;
  text-align: right;
  width: 15px;
  margin-right: 17px;
  margin-left: -32px;
  position: relative;
  top: -0.15em;
}

.content ul ul, .content ol ul {
  margin-bottom: 0.5em;
}

.content > ul > li {
  margin-bottom: 3px;
}

.content > ul > li > ul > li::before {
  content: "-";
  font-size: 1em;
}

.content ol > li::before {
  counter-increment: li;
  content: counter(li) ".";
  text-align: left;
  width: 15px;
  margin-right: 7px;
  margin-left: -22px;
}

h1, h1 a, h1 a:visited, h2, h2 a, h2 a:visited {
  font-size: 36px;
  line-height: 1.5em;
  color: #616568;
  fill: #616568;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-bottom: 1em;
}

h1 .logo, h1 a .logo, h1 a:visited .logo, h2 .logo, h2 a .logo, h2 a:visited .logo {
  height: 1.8em;
  vertical-align: middle;
  margin: -6px 1px -4px 4px;
}

h1 .asterisk, h1 a .asterisk, h1 a:visited .asterisk, h2 .asterisk, h2 a .asterisk, h2 a:visited .asterisk {
  opacity: 0.6;
  font-size: 0.8em;
  position: relative;
  top: -0.1em;
}

h3 {
  font-size: 1.1em;
}

h3, h4 {
  margin-bottom: 0.5em;
  margin-top: 1.5em;
}

h3, h4, strong {
  font-weight: 400;
  color: #43474a;
}

em {
  font-style: italic;
}

code {
  font: 12px/1.9 Monaco, monospace;
  padding: 3px;
  border: 1px solid rgba(251, 233, 173, 0.2);
  color: #bc670f;
  background-color: rgba(251, 233, 173, 0.1);
  border-radius: 7px;
}

code pre, pre code {
  font: 12px/1.9 Monaco, monospace;
  display: block;
  padding: 3px 5px;
  margin-bottom: 16px;
  overflow: auto;
}

hr {
  margin: 80px 30px;
  border-style: none;
  height: 1px;
  background: #e3e5e8;
}

/* @end */

/* @group Header */

nav {
  display: block;
  width: 100%;
  max-width: 800px;
  margin: 10px auto -70px;
  padding-bottom: 8vh;
}

@media only screen and (min-height: 1000px) {
  nav {
    padding-bottom: 80px;
  }
}
  nav a {
  border: none;
}

nav ul#main {
  display: flex;
  justify-content: space-around;
  width: 100%;
  position: relative;
  z-index: 10;
  margin: 0;
}

@media only screen and (max-width: 750px) {
  nav ul#main {
    flex-wrap: wrap;
  }
}
nav ul#main li {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 10%;
  text-align: center;
  font-weight: normal;
  font-style: normal;
  margin: 0 10px;
}

nav ul#main li a {
  background: url(../images/navicons.svg) 50% 0 no-repeat;
  background-size: 100px 2500px;
  text-decoration: none;
  padding: 40px 10px 0;
}

nav ul#main li a::before {
  content: "";
  display: block;
  margin: -4px auto 15px;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background: red;
  position: relative;
  z-index: -100;
  filter: blur(30px);
  transition: filter 0.1s ease-in-out;
}

nav ul#main li h3, nav ul#main li h4 {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-shadow: 0 0 4px rgba(239, 241, 243, 0.01);
  -webkit-text-size-adjust: 125%;
  -moz-text-size-adjust: 125%;
  margin: 0;
}

nav ul#main li h3 {
  font-size: 19px;
  line-height: 1.1em;
  text-transform: lowercase;
  transition: text-shadow 0.15s ease-in-out, transform 0.15s ease-in-out;
  padding-bottom: 2px;
}

nav ul#main li h4 {
  font-size: 12px;
  line-height: 15px;
  margin: 0;
  color: #b1b7be;
  background-color: #b1b7be;
  padding-bottom: 2px;
}

nav ul#main li a:hover h3, nav ul#main li.active a h3 {
  transform: translateY(-2px);
}

nav ul#main li.active {
  opacity: 0.6;
}

nav ul#main li.active h4 {
  color: rgba(111, 125, 138, 0.5);
  background-color: rgba(111, 125, 138, 0.5);
}

nav ul#main li > a {
  background-position-y: -2000px;
  color: #6f7d8a !important;
  transition: background-position 0.15s ease-in-out;
}

nav ul#main li > a::before {
  background-color: #6f7d8a;
}

nav ul#main li > a:hover, nav ul#main li.active > a {
  background-position-y: -2003px;
}

nav ul#main li > a:hover::before, nav ul#main li.active > a::before {
  background-color: #6f7d8a;
  filter: blur(20px);
}

nav ul#main li h3 {
  color: #6f7d8a;
  background-image: -webkit-linear-gradient(#687582 0%, #909ca6 100%);
}

nav ul#main li.download.active {
  opacity: 0.6;
}

nav ul#main li.download.active h4 {
  color: rgba(68, 138, 221, 0.5);
  background-color: rgba(68, 138, 221, 0.5);
}

nav ul#main li.download > a {
  background-position-y: 0px;
  color: #448add !important;
  transition: background-position 0.15s ease-in-out;
}

nav ul#main li.download > a::before {
  background-color: #448add;
}

nav ul#main li.download > a:hover, nav ul#main li.download.active > a {
  background-position-y: -3px;
}

nav ul#main li.download > a:hover::before, nav ul#main li.download.active > a::before {
  background-color: #448add;
  filter: blur(20px);
}

nav ul#main li.download h3 {
  color: #448add;
  background-image: -webkit-linear-gradient(#3782db 0%, #78aae6 100%);
}

nav ul#main li.buy.active {
  opacity: 0.6;
}

nav ul#main li.buy.active h4 {
  color: rgba(94, 159, 9, 0.5);
  background-color: rgba(94, 159, 9, 0.5);
}

nav ul#main li.buy > a {
  background-position-y: -500px;
  color: #5e9f09 !important;
  transition: background-position 0.15s ease-in-out;
}

nav ul#main li.buy > a::before {
  background-color: #5e9f09;
}

nav ul#main li.buy > a:hover, nav ul#main li.buy.active > a {
  background-position-y: -503px;
}

nav ul#main li.buy > a:hover::before, nav ul#main li.buy.active > a::before {
  background-color: #5e9f09;
  filter: blur(20px);
}

nav ul#main li.buy h3 {
  color: #5e9f09;
  background-image: -webkit-linear-gradient(#559108 0%, #80d90c 100%);
}

nav ul#main li.extend.active {
  opacity: 0.6;
}

nav ul#main li.extend.active h4 {
  color: rgba(208, 134, 31, 0.5);
  background-color: rgba(208, 134, 31, 0.5);
}

nav ul#main li.extend > a {
  background-position-y: -1000px;
  color: #d0861f !important;
  transition: background-position 0.15s ease-in-out;
}

nav ul#main li.extend > a::before {
  background-color: #d0861f;
}

nav ul#main li.extend > a:hover, nav ul#main li.extend.active > a {
  background-position-y: -1003px;
}

nav ul#main li.extend > a:hover::before, nav ul#main li.extend.active > a::before {
  background-color: #d0861f;
  filter: blur(20px);
}

nav ul#main li.extend h3 {
  color: #d0861f;
  background-image: -webkit-linear-gradient(#c37d1d 0%, #e4a348 100%);
}

nav ul#main li.help.active {
  opacity: 0.6;
}

nav ul#main li.help.active h4 {
  color: rgba(223, 95, 62, 0.5);
  background-color: rgba(223, 95, 62, 0.5);
}

nav ul#main li.help > a {
  background-position-y: -1500px;
  color: #df5f3e !important;
  transition: background-position 0.15s ease-in-out;
}

nav ul#main li.help > a::before {
  background-color: #df5f3e;
}

nav ul#main li.help > a:hover, nav ul#main li.help.active > a {
  background-position-y: -1503px;
}

nav ul#main li.help > a:hover::before, nav ul#main li.help.active > a::before {
  background-color: #df5f3e;
  filter: blur(20px);
}

nav ul#main li.help h3 {
  color: #df5f3e;
  background-image: -webkit-linear-gradient(#dd5431 0%, #e88b72 100%);
}

header {
  max-width: 900px;
  margin: 0 auto -40px;
  position: relative;
  padding: 0;
  pointer-events: none;
  perspective: 1000px;
  -webkit-user-select: none;
}

header h1 {
  margin: 0;
  padding: 0 20px;
  color: #fff;
}

header img {
  width: 100%;
  position: relative;
  z-index: -1;
  right: 5px;
}

#burgerbar > ul {
  background: #dfe3e6;
}

@supports (-webkit-backdrop-filter: blur(15px)) or (backdrop-filter: blur(15px)) {
  #burgerbar >
  ul {
  background: rgba(136, 148, 163, 0.15);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
} }

#burgerbar {
  position: absolute;
  top: 12%;
  left: 0;
  width: 100%;
  display: flex;
  flex-direction: row-reverse;
  padding: 0;
  font-size: 0.75em;
  cursor: default;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#burgerbar > ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 25px;
  color: #7c8893;
  box-sizing: border-box;
  padding: 10px 10px 10px 15px;
  transform: translateX(10%);
  opacity: 0;
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
  width: 100%;
  min-height: 60px;
  font-weight: 400;
  margin-right: 0;
  margin-left: 11%;
  color: #b1b7be;
  color: #fff;
}

#burgerbar > ul ul {
  /*background: red;*/
  color: #7c8893;
  display: inline;
}

#burgerbar > ul ul li {
  display: inline;
}

#burgerbar > ul a {
  font-size: 1.1em;
  color: #7c8893;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid rgba(255, 255, 255, 0);
  padding: 8px 4px 6px;
  margin: 0 4px 0 1px;
  transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
}

#burgerbar > ul a::before {
  content: "› ";
  color: #fff;
  margin-left: -10px;
}

#burgerbar > ul a:hover {
  border-bottom-color: rgba(255, 255, 255, 0.6);
  color: #616568;
}

#burgerbar svg {
  vertical-align: middle;
  margin: -2px 8px 0 4px;
}

#burgerbar svg .fill {
  fill: #fff;
}

#burgerbar svg .stroke {
  fill: none;
  stroke: #7c8893;
  stroke-linecap: round;
  stroke-width: 1.1px;
}

#burgerbar.expanded {
  pointer-events: auto;
}

#burgerbar.expanded ul {
  opacity: 1;
  transform: translateX(0);
}

#burgerbar.expanded #burgerbutton::before {
  transform: translateX(-10px);
  opacity: 0;
}

#burgerbar.expanded #burgerbutton a::before {
  transform: rotate(90deg);
}

#burgerbar li {
  list-style: none;
  padding: 3px;
}

#burgerbar .social-icon svg {
  width: 20px;
  height: 20px;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#burgerback, #burgerbutton {
  display: block;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
  font-weight: normal;
  font-style: italic;
}

#burgerback > a, #burgerbutton > a {
  color: #7c8893;
  font-size: 1.25em;
  text-decoration: none;
  border: none;
  padding: 0;
}

#burgerback > a::before, #burgerback a::after, #burgerbutton > a::before, #burgerbutton a::after {
  position: absolute;
  display: block;
  height: 100%;
  top: 0;
  font-weight: 500;
}

#burgerback > a::before, #burgerbutton > a::before {
  content: "";
  position: absolute;
  z-index: -10;
  transition: transform 0.15s ease-in-out, opacity 0.15s ease-in-out;
  background-color: #8894a3;
  opacity: 0.1;
}

#burgerback > a:hover::before, #burgerbutton > a:hover::before {
  opacity: 0.15;
}

#burgerback > a::after, #burgerbutton > a::after {
  content: attr(data-title);
  text-align: center;
  margin-left: -1px;
  margin-right: 1px;
}

#burgerback {
  position: absolute;
  left: 35%;
  width: 30%;
  height: 40px;
  line-height: 40px;
  margin: 10px 0;
  text-transform: lowercase;
  font-size: 1.2em;
  text-align: center;
  padding-left: 20px;
}

#burgerback > a {
  display: inline-block;
  position: relative;
  height: 40px;
  padding-left: 5px;
  color: #b1b7be;
  border-bottom: 2px solid rgba(255, 255, 255, 0);
  transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  padding-right: 5px;
}

#burgerback > a:hover {
  border-bottom-color: rgba(255, 255, 255, 0.6);
  color: #616568;
}

#burgerback > a:hover {
  color: #7c8893;
}

#burgerback > a::before, #burgerback a::after {
  left: -45px;
  width: 40px;
  height: 40px;
  vertical-align: middle;
}

#burgerback > a::before {
  border-radius: 17px;
  opacity: 0.05;
}

#burgerback > a::after {
  content: "←";
}

#burgerbutton {
  margin-left: -80px;
  min-width: 155px;
  height: 60px;
  line-height: 60px;
  margin-right: 12%;
  font-size: 1.1em;
}

#burgerbutton::before {
  display: inline-block;
  width: 100px;
  height: 100%;
  background: url("/air/images/sharenews2.svg") center center no-repeat;
  content: "";
  opacity: 0.5;
  transition: transform 0.15s ease-in-out, opacity 0.15s ease-in-out;
}

#burgerbutton > a::before, #burgerbutton a::after {
  right: 0;
  width: 60px;
}

#burgerbutton > a::before {
  border-radius: 25px;
  transform: rotate(15deg);
}

#slogan {
  position: absolute;
  top: 64%;
  left: 34%;
  text-transform: lowercase;
  font-style: italic;
  font-weight: normal;
  padding: 0;
  letter-spacing: 1px;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.8);
  font-size: 3vw;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media only screen and (min-width: 900px) {
  #slogan {
    font-size: 27px;
  }
}
  #slogan > * {
  letter-spacing: normal;
  white-space: normal;
}

#slogan::after {
  content: "*";
}

#slogan a {
  opacity: 0.6;
  color: #7c8893;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  text-decoration: none;
  padding-bottom: 5px;
  pointer-events: auto;
}

#slogan a:hover {
  border-bottom-color: rgba(255, 255, 255, 0.8);
  color: #616568;
}

#slogan .disclaimer {
  display: block;
  position: absolute;
  bottom: 8px;
  left: -137px;
  text-align: center;
  font-size: 12px;
  line-height: 15px;
  color: white;
  width: 6.5em;
}

#slogan .disclaimer .asterisk {
  display: block;
  width: 0;
  overflow: hidden;
  float: right;
}

#slogan .disclaimer .asterisk::before {
  display: block;
  position: absolute;
  top: 0;
  content: "*";
  font-size: 17px;
  opacity: 0.6;
}

#intro {
  text-align: justify;
  position: relative;
  z-index: 1;
}

#intro .app-icon {
  display: block;
  float: right;
  width: 256px;
  margin: -22px -42px -30px 20px;
}

#intronav {
  margin-top: 4vh;
  margin-bottom: 60px;
  text-align: center;
  -webkit-text-size-adjust: 125%;
  -moz-text-size-adjust: 125%;
}

#intronav li {
  display: inline-block;
  text-align: left;
  margin: 10px 2% 10px 0;
}

#intronav a {
  display: inline-block;
  text-decoration: none;
  font-weight: 400;
  color: #7c8893;
  border: none;
}

#intronav a span {
  padding: 2px 0 2px 1px;
  border-bottom: 1px solid #e3e5e8;
}

#intronav a span:after {
  content: " ↓";
  color: #cf9ca4;
  font-size: 0.75em;
  position: relative;
  top: -0.5px;
}

#intronav a:hover {
  color: #786ca1;
}

#intronav a:hover span:after {
  color: #786ca1;
}

#intronav a:hover span {
  border-color: #cf9ca4;
}

#intronav img {
  vertical-align: middle;
  width: 68px;
  height: 42px;
  margin-right: 10px;
  border-radius: 3px;
  opacity: 0.9;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.1);
}

@media only screen and (max-width: 850px) {
  #intronav li {
    min-width: 40%;
  }
}

/* @end */

/* @group Content */

h2.content {
  margin-bottom: 1.5em;
}

h2, h2 a {
  font-size: 32px;
}

@-moz-document url-prefix() {
  h1 {
  font-weight: 400;
} }

ul.features, #intro {
  -webkit-text-size-adjust: 175%;
  -moz-text-size-adjust: 175%;
}

.content {
  margin: 0 auto 20px;
  padding: 0 80px;
  max-width: 800px;
}

.content.subnav {
  /*font-size: 13px;*/
  text-align: right;
}

.new strong::before {
  content: "new";
  color: #fff;
  background: linear-gradient(to top, rgba(82, 77, 115, 0.2) 0.1%, rgba(84, 79, 115, 0.5) 100%) rgba(211, 210, 218, 0.49);
  font-style: italic;
  font-weight: 400;
  border-radius: 100vh;
  padding: 2px 7px 3px;
  font-size: 11px;
  position: relative;
  top: -2px;
  margin: 0 7px 0 1px;
}

svg.icon {
  vertical-align: baseline;
  margin: 0 2px -4px;
}

svg.icon .fill {
  stroke-linejoin: round;
}

svg.icon .stroke {
  fill: none;
  stroke: #000;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.1px;
}

svg.icon .stroke.secondary {
  stroke: rgba(0, 0, 0, 0.25);
  stroke-width: 1px;
}

svg.icon.dark .fill {
  fill: rgba(144, 155, 169, 0.2);
  stroke: rgba(144, 155, 169, 0.2);
  stroke-width: 0.5px;
}

svg.icon.dark .stroke {
  stroke: #909ba9;
}

ul.features.content {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  padding: 0 60px;
  max-width: 840px;
}

ul.features.content > li {
  list-style: none;
  width: 33.33%;
  margin: 0;
  box-sizing: border-box;
  padding: 10px 20px 30px;
}

ul.features.content > li.half {
  width: 50%;
}

ul.features.content > li.full {
  width: 100%;
}

ul.features.content > li.wot {
  width: 33%;
}

ul.features.content > li.wtt {
  width: 67%;
}

ul.features.content > li strong {
  /*color: #8372c7;*/
}

ul.features.content.big li {
  width: 50%;
}

ul.features.content.big li img {
  margin: 4px 10px 3px 0;
  width: 24px;
}

.content svg {
  vertical-align: middle;
  margin: 0 1px -3px -2px;
  position: relative;
  top: -4px;
  fill: none;
  stroke: #616568;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.1px;
}

.content svg .fill {
  fill: #616568;
}

.content svg .thin {
  stroke-width: 0.9px;
}

.content svg .dash {
  stroke-dasharray: 2, 2;
}

/* @end */

/* @group Carrousel */

ul.carrousel {
  display: block;
  margin: 0;
  text-align: center;
}

ul.carrousel li {
  list-style: none;
}

ul.carrousel img {
  border-radius: 3px;
  box-shadow: 0 15px 33px rgba(0, 0, 0, 0.15);
  width: 1313px;
  height: 811px;
}

@media only screen and (max-width: 1313px) {
  ul.carrousel img {
    width: 100vw;
    height: 61.76695vw;
  }
}
  ul.carrousel .description {
  display: block;
  padding: 15px;
  font-size: 0.9em;
  /*column-count: 2;
	column-gap: 40px;*/
  opacity: 0.5;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 40px;
}

.buymatrix, .downloading, .blog-item.latest {
  border-radius: 3px;
  background-color: #ffffff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 1px 20px rgba(26, 141, 214, 0), 0 15px 33px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.15s ease-in-out;
  border: none;
  margin-bottom: 60px;
  font-weight: inherit;
}

.buymatrix h2, .downloading h2, .blog-item.latest h2 {
  line-height: 1.2em;
}

.buymatrix, .downloading {
  display: flex;
  align-items: flex-start;
}

.buymatrix .inner, .downloading .inner {
  box-sizing: border-box;
  width: 100%;
  padding: 2em 0 1.5em;
  margin-left: 50px;
}

.buymatrix .inner, .buymatrix .top, .downloading .inner, .downloading .top {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  min-height: 240px;
}

.buymatrix .hero-icon, .downloading .hero-icon {
  width: 200px;
  float: left;
  margin: 50px -20px 20px 0;
}

.buymatrix h2, .downloading h2 {
  margin-bottom: 0.25em;
  margin-top: 0.25em;
}

.downloading {
  background: rgba(136, 148, 163, 0.92);
  padding-top: 40px;
  padding-bottom: 40px;
  margin-bottom: 0;
  justify-content: space-between;
  align-items: center;
  cursor: default;
}

.downloading h2, .downloading p a {
  color: #ffffff;
  margin: 0;
}

.downloading p {
  max-width: 200px;
  color: #dcdfe2;
  font-size: 0.85em;
  text-align: center;
  margin: 0;
}

.downloading p a {
  text-decoration: none;
}

.downloading p a:hover {
  border-bottom: 1px solid #cbd0d6;
}

a.buymatrix:hover, a.buymatrix:active, a.buymatrix:visited {
  color: inherit;
}

a.buymatrix:hover {
  box-shadow: 0 1px 20px rgba(26, 141, 214, 0.25), 0 15px 33px rgba(0, 0, 0, 0.15);
}

.buymatrix .buynow, .buymatrix .download {
  color: #fff;
  background: linear-gradient(to bottom, rgba(88, 204, 242, 0) 0%, rgba(93, 198, 239, 0.8) 100%) #579cf7;
  border: none;
  border-radius: 100vh;
  text-decoration: none;
  padding: 10px 15px 10px 17px;
  white-space: nowrap;
  margin: 50px 50px 50px 40px;
  text-shadow: 0 1px 3px rgba(74, 97, 222, 0.25);
  font-size: 1.2em;
  font-weight: 400;
}

.buymatrix .buynow::after {
  content: " →";
}

.buymatrix .download::after {
  content: " ↓";
}

.update-item {
  display: flex;
  align-items: flex-start;
  border-top: 1px solid #e3e5e8;
  padding-top: 80px;
  margin-top: 80px;
  border-image: linear-gradient(to right, rgba(227, 229, 231, 0.25) 0%, #e3e5e7 100%) 1 0 0 0 stretch;
}

.update-item .summary {
  width: 45%;
  flex-shrink: 0;
  background: url(/espresso/images/hero-icon.png) 5px 0 no-repeat;
  background-size: 150px auto;
  padding: 140px 50px 30px 0;
  color: #737779;
}

@media only screen and (max-width: 750px) {
  .update-item {
    flex-wrap: wrap;
  }
  
  .update-item .summary {
    width: 100%;
  }
}
  .update-item h2 {
  display: inline;
  vertical-align: middle;
  color: #43474a;
}

.update-item a.download {
  border-width: 1px;
  border-radius: 3px;
  padding: 6px 12px;
  vertical-align: middle;
  margin-left: 25px;
  font-size: 0.8em;
  position: relative;
  top: 1px;
}

.update-item a.download + * {
  margin-top: 1.5em;
}

.update-item .notes {
  font-size: 0.9em;
}

.date {
  color: #b1b7be;
  font-size: 0.7em;
}

.buymatrix .date {
  margin-top: 2em;
}

.blog-item {
  padding-top: 2.5em;
  padding-bottom: 2.5em;
}

.blog-item h2 {
  margin-top: 0.5em;
  margin-bottom: 2em;
}

.blog-item h3 {
  color: #c6cad1;
  fill: #c6cad1;
  font-weight: 300;
}

.blog-item h2 + .entry h3:first-child {
  margin-bottom: 2em;
  margin-top: -3em;
}

.blog-item .date {
  margin-top: 3em;
}

.entrystepper {
  text-align: center;
}

/* @end */

/* @group Help and Docs */

.shortcut {
  font-size: 0;
}

.shortcut kbd {
  color: #636973;
  font-size: initial;
}

.shortcut:not(.replace-symbols) kbd:not([class]):after {
  content: " ";
  font-size: initial;
  color: #454c56;
}

.shortcut:not(.replace-symbols) kbd:not([class]):last-of-type:after {
  content: "";
}

.shortcut kbd.command {
  display: inline-block;
  text-indent: -9999px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: help;
}

.shortcut kbd.command:after {
  content: "⌘";
  display: block;
  text-indent: 0;
  font-size: initial;
  line-height: initial;
}

.shortcut kbd.shift {
  display: inline-block;
  text-indent: -9999px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: help;
}

.shortcut kbd.shift:after {
  content: "⇧";
  display: block;
  text-indent: 0;
  font-size: initial;
  line-height: initial;
}

.shortcut kbd.control {
  display: inline-block;
  text-indent: -9999px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: help;
}

.shortcut kbd.control:after {
  content: "⌃";
  display: block;
  text-indent: 0;
  font-size: initial;
  line-height: initial;
}

.shortcut kbd.option {
  display: inline-block;
  text-indent: -9999px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: help;
}

.shortcut kbd.option:after {
  content: "⌥";
  display: block;
  text-indent: 0;
  font-size: initial;
  line-height: initial;
}

.shortcut kbd.tab {
  display: inline-block;
  text-indent: -9999px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: help;
}

.shortcut kbd.tab:after {
  content: "⇥";
  display: block;
  text-indent: 0;
  font-size: initial;
  line-height: initial;
}

.shortcut kbd.delete:not(.forward-delete) {
  display: inline-block;
  text-indent: -9999px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: help;
}

.shortcut kbd.delete:not(.forward-delete):after {
  content: "⌫";
  display: block;
  text-indent: 0;
  font-size: initial;
  line-height: initial;
}

.shortcut kbd.forward-delete {
  display: inline-block;
  text-indent: -9999px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: help;
}

.shortcut kbd.forward-delete:after {
  content: "⌦";
  display: block;
  text-indent: 0;
  font-size: initial;
  line-height: initial;
}

.shortcut kbd.enter {
  display: inline-block;
  text-indent: -9999px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: help;
}

.shortcut kbd.enter:after {
  content: "↩︎";
  display: block;
  text-indent: 0;
  font-size: initial;
  line-height: initial;
}

.shortcut kbd.left {
  display: inline-block;
  text-indent: -9999px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: help;
}

.shortcut kbd.left:after {
  content: "←";
  display: block;
  text-indent: 0;
  font-size: initial;
  line-height: initial;
}

.shortcut kbd.up:not(.page-up) {
  display: inline-block;
  text-indent: -9999px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: help;
}

.shortcut kbd.up:not(.page-up):after {
  content: "↑";
  display: block;
  text-indent: 0;
  font-size: initial;
  line-height: initial;
}

.shortcut kbd.right {
  display: inline-block;
  text-indent: -9999px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: help;
}

.shortcut kbd.right:after {
  content: "→";
  display: block;
  text-indent: 0;
  font-size: initial;
  line-height: initial;
}

.shortcut kbd.down:not(.page-down) {
  display: inline-block;
  text-indent: -9999px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: help;
}

.shortcut kbd.down:not(.page-down):after {
  content: "↓";
  display: block;
  text-indent: 0;
  font-size: initial;
  line-height: initial;
}

img.inline {
  display: inline-block;
  margin: 0 3px;
}

.aside {
  float: right;
  width: 220px;
  margin: 0 0 25px 25px;
  border-left: 1px solid #e7e9ec;
  padding: 12px 25px 1px;
}

.aside p {
  font-size: 0.875em;
}

.aside ul {
  padding-left: 25px;
}

.breadcrumbs ul {
  width: 800px;
  margin: 0 auto;
  padding: 6px 0;
  list-style: none;
}

.breadcrumbs ul li {
  display: inline-block;
  font-size: 0.875em;
}

.breadcrumbs ul li::after {
  content: "⟩";
  padding: 0 5px 0 10px;
  font-size: 1.14286em;
  vertical-align: middle;
}

.breadcrumbs ul li:last-of-type::after {
  content: "";
  padding: 0;
}

.breadcrumbs ul li::before {
  display: none;
}

#breadcrumbs {
  min-height: 44px;
}

#doc-chooser {
  background: #f5f6f6;
  border-radius: 16px;
  border: 1px solid #fff;
  -moz-box-shadow: 0 0 6px #dcdcdc;
  box-shadow: 0 0 6px #dcdcdc;
  margin: 0 0 24px;
  zoom: 1;
}

#doc-chooser:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

#doc-chooser .docset {
  float: left;
  width: 34%;
  box-sizing: border-box;
  padding: 10px;
}

#doc-chooser .docset:first-child {
  width: 33%;
  border-right: 1px solid #fff;
}

#doc-chooser .docset:last-child {
  width: 33%;
  border-left: 1px solid #fff;
}

#doc-chooser h2 {
  color: #333;
  font-size: 1em;
  margin: 0 0 16px;
  text-align: center;
}

#doc-chooser h2 a:link, #doc-chooser h2 a:visited, #doc-chooser h2 a:hover, #doc-chooser h2 a:active {
  color: #333;
  text-decoration: none;
}

#doc-chooser ul {
  padding-left: 25px;
}

#doc-chooser li {
  margin: 0 0 6px;
}

#filters {
  max-width: 190px;
  float: right;
  background: #fff;
  padding: 0 0 16px 16px;
}

#filters h2 {
  font-size: 1em;
  margin: 0 0 6px;
}

#clear-filters {
  float: right;
}

#keyword-filter {
  margin: 0 0 16px;
  width: 100%;
  box-sizing: border-box;
}

#alphabet-filter {
  margin: 0 0 16px;
}

#alphabet-filter li {
  display: inline-block;
  padding: 0 5px;
  margin: 0 0 3px;
  border-right: 1px solid #e7e9ec;
  min-width: 16px;
  text-align: center;
}

#alphabet-filter li:nth-of-type(7n+7) {
  border-color: transparent;
}

#alphabet-filter li:last-of-type {
  border-color: transparent;
}

#alphabet-filter li .active {
  color: #333;
}

#category-filter {
  margin: 0 0 16px;
}

#category-filter li {
  display: inline-block;
}

#category-filter a {
  font-size: 0.75em;
  display: inline-block;
  padding: 0px 6px;
  margin: 0 0 0 6px;
  border-radius: 10px;
  border: 1px solid #fbe9b4;
  color: #bc670f;
  background-color: rgba(251, 233, 173, 0.1);
  color: #8573cc;
  text-decoration: none;
  border-color: #8573cc;
  background-color: rgba(133, 115, 204, 0.05);
  margin: 0 6px 0 0;
}

#category-filter .active {
  border-color: #333;
  color: #333;
  background-color: #e7e9ec;
}

#content #keyword-index {
  list-style-type: none;
}

#keyword-index li {
  margin-bottom: 24px;
}

#keyword-index li h3 {
  font-size: 1em;
  float: left;
}

#keyword-index li ol {
  border-left: 1px solid #e7e9ec;
  margin-left: 24px;
  padding-left: 12px;
  list-style-type: none;
}

#keyword-index li li {
  margin-bottom: 6px;
  padding: 0;
  border: none;
}

#keyword-index .dev:after {
  content: 'dev';
  font-size: 0.75em;
  display: inline-block;
  padding: 0px 6px;
  margin: 0 0 0 6px;
  border-radius: 10px;
  border: 1px solid #fbe9b4;
  color: #bc670f;
  background-color: rgba(251, 233, 173, 0.1);
}

#keyword-index .js-api:after {
  content: 'js-api';
  font-size: 0.75em;
  display: inline-block;
  padding: 0px 6px;
  margin: 0 0 0 6px;
  border-radius: 10px;
  border: 1px solid #fbe9b4;
  color: #bc670f;
  background-color: rgba(251, 233, 173, 0.1);
}

#keyword-index .dynamo:after {
  content: 'dynamo';
  font-size: 0.75em;
  display: inline-block;
  padding: 0px 6px;
  margin: 0 0 0 6px;
  border-radius: 10px;
  border: 1px solid #fbe9b4;
  color: #bc670f;
  background-color: rgba(251, 233, 173, 0.1);
}

#shortcut-reference {
  padding: 25px;
  max-width: 400px;
  margin: 0 auto;
}

#shortcut-reference h1 {
  margin: 0 0 12px;
}

#shortcut-reference h2 {
  margin: 0 0 6px;
}

#shortcut-reference .divider {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e7e9ec;
}

#shortcut-reference .divider:first-of-type {
  border-top: none;
}

#shortcut-reference .shortcut {
  display: inline-block;
  min-width: 25px;
  padding: 0 3px 0 0;
  text-align: right;
}

#shortcut-reference .shortcut > kbd {
  cursor: default;
}

/* @end */

/* @group Lookup Forms */

.lookup-form {
  padding: 20px 15px 17px;
  background-color: #f2f2f2;
  border-radius: 10px;
  margin: 40px 0;
}

.lookup-form p {
  text-align: center;
  margin: 10px 0 20px;
}

.lookup-form input {
  position: relative;
  top: 2px;
  font: 300 1.2em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
  padding: 3px 5px;
}

.lookup-form .requesting a.blue-button, .lookup-form .requesting a.green-button, .lookup-form .done a.blue-button, .lookup-form .done a.green-button {
  cursor: default;
  top: 0;
  -moz-text-shadow: none;
  -webkit-text-shadow: none;
  text-shadow: none;
  -moz-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.2), inset 0 2px 0 rgba(255, 255, 255, 0.2), 0 1px 4px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.2), inset 0 2px 0 rgba(255, 255, 255, 0.2), 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.2), inset 0 2px 0 rgba(255, 255, 255, 0.2), 0 1px 4px rgba(0, 0, 0, 0.2);
  color: #ffffff;
  background: -moz-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%), rgba(0, 0, 0, 0.2);
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.4))), rgba(0, 0, 0, 0.2);
}

.lookup-form .requesting a.green-button.buy .glyph, .lookup-form .done a.green-button.buy .glyph {
  background-position: -60px 0;
}

.lookup-form .progress-indicator {
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 20px;
  position: relative;
  top: -2px;
  background: url(../images/Progress-20px-f2f2f2.gif) no-repeat -20px 0;
}

.lookup-form .requesting .progress-indicator {
  background-position: 50% 50%;
}

.lookup-form-results {
  display: none;
  margin: -18px 0 0;
  padding: 33px 0 0;
}

.lookup-form-results.available {
  display: block;
}

.lookup-form-results h3, .lookup-form-results h3 a {
  color: #858585;
  text-decoration: none;
  text-align: center;
  margin: 20px 20px 10px;
}

.lookup-form-results h3 a:hover {
  text-decoration: underline;
}

.lookup-form-results h3 {
  font-size: 1.7em;
}

.lookup-form-results p {
  margin: 10px 80px;
  color: #4c4c4c;
}

/* @end */

/* @group Stripe Checkout Modal */

#checkout-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  justify-content: center;
  align-items: center;
}

#checkout-modal > div {
  background: white;
  border-radius: 8px;
  max-width: 500px;
  width: 90%;
  max-height: 90%;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

#checkout-modal > div button {
  position: absolute;
  top: 10px;
  right: 15px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  z-index: 1001;
}

.checkout-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px;
  text-align: center;
}

.checkout-loading .spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #635bff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 20px;
}

.checkout-loading > div {
  color: #424770;
  font-size: 16px;
}

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

100% {
  transform: rotate(360deg);
}
}

/* @end */

footer {
  color: #b1b7be;
  font-size: 0.7em;
  text-align: center;
  margin: 3em auto 5em;
  clear: both;
  padding-top: 7em;
  /* Ties the Espresso pages back to the company, the same way the Jolt
	   page does. The symbol is the light-background cut: this site has no
	   dark mode. */
}

footer a, footer a:visited {
  color: #b1b7be !important;
}

footer .breadcrumbs ul {
  text-align: center;
  margin-bottom: 25px;
}

footer .ixian-parent {
  margin: 0 0 6px;
  font-size: 1.15em;
}

footer .ixian-parent a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
}

footer .ixian-parent img {
  width: 18px;
  height: 18px;
  display: block;
  opacity: .9;
}

/* @group Ixian */

/* Company-level pages (home, Jolt, blog, privacy) share the air framework but
   drop the Espresso-specific banner artwork and fixed-width nav. */

body.ixian {
  background-image: linear-gradient(to bottom, #e3e6e8 0%, #e3e6e8 40%, #fff 100%);
  background-size: 100% 640px;
  min-width: 320px;
}

#ixian-header {
  max-width: 360px;
  margin: 0 auto;
  padding: 60px 20px 0;
  pointer-events: auto;
}

#ixian-header h1 {
  margin: 0;
  padding: 0;
}

#ixian-header img {
  width: 100%;
  height: auto;
  z-index: auto;
}

#ixian-header a {
  border: none;
}

#ixian-nav {
  margin: 0 auto 40px;
  padding: 0;
  max-width: 800px;
  text-align: center;
}

#ixian-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#ixian-nav li {
  display: inline-block;
  margin: 0 14px;
}

#ixian-nav a {
  border: none;
  font-weight: 400;
  text-transform: lowercase;
  letter-spacing: 0.04em;
}

ul.products {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
  margin: 0 auto 40px;
  padding: 0 40px;
  max-width: 800px;
}

ul.products li {
  flex: 1 1 300px;
  max-width: 380px;
  margin: 0;
  padding: 0;
}

.product-card {
  display: block;
  height: 100%;
  box-sizing: border-box;
  padding: 30px;
  border: 1px solid #e7e9ec;
  border-radius: 12px;
  background: #fff;
  color: #454c56;
  text-align: center;
}

.product-card:hover {
  border-color: #54bded;
}

.product-card img {
  width: 128px;
  height: 128px;
  margin-bottom: 10px;
}

.product-card strong {
  display: block;
  font-size: 1.5em;
  font-weight: 400;
  color: #333;
}

.product-card .tagline {
  display: block;
  color: #636973;
}

.product-card .note {
  display: block;
  font-size: 0.85em;
  color: #636973;
}

.ixian .tagline {
  color: #636973;
  font-size: 1.15em;
}

footer .footerlinks {
  margin-top: 0.6em;
}

/* @end */
