/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
@import url(//fonts.googleapis.com/css?family=Muli:300,400,300italic,400italic,800);
@import url(//fonts.googleapis.com/css?family=Oxygen);
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

@font-face {
  font-family: 'LubalinGraphStd-Demi';
  src: url("../fonts/LubalinBold.eot");
  src: url("../fonts/LubalinBold.eot?#iefix") format("embedded-opentype"), url("../fonts/LubalinBold.woff") format("woff"), url("../fonts/LubalinBold.ttf") format("truetype");
}
@font-face {
  font-family: 'LubalinGraphStd-Book';
  src: url("../fonts/Lubalin.eot");
  src: url("../fonts/Lubalin.eot?#iefix") format("embedded-opentype"), url("../fonts/Lubalin.woff") format("woff"), url("../fonts/Lubalin.ttf") format("truetype");
}
.clear {
  clear: both;
}

.clearfix:after, .tabs:after, .nav:after, .work-additional-block:after, .team-profile-intro-block:after {
  content: "";
  display: table;
  clear: both;
}

.overflow-hidden {
  overflow: hidden;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.grid-parent, .tabs, .tab-container {
  margin-left: -16px;
  margin-right: -16px;
}
.grid-parent:after, .tabs:after, .tab-container:after {
  content: "";
  display: table;
  clear: both;
}

.grid-child, .tabs li, .tab-content, .panel-content-section, .footer-connect, .footer-address, .footer-social, .work-additional, .team-profile-heading, .team-profile-badges {
  padding-left: 16px;
  padding-right: 16px;
}

.col-33-flt {
  width: 33.33%;
  float: left;
  padding-left: 16px;
  padding-right: 16px;
}

.col-50-flt {
  width: 50%;
  float: left;
  padding-left: 16px;
  padding-right: 16px;
}

.col-66-flt {
  width: 66.66%;
  float: left;
  padding-left: 16px;
  padding-right: 16px;
}

.vertical-inline-middle, .form-base .checkbox-custom + .checkbox-custom-label:before, .form-base .radio-custom + .radio-custom-label:before, .blog-post-img-credit, .recent-work-block a img {
  display: inline-block;
  vertical-align: middle;
}

.text--align-left {
  text-align: left;
}

.text--align-center {
  text-align: center;
}

.text--align-right {
  text-align: right;
}

.lubalin {
  font-family: 'LubalinGraphStd-Book';
}

.lubalin-bold {
  font-family: 'LubalinGraphStd-Demi';
}

.center-text, .callout, .tabs li, .footer-info, .address-colab-block, .banner-home-button {
  text-align: center;
}

.center-element, .team-each a > img, .project-collaboration {
  display: block;
  margin: 0 auto;
}

.vertical-center {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.dead-center, .img-pixelate-content {
  position: absolute;
  top: 50%;
  width: 100%;
  text-align: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.spacing--sm-x {
  padding: 6px 0;
  width: 100%;
}

.spacing--sm, div.feature-grid div.featured-home {
  padding: 12px 0;
  width: 100%;
}

.spacing--mid, .team-profile-each {
  padding: 15px 0;
  width: 100%;
}

.spacing--mid-x {
  padding: 20px 0;
  width: 100%;
}

.spacing--mid-xx {
  padding: 25px 0;
  width: 100%;
}

.spacing--lg, .blog-post-meta-block, .blog-post-disqus {
  padding: 40px 0;
  width: 100%;
}

.spacing--lg-x, .address-colab-block {
  padding: 50px 0;
  width: 100%;
}

.spacing--lg-xx {
  padding: 60px 0;
  width: 100%;
}

.margin-top {
  margin-top: 40px;
}

.margin-right {
  margin-right: 40px;
}

.margin-bottom {
  margin-bottom: 40px;
}

.margin-left {
  margin-left: 40px;
}

.margin-top-base {
  /* this is not ok */
  margin-top: 10px;
}

.margin-right-base-lg {
  /* this is also not ok */
  margin-right: 20px;
}

.border-all {
  border: 2px solid #e0e0e0;
}

.button, .button--brand-outline {
  text-align: center;
  display: inline-block;
  font-size: 80%;
  cursor: pointer;
}

.button--brand-outline {
  text-transform: uppercase;
  padding: 15px;
  line-height: 1;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 3px;
  min-width: 180px;
}
.button--brand-outline:hover {
  background: #fff;
  border-color: #fff;
  color: #222;
  transition: all 0.2s linear;
}

a.button--brand-outline, .button--brand-outline {
  color: #fff;
}

a.button--brand-outline.text--gray-medium, .button--brand-outline.text--gray-medium {
  color: #a8a9ad;
}

a.button--brand-outline.color-red, .button--brand-outline.color-red {
  background-color: #ed313d;
  background-size: 17px 17px;
  background-position: 50% center;
  background-repeat: no-repeat;
  border-color: #ed313d;
  color: #fff;
}
a.button--brand-outline.color-red.navbtn, .button--brand-outline.color-red.navbtn {
  background: none;
  color: #ed313d;
}
a.button--brand-outline.color-red:hover, .button--brand-outline.color-red:hover {
  background-image: none;
  background-color: #d60f0f;
  border-color: #d60f0f;
}
a.button--brand-outline.color-red:hover.navbtn, .button--brand-outline.color-red:hover.navbtn {
  background-color: #ed313d;
  border-color: #ed313d;
  color: #fff;
}

.color-white {
  color: #fff;
}

.color-white-bg {
  background-color: #fff;
}

.color-red {
  color: #ed313d;
}

.color-red-bg {
  background-color: #ed313d;
}

.color-graymedium {
  color: #a8a9ad;
}

.color-graylight-bg {
  background-color: #eee;
}

.link-white, .link-white:hover {
  color: #fff;
  text-decoration: underline;
}

.border-rainbow, .h2-border-rainbow:after {
  width: 100%;
  height: 2px;
  margin-top: 5px;
  background: linear-gradient(to right, #D6D6D6 46%, #ED313D 46%, #ED313D 47.5%, #27B0E5 47.5%, #27B0E5 49%, #FEDC00 49%, #FEDC00 50.5%, #F9A61C 50.5%, #F9A61C 52%, #8CC541 52%, #8CC541 53.5%, #D6D6D6 54%, #D6D6D6 55%);
}

.icon-dot:after {
  content: ".";
  display: inline-block;
  vertical-align: middle;
  padding: 0 5px;
  position: relative;
  top: -5px;
}

.callout {
  padding: 15px;
  background: #eee;
}

.container {
  max-width: 1010px;
}

.container--text {
  max-width: 710px;
}

.container--mid {
  max-width: 460px;
}

.container--sm {
  max-width: 320px;
}

.container, .container--text, .container--mid, .container--sm {
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
}

.tabs {
  list-style: none;
  margin-bottom: 0;
  text-transform: uppercase;
}
.tabs li {
  overflow: hidden;
  position: relative;
}
.tabs li a {
  color: #a8a9ad;
  display: block;
  transition: all 0.2s linear;
}
.tabs li a:hover {
  color: #222;
  transition: all 0.2s linear;
}
.tabs li a:hover, .tabs li.active-tab a {
  color: #222;
}

.tab-container {
  overflow: hidden;
}

.img-rounded {
  border-radius: 100%;
}

strong, b {
  font-weight: 800;
}

/*.container--text {
  > *:last-child {
    margin-bottom: 0px;
  }
}*/
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-weight: normal;
  margin: 0 0 40px 0;
}

.panel-bg-pattern h2,
.panel-bg-pattern .h2 {
  margin-bottom: 20px;
}

h1, .h1 {
  font-family: "LubalinGraphStd-Demi";
  font-size: 170%;
  line-height: 1.3;
}

h2, .h2 {
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 5px;
  font-size: 85%;
  line-height: 1.5em;
  /*24px*/
}

.h2-border-rainbow {
  border-bottom: none;
}
.h2-border-rainbow:after {
  content: "";
  display: block;
}

h3, .h3 {
  font-weight: bold;
  font-size: 1em;
  line-height: 1.5em;
  /*24px*/
}

h4, .h4 {
  font-size: 1em;
  line-height: 1.5em;
  /*24px*/
}

h5, .h5 {
  font-size: 1em;
  line-height: 1.5em;
  /*24px*/
}

h6, .h6 {
  font-size: 1em;
  line-height: 1.5em;
  /*24px*/
}

.heading-primary, .styling-markdown h1:first-of-type {
  text-align: center;
  font-family: "LubalinGraphStd-Demi";
  font-size: 170%;
  font-weight: normal;
  line-height: 1.3;
}

.heading-secondary, .styling-markdown h2 {
  font-family: "LubalinGraphStd-Demi";
  font-size: 120%;
}

ul {
  list-style-type: none;
  padding: 0;
}

ul ul {
  margin-left: .4em;
  padding-left: 16px;
}

.ul-default, .styling-markdown ul {
  list-style-type: none;
  list-style-position: outside;
  text-indent: -0.6em;
  margin-left: .4em;
  padding-left: 16px;
}
.ul-default li:before, .styling-markdown ul li:before {
  content: '\2022';
  color: #a8a9ad;
  display: inline-block;
  padding-right: 10px;
  font-size: 90%;
}

.styling-markdown .ul-checklist {
  margin-left: 0;
  padding-left: 0;
}
.styling-markdown .ul-checklist li {
  list-style-type: none;
  margin-bottom: 20px;
  padding: 0 0 0 40px;
  text-indent: 0px;
}
.styling-markdown .ul-checklist li:before {
  content: '';
  display: none;
}
.styling-markdown .ul-checklist li label {
  cursor: pointer;
  margin: 0;
  padding: 0;
  position: relative;
}
.styling-markdown .ul-checklist li input[type="checkbox"] {
  position: absolute;
  left: -40px;
  top: 13px;
}
.styling-markdown .ul-checklist li input[type="checkbox"]:before {
  content: '';
  cursor: pointer;
  position: absolute;
  top: -6px;
  left: 0;
  z-index: 1;
  width: 1em;
  height: 1em;
  border: 2px solid #eee;
  transition: all .3s ease-in-out;
}
.styling-markdown .ul-checklist li input[type="checkbox"]:after {
  background: #fff;
  content: '';
  cursor: pointer;
  position: absolute;
  top: -6px;
  left: 0;
  width: 1.1em;
  height: 1.1em;
}
.styling-markdown .ul-checklist li input[type="checkbox"]:checked:before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  height: .5em;
  border-color: #ed313d;
  border-top-style: none;
  border-right-style: none;
}
.styling-markdown .ul-checklist li input[type="checkbox"]:checked:after {
  background: #f9f9f9;
}

ol {
  padding-left: 30px;
}

ul li ul:last-child,
ul li ol:last-child, ol li ul:last-child,
ol li ol:last-child {
  margin-bottom: 0;
}

code {
  background: #eee;
  color: #747474;
  border-radius: 4px;
  display: inline-block;
  font-size: 80%;
  line-height: 1;
  padding: 5px 7px;
  position: relative;
  top: -2px;
}

pre code {
  padding: 30px;
  width: 100%;
}

blockquote {
  border-left: 2px solid #e0e0e0;
  margin: 40px 0 40px 40px;
  padding: 20px 0 20px 40px;
}
blockquote > *:last-child {
  margin-bottom: 0;
}
blockquote cite {
  display: block;
  font-size: 75%;
  font-style: normal;
  margin-top: 20px;
}
blockquote cite img {
  border-radius: 100%;
  display: inline-block;
  float: left;
  margin-right: 15px;
  height: 40px;
  vertical-align: middle;
  width: 40px;
}

.caption {
  color: #a8a9ad;
  display: block;
}
.caption a {
  border-bottom: 1px solid;
  color: #a8a9ad;
}

.text--color-default {
  color: #222;
}

.text--gray-medium, .blog-post-meta-block, .blog-post-meta-block a {
  color: #a8a9ad;
}
.text--gray-medium a, .blog-post-meta-block a {
  border-bottom: 1px solid;
}

.text--normal {
  font-size: 20px;
}

.text--small, .caption, #success, #error, .panel-bio, .img-pixelate-heading, .address-colab {
  font-size: 85%;
}

.text--smaller, .nav-menu-trigger, .nav-menu a, .footer-content, .slider-testimonial-meta {
  font-size: 80%;
}

.text--smallest {
  font-size: 70%;
  line-height: 0.5em;
}

.text--large, .img-pixelate-tagline {
  font-size: 110%;
}

.text--larger {
  font-size: 120%;
}

.text--larger {
  font-size: 130%;
}

.text--uppercase {
  text-transform: uppercase;
}

.text--capitalize {
  text-transform: capitalize;
}

.link--gray-medium, .work-additional a {
  color: #a8a9ad;
}
.link--gray-medium a, .work-additional a a {
  color: #ed313d;
}

.link--gray-medium-with-hover,
.link--gray-medium-with-hover a,
.link--gray-medium-with-hover a:hover {
  color: #a8a9ad;
}
.link--gray-medium-with-hover a:hover {
  text-decoration: underline;
}

.nav {
  z-index: 2000;
}

.no-js form.form-api > div {
  display: none;
}
.no-js form.form-api:before {
  content: 'This form requires Javascript. \A Please turn Javascript on in your browser.';
  color: #747474;
  background-color: #eee;
  box-shaddow: active 2px 2px 1px 2px #f9f9f9;
  display: block;
  text-align: center;
  margin: 30px 40px;
  padding: 75px 0;
  white-space: pre;
}
.no-js .form-select-wrapper {
  display: none;
}

input[type="submit"], button {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}

textarea {
  vertical-align: top;
}

textarea, select, input[type="text"], input[type="url"], input[type="tel"], input[type="email"], input[type="number"], input[type="password"] {
  border: 2px solid transparent;
  border-radius: 3px;
  padding: 12px;
  transition: all .5s;
}
textarea:focus, select:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="tel"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus {
  border-color: #ed313d;
  outline: 0;
}

label {
  padding-bottom: 15px;
  display: block;
}

.form-field-wrap {
  padding-top: 15px;
  padding-bottom: 15px;
}
.form-field-wrap > .h2 {
  margin-bottom: 30px;
}

.form-field-desc {
  line-height: 1.4;
  padding-bottom: 30px;
}

.form-field-section {
  margin-bottom: 20px;
}

.form-base textarea.error, .form-base textarea.error-empty, .form-base input[type="text"].error, .form-base input[type="text"].error-empty, .form-base input[type="url"].error, .form-base input[type="url"].error-empty, .form-base input[type="tel"].error, .form-base input[type="tel"].error-empty, .form-base input[type="email"].error, .form-base input[type="email"].error-empty, .form-base input[type="number"].error, .form-base input[type="number"].error-empty, .form-base input[type="password"].error, .form-base input[type="password"].error-empty {
  box-shadow: 0 0 2px 1px red;
}
.form-base textarea, .form-base select, .form-base input {
  display: block;
  width: 100%;
}
.form-base div.subscribe-email-field {
  width: 66.66%;
  float: left;
  padding-left: 16px;
  padding-right: 16px;
}
@media screen and (max-width: 480px) {
  .form-base div.subscribe-email-field {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
  }
}
.form-base input[type="submit"], .form-base button {
  display: inline-block;
  min-width: 140px;
}
.form-base input[type="submit"].busy, .form-base button.busy {
  color: transparent !important;
  background-color: #ed313d;
  background-image: url("/assets/img/submit-spinner.gif");
}
.form-base input[type="submit"], .form-base input[type="radio"], .form-base input[type="checkbox"] {
  width: auto;
}
.form-base .checkbox-custom, .form-base .radio-custom {
  opacity: 0;
  position: absolute;
}
.form-base .checkbox-custom, .form-base .checkbox-custom-label, .form-base .radio-custom, .form-base .radio-custom-label {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}
.form-base .checkbox-custom-label, .form-base .radio-custom-label {
  position: relative;
  padding: 0;
}
.form-base .checkbox-custom + .checkbox-custom-label:before, .form-base .radio-custom + .radio-custom-label:before {
  content: '';
  background: #fff;
  border: 2px solid #eee;
  width: 18px;
  height: 18px;
  padding: 2px;
  margin-right: 10px;
  text-align: center;
}
.form-base .checkbox-custom:checked + .checkbox-custom-label:before {
  background: #ed313d;
}
.form-base .checkbox-custom:checked.checkmark-style + .checkbox-custom-label:before {
  content: "\2713";
  color: #ed313d;
  font-size: 38px;
  line-height: 23px;
  background: #fff;
}
.form-base .radio-custom + .radio-custom-label:before {
  border-radius: 50%;
}
.form-base .radio-custom:checked + .radio-custom-label:before {
  box-shadow: inset 0px 0px 0px 5px #ed313d;
  border-color: #ed313d;
}

.required-label:after {
  content: "*";
  padding-left: 5px;
  color: #a8a9ad;
}

#success, #error {
  padding: 5px;
  color: #a8a9ad;
  background: #eee;
  margin: 20px 0 0 0;
}

#errorMsg {
  color: #ed313d;
  white-space: pre;
}

/* 
 * 	Core Owl Carousel CSS File
 *	v1.3.3
 */
/* clearfix */
.owl-carousel .owl-wrapper:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

/* display none until init */
.owl-carousel {
  display: none;
  position: relative;
  width: 100%;
  -ms-touch-action: pan-y;
}

.owl-carousel .owl-wrapper {
  display: none;
  position: relative;
  -webkit-transform: translate3d(0px, 0px, 0px);
}

.owl-carousel .owl-wrapper-outer {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.owl-carousel .owl-wrapper-outer.autoHeight {
  transition: height 500ms ease-in-out;
}

.owl-carousel .owl-item {
  float: left;
}

.owl-controls .owl-page,
.owl-controls .owl-buttons div {
  cursor: pointer;
}

.owl-controls {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* fix */
.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}

/*
* 	Owl Carousel Owl Demo Theme 
*	v1.3.3
*/
.owl-theme .owl-controls {
  text-align: center;
}

/* Styling Next and Prev buttons */
.owl-theme .owl-controls .owl-buttons div {
  color: #FFF;
  display: inline-block;
  zoom: 1;
  *display: inline;
  /*IE7 life-saver */
  margin: 5px;
  padding: 3px 10px;
  font-size: 12px;
  border-radius: 30px;
  background: #869791;
  opacity: 0.5;
}

/* Clickable class fix problem with hover on touch devices */
/* Use it for non-touch hover action */
.owl-theme .owl-controls.clickable .owl-buttons div:hover {
  filter: Alpha(Opacity=100);
  /*IE7 fix*/
  opacity: 1;
  text-decoration: none;
}

/* Styling Pagination*/
.owl-theme .owl-controls .owl-page {
  display: inline-block;
  zoom: 1;
  *display: inline;
  /*IE7 life-saver */
}

.owl-theme .owl-controls .owl-page span {
  display: block;
  width: 12px;
  height: 12px;
  margin: 5px 7px;
  opacity: 0.5;
  border-radius: 20px;
  background: #869791;
}

.owl-theme .owl-controls .owl-page.active span,
.owl-theme .owl-controls.clickable .owl-page:hover span {
  opacity: 1;
}

/* If PaginationNumbers is true */
.owl-theme .owl-controls .owl-page span.owl-numbers {
  height: auto;
  width: auto;
  color: #FFF;
  padding: 2px 10px;
  font-size: 12px;
  border-radius: 30px;
}

/* preloading images */
.owl-item.loading {
  min-height: 150px;
  background: url(AjaxLoader.gif) no-repeat center center;
}

/*/
//smoother transition on off canvas on main
//add google maps custom script in a better place :)
*/
* {
  box-sizing: border-box;
}

:focus {
  outline: 0px;
}

body {
  background-color: #f9f9f9;
  color: #222;
  font-family: "Muli", Helvetica, sans-serif;
  font-size: 20px;
  line-height: 1.8em;
  text-rendering: optimizeLegibility;
  padding-top: 80px;
}

p, ul, ol, table {
  margin-top: 0;
  margin-bottom: 40px;
}

aside {
  text-align: right;
  display: block;
  margin-top: -4em;
}

li .label {
  float: left;
}
li .li {
  display: block;
  margin: 0 0 0 25px;
}

a {
  color: #ed313d;
  text-decoration: none;
}
a:hover {
  color: #d8131f;
}
a.link--no-border {
  border-bottom: 0px;
}
a[href*="twitter.com/intent"] {
  background: #eee;
  padding: 2px 5px;
}
a[href*="twitter.com/intent"]:after {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C%21--%20Generator%3A%20Adobe%20Illustrator%2016.0.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200%29%20%20--%3E%0D%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-//W3C//DTD%20SVG%201.1//EN%22%20%22http%3A//www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246.329px%22%20height%3D%2237.65px%22%20viewBox%3D%220%200%2046.329%2037.65%22%20enable-background%3D%22new%200%200%2046.329%2037.65%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cpath%20fill%3D%22%23A9AAAD%22%20d%3D%22M46.33%2C4.457c-1.705%2C0.756-3.537%2C1.267-5.459%2C1.497c1.962-1.177%2C3.469-3.04%2C4.179-5.259%0D%0A%09c-1.837%2C1.089-3.871%2C1.88-6.036%2C2.306C37.279%2C1.154%2C34.81%2C0%2C32.076%2C0c-5.25%2C0-9.505%2C4.256-9.505%2C9.505%0D%0A%09c0%2C0.744%2C0.084%2C1.47%2C0.246%2C2.166C14.917%2C11.274%2C7.913%2C7.49%2C3.225%2C1.739C2.407%2C3.144%2C1.938%2C4.776%2C1.938%2C6.519%0D%0A%09c0%2C3.297%2C1.678%2C6.206%2C4.229%2C7.911c-1.558-0.05-3.024-0.477-4.306-1.189c0%2C0.04%2C0%2C0.08%2C0%2C0.12c0%2C4.605%2C3.276%2C8.446%2C7.625%2C9.32%0D%0A%09c-0.798%2C0.217-1.637%2C0.333-2.504%2C0.333c-0.613%2C0-1.208-0.06-1.789-0.171c1.209%2C3.776%2C4.72%2C6.524%2C8.879%2C6.602%0D%0A%09c-3.253%2C2.549-7.352%2C4.069-11.804%2C4.069C1.5%2C33.514%2C0.744%2C33.468%2C0%2C33.38c4.206%2C2.697%2C9.203%2C4.271%2C14.57%2C4.271%0D%0A%09c17.483%2C0%2C27.043-14.483%2C27.043-27.044c0-0.411-0.009-0.821-0.028-1.229C43.443%2C8.037%2C45.055%2C6.362%2C46.33%2C4.457z%22/%3E%0D%0A%3C/svg%3E%0D%0A");
  background-repeat: no-repeat;
  background-position: left 4px;
  background-size: contain;
  content: "";
  display: inline-block;
  margin-left: 5px;
  height: 20px;
  width: 20px;
}
a[href*="twitter.com/intent"]:hover:after {
  color: #d8131f;
}
a.biglink {
  font-size: 26px;
}

img {
  max-width: 100%;
  height: auto;
}

.img-fullwidth {
  width: 100%;
  display: block;
}

hr {
  background: #e0e0e0;
  border: 0px;
  display: block;
  clear: both;
  height: 2px;
  margin: 40px 0;
}

section.half-and-half {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  padding-bottom: 0;
}
section.half-and-half img {
  width: 50%;
}
section.half-and-half div.div-halfwidth {
  width: 50%;
  padding: 10%;
}
@media all and (max-width: 800px) {
  section.half-and-half {
    -ms-flex-direction: column;
        flex-direction: column;
  }
  section.half-and-half img {
    width: 100%;
  }
  section.half-and-half div.div-halfwidth {
    width: 100%;
  }
}

div.grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-gap: 2rem;
  padding-left: 10%;
  padding-right: 10%;
}
div.grid div.card {
  padding: 1.5rem;
  background-color: #FCF2F2;
  border: 1px solid #C8C8C8;
  box-shadow: 6px 10px 18px rgba(0, 0, 0, 0.05);
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
}
div.grid div.card.special-card {
  background-color: #fff;
}
div.grid div.card.special-card a span:hover {
  color: #d8131f;
}
div.grid div.card.special-card:hover, div.grid div.card.special-card:focus {
  -webkit-transform: scale3d(1.006, 1.006, 1);
          transform: scale3d(1.006, 1.006, 1);
}
div.grid div.card.special-card:hover::after, div.grid div.card.special-card:focus::after {
  opacity: 1;
}
div.grid div.card.special-card::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 2s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.15);
  content: "";
  opacity: 0;
  z-index: -1;
}
div.grid div.card h3 {
  font-weight: bold;
  font-size: 1.5rem;
}
div.grid a.drupal-9-learn-more {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  color: #ed313d;
  font-weight: bold;
}
@media all and (max-width: 1024px) {
  div.grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
  }
}
@media all and (max-width: 720px) {
  div.grid {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
  }
}

