/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, #Homepage section.customer-vertical-thumbs .thumb-container .thumb h4, h3, #Homepage section.processes p.process-tagline, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
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; }

/*------------------------------------*    Typography
\*------------------------------------*/
/*
 *  Typography elements
 *  Lato font usage
 */
body {
  font-family: lato, helvetica, arial, sans-serif; }

.lato-light, .header-nav a, footer, .hero-banner .subtitle {
  font-weight: 300; }

.lato-regular {
  font-weight: 400; }

.lato-bold, h2, #Homepage section.customer-vertical-thumbs .thumb-container .thumb h4, .button, .button-large, .button-small, .header-nav a.active, .hero-banner .title, .content-title, #Homepage .button-new, .blog-post .title h1 {
  font-weight: 700; }

/*------------------------------------*    Media Queries Mixin
\*------------------------------------*/
/*
 *  All general styles here
 */
/*------------------------------------*    General Styles
\*------------------------------------*/
/*
 *  All general styles here
 *  Colour variables
 *  HTML elements
 *  Structural
 *  Grid System
 *  Button component
 *  Link styles
 *  Random styling
 *  Helpers
 */
body {
  background-color: #f3f3f3;
  color: #404040; }

p {
  line-height: 1.3em;
  margin-bottom: 20px; }

h1 {
  font-weight: 300;
  text-transform: uppercase;
  color: #333333; }

h2, #Homepage section.customer-vertical-thumbs .thumb-container .thumb h4 {
  font-size: 30px; }

h3, #Homepage section.processes p.process-tagline {
  padding: 0;
  margin: 0;
  font-weight: 300;
  font-size: 1.5em;
  text-transform: none; }

h4 {
  text-transform: uppercase;
  font-weight: 300;
  font-size: 1.5em; }

ul {
  list-style-type: disc; }

li {
  margin-bottom: 2px;
  margin-left: 23px;
  line-height: 1.3em; }

ol li {
  margin-left: 0px; }

strong {
  font-weight: 700; }

section, header, footer {
  float: left;
  width: 100%; }

img {
  padding: 0;
  margin: 0;
  border: 0;
  max-width: 100%; }

a {
  -webkit-transition: color 0.2s ease;
          transition: color 0.2s ease; }

a:link, a:visited, a:active {
  color: #333333;
  text-decoration: none; }

