/* 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;
}
/* Media Size */
/* Color Palettes */
/* Primary Palette */
/* Mono Palette */
/* Secondary Palette */
[class$="--full-bleed"] {
  width: 100%;
  margin-left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
[class$="--full-bleed"] .wrapper {
  max-width: 1200px;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://fonts.gstatic.com/s/opensans/v16/mem8YaGs126MiZpBA-UFVZ0e.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(https://fonts.gstatic.com/s/opensans/v16/mem5YaGs126MiZpBA-UNirkOUuhs.ttf) format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 300;
  src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url(https://fonts.gstatic.com/s/sourcesanspro/v12/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdr.ttf) format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url(https://fonts.gstatic.com/s/sourcesanspro/v12/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7g.ttf) format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'), url(https://fonts.gstatic.com/s/sourcesanspro/v12/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdr.ttf) format('truetype');
}
* {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
html,
body {
  height: 100%;
}
body {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.6rem;
  color: #020207;
  background: #fcfcfc;
  line-height: 1.25;
  font-weight: 400;
  overflow-x: hidden;
}
.container {
  display: flex;
  max-width: 1140px;
  padding: 0 15px;
  margin: 0 auto;
  position: relative;
}
h1,
h2,
h3,
h4 {
  font-family: 'Source Sans Pro', sans-serif;
}
h1 {
  font-size: 4.8rem;
  font-weight: 300;
  letter-spacing: 2px;
}
h2 {
  font-size: 3.6rem;
  font-weight: 400;
  letter-spacing: 1px;
}
h3 {
  font-size: 2.4rem;
  font-weight: 600;
}
.header {
  background: #2592f2;
  color: #fcfcfc;
  position: relative;
  z-index: 3;
}
.navigation-container {
  justify-content: space-around;
  align-items: center;
  flex-direction: column;
  position: relative;
  height: 120px;
}
.navigation-container:after {
  content: '';
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(252, 252, 252, 0.5) 10%, rgba(0, 0, 0, 0) 100%);
  position: absolute;
  height: 1px;
  width: 100%;
  bottom: 0;
}
.navigation-container .logo {
  width: 100vw;
  text-align: center;
  font-size: 3rem;
  font-weight: 600;
}
.navigation-container .logo a {
  color: #fcfcfc;
  text-decoration: none;
}
@media (min-width: 990px) {
  .navigation-container .logo {
    width: 60%;
    text-align: left;
  }
}
@media (min-width: 990px) {
  .navigation-container {
    flex-direction: row;
  }
}
.nav {
  width: 100vw;
  font-size: 18px;
}
.nav__list {
  display: flex;
  justify-content: space-around;
}
.nav__link {
  padding: 10px 15px;
  color: #fcfcfc;
  text-decoration: none;
  border-radius: 3px;
  display: inline-block;
  text-align: center;
  transition: background 0.25s ease-in-out;
}
.nav__link:hover:not(.nav__link--emphasize) {
  background: rgba(252, 252, 252, 0.2);
}
.nav__link--emphasize {
  font-size: 1.8rem;
  background: linear-gradient(#7Fe600, #71cb2e);
  font-weight: 600;
  transition: background 0s ease-in-out;
}
.nav__link--emphasize:active {
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  transform: translate(-1px);
}
@media (min-width: 990px) {
  .nav__link--emphasize {
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
    transition: transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
  }
  .nav__link--emphasize:hover {
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
    transform: translateY(-1px);
  }
  .nav__link--emphasize:active {
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
    transform: translateY(-2px);
  }
}
@media (min-width: 990px) {
  .nav {
    width: 40%;
  }
}
.hero-container {
  height: 100%;
  flex-direction: column;
  justify-content: center;
  color: #fcfcfc;
  font-size: 1.8rem;
}
.hero-container span {
  line-height: 1.75;
}
@media (min-width: 480px) {
  .hero-container {
    width: 75%;
  }
}
@media (min-width: 990px) {
  .hero-container {
    width: inherit;
    align-items: flex-start;
  }
}
.hero {
  background: #2592f2;
  height: 400px;
  margin-bottom: 10vw;
}
.hero__title {
  margin: 20px 0;
  font-size: 3.5rem;
}
@media (min-width: 767px) {
  .hero__title {
    font-size: 4rem;
  }
}
@media (min-width: 990px) {
  .hero__title {
    font-size: 4.8rem;
  }
}
.hero__cta {
  padding: 10px 15px;
  color: #fcfcfc;
  text-decoration: none;
  border-radius: 3px;
  display: inline-block;
  text-align: center;
  transition: background 0.25s ease-in-out;
  margin: 40px 0 0;
  border: none;
}
.hero__cta:hover:not(.hero__cta--emphasize) {
  background: rgba(252, 252, 252, 0.2);
}
.hero__cta--emphasize {
  font-size: 1.8rem;
  background: linear-gradient(#7Fe600, #71cb2e);
  font-weight: 600;
  transition: background 0s ease-in-out;
}
.hero__cta--emphasize:active {
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  transform: translate(-1px);
}
@media (min-width: 990px) {
  .hero__cta--emphasize {
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
    transition: transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
  }
  .hero__cta--emphasize:hover {
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
    transform: translateY(-1px);
  }
  .hero__cta--emphasize:active {
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
    transform: translateY(-2px);
  }
}
@media (min-width: 990px) {
  .hero {
    margin-bottom: 2vw;
  }
}
.hero-waves {
  width: 100vw;
  z-index: -1;
  position: relative;
  background-size: cover;
  background-position: 0% 100%;
  background: url(../assets/mobile-flair.svg) no-repeat;
  top: -1px;
  height: 100vw;
}
@media (min-width: 767px) {
  .hero-waves {
    background: url('../assets/tablet-hero-flair.svg') no-repeat;
  }
}
@media (min-width: 990px) {
  .hero-waves {
    top: -23vw;
    height: 32vw;
    background: url(../assets/hero-flair.svg) no-repeat;
  }
}
.problem-container,
.approach-container {
  flex-direction: column;
  max-width: 700px;
  justify-content: center;
  align-items: center;
  padding: 40px 0;
}
.problem-container p,
.approach-container p {
  text-align: center;
  letter-spacing: 0.25px;
  font-size: 2rem;
  line-height: 1.5;
  margin: 15px 0;
  font-size: 1.8rem;
  padding: 0 15px;
}
@media (min-width: 480px) {
  .problem-container p,
  .approach-container p {
    font-size: 2rem;
  }
}
.approach {
  background: linear-gradient(#2592f2, #1f72d1);
  color: #fcfcfc;
}
.approach:after {
  content: '';
  position: absolute;
  height: 100%;
  background: url(../assets/flair-1.svg) no-repeat;
  width: 100vw;
  z-index: 1;
  background-position: 0% 100%;
  transform: rotate(180deg) translateY(2px);
}
.top-upsell-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 767px) {
  .top-upsell-container {
    max-width: 400px;
  }
}
@media (min-width: 990px) {
  .top-upsell-container {
    flex-direction: row;
    margin: 20px auto;
    max-width: 1140px;
  }
}
.upsell {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 30px 0;
}
.upsell__content {
  padding: 15px 0 15px 15px;
  text-align: center;
}
.upsell__content__title {
  margin-bottom: 15px;
  text-align: center;
}
@media (min-width: 990px) {
  .upsell__content {
    padding: 15px 15px 0;
  }
}
.upsell__image {
  order: 0;
}
.upsell [class$="__content"] {
  min-height: 120px;
}
.upsell--reverse {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 30px 0;
}
.upsell--reverse__content {
  padding: 15px 0 15px 15px;
  text-align: center;
}
.upsell--reverse__content__title {
  margin-bottom: 15px;
  text-align: center;
}
@media (min-width: 990px) {
  .upsell--reverse__content {
    padding: 15px 15px 0;
  }
}
.upsell--reverse__image {
  order: 0;
  order: 1;
}
.upsell--reverse__content {
  padding-left: 0;
  padding-right: 15px;
}
.upsell img {
  width: 100px;
  height: 100px;
}
@media (min-width: 990px) {
  .upsell {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 30px 0;
    flex-direction: column;
    width: 25%;
    margin: 40px auto 0;
    padding: 30px 0 0;
  }
  .upsell__content {
    padding: 15px 0 15px 15px;
    text-align: center;
  }
  .upsell__content__title {
    margin-bottom: 15px;
    text-align: center;
  }
  .upsell__image {
    order: 0;
  }
  .upsell--reverse {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 30px 0;
    flex-direction: column;
    margin: 40px auto 0;
    padding: 30px 0 0;
  }
  .upsell--reverse__content {
    padding: 15px 0 15px 15px;
    text-align: center;
  }
  .upsell--reverse__content__title {
    margin-bottom: 15px;
    text-align: center;
  }
  .upsell--reverse__image {
    order: 0;
  }
}
@media (min-width: 990px) and (min-width: 990px) {
  .upsell__content {
    padding: 15px 15px 0;
  }
}
@media (min-width: 990px) and (min-width: 990px) {
  .upsell--reverse__content {
    padding: 15px 15px 0;
  }
}
.how-to {
  background: linear-gradient(#2592f2 10%, #64b2f6);
  color: #fcfcfc;
  font-size: 1.8rem;
  position: relative;
}
.how-to:after {
  content: '';
  background: url(../assets/flair-3.svg) no-repeat;
  height: 20%;
  background-position: 0% 100%;
  position: absolute;
  width: 100vw;
  bottom: 0;
  z-index: -1;
  transform: translateY(2px);
}
.how-to-container {
  flex-direction: column;
  padding-top: 30px;
  max-width: 700px;
  align-items: center;
}
@media (min-width: 480px) {
  .how-to-container {
    width: 75%;
  }
}
@media (min-width: 990px) {
  .how-to-container {
    width: inherit;
  }
  .how-to-container__title {
    text-align: center;
  }
}
.step {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 30px 0;
}
.step__content {
  padding: 15px 0 15px 15px;
  text-align: left;
}
.step__content__title {
  margin-bottom: 15px;
  text-align: left;
}
@media (min-width: 990px) {
  .step__content {
    padding: 15px 15px 0;
  }
}
.step__image {
  order: 0;
}
.step__content {
  padding-left: 0;
  width: 90%;
}
.step p {
  font-size: 2rem;
}
@media (min-width: 990px) {
  .step {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 30px 0;
    flex-direction: column;
    min-width: 100%;
    flex-direction: row;
  }
  .step__content {
    padding: 15px 0 15px 15px;
    text-align: left;
  }
  .step__content__title {
    margin-bottom: 15px;
    text-align: left;
  }
  .step__image {
    order: 0;
  }
}
@media (min-width: 990px) and (min-width: 990px) {
  .step__content {
    padding: 15px 15px 0;
  }
}
.step img {
  width: 100px;
  height: 100px;
  opacity: 0.15;
  z-index: -1;
  margin-right: -50px;
}
.get-started {
  padding: 10px 15px;
  color: #fcfcfc;
  text-decoration: none;
  border-radius: 3px;
  display: inline-block;
  text-align: center;
  transition: background 0.25s ease-in-out;
  margin-bottom: 40px;
}
.get-started:hover:not(.get-started--emphasize) {
  background: rgba(252, 252, 252, 0.2);
}
.get-started--emphasize {
  font-size: 1.8rem;
  background: linear-gradient(#7Fe600, #71cb2e);
  font-weight: 600;
  transition: background 0s ease-in-out;
}
.get-started--emphasize:active {
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  transform: translate(-1px);
}
@media (min-width: 990px) {
  .get-started--emphasize {
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
    transition: transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
  }
  .get-started--emphasize:hover {
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
    transform: translateY(-1px);
  }
  .get-started--emphasize:active {
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
    transform: translateY(-2px);
  }
}
@media (min-width: 990px) {
  .get-started {
    align-self: center;
    width: 50%;
  }
}
h2 {
  margin-bottom: 30px;
  font-weight: 600;
  letter-spacing: 2px;
  position: relative;
}
h2:after {
  content: '';
  position: absolute;
  left: 50%;
  width: 100px;
  margin-left: -50px;
  height: 4px;
  background: linear-gradient(90deg, #71cb2e, #7Fe600);
  border-radius: 3px;
  display: block;
  bottom: -15px;
}
.partners-container {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  flex-direction: column;
  margin: 40px auto;
}
.partners-container .logos {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.partners-container .logos img {
  margin: 10px;
  border: 1px solid #53616f;
}
@media (min-width: 767px) {
  .partners-container .logos img {
    width: 247.5px;
    height: 157.5px;
  }
}
.about-hero {
  height: 300px;
  background: #2592f2;
}
@media (min-width: 990px) {
  .about-hero .hero-waves {
    background: url(../assets/blog-flair.svg) no-repeat;
    top: -1px;
    height: 12vw;
  }
}
@media (min-width: 990px) {
  .about-hero {
    margin-bottom: 5vw;
  }
}
.tabs {
  width: 100%;
  margin-top: 3vh;
}
.tabs__roles {
  display: flex;
  justify-content: space-around;
  height: 80px;
  align-items: center;
}
@media (min-width: 767px) {
  .tabs {
    margin-top: 0;
  }
}
.role__tab {
  padding: 10px 15px;
  border-radius: 3px;
  font-weight: bold;
  border: 1px solid #1f72d1;
  color: #1f72d1;
  background: #fcfcfc;
  cursor: pointer;
}
.role__tab--active {
  background: #1f72d1;
  color: #fcfcfc;
}
.role__tab[data-tab='all']:after {
  content: 'ALL';
}
@media (min-width: 600px) {
  .role__tab[data-tab='all']:after {
    content: 'All';
  }
}
.role__tab[data-tab='user-interface']:after {
  content: 'UI';
}
@media (min-width: 600px) {
  .role__tab[data-tab='user-interface']:after {
    content: 'User Interface';
  }
}
.role__tab[data-tab='android']:after {
  content: 'AND';
}
@media (min-width: 600px) {
  .role__tab[data-tab='android']:after {
    content: 'Android';
  }
}
.role__tab[data-tab='front-end']:after {
  content: 'FE';
}
@media (min-width: 600px) {
  .role__tab[data-tab='front-end']:after {
    content: 'Front-end';
  }
}
.role__tab[data-tab='back-end']:after {
  content: 'BE';
}
@media (min-width: 600px) {
  .role__tab[data-tab='back-end']:after {
    content: 'Back-end';
  }
}
.role__tab[data-tab='data-science']:after {
  content: 'DS';
}
@media (min-width: 600px) {
  .role__tab[data-tab='data-science']:after {
    content: 'Data Science';
  }
}
.members {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  justify-content: center;
}
.members .member {
  display: flex;
  flex-direction: row;
  margin: 30px 0;
  position: relative;
}
.members .member:not(:last-child):after {
  content: '';
  position: absolute;
  bottom: -30px;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(2, 2, 7, 0.5) 10%, rgba(0, 0, 0, 0) 100%);
}
.members .member--hidden {
  display: none;
}
.members .member__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 20px;
}
@media (min-width: 767px) {
  .members .member {
    margin: 20px 3%;
    width: 100%;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  }
  .members .member:not(:last-child):after {
    content: none;
  }
}
@media (min-width: 990px) {
  .members .member {
    width: 44%;
  }
  .members .member__info {
    margin: 0 auto;
  }
}
@media (min-width: 767px) {
  .members {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.posts-container {
  display: flex;
  justify-content: space-evenly;
  position: relative;
  flex-wrap: wrap;
}
.posts-container .post {
  box-sizing: border-box;
  margin: 30px 3%;
  flex-wrap: wrap;
  width: 100%;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  cursor: pointer;
  background: #fcfcfc;
}
.posts-container .post img {
  width: 100%;
  pointer-events: none;
}
.posts-container .post h3 {
  padding: 15px 15px;
}
.posts-container .post p {
  padding: 5px 15px;
  margin-bottom: 15px;
}
.posts-container .post__content {
  max-width: 1140px;
  margin: 0 auto;
  pointer-events: none;
}
.posts-container .post__blurb {
  max-height: 85px;
  overflow: hidden;
  margin-bottom: 15px;
}
.posts-container .post.post--focused {
  position: fixed;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
  margin: 0;
  background: #fcfcfc;
  z-index: 2;
  box-shadow: none;
  top: 120px;
  cursor: inherit;
}
.posts-container .post.post--focused .post__blurb {
  max-height: inherit;
}
.posts-container .post.post--focused img {
  max-height: 600px;
}
@media (min-width: 990px) {
  .posts-container .post {
    width: 30%;
  }
}
.close-post {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  right: 30px;
  top: 0px;
  z-index: 30;
  cursor: pointer;
  font-size: 5rem;
}
.body--fixed {
  overflow-y: hidden;
}
.page-wrapper {
  min-height: 100%;
  margin-bottom: -60px;
}
.page-wrapper:after {
  content: "";
  display: block;
  height: 60px;
}
.footer {
  background: #53616f;
  color: #fcfcfc;
  text-align: center;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}