.container-table {
  border: 1px solid black;
}
.container-table table {
  display: inline-block;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid lightgray;
  border-collapse: collapse;
}
.container-table table td, .container-table table th {
  padding: 1rem;
  font-size: 0.9rem;
  border: 1px solid lightgray;
  line-height: 1.2rem;
}
.container-table table td.empty, .container-table table th.empty {
  background-color: rgba(196, 196, 196, 0.17);
}
.container-table table td.highlight, .container-table table th.highlight {
  background-color: rgba(219, 68, 69, 0.07);
}

details {
  padding: 1.2rem;
  background-color: #ededed;
  border: 1px solid #b2b2b2;
}
details summary {
  list-style: none;
  padding-left: 0;
}
details summary::-webkit-details-marker {
  display: none;
}
details h3 {
  margin: 0;
}
details p {
  margin-top: 1.5rem;
  margin-bottom: 0;
  font-size: 0.9rem;
}
details svg {
  margin-top: 0.5rem;
  float: right;
  fill: #db4445;
  stroke: #db4445;
  stroke-width: 1;
}
details[open] summary svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
details ul li {
  font-size: 0.9rem;
  line-height: 1rem;
}

.panel-full {
  width: 100%;
  position: relative;
  line-height: 1.5;
  overflow: hidden;
}
.panel-full .heading-primary {
  margin: 0.2em 0;
}
.panel-full .ul-default {
  margin-bottom: 0;
}
.panel-full .ul-default li {
  padding-bottom: 15px;
}
.panel-full.panel-fullwidth-img.panel-home {
  direction: rtl;
}
.panel-full.panel-fullwidth-img.panel-home div.container {
  direction: ltr;
}
.panel-full.panel-fullwidth-img.panel-home canvas.img-fullwidth {
  min-width: 637px;
}