a:hover {
  color: #6be0d9; }

::-moz-selection {
  color: #6be0d9;
  background-color: #8e9194; }

::selection {
  color: #6be0d9;
  background-color: #8e9194; }

td {
  line-height: 1.3em; }

input {
  margin: 5px 0 5px 0; }

textarea {
  margin: 5px 0 5px 0; }

.container {
  max-width: 980px;
  margin: 0 auto 0 auto;
  padding: 0 20px; }

.col {
  width: 100%; }

.a-1col {
  margin-bottom: 25px; }
  .a-1col .angle-top {
    width: 100%;
    height: 34px;
    background: url("../images/a-1col-col1-border-top.png"); }
  .a-1col .angle-bottom {
    width: 100%;
    height: 34px;
    background: url("../images/a-1col-col1-border-bottom.png"); }

@media (min-width: 801px) {
  .a-1col {
    margin-bottom: 50px; } }

@media (min-width: 1000px) {
  .a-1col {
    margin-bottom: 100px; } }

.a-2col-col1 {
  margin-bottom: 25px; }
  .a-2col-col1 .angle-top {
    width: 100%;
    height: 34px;
    background: url("../images/a-1col-col1-border-top.png");
    background-position: right; }
  .a-2col-col1 .angle-bottom {
    width: 100%;
    height: 34px;
    background: url("../images/a-1col-col1-border-bottom.png"); }

.a-2col-col2 .angle-top {
  width: 100%;
  height: 34px;
  background: url("../images/a-1col-col1-border-top.png"); }

.a-2col-col2 .angle-bottom {
  width: 100%;
  height: 34px;
  background: url("../images/a-1col-col1-border-bottom.png"); }

@media (min-width: 1000px) {
  .a-2col-col1 {
    width: 225px;
    float: left;
    margin-right: 15px; }
    .a-2col-col1 .angle-top {
      width: 100%;
      max-width: 265px;
      height: 66px;
      background: url("../images/a-2col-col1-border-top.png");
      background-position: bottom; }
    .a-2col-col1 .angle-bottom {
      width: 100%;
      max-width: 265px;
      height: 26px;
      background: url("../images/a-2col-col1-border-bottom.png"); }
  .a-2col-col2 {
    max-width: 700px;
    float: left;
    margin-bottom: 25px; }
    .a-2col-col2 .angle-top {
      width: 100%;
      max-width: 700px;
      height: 26px;
      background: url("../images/a-2col-col2-border-top.png"); }
    .a-2col-col2 .angle-bottom {
      width: 100%;
      max-width: 700px;
      height: 26px;
      background: url("../images/a-2col-col2-border-bottom.png"); }
  .b-2col-col1 {
    float: left;
    padding-right: 25px; }
  .b-2col-col2 {
    float: left;
    padding-right: 25px; }
  .b-3col-col1 {
    float: left;
    max-width: 200px;
    padding-right: 25px; }
  .b-3col-col2 {
    float: left;
    max-width: 200px;
    padding-right: 25px; }
  .b-3col-col3 {
    float: left;
    max-width: 200px; } }

.button, .button-large, .button-small {
  margin: 5px 0 5px 0;
  border-radius: 6px;
  color: #ffffff;
  background: #2cbdb7;
  padding: 10px 20px 10px 20px;
  text-transform: uppercase;
  text-decoration: none;
  border: 0;
  font-size: 1em;
  cursor: pointer; }
  .button:hover, .button-large:hover, .button-small:hover {
    background: #0bb99f;
    text-decoration: none; }

.button-large {
  font-size: 1.5em; }

.button-small {
  padding: 5px 10px 5px 10px;
  margin-top: 0px;
  text-transform: none; }

a.no-decoration {
  color: inherit;
  text-decoration: none; }

a.no-decoration:link {
  color: inherit;
  text-decoration: none; }

a.no-decoration:hover {
  color: inherit; }

a.no-decoration:visited {
  color: inherit; }

a.call-to-action {
  color: #0bb99f; }

a.call-to-action:link, a.call-to-action:visited, a.call-to-action:active {
  color: #0bb99f; }

a.call-to-action:hover {
  color: #6be0d9; }

a.call-to-action-bright {
  color: #6be0d9; }

a.call-to-action-bright:link, a.call-to-action-bright:visited, a.call-to-action-bright:active {
  color: #6be0d9; }

a.call-to-action-bright:hover {
  color: #ffffff; }

a.white {
  color: #ffffff; }

a.white:link {
  color: #ffffff; }

a.white:hover {
  color: #ffffff; }

a.white:visited {
  color: #ffffff; }

.thumb-gallery img {
  margin-bottom: 25px; }

img.angle-border {
  display: block; }

#Banner {
  padding-top: 7px;
  padding-bottom: 7px;
  text-align: center;
  background-color: #ffffff;
  border-bottom: 1px solid #B7B7B7; }

.clear {
  clear: both; }

.hidden {
  display: none; }

.center {
  text-align: center; }

.centered {
  margin: 0 auto; }

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

.white {
  color: #ffffff; }

.transition {
  -webkit-transition: all .3s;
          transition: all .3s; }

.bg-blue {
  background-color: #6e8ca6; }

.nobr {
  white-space: nowrap; }

/*------------------------------------*    Header + Navigation
\*------------------------------------*/
.header {
  height: 66px;
  line-height: 66px;
  background: #ffffff; }
  @media (min-width: 801px) {
    .header {
      height: 74px;
      line-height: 74px;
      background: url("../images/menu-bg.png");
      background-position: center;
      background-repeat: no-repeat; } }

.header-logo {
  position: relative;
  z-index: 3;
  float: left;
  margin-top: 10px; }

.header-nav {
  top: 200px;
  left: 0;
  float: right;
  width: 100%;
  opacity: 0; }
  .header-nav ul {
    margin: 0; }
  .header-nav li {
    display: inline-block;
    width: 100%;
    margin: 0;
    line-height: 40px;
    text-align: center; }
  .header-nav a {
    font-size: 25px;
    text-decoration: none;
    text-transform: uppercase; }
  @media (min-width: 801px) {
    .header-nav {
      display: block;
      width: auto;
      line-height: 58px;
      opacity: 1;
      visibility: visible; }
      .header-nav li {
        width: auto;
        margin-left: 18px;
        padding: 0 5px;
        line-height: 1em;
        text-align: left; }
      .header-nav a {
        font-size: 15px; } }
  @media (min-width: 1000px) {
    .header-nav li {
      margin-left: 25px; } }

.header-menu {
  position: relative; }
  .header-menu .hamburger {
    top: 22px; }
  @media (min-width: 801px) {
    .header-menu {
      display: none; } }

.notification {
  padding: 10px 0;
  background-color: #59b3b5;
  color: #ffffff;
  font-size: 14px;
  text-align: center; }
  .notification p {
    margin-bottom: 0; }

@media (max-width: 800px) {
  .header-open {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    opacity: 1;
    -webkit-transition: opacity 0.3s ease-in-out;
            transition: opacity 0.3s ease-in-out;
    background: #ffffff; }
    .header-open .header-nav {
      opacity: 1;
      -webkit-transition: opacity 0.3s ease-in-out;
              transition: opacity 0.3s ease-in-out; } }

/*------------------------------------*    Footer
\*------------------------------------*/
footer {
  margin-top: 150px; }
  footer ul {
    list-style-type: none;
    padding: 0px;
    margin: 0px; }
    footer ul li {
      padding: 0px;
      margin: 0px; }
  footer td:first-child {
    padding-right: 15px; }
  footer h3, footer #Homepage section.processes p.process-tagline, #Homepage section.processes footer p.process-tagline {
    padding-bottom: 8px;
    font-weight: 700; }
  footer h5 {
    line-height: 1.3em; }
  footer ul.contact {
    padding-bottom: 8px; }
  footer img.social-media-icon {
    padding: 0 3px 0 3px; }
  footer .border-top {
    height: 48px;
    background-image: url("../images/footer-border-top.png");
    background-position: center; }
  footer .content {
    padding-top: 2.5%;
    padding-bottom: 1px;
    background-color: #fff; }
    footer .content .footer-col {
      padding-right: 3%;
      margin-bottom: 25px; }
  footer .logo {
    margin-bottom: 5px; }
  footer .newsletter {
    padding-bottom: 10px; }
  footer p.holiday-hours {
    margin-bottom: 10px;
    font-weight: 400; }
  @media (min-width: 801px) {
    footer .footer-col {
      float: left; } }

/*------------------------------------*    Hero Banner
\*------------------------------------*/
.hero-banner {
  position: relative;
  margin-bottom: 8%; }
  .hero-banner .hero-banner-background {
    position: fixed;
    top: 0px;
    z-index: -1;
    width: 100%;
    height: 100%;
    min-width: 800px; }
    .hero-banner .hero-banner-background img.hero-banner-background-image {
      position: relative;
      z-index: -1;
      opacity: 0.6; }
    .hero-banner .hero-banner-background .hero-banner-background-gradient {
      height: 250px;
      margin-top: -250px; }
  .hero-banner .hero-banner-content {
    margin-top: 80px; }
    @media (min-width: 801px) {
      .hero-banner .hero-banner-content {
        margin-top: 170px; } }
  .hero-banner .pretitle, .hero-banner .title, .hero-banner .subtitle {
    float: left;
    color: #ffffff; }
  .hero-banner .pretitle {
    width: 100%;
    font-size: 32px; }
    @media (min-width: 801px) {
      .hero-banner .pretitle {
        font-size: 60px; } }
  .hero-banner .title {
    font-size: 56px;
    text-transform: uppercase;
    max-width: 800px; }
    .hero-banner .title .accent {
      padding-bottom: 5px;
      border-bottom: 3px solid black; }
    @media (min-width: 801px) {
      .hero-banner .title {
        font-size: 100px; } }
  .hero-banner .title-info {
    clear: both;
    float: left;
    margin-top: 40px;
    line-height: 1.5em;
    font-size: 20px;
    color: #ffffff; }
    @media (min-width: 801px) {
      .hero-banner .title-info {
        width: 65%; } }
  .hero-banner .title-info-right {
    float: left;
    margin-top: 40px;
    margin-left: 15px;
    padding-top: 10px;
    line-height: 1.5em;
    font-size: 20px;
    color: #ffffff; }
    @media (max-width: 800px) {
      .hero-banner .title-info-right {
        margin: 20px 0 30px; } }
  .hero-banner .subtitle {
    max-width: 70%;
    margin-top: 30px;
    font-size: 24px; }
  .hero-banner .video {
    position: absolute;
    width: 533px;
    height: 300px;
    top: 55px;
    left: 50%;
    margin-left: -300px;
    padding: 10px;
    text-align: center;
    background-color: #ffffff; }

.hero-gradient-teal {
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, #59b3b5));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #59b3b5 100%);
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #59b3b5 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ff0000',GradientType=0 );
  /* IE6-9 */ }

.hero-background-teal {
  background-color: #59b3b5; }

.hero-gradient-blue {
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, #6e8ca6));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #6e8ca6 100%);
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #6e8ca6 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ff0000',GradientType=0 );
  /* IE6-9 */ }

.hero-background-blue {
  background-color: #6e8ca6; }

.hero-gradient-lightblue {
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, #a9cee0));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #a9cee0 100%);
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #a9cee0 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ff0000',GradientType=0 );
  /* IE6-9 */ }

.hero-background-lightblue {
  background-color: #a9cee0; }

.hero-gradient-darkblue {
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, #334b6d));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #334b6d 100%);
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #334b6d 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ff0000',GradientType=0 );
  /* IE6-9 */ }

.hero-background-darkblue {
  background-color: #334b6d; }

.hero-gradient-tan {
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, #ba9144));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #ba9144 100%);
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #ba9144 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ff0000',GradientType=0 );
  /* IE6-9 */ }

.hero-background-tan {
  background-color: #ba9144; }

#banner-teal:before {
  display: block;
  content: "";
  background-color: rgba(45, 71, 108, 0.6);
  height: 100%; }

#banner-3d-printing {
  background: url(../images/3d-printing-index-herobanner01.jpg) repeat-x fixed 0 0; }
  #banner-3d-printing:before {
    display: block;
    content: "";
    background-color: rgba(45, 71, 108, 0.6);
    height: 100%; }

#banner-laser-cutting {
  background: url(../images/laser-cutting-index-herobanner01.jpg) repeat-x fixed center; }
  #banner-laser-cutting:before {
    display: block;
    content: "";
    background-color: rgba(45, 71, 108, 0.6);
    height: 100%; }

#banner-careers {
  background: url(../images/careers-index-herobanner01.jpg) repeat-x fixed 0 0; }
  #banner-careers:before {
    display: block;
    content: "";
    background-color: rgba(7, 157, 166, 0.6);
    height: 100%; }

#banner-workshop {
  background: url(../images/workshop-index-herobanner01-grey.jpg) repeat-x fixed 0 0; }
  #banner-workshop:before {
    display: block;
    content: "";
    background-color: rgba(7, 157, 166, 0.6);
    height: 100%; }

/*------------------------------------*Content Block
\*------------------------------------*/
.content-block {
  position: relative;
  background: #ffffff;
  padding: 20px 25px 25px 25px; }
  .content-block h2, .content-block #Homepage section.customer-vertical-thumbs .thumb-container .thumb h4, #Homepage section.customer-vertical-thumbs .thumb-container .thumb .content-block h4 {
    margin: 0 0 20px; }
  .content-block h3, .content-block #Homepage section.processes p.process-tagline, #Homepage section.processes .content-block p.process-tagline {
    font-weight: 400;
    margin-bottom: 20px; }
  .content-block p, .content-block ul {
    margin-bottom: 30px; }
  .content-block form textarea {
    width: 100%;
    max-width: 100%;
    height: 96px;
    box-sizing: border-box; }
  .content-block form label {
    display: inline-block;
    width: 100%;
    margin-bottom: 10px; }
  .content-block .benefits {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 45px; }
  .content-block .benefits-box {
    width: 100%;
    margin: 0 10px;
    padding: 12px;
    border: 1px solid #B7B7B7; }
    .content-block .benefits-box img {
      margin-top: 5px; }
    .content-block .benefits-box h4 {
      margin: 20px 0 15px 0;
      font-size: 1.1em;
      font-weight: 400; }
    @media (max-width: 800px) {
      .content-block .benefits-box {
        margin: 10px 0;
        padding: 12px 10%;
        text-align: center; } }
  .content-block .gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 45px; }
    .content-block .gallery .thumb {
      padding: 5px; }
  .content-block .c-3col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    float: left;
    width: 33.3%;
    min-width: 210px; }
    @media (max-width: 800px) {
      .content-block .c-3col {
        width: 100%; } }
  .content-block .description {
    margin-bottom: 45px; }
    .content-block .description a {
      color: #0bb99f; }
      .content-block .description a:hover {
        text-decoration: underline; }
  .content-block .testimonials p.subheading {
    margin-bottom: 0px; }
  .content-block .testimonials img.rating {
    margin: 2px 0 10px; }
  .content-block .testimonials .testimonial-portrait {
    float: left;
    width: 96px;
    height: 96px;
    overflow: hidden;
    border-radius: 50%;
    margin: 3px 20px 0 10px; }
  .content-block .testimonials .testimonial-text {
    overflow: hidden; }
  .content-block .social-media {
    margin-top: 25px; }
    .content-block .social-media .icon-header {
      display: block;
      margin-bottom: 5px; }
  .content-block .content-images {
    float: left;
    width: 100%;
    margin: 0 0 10px;
    padding: 0;
    list-style: none; }
    .content-block .content-images li {
      float: left;
      margin: 0; }
    .content-block .content-images img {
      display: block; }

.content-title {
  margin-bottom: 5px; }

.content-description {
  margin-bottom: 20px;
  font-style: italic; }

.content-block__section {
  margin-bottom: 50px; }
  .content-block__section a {
    color: #0bb99f; }

.content-block__title {
  margin-bottom: 2px !important; }

.content-block__subtitle {
  margin-bottom: 10px;
  font-size: 16px !important;
  text-transform: none !important; }

.hamburger.is-open .hamburger-inner {
  background: none; }
  .hamburger.is-open .hamburger-inner::before, .hamburger.is-open .hamburger-inner::after {
    top: 10px;
    -webkit-transition: all 0.4s 0.2s ease-in-out;
    transition: all 0.4s 0.2s ease-in-out; }
  .hamburger.is-open .hamburger-inner::before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  .hamburger.is-open .hamburger-inner::after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }

.hamburger {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 22px;
  z-index: 5;
  cursor: pointer;
  -webkit-user-select: none;
  /* webkit (safari, chrome) browsers */
  -moz-user-select: none;
  /* mozilla browsers */
  -khtml-user-select: none;
  /* webkit (konqueror) browsers */
  -ms-user-select: none;
  /* IE10+ */ }

.hamburger-inner {
  background: #333333;
  display: block;
  height: 4px;
  margin-top: 9px;
  width: 30px;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out; }
  .hamburger-inner::before, .hamburger-inner::after {
    background: #333333;
    content: "";
    display: block;
    height: 4px;
    position: absolute;
    width: 30px;
    z-index: -1;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out; }
  .hamburger-inner::before {
    top: 0px; }
  .hamburger-inner::after {
    top: 18px; }

.side-block {
  position: relative;
  background: #ffffff;
  padding: 5px 25px 10px 25px; }
  .side-block .content-title {
    margin-bottom: 30px; }
  .side-block nav h3, .side-block nav #Homepage section.processes p.process-tagline, #Homepage section.processes .side-block nav p.process-tagline {
    font-size: 1.3em; }
  .side-block nav ul li {
    margin: 0;
    list-style-type: none;
    text-transform: uppercase;
    font-size: 1.4em;
    font-weight: 400; }
    .side-block nav ul li ul {
      display: none; }
      .side-block nav ul li ul li {
        margin: 0 0 0 15px;
        font-size: 0.8em;
        font-weight: 300;
        text-transform: none; }
  @media (min-width: 801px) {
    .side-block nav {
      padding: 0 5%; }
      .side-block nav ul {
        display: table;
        width: 100%;
        list-style: none;
        text-align: center; }
        .side-block nav ul li {
          padding: 10px 15px 10px 15px;
          display: inline-block; }
          .side-block nav ul li ul {
            display: none; } }
  @media (min-width: 1000px) {
    .side-block nav {
      padding: 0; }
      .side-block nav ul {
        margin: 15px 0 25px 0;
        text-align: left; }
        .side-block nav ul li {
          padding: 0;
          display: block;
          margin: 0;
          text-align: left;
          line-height: 1.1;
          margin-bottom: 10px; }
          .side-block nav ul li ul {
            display: block;
            margin: 0 0 5px 0; } }

/*------------------------------------*    Homepage Styles
\*------------------------------------*/
#Homepage {
  background-color: #f3f3f3; }
  #Homepage .thumb-container {
    text-align: justify;
    text-justify: distribute-all-lines; }
    #Homepage .thumb-container .thumb {
      display: inline-block;
      vertical-align: top; }
  #Homepage .thumb-container:after {
    content: "";
    width: 100%;
    display: inline-block; }
  #Homepage .button-new {
    background: #2cbdb7;
    border: none;
    color: white;
    padding: 12px 26px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    display: inline-block;
    font-size: 1em;
    border-radius: 6px; }
    #Homepage .button-new:hover {
      background: #6be0d9; }
  #Homepage .page-background {
    position: absolute;
    z-index: -1;
    width: 100%;
    overflow: hidden; }
    #Homepage .page-background img {
      padding-top: 85px;
      padding-left: 17%;
      display: block;
      margin: 0 auto; }
    @media (min-width: 500px) {
      #Homepage .page-background img {
        padding-top: 0; } }
  #Homepage section.hero-banner {
    margin-top: 60px;
    margin-bottom: 2%; }
    #Homepage section.hero-banner h1 {
      font-size: 7vw;
      font-weight: 700;
      letter-spacing: 0.0em;
      line-height: 125%;
      text-transform: none; }
    #Homepage section.hero-banner span.hero-subtitle, #Homepage section.hero-banner span.hero-pretitle, #Homepage section.hero-banner span.hero-posttitle {
      font-size: 4.6vw;
      font-weight: 300;
      letter-spacing: normal;
      text-transform: none; }
    #Homepage section.hero-banner span.hero-pretitle {
      display: block;
      line-height: 100%; }
    #Homepage section.hero-banner span.hero-posttitle {
      display: block;
      margin-top: 5px;
      line-height: 125%;
      width: 90%; }
    #Homepage section.hero-banner .hero-cta {
      margin-top: 30px;
      font-size: 3vw; }
    @media (min-width: 801px) {
      #Homepage section.hero-banner h1 {
        font-size: 71px; }
      #Homepage section.hero-banner span.hero-subtitle, #Homepage section.hero-banner span.hero-pretitle, #Homepage section.hero-banner span.hero-posttitle {
        font-size: 42px; }
      #Homepage section.hero-banner .hero-cta {
        font-size: 1.5em; } }
    @media (max-width: 480px) {
      #Homepage section.hero-banner span.hero-subtitle, #Homepage section.hero-banner span.hero-pretitle, #Homepage section.hero-banner span.hero-posttitle {
        font-size: 22px; }
      #Homepage section.hero-banner span.hero-posttitle {
        margin-top: 2px; }
      #Homepage section.hero-banner .hero-cta {
        font-size: 15px; } }
    @media (max-width: 440px) {
      #Homepage section.hero-banner {
        margin-top: 36px; }
        #Homepage section.hero-banner h1 {
          font-size: 30px; } }
  #Homepage section.customer-vertical-thumbs {
    margin-top: 250px;
    margin-bottom: 220px; }
    #Homepage section.customer-vertical-thumbs .thumb-container .thumb {
      background-color: #fff;
      background: url(/images/customer-vertical-thumb.svg);
      background-size: 100% 100%; }
      #Homepage section.customer-vertical-thumbs .thumb-container .thumb h4 {
        text-transform: uppercase;
        font-size: 18px; }
      #Homepage section.customer-vertical-thumbs .thumb-container .thumb .thumb-image {
        width: 100%;
        text-align: center; }
        #Homepage section.customer-vertical-thumbs .thumb-container .thumb .thumb-image svg {
          width: 90%; }
      @media (min-width: 801px) {
        #Homepage section.customer-vertical-thumbs .thumb-container .thumb {
          width: 140px;
          height: 186px;
          display: inline-block; }
          #Homepage section.customer-vertical-thumbs .thumb-container .thumb h4 {
            padding: 22px 0 13px 18px; } }
      @media (min-width: 1000px) {
        #Homepage section.customer-vertical-thumbs .thumb-container .thumb {
          width: 165px;
          height: 220px; }
          #Homepage section.customer-vertical-thumbs .thumb-container .thumb h4 {
            padding: 28px 0 18px 22px; } }
      @media (max-width: 800px) {
        #Homepage section.customer-vertical-thumbs .thumb-container .thumb {
          position: relative;
          display: block;
          width: 100%;
          height: 50px;
          margin-bottom: 2%;
          background: none;
          background-color: #ffffff; }
          #Homepage section.customer-vertical-thumbs .thumb-container .thumb .thumb-title {
            position: absolute;
            left: 60px;
            top: 15px; }
          #Homepage section.customer-vertical-thumbs .thumb-container .thumb .thumb-image {
            position: absolute;
            top: 3px;
            left: 3px;
            width: 44px;
            height: 44px; } }
      @media (max-width: 480px) {
        #Homepage section.customer-vertical-thumbs .thumb-container .thumb h4 {
          font-size: 15px; }
        #Homepage section.customer-vertical-thumbs .thumb-container .thumb .thumb-title {
          top: 17px; } }
    @media (max-width: 800px) {
      #Homepage section.customer-vertical-thumbs {
        margin-top: 90px;
        margin-bottom: 125px; } }
    @media (min-width: 801px) {
      #Homepage section.customer-vertical-thumbs {
        margin-bottom: 125px; } }
    @media (min-width: 1000px) {
      #Homepage section.customer-vertical-thumbs {
        margin-bottom: 160px; } }
    @media (max-width: 650px) {
      #Homepage section.customer-vertical-thumbs {
        margin-bottom: 80px; } }
  #Homepage section.tagline {
    margin-bottom: 180px; }
    #Homepage section.tagline p {
      font-weight: 300;
      font-size: 28px;
      text-align: center;
      padding-left: 5%;
      padding-right: 5%; }
    @media (max-width: 800px) {
      #Homepage section.tagline {
        margin-bottom: 140px; } }
    @media (min-width: 801px) {
      #Homepage section.tagline p {
        font-size: 4.6vw; } }
    @media (min-width: 1000px) {
      #Homepage section.tagline p {
        font-size: 45px; } }
    @media (max-width: 650px) {
      #Homepage section.tagline {
        margin-bottom: 80px; } }
  #Homepage section.customer-verticals {
    margin-bottom: 12%; }
    #Homepage section.customer-verticals .a-1col {
      margin-bottom: 60px; }
    #Homepage section.customer-verticals .content-block {
      padding: 0; }
      #Homepage section.customer-verticals .content-block .angle-mask-top, #Homepage section.customer-verticals .content-block .angle-mask-bottom {
        width: 100%;
        overflow: hidden;
        position: absolute;
        z-index: 1; }
        #Homepage section.customer-verticals .content-block .angle-mask-top img, #Homepage section.customer-verticals .content-block .angle-mask-bottom img {
          max-width: none;
          vertical-align: top; }
      #Homepage section.customer-verticals .content-block .angle-mask-bottom {
        bottom: 0px; }
      #Homepage section.customer-verticals .content-block .verticals-image {
        width: 45%;
        display: inline-block;
        position: relative;
        z-index: 0; }
        #Homepage section.customer-verticals .content-block .verticals-image img {
          vertical-align: top; }
        #Homepage section.customer-verticals .content-block .verticals-image .angle-mask-bottom {
          display: none; }
      #Homepage section.customer-verticals .content-block .verticals-text {
        width: 50%;
        padding: 34px 2% 34px 2%;
        vertical-align: top;
        display: inline-block; }
        #Homepage section.customer-verticals .content-block .verticals-text .verticals-cta {
          padding-top: 10px;
          width: 100%;
          text-align: center;
          margin-bottom: 25px; }
      @media (max-width: 800px) {
        #Homepage section.customer-verticals .content-block .verticals-image {
          width: 100%;
          max-height: 550px;
          padding-top: 70%;
          overflow: hidden;
          position: relative; }
          #Homepage section.customer-verticals .content-block .verticals-image img.verticals-feature-image {
            width: 100%;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto;
            z-index: 0; }
          #Homepage section.customer-verticals .content-block .verticals-image .angle-mask-bottom {
            display: block; }
        #Homepage section.customer-verticals .content-block .verticals-text {
          display: block;
          width: 96%; } }
      @media (max-width: 600px) {
        #Homepage section.customer-verticals .content-block .verticals-image {
          padding-top: 100%; } }
  #Homepage section.processes p.process-tagline {
    text-align: center;
    margin-bottom: 25px; }
  #Homepage section.processes .thumb-container .thumb {
    width: 30%;
    min-width: 264px;
    text-align: center; }
    #Homepage section.processes .thumb-container .thumb .angle-border {
      height: 34px;
      vertical-align: top;
      overflow: hidden; }
      #Homepage section.processes .thumb-container .thumb .angle-border img {
        max-width: none; }
    #Homepage section.processes .thumb-container .thumb .content-block .process-description p {
      margin-bottom: 10px; }
    #Homepage section.processes .thumb-container .thumb .process-cta, #Homepage section.processes .thumb-container .thumb .process-cta-stacked, #Homepage section.processes .thumb-container .thumb .process-cta-not-stacked {
      margin-top: 35px;
      margin-bottom: 10px; }
      #Homepage section.processes .thumb-container .thumb .process-cta span, #Homepage section.processes .thumb-container .thumb .process-cta-stacked span, #Homepage section.processes .thumb-container .thumb .process-cta-not-stacked span {
        text-transform: none;
        line-height: 1.25em; }
      #Homepage section.processes .thumb-container .thumb .process-cta .button-new, #Homepage section.processes .thumb-container .thumb .process-cta-stacked .button-new, #Homepage section.processes .thumb-container .thumb .process-cta-not-stacked .button-new {
        width: 146px; }
    #Homepage section.processes .thumb-container .thumb .process-cta-stacked {
      display: block; }
    #Homepage section.processes .thumb-container .thumb .process-cta-not-stacked {
      display: none; }
  @media (max-width: 900px) {
    #Homepage section.processes .thumb-container {
      text-align: center; }
      #Homepage section.processes .thumb-container .thumb {
        margin: 0 3%; } }
  @media (max-width: 665px) {
    #Homepage section.processes .thumb-container .thumb {
      width: 100%;
      text-align: left;
      margin: 3% 0; }
      #Homepage section.processes .thumb-container .thumb .process-image {
        float: left; }
        #Homepage section.processes .thumb-container .thumb .process-image img {
          height: 64px;
          margin-right: 12px; }
      #Homepage section.processes .thumb-container .thumb .process-cta, #Homepage section.processes .thumb-container .thumb .process-cta-stacked, #Homepage section.processes .thumb-container .thumb .process-cta-not-stacked {
        text-align: center;
        margin-top: 20px; }
        #Homepage section.processes .thumb-container .thumb .process-cta .button-new, #Homepage section.processes .thumb-container .thumb .process-cta-stacked .button-new, #Homepage section.processes .thumb-container .thumb .process-cta-not-stacked .button-new {
          padding-left: 12px;
          padding-right: 12px;
          font-size: 0.95em;
          width: 80%; }
      #Homepage section.processes .thumb-container .thumb .process-cta-stacked {
        display: none; }
      #Homepage section.processes .thumb-container .thumb .process-cta-not-stacked {
        display: block; } }
  @media (max-width: 500px) {
    #Homepage section.processes .thumb-container .angle-border {
      display: none; }
    #Homepage section.processes .thumb-container .thumb {
      width: 100%;
      margin-bottom: 5px; }
      #Homepage section.processes .thumb-container .thumb h2, #Homepage section.processes section.customer-vertical-thumbs .thumb-container .thumb h4, #Homepage section.customer-vertical-thumbs section.processes .thumb-container .thumb h4 {
        font-size: 25px; }
      #Homepage section.processes .thumb-container .thumb .content-block {
        padding: 15px; } }

.blog-post p {
  display: block;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto; }

.blog-post table {
  margin-bottom: 30px; }

.blog-post img {
  max-width: 97.5%;
  height: auto; }

.blog-post img.size-large, .blog-post img.size-full {
  display: block;
  margin-bottom: 30px; }

.blog-post .title {
  margin-bottom: 25px; }
  .blog-post .title h1 {
    font-size: 2em;
    text-transform: none; }

.blog-post .alignnone {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.blog-post__read-more {
  margin: 60px 0 20px;
  text-align: center; }

/*------------------------------------*    Workshop Styles
\*------------------------------------*/
h3.ticket-group, #Homepage section.processes p.ticket-group.process-tagline {
  margin-bottom: 5px; }

h3.tagline, #Homepage section.processes p.tagline.process-tagline {
  margin-bottom: 6px; }

span.sold-out {
  color: red;
  text-transform: uppercase; }

.ticket-box .event-container {
  background-color: #fff;
  padding: 10px 25px 5px 25px;
  margin: 0 0 0 0; }
  .ticket-box .event-container h2, .ticket-box .event-container #Homepage section.customer-vertical-thumbs .thumb-container .thumb h4, #Homepage section.customer-vertical-thumbs .thumb-container .thumb .ticket-box .event-container h4 {
    margin-bottom: 0px; }
  .ticket-box .event-container .event-detail {
    margin-top: 25px;
    margin-bottom: 20px; }
    .ticket-box .event-container .event-detail .event-description h3, .ticket-box .event-container .event-detail .event-description #Homepage section.processes p.process-tagline, #Homepage section.processes .ticket-box .event-container .event-detail .event-description p.process-tagline {
      margin-top: 20px; }
    .ticket-box .event-container .event-detail .event-description .description-image {
      height: 100%;
      float: right;
      margin-left: 20px; }

.side-map {
  background-color: #fff;
  padding: 10px; }
  .side-map p {
    margin: 0; }
  .side-map .address {
    margin-bottom: 20px; }
  .side-map .map {
    margin-bottom: 20px; }
    .side-map .map #map-canvas {
      height: 245px; }
  .side-map .contact {
    margin-bottom: 20px; }

.event-title {
  margin-bottom: 20px; }

.event-page-body {
  padding: 10px 25px 10px 25px;
  background-color: #fff;
  overflow: auto; }
  .event-page-body section {
    margin-bottom: 20px; }
  .event-page-body img {
    margin-bottom: 20px; }

.event-button {
  width: 100%;
  text-align: center;
  margin: 55px 0 55px 0; }

.clickable:hover {
  cursor: pointer; }

/*------------------------------------*    About Styles
\*------------------------------------*/
.address-hours-details p.holiday-hours {
  margin-bottom: 10px; }

#map-canvas {
  height: 300px; }

@media (max-width: 480px) {
  .careers-list nav ul li {
    margin-bottom: 15px; }
    .careers-list nav ul li:first-child {
      margin-top: 15px; }
    .careers-list nav ul li:last-child {
      margin-bottom: 0; } }

.hero-banner .title-info {
  width: 100%; }