.panel-fullwidth-content {
  transition: all 1s ease-in;
  padding: 0 10px;
}
.panel-fullwidth-content h2 {
  border-bottom: 0;
  padding: 0;
  margin: 0 0 0.2em 0;
}

.panel-bg-red {
  background-color: #ed313d;
}
.panel-bg-red .ul-default li:before {
  color: inherit;
}

.panel-bg-pattern {
  background-image: url("../img/bg-pixel@2x.png");
  background-repeat: repeat;
  background-size: 10%;
}

.panel-bg-solo {
  background-color: #f0274e;
  background-image: url("http://placehold.it/250x250");
  background-repeat: no-repeat;
  background-position: center center;
}

.panel-bg-solo-full {
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 100px;
}

.panel-overlap {
  margin-top: 40px;
}

.panel-bio {
  text-align: center;
  margin: 10px 0 30px;
}

.overlap-top-block {
  position: absolute;
  top: 40px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.panel-overlap-content {
  padding: 150px 0 0;
}

.panel-bio {
  font-size: 100%;
}

.panel-overlap-content {
  background-color: #222222;
}
.panel-overlap-content .giantquotes {
  width: 58px;
  height: 51px;
}

.skewed-bg {
  -webkit-transform: skewY(-3deg);
          transform: skewY(-3deg);
  height: 80%;
  width: 120vw;
  background-color: #252525;
  position: absolute;
  top: 50px;
  z-index: -1;
}
.skewed-bg.skewed-alt {
  top: 30px;
}
@media all and (max-width: 800px) {
  .skewed-bg.skewed-alt {
    height: 83%;
  }
}
@media all and (max-width: 550px) {
  .skewed-bg.skewed-alt {
    height: 87%;
  }
}

.panel-testimonial-alt {
  padding-bottom: 100px;
  margin-bottom: -100px;
  z-index: 10;
  padding-top: 100px;
}

.testimonial-alt {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.testimonial-alt img {
  min-width: 95px;
  margin-right: 3rem;
}
@media all and (max-width: 550px) {
  .testimonial-alt {
    -ms-flex-direction: column;
        flex-direction: column;
  }
  .testimonial-alt img {
    width: 100%;
    margin-bottom: 2rem;
  }
}

/* Module: Panel: Project specific images */
.project-into .project-device-panel {
  background-image: url("../img/projects/into/into-panel1-bg@2x.jpg");
}

.project-valuate .panel-overlap-valuate {
  background-color: #363636;
}
.project-valuate .panel-overlap-valuate-bg {
  background-image: url("../img/projects/valuate/valuate-testimonial-bg@2x.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.project-stp .panel-overlap-stp {
  background-color: #61bb8a;
}
.project-stp .panel-overlap-stp-bg {
  background-image: url("../img/projects/stp/stp-testimonial-bg@2x.png");
  background-repeat: no-repeat;
  background-size: 30% auto;
  background-position: center;
}

.project-mh .panel-overlap-mh {
  background-color: #02243F;
}
.project-mh .panel-overlap-mh-bg {
  background-image: url("../img/projects/mh/mh-testimonial-bg@2x.png");
  background-repeat: no-repeat;
  background-size: 30% auto;
  background-position: center;
  background-color: #02243F;
}

.project-pivot .project-panel-each p:first-of-type {
  margin-top: 0;
}
.project-pivot .panel-overlap-pivot {
  background-color: #61a028;
}
.project-pivot .panel-overlap-pivot-bg {
  background-image: url("../img/projects/pivot/pivot-testimonial-bg@2x.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.project-uua .project-device-panel {
  background-image: url("../img/projects/uua/uua-panel1-bg@2x.jpg");
}
.project-uua .panel-overlap-uua {
  background-color: #f0274e;
}
.project-uua .panel-overlap-uua-bg {
  background-image: url("../img/projects/uua/uua-testimonial-bg@2x.png");
  background-repeat: no-repeat;
  background-size: 25% auto;
  background-position: center;
}

.project-hrc .project-device-panel {
  background-image: url("../img/projects/hrc/hrc-panel1-bg@2x.jpg");
}

.project-bmp .project-panel-1 {
  background-color: red;
}

.project-svg .project-panel-1 {
  background-image: url("../img/projects/seventh-generation/seventh-generation-and-colab-in-burlington.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 400px;
}
.project-svg .panel-overlap-svg {
  background: #3fae2a url("../img/bg-pixel@2x.png") 0 0 repeat;
  background-size: 10%;
}
.project-svg .panel-overlap-svg img {
  border: 1px solid #eee;
}

.project-upandgo .logo-container {
  width: 25%;
}
.project-upandgo .main-logo {
  position: absolute;
  width: 25%;
  top: 40%;
}
.project-upandgo .oxygen {
  font-weight: bold;
  font-family: "Oxygen", Helvetica, sans-serif;
}
.project-upandgo .lubalin {
  font-family: "LubalinGraphStd-Book";
}
.project-upandgo .panel-full img.logo {
  margin-top: 35px;
  margin-bottom: 35px;
}
.project-upandgo .panel-overlap-upandgo-bg {
  background-image: url("../img/projects/upandgo/ameeting.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.project-upandgo .panel-overlap-upandgo-bg .container--text {
  padding-top: 60px;
  padding-bottom: 10px;
}

/* End Module: Panel: Project specific images */
.img-pixelate-hover {
  display: none;
}

.img-pixelate-content {
  position: absolute;
  left: 0;
  right: 0;
  padding: 10px 0;
  margin-top: 29px;
  transition: all 0.2s ease-in;
}
.img-pixelate-content .button--brand-outline {
  margin-top: 20px;
  visibility: hidden;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  font-weight: 700;
  opacity: 0;
  transition: all 0.45s ease-in-out;
}

.img-pixelate-heading {
  line-height: 1.5;
  margin-bottom: 5px;
}

.img-pixelate-tagline {
  font-family: "LubalinGraphStd-Demi";
  line-height: 1.3;
}

.img-pixelate-meta {
  padding: 0 20px;
}

.img-pixelate-parent {
  position: relative;
  overflow: hidden;
  color: #fff;
}
.img-pixelate-parent .img-pixelate-content, .img-pixelate-parent .img-pixelate-meta {
  transition: all 0.2s ease-in-out;
}
.img-pixelate-parent canvas {
  max-width: 100%;
  height: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 1;
  transition: all 0.3s ease-in-out;
}
.img-pixelate-parent a {
  color: #fff;
  display: block;
  position: relative;
  min-height: 100%;
}
.img-pixelate-parent:hover {
  cursor: pointer;
}
.img-pixelate-parent:hover .img-pixelate-content {
  margin-top: -5px;
  transition: all 0.3s ease-in;
}
.img-pixelate-parent:hover .img-pixelate-meta {
  visibility: visible;
  transition: all 0.25s ease-in;
}
.img-pixelate-parent:hover .button--brand-outline {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
  transition: all 0.25s ease-in;
}

.nav {
  background: #fff;
  text-align: center;
  position: fixed;
  overflow: hidden;
  right: 0;
  left: 0;
  top: 0;
  padding: 10px 0 0 0;
  transition: all .3s linear;
}
.nav .logo {
  float: left;
}
.nav .logo-svg {
  height: 32px;
  width: 135px;
}

/* nav styles for pages with hero image */
.home, .project, .team-profile {
  padding-top: 56px;
}

/* end nav styles for pages with hero image */
/* nav menu icon on small screens */
.nav-menu-trigger {
  font-family: "LubalinGraphStd-Demi";
  text-align: right;
  cursor: pointer;
  position: fixed;
  top: 13px;
  right: 20px;
}
.nav-menu-trigger:after {
  content: "\f0c9";
  font-family: 'FontAwesome';
  margin-left: 4px;
}
.nav-menu-trigger:hover {
  opacity: 0.8;
  transition: all 0.2s ease-in;
}
.nav-menu-trigger.nav-menu-triggered {
  color: inherit;
}
.nav-menu-trigger.nav-menu-triggered:after {
  content: "\f00d";
}

/* end nav menu icon on small screens */
.nav-menu {
  float: right;
}
.nav-menu a {
  display: block;
  color: #fff;
  text-align: left;
  font-family: "LubalinGraphStd-Demi";
  padding: 8px 0 0 20px;
  text-transform: uppercase;
}
.nav-menu a:hover, .nav-menu a.nav-active {
  color: #ed313d;
}

.nav-menu.nav-menu-open {
  right: 0;
  transition: all 0.2s ease-in;
}

.animated {
  -webkit-animation-duration: .4s;
          animation-duration: .4s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

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

@keyframes slideDown {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.animated.slideDown {
  -webkit-animation-name: noneIE1;
          animation-name: noneIE1;
}

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

@keyframes slideUp {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
.animated.slideUp {
  -webkit-animation-name: noneIE2;
          animation-name: noneIE2;
}

main {
  transition: all 0.2s ease-in;
}

.main-offcanvas {
  position: relative;
  right: 200px;
  transition: all 0.6s ease-in;
}

canvas.centered-canvas {
  margin: 0 auto;
  display: inherit;
}

div.red-banner-overlay {
  height: 456px;
  opacity: 0.93;
  background-color: #F24249;
  position: absolute;
  top: 0;
  width: 100%;
}

body.home section.panel-full div.container div.panel-fullwidth-content a {
  color: white;
  font-size: 26px;
}
body.home section.panel-full div.container div.panel-fullwidth-content a:hover {
  opacity: 0.8;
}
body.home section.panel-full img.upandgo-home {
  min-width: 1500px;
}
@media all and (max-width: 1200px) {
  body.home section.panel-full img.upandgo-home {
    -webkit-transform: translateX(-20%);
            transform: translateX(-20%);
  }
}
@media all and (max-width: 898px) {
  body.home section.panel-full img.upandgo-home {
    -webkit-transform: translateX(-40%);
            transform: translateX(-40%);
  }
}
@media all and (max-width: 590px) {
  body.home section.panel-full img.upandgo-home {
    -webkit-transform: translateX(-60%);
            transform: translateX(-60%);
  }
}
body.home section.panel-full div.container-typed {
  max-width: 500px;
}
body.home section.panel-full span.typedjs {
  font-size: 2em;
  font-weight: bold;
}
body.home section.panel-full span.typed-cursor {
  font-size: 2em;
  font-weight: bold;
}
body.home section.panel-full h3 {
  font-size: 85%;
  width: 100%;
  position: absolute;
  color: white;
  text-align: center;
}
body.home section.panel-full h3.upandgo-tagline {
  margin-top: 20px;
  top: 50%;
}
body.home section.panel-full h3.recent-work {
  font-weight: bold;
  top: 10%;
}
body.home section.panel-full img.main-logo {
  width: 270px;
  display: block;
  position: absolute;
  left: 50%;
  margin-right: -50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 40%;
}
body.home section.panel-full div.banner-home-button {
  font-size: 1.2em;
  position: absolute;
  width: 100%;
  top: 70%;
  text-align: center;
}
@media all and (max-width: 590px) {
  body.home section.panel-full div.banner-home-button {
    margin-top: 70px;
  }
}

.footer {
  background: #222;
  color: #fff;
  padding: 50px 0 10px 0;
}
.footer .h2 {
  border-color: #747474;
  margin-bottom: 20px;
}

.footer-connect {
  margin-bottom: 60px;
}

.bottom-footer {
  margin-top: 60px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: baseline;
      align-items: baseline;
}

.footer-address img {
  height: 25px;
  margin: 0 5px;
  vertical-align: middle;
  width: auto;
}
.footer-address a {
  color: #a8a9ad;
}
.footer-address a:hover {
  text-decoration: underline;
}
.footer-address .icon-dot {
  color: #a8a9ad;
}

.footer-logos-img {
  margin-left: auto;
}
.footer-logos-img img {
  height: 95px;
  margin-right: 20px;
}

.footer-social a {
  display: inline-block;
  padding-right: 10px;
}
.footer-social .ico-social {
  fill: #a8a9ad;
  height: 20px;
}
.footer-social .ico-social:hover {
  fill: white;
  transition: all 0.2s linear;
}

.footer-hash {
  text-align: center;
}
.footer-hash div.twitter-container {
  margin: auto;
  max-width: 600px;
}

.twitter-timeline {
  width: 80% !important;
}

/* hero pixelating image on scroll */
.img-pixelate-scroll {
  display: none;
}

/* end hero pixelating image on scroll */
.panel-fullwidth-img-text {
  transition: all 1.5s ease-in;
  opacity: 0;
}

.grid-each {
  padding: 0 16px 30px 16px;
}

.work-block {
  text-align: center;
  margin-bottom: 20px;
}

.work-additional a {
  font-size: 15px;
}

.work-tech-block {
  text-align: center;
}
.work-tech-block > img {
  display: inline-block;
  padding: 8px;
}

.team-block > ul {
  padding: 0;
  text-align: center;
}
.team-block > a {
  display: block;
}

.team-each {
  padding-bottom: 30px;
}
.team-each a > img {
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
  transition: all 0.2s linear;
  width: 90%;
}
.team-each a:hover > img {
  -webkit-filter: grayscale(0%);
          filter: grayscale(0%);
}
.team-each > a > div > div {
  line-height: 1.6;
}

.team-profile-intro-block {
  padding: 120px 0 50px 0;
  color: #fff;
}

.team-profile-badges {
  line-height: 1;
}
.team-profile-badges > .badge {
  display: inline-block;
  margin-right: 10px;
  max-width: 55px;
}
.team-profile-badges > .badge img {
  display: inline-block;
}
.team-profile-badges > .badge:last-of-type {
  margin-right: 0;
}

.team-profile-heading > h1 {
  margin: 0;
}

.team-profile-meta, .team-profile-bio {
  padding-left: 16px;
  padding-right: 16px;
}

.team-profile-meta {
  margin-top: 40px;
}
.team-profile-meta h2 {
  margin-bottom: 10px;
}

.team-profile-each {
  line-height: 1.4;
}
.team-profile-each a {
  display: block;
  margin-bottom: 10px;
}

.team-profile-bio {
  margin-top: 40px;
}

.team-profile-social a {
  display: inline-block;
  padding-right: 10px;
}
.team-profile-social .ico-social {
  fill: #a8a9ad;
  height: 20px;
}
.team-profile-social .ico-social:hover {
  fill: #ed313d;
  transition: all 0.2s linear;
}

.project-info > .h2 {
  border-color: #eee;
  font-weight: normal;
}

.members-team img {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
  height: 80px;
  width: 80px;
  padding: 8px;
}
.members-team img:hover {
  -webkit-filter: grayscale(0);
          filter: grayscale(0);
  transition: all 0.2s linear;
}

.project-collaboration {
  padding: 20px;
}

.project-site-links {
  text-align: center;
}
.project-site-links .button--brand-outline {
  margin: 0 10px 10px;
}

.blog-list-block {
  border-bottom: 2px solid #eee;
  margin-bottom: 80px;
  padding-bottom: 60px;
}
.blog-list-block .heading-primary {
  font-family: "LubalinGraphStd-Demi";
}
.blog-list-block .heading-primary a {
  color: inherit;
}
.blog-list-block .heading-primary a:hover {
  color: #ed313d;
}
.blog-list-block form .col-33-flt {
  width: auto;
}
@media screen and (max-width: 547px) {
  .blog-list-block form .col-66-flt {
    width: 100%;
  }
}

.blog-list-meta {
  text-align: center;
}

.blog-list-pagination {
  margin-bottom: 80px;
  text-align: center;
}

.styling-markdown {
  padding-bottom: 50px;
}
.styling-markdown h1:first-of-type {
  margin-top: 50px;
  margin-bottom: 50px;
}
.styling-markdown ul li {
  margin-bottom: 10px;
}

.icon-decorative-pixel:after {
  content: url(../img/pixel.svg);
  display: inline-block;
  padding-left: 10px;
}

.blog-post-meta-block {
  text-align: center;
  border-top: 2px solid;
  border-bottom: 2px solid;
  border-color: #e0e0e0;
}

.blog-post-meta {
  line-height: 2.5;
}

.blog-post-img-credit {
  padding: 0 10px;
  height: auto;
  width: 60px;
}

.blog-post-social {
  padding: 20px 0 40px;
  text-align: center;
}

.styling-markdown table td {
  padding: 5px 10px;
}
.styling-markdown table thead {
  border-bottom: 2px solid #e0e0e0;
}

.address-colab-block {
  border-top: 2px solid #e0e0e0;
}

#map-canvas {
  height: 400px;
}

#map-canvas img {
  max-width: none;
}

.process-box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
}
.process-box .process {
  margin-left: 20px;
  margin-right: 20px;
  height: 590px;
  width: 283px;
}

.services-list-each {
  margin-top: 15px;
}
.services-list-each li {
  margin-bottom: 10px;
  line-height: 1.3;
}

.recent-work-block p {
  margin-top: 24px;
  margin-bottom: 24px;
}
@media all and (max-width: 547px) {
  .recent-work-block p a {
    display: block;
  }
  .recent-work-block p a img {
    width: 100%;
  }
  .recent-work-block p:nth-child(2) {
    display: none;
  }
}
.recent-work-block a img {
  margin-left: 38px;
  margin-right: 38px;
  width: 25%;
}
@media all and (max-width: 987px) {
  .recent-work-block a img {
    margin-left: 0px;
    margin-right: 0px;
  }
}

.slider-testimonial-meta {
  line-height: 1.6;
}

.slider-testimonial .item {
  padding: 0 20px;
}
.slider-testimonial .owl-buttons {
  position: absolute;
  top: 15%;
  display: block;
  width: 100%;
}
.slider-testimonial .owl-prev, .slider-testimonial .owl-next {
  position: absolute;
}
.slider-testimonial .owl-prev:before, .slider-testimonial .owl-next:before {
  color: black;
  font-size: 40px;
  padding: 3px 5px;
}
.slider-testimonial .owl-prev {
  left: -10px;
}
.slider-testimonial .owl-prev:before {
  content: "\2039";
}
.slider-testimonial .owl-next {
  right: -10px;
}
.slider-testimonial .owl-next:before {
  content: "\203A";
}
.slider-testimonial .owl-controls .owl-buttons div {
  background: none;
  color: #cfd0d2;
  padding: 3px 5px;
}

div.feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 4rem;
     -moz-column-gap: 4rem;
          column-gap: 4rem;
  row-gap: 1rem;
}
div.feature-grid div.featured-home > a {
  display: -ms-flexbox;
  display: flex;
}
div.feature-grid div.featured-home > a img {
  height: 94px;
  width: 94px;
  margin-right: 20px;
}
div.feature-grid div.featured-home > a span {
  display: block;
}
@media all and (max-width: 720px) {
  div.feature-grid {
    grid-template-columns: 1fr;
  }
}

[data-tooltip] {
  position: relative;
  z-index: 4;
  cursor: pointer;
}

/* Hide the tooltip content by default */
[data-tooltip]:before,
[data-tooltip]:after {
  visibility: hidden;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  pointer-events: none;
}

/* Position tooltip above the element */
[data-tooltip]:before {
  background: #222;
  border-radius: 3px;
  content: attr(data-tooltip);
  font-size: 60%;
  padding: 10px 15px;
  position: absolute;
  top: 50%;
  right: 115%;
  text-align: center;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  white-space: nowrap;
}

/* Triangle hack to make tooltip look like a speech bubble */
[data-tooltip]:after {
  border-style: solid;
  border-width: 7.5px 0 7.5px 7.5px;
  border-color: transparent transparent transparent #222;
  content: " ";
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  right: 105%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 0;
}

/* Show tooltip content on hover */
[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
  visibility: visible;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.job-each {
  padding: 0 16px 30px 16px;
  text-align: center;
}

.grid-card {
  background: white;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: stretch;
      align-content: stretch;
  min-height: 200px;
  width: 100%;
}
.grid-card a {
  background: white;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  line-height: 1.5;
  padding: 0 30px;
  width: 100%;
}

.notrack-banner {
  position: fixed;
  bottom: 0;
  min-height: 80px;
  width: 100%;
  padding: 15px;
  background-color: #000000;
  color: #ffffff;
  text-align: center;
  font-weight: bold;
  font-size: 0.8em;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  z-index: 4;
}
.notrack-banner.hide {
  display: none;
}
.notrack-banner__accept {
  padding: 5px 15px 5px 15px;
  background-color: unset;
  border: 1.5px solid white;
  border-radius: 2px;
}
.notrack-banner__accept:hover {
  background-color: white;
  color: black;
}
.notrack-banner__text {
  max-width: 760px;
  line-height: 18px;
  -ms-flex-item-align: center;
      align-self: center;
}
.notrack-banner__accept, .notrack-banner__text {
  margin: 10px;
}
@media all and (max-width: 590px) {
  .notrack-banner__accept, .notrack-banner__text {
    padding: 6px;
    margin: 8px;
    line-height: 18px;
    font-size: 0.7em;
  }
}
@media all and (max-width: 590px) {
  .notrack-banner__accept span:after {
    -webkit-transform: scale(0.7) translate(-5px, 2px);
            transform: scale(0.7) translate(-5px, 2px);
  }
}

.map-container {
  overflow: hidden;
}

.map {
  display: block;
  margin: 0 auto;
}

.map-small {
  display: none;
}

@media all and (max-width: 600px) {
  .ithaca-map {
    display: none;
  }

  .map-small {
    display: block;
  }
}
.world-map {
  height: 400px;
}

@media screen and (max-width: 799px) {
  .nav {
    overflow: visible;
  }

  .nav-menu {
    padding: 10px 5px;
    background: #222;
    position: fixed;
    top: 55px;
    bottom: 0;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    width: 150px;
    right: -150px;
    transition: all 0.2s ease-in;
    top: 55px;
  }

  .panel-fullwidth-content {
    font-size: 80%;
  }
}
@media screen and (min-width: 600px) {
  .tabs li {
    float: left;
    width: 50%;
  }

  .banner-home-button, .panel-home .heading-primary {
    text-align: left;
  }

  .banner-home-button {
    margin-top: 40px;
  }

  .panel-home .heading-primary {
    max-width: 500px;
  }

  .recent-work-block > a {
    display: inline-block;
  }
  .recent-work-block > a img {
    max-width: none;
  }

  .featured-home > a span {
    display: inline-block;
  }

  .team-each {
    width: 50%;
    display: inline-block;
    vertical-align: top;
  }

  .project-info-50 {
    width: 50%;
    float: left;
    padding-left: 16px;
    padding-right: 16px;
  }

  .panel-content-section {
    width: 50%;
    float: left;
    padding-left: 16px;
    padding-right: 16px;
  }

  .form-api .grid-parent > .form-field-wrap {
    width: 50%;
    float: left;
    padding-left: 16px;
    padding-right: 16px;
  }

  .form-select-text {
    float: left;
    padding: 20px 0 0 10px;
    position: relative;
  }

  .address-colab {
    font-size: 20px;
  }

  .services-list-each {
    width: 33.33%;
    float: left;
  }

  .jobs {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .job-each {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: stretch;
        align-items: stretch;
    -ms-flex: 0 1 33.33%;
        flex: 0 1 33.33%;
  }
}
@media screen and (min-width: 700px) {
  .grid-each {
    width: 50%;
    display: inline-block;
    vertical-align: top;
    padding-left: 16px;
    padding-right: 16px;
  }

  .work-additional {
    width: 50%;
    float: left;
  }

  .team-profile-intro-block {
    float: right;
    width: 70%;
  }

  .team-profile-meta, .team-profile-bio {
    float: left;
  }

  .team-profile-meta {
    width: 30%;
    position: relative;
    top: -160px;
  }

  .team-profile-bio {
    width: 70%;
    padding-left: 38px;
  }

  .footer-connect {
    width: 50%;
    float: left;
  }
}
@media screen and (min-width: 800px) {
  body {
    padding-top: 140px;
  }

  /* nav styles for sticky scroll header */
  .main-offcanvas {
    right: 0;
  }

  .animated {
    -webkit-animation-duration: .4s;
            animation-duration: .4s;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
  }

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

  @keyframes slideDown {
    0% {
      -webkit-transform: translateY(-100%);
              transform: translateY(-100%);
    }
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
  .animated.slideDown {
    -webkit-animation-name: slideDown;
            animation-name: slideDown;
  }

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

  @keyframes slideUp {
    0% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    100% {
      -webkit-transform: translateY(-100%);
              transform: translateY(-100%);
    }
  }
  .animated.slideUp {
    -webkit-animation-name: slideUp;
            animation-name: slideUp;
  }

  /* nav styles for pages with hero image */
  .home, .project, .team-profile {
    padding-top: 0;
  }
  .home .nav, .project .nav, .team-profile .nav {
    background: none;
  }
  .home .nav-menu-trigger, .home .nav-menu a, .project .nav-menu-trigger, .project .nav-menu a, .team-profile .nav-menu-trigger, .team-profile .nav-menu a {
    color: #fff;
  }
  .home .nav-menu-trigger:hover, .home .nav-menu a:hover, .project .nav-menu-trigger:hover, .project .nav-menu a:hover, .team-profile .nav-menu-trigger:hover, .team-profile .nav-menu a:hover {
    opacity: 0.8;
  }
  .home .logo-svg polygon, .home .logo-svg path, .home .logo-svg text, .project .logo-svg polygon, .project .logo-svg path, .project .logo-svg text, .team-profile .logo-svg polygon, .team-profile .logo-svg path, .team-profile .logo-svg text {
    fill: #fff;
  }

  /* end nav styles for pages with hero image */
  .home .animated.headroom--top a.button--brand-outline.color-red, .project .animated.headroom--top a.button--brand-outline.color-red, .team-profile .animated.headroom--top a.button--brand-outline.color-red {
    border-color: #e8e8e8;
    color: #e8e8e8;
  }
  .home .animated.headroom--not-top.slideDown, .project .animated.headroom--not-top.slideDown, .team-profile .animated.headroom--not-top.slideDown {
    background-color: #fff;
  }
  .home .animated.headroom--not-top.slideDown .logo-svg polygon, .project .animated.headroom--not-top.slideDown .logo-svg polygon, .team-profile .animated.headroom--not-top.slideDown .logo-svg polygon {
    fill: #ed313d;
  }
  .home .animated.headroom--not-top.slideDown .logo-svg path, .home .animated.headroom--not-top.slideDown text, .project .animated.headroom--not-top.slideDown .logo-svg path, .project .animated.headroom--not-top.slideDown text, .team-profile .animated.headroom--not-top.slideDown .logo-svg path, .team-profile .animated.headroom--not-top.slideDown text {
    fill: #a8a9ad;
  }
  .home .animated.headroom--not-top.slideDown .nav-menu-trigger, .home .animated.headroom--not-top.slideDown .nav-menu a, .project .animated.headroom--not-top.slideDown .nav-menu-trigger, .project .animated.headroom--not-top.slideDown .nav-menu a, .team-profile .animated.headroom--not-top.slideDown .nav-menu-trigger, .team-profile .animated.headroom--not-top.slideDown .nav-menu a {
    color: inherit;
  }
  .home .animated.headroom--not-top.slideDown .nav-menu-trigger:hover, .home .animated.headroom--not-top.slideDown .nav-menu-trigger.nav-active, .home .animated.headroom--not-top.slideDown .nav-menu a:hover, .home .animated.headroom--not-top.slideDown .nav-menu a.nav-active, .project .animated.headroom--not-top.slideDown .nav-menu-trigger:hover, .project .animated.headroom--not-top.slideDown .nav-menu-trigger.nav-active, .project .animated.headroom--not-top.slideDown .nav-menu a:hover, .project .animated.headroom--not-top.slideDown .nav-menu a.nav-active, .team-profile .animated.headroom--not-top.slideDown .nav-menu-trigger:hover, .team-profile .animated.headroom--not-top.slideDown .nav-menu-trigger.nav-active, .team-profile .animated.headroom--not-top.slideDown .nav-menu a:hover, .team-profile .animated.headroom--not-top.slideDown .nav-menu a.nav-active {
    color: #ed313d;
    opacity: 1;
  }

  /* end nav styles for sticky scroll header */
  .nav {
    padding: 20px 0 10px 0;
  }
  .nav .logo-svg {
    height: 52px;
    width: 230px;
  }

  .nav-menu-trigger {
    display: none;
  }

  .nav-menu {
    display: block;
    margin-top: 5px;
  }
  .nav-menu a {
    display: inline-block;
    color: #222;
    font-size: 85%;
  }

  .team-each {
    width: 33.33%;
  }
}
@media screen and (min-width: 900px) {
  .grid-each {
    width: 33.33%;
    padding-left: 16px;
    padding-right: 16px;
  }

  .team-profile-heading {
    float: left;
  }

  .team-profile-badges {
    float: right;
  }

  .slider-testimonial .item {
    padding: 0 10px;
  }
  .slider-testimonial .owl-prev {
    left: -100px;
  }
  .slider-testimonial .owl-next {
    right: -100px;
  }
}
@media screen and (min-width: 1100px) {
  .team-each {
    width: 25%;
  }
}
