/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html {
   font-family: sans-serif;
   -ms-text-size-adjust: 100%;
   -webkit-text-size-adjust: 100%;
}
body {
   margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
   display: block;
}
audio,
canvas,
progress,
video {
   display: inline-block;
   vertical-align: baseline;
}
audio:not([controls]) {
   display: none;
   height: 0;
}
[hidden],
template {
   display: none;
}
a {
   background-color: transparent;
}
a:active,
a:hover {
   outline: 0;
}
abbr[title] {
   border-bottom: 1px dotted;
}
b,
strong {
   font-weight: bold;
}
dfn {
   font-style: italic;
}
h1 {
   font-size: 2em;
   margin: 0.67em 0;
}
mark {
   background: #ff0;
   color: #000;
}
small {
   font-size: 80%;
}

.wrapper--text {
   display: flex;
   justify-content: center;
   flex-direction: column;
   min-height: calc(100vh - 10rem);
   font-size: 1.5rem;
   line-height: 1.6;
   padding: 1rem;
}

.wrapper--text p {
   font-size: 1.5rem !important;
   margin: 1rem auto;
   width: 100%;
   max-width: 600px;
   text-align: left;
}

sub,
sup {
   font-size: 75%;
   line-height: 0;
   position: relative;
   vertical-align: baseline;
}
sup {
   top: -0.5em;
}
sub {
   bottom: -0.25em;
}
img {
   border: 0;
}
svg:not(:root) {
   overflow: hidden;
}
figure {
   margin: 1em 40px;
}
hr {
   -moz-box-sizing: content-box;
   box-sizing: content-box;
   height: 0;
}
pre {
   overflow: auto;
}
code,
kbd,
pre,
samp {
   font-family: monospace, monospace;
   font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
   color: inherit;
   font: inherit;
   margin: 0;
}
button {
   overflow: visible;
}
button,
select {
   text-transform: none;
}
button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
   -webkit-appearance: button;
   cursor: pointer;
}
button[disabled],
html input[disabled] {
   cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
   border: 0;
   padding: 0;
}
input {
   line-height: normal;
}
input[type='checkbox'],
input[type='radio'] {
   box-sizing: border-box;
   padding: 0;
}
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
   height: auto;
}
input[type='search'] {
   -webkit-appearance: textfield;
   -moz-box-sizing: content-box;
   -webkit-box-sizing: content-box;
   box-sizing: content-box;
}
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
   -webkit-appearance: none;
}
fieldset {
   border: 1px solid #c0c0c0;
   margin: 0 2px;
   padding: 0.35em 0.625em 0.75em;
}
legend {
   border: 0;
   padding: 0;
}
textarea {
   overflow: auto;
}
optgroup {
   font-weight: bold;
}
table {
   border-collapse: collapse;
   border-spacing: 0;
}
td,
th {
   padding: 0;
}
h1 {
   margin: 0;
   padding: 0;
}
html {
   background-color: white;
   max-width: 100%;
   overflow-x: hidden;
}
a {
   color: #1e0fbe;
   text-decoration: none;
}
ul,
li {
   list-style: none;
   display: inline;
   margin: 0;
   padding: 0;
}
h2 {
   margin: 0px;
   font-size: 100%;
   color: #1e0fbe;
   font-size: 1.125rem;
   line-height: 1.15;
   font-weight: normal;
}
p,
.greenlink,
.lab-description {
   font-size: 0.8125rem;
   line-height: 1.4;
}
p,
.lab-description {
   color: #545454;
}
.greenlink {
   color: #006621;
   text-decoration: none;
   font-weight: normal;
   font-size: 0.875rem;
   line-height: 1.3;
}
.clear {
   clear: both;
}
.main-header {
   background: #f1f1f1;
   padding: 1.2rem 0 0.9rem 8.75rem;
   min-height: 1.6rem;
   border-bottom: 1px solid #e5e5e5;
}
@media (min-width: 640px) {
   .main-header {
      padding: 1rem 0 1rem 8.75rem;
   }
}
.logo {
   font-size: 1.2rem;
   position: absolute;
   left: 1.2rem;
}
@media (min-width: 640px) {
   .logo {
      margin: 0.3rem 0 0 0;
   }
}
.logo a {
   text-decoration: none;
   border-bottom: 2px solid #1e0fbe;
   display: block;
   line-height: 1.15rem;
}
@media (min-width: 640px) {
   .logo a {
      line-height: 1.05rem;
   }
}
.taglines {
   display: none;
   position: relative;
   font-size: 1.125rem;
   margin: 0.2rem;
   left: -0.6rem;
}
@media (min-width: 640px) {
   .taglines {
      display: block;
   }
}
.didyoumean {
   color: #dd4b39;
   font-size: 1.125rem;
}
.tagline {
   font-style: italic;
   font-weight: bold;
   color: #1e0fbe;
   display: none;
}
.tagline.is-visible {
   display: inline-block;
}
.menu {
   padding: 0 1.2rem;
   border-bottom: 1px solid #ebebeb;
}
@media (min-width: 640px) {
   .menu {
      padding: 0 7.75rem;
   }
}
.menu-item {
   display: inline-block;
   text-decoration: none;
   color: #4f4f4f;
   text-align: center;
   font-size: 0.8125rem;
   padding: 1.3rem 0.6rem;
   margin-right: 0.75rem;
   -webkit-touch-callout: none;
   user-select: none;
   box-sizing: border-box;
}
.menu-item:hover {
   color: black;
}
.menu-item.current-menu-item {
   border-bottom: 3px solid #4285f4;
   outline-color: #4285f4;
   outline: 0;
   font-weight: bold;
   color: #4285f4;
}
.menu-item.current-menu-item:hover {
   color: #4285f4;
}
main {
   padding: 0.6rem;
   min-height: calc(100vh - 200px);
}
@media (min-width: 640px) {
   main {
      padding: 2rem 7.75rem;
      min-height: calc(100vh - 240px);
   }
}
.project {
   width: calc(100% - 1.2rem);
   margin: 0.6rem 0.6rem 2rem 0.6rem;
   min-height: 200px;
   float: left;
}
@media (min-width: 960px) {
   .project {
      width: 48%;
      width: calc(50% - 1.2rem);
   }
}
@media (min-width: 1024px) {
   .project {
      width: 32%;
      width: calc(33.2222% - 1.2rem);
   }
}
@media (min-width: 1280px) {
   .project {
      width: 23%;
      width: calc(25% - 1.2rem);
   }
}
@media (min-width: 1680px) {
   .project {
      width: 18%;
      width: calc(20% - 1.2rem);
   }
}
@media (min-width: 1920px) {
   .project {
      width: 15%;
      width: calc(16.662% - 1.2rem);
   }
}
figure {
   position: relative;
   margin: 0 0 0.7rem 0;
   padding: 0.6rem;
   background: #f1f1f1;
   min-height: 30px;
   border: 1px solid #ebebeb;
   overflow: hidden;
   width: 100%;
   display: block;
   height: auto;
   position: relative;
   padding-top: 100%;
   box-sizing: border-box;
}
figure svg {
   width: 66%;
   height: 66%;
   position: absolute;
   top: 17%;
   left: 17%;
}
figure:hover::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   display: block;
   animation: ripple 0.5s ease-out forwards;
   border-radius: 50%;
   z-index: 5;
   background: transparent;
   transform: scale(0);
}
@keyframes ripple {
   0% {
      transform: scale(0);
      background: transparent;
   }
   50% {
      background: rgba(0, 0, 0, 0.08);
   }
   100% {
      transform: scale(1.4);
      background: transparent;
   }
}
.lab {
   margin: 0.6rem 0.6rem 1.5rem 0.6rem;
}
@media (min-width: 640px) {
   .lab {
      max-width: 600px;
   }
}
.contact-details {
   position: absolute;
   width: 100%;
   height: calc(100% - 114px);
   top: 114px;
   left: 0;
   text-align: center;
}
.contact-details h4 {
   font-size: 10vw;
   margin: 0;
   position: absolute;
   top: 40%;
   left: 50%;
   transform: translate(-50%, -60%);
}
.contact-details.show {
   display: block;
}
.contact-details a {
   text-decoration: underline;
}
footer.site-footer {
   position: relative;
   bottom: 0;
   min-height: 15px;
   padding-top: 20px;
   padding-bottom: 20px;
   background: #f1f1f1;
   width: 100%;
   bottom: 0px;
   border-top: 1px solid #e4e4e4;
}
footer.site-footer .footer-menu {
   padding: 0 1.2rem;
}
@media (min-width: 640px) {
   footer.site-footer .footer-menu {
      padding: 0 7.75rem;
   }
}
footer.site-footer ul li {
   color: #666;
   font-size: 0.8125rem;
   padding: 0.6rem 0.8rem 0.2rem 0.8rem;
   margin: 0 0.8rem 0.8rem 0;
   -webkit-touch-callout: none;
   -webkit-user-select: none;
   -khtml-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
   line-height: 2;
}
footer.site-footer a {
   color: #666;
}
footer.site-footer a:hover {
   color: black;
}
.hand {
   position: fixed;
   top: 100%;
   width: 800px;
   height: 1500px;
   display: none;
   background-repeat: no-repeat;
   z-index: 999;
   background-position: 0px 0px;
}
.hand.show {
   display: block;
}
.twitter {
   position: fixed;
   width: 60%;
   height: 60%;
   left: 20%;
   top: 20%;
   transition: all 0.5s;
   z-index: 50;
   transform: scale(0) rotate(0);
   background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNzEuNTA1IiBoZWlnaHQ9IjEzOS4zNzgiPjxwYXRoIGZpbGw9IiMyYWE5ZTAiIGQ9Ik0xNzEuNTA1IDE2LjVjLTYuMzEgMi43OTgtMTMuMDkgNC42OS0yMC4yMDggNS41NCA3LjI2NC00LjM1NSAxMi44NDQtMTEuMjUgMTUuNDctMTkuNDY3LTYuOCA0LjAzMy0xNC4zMyA2Ljk2LTIyLjM0NCA4LjUzOEMxMzguMDA1IDQuMjczIDEyOC44NiAwIDExOC43NCAwIDk5LjMwOCAwIDgzLjU1MyAxNS43NTQgODMuNTUzIDM1LjE4NWMwIDIuNzU4LjMxIDUuNDQ0LjkxMiA4LjAyQzU1LjIyIDQxLjczNiAyOS4yOTUgMjcuNzI3IDExLjk0IDYuNDRjLTMuMDMgNS4xOTctNC43NjQgMTEuMjQtNC43NjQgMTcuNjkgMCAxMi4yMDcgNi4yMSAyMi45NzcgMTUuNjUzIDI5LjI4Ni01Ljc3LS4xODItMTEuMTk0LTEuNzY1LTE1LjkzOC00LjQtLjAwNC4xNDYtLjAwNC4yOTQtLjAwNC40NDIgMCAxNy4wNDggMTIuMTMgMzEuMjY4IDI4LjIyNSAzNC41MDMtMi45NTIuODA1LTYuMDYgMS4yMzUtOS4yNyAxLjIzNS0yLjI2NyAwLTQuNDctLjIyMi02LjYyLS42MzIgNC40NzggMTMuOTggMTcuNDcyIDI0LjE1MiAzMi44NyAyNC40MzUtMTIuMDQyIDkuNDM4LTI3LjIxNCAxNS4wNjMtNDMuNyAxNS4wNjMtMi44NCAwLTUuNjQtLjE2Ni04LjM5My0uNDkgMTUuNTcyIDkuOTgzIDM0LjA2NyAxNS44MDggNTMuOTM4IDE1LjgwOCA2NC43MiAwIDEwMC4xMTMtNTMuNjE1IDEwMC4xMTMtMTAwLjExMyAwLTEuNTI2LS4wMzQtMy4wNDMtLjEtNC41NTMgNi44NzMtNC45NiAxMi44MzgtMTEuMTU3IDE3LjU1NS0xOC4yMTN6Ii8+PC9zdmc+');
   background-repeat: no-repeat;
   background-size: contain;
   background-position: center center;
}
.facebook-thumb {
   display: block;
   top: 10%;
   position: fixed;
   width: 90%;
   height: 80%;
   background: url('data:image/svg+xml;utf8,<svg xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns="http://www.w3.org/2000/svg" width="300" height="257"><defs><linearGradient osb:paint="solid"><stop offset="0"/></linearGradient></defs><path d="M148.328 12.258l.512 40.47c-9.634 20.743-28.69 52.56-42.422 64.383l-1.748-2.162-94.623-.185c-4.868-.208-10.07 5.393-9.776 9.233l9.314 121.25c.306 3.976 4.532 8.95 8.952 8.95h84.268c3.3 0 7.82-3.277 7.957-7.323l.363-10.58c2.736 3.887 10.14 9.676 16.546 9.676h113.563c14.218 0 36.136-15.147 28.934-40.69 8.143-6.515 12.963-17.584 8.137-31.645 8.54-6.98 14.75-20.098 7.595-31.827 22.756-19.068 7.988-45.75-9.585-45.75h-76.493c2.862-12.514 7.353-25.298 7.053-42.135-.26-14.542-9.92-35.735-16.818-47.017-2.878-4.706-29.438-13.775-41.73 5.352z" fill="#455c91" stroke="#485c90"/><path d="M11.173 126.46h79.702l.186 117.132H20.113z" fill="#6e7fb3"/><path d="M19.74 142.29h63.128v94.226h-55.12z" fill="#6475ab"/><path d="M186.76 107.055c3.648-14.67 6.31-30.988 8.075-46.627.434-3.845.415-7.166-.167-10.353-2.304-12.607-7.58-23.864-12.534-35.2-4.906-3.862-14.51-5.4-21.713.457v39.79c-12.082 23.67-25.71 46.455-42.538 67.413L102.02 133.61v92.11l10.987.044s14.565 8.907 15.33 8.525c1.274.636 113.556.315 113.556.315 6.087.127 28.046-15.914 14.06-28.435-1.864-1.143-1.62-4.58.127-5.724 8.742-1.57 19.338-18.015 8.27-26.677-1.886-2.102-.534-5.396 1.696-5.64 6.54-3.16 17.737-13.727 7.57-26.49-2.05-1.043-2.14-3.737-.232-5.363 9.833-1.37 22.288-23.772 1.67-29.156z" fill="#edf5f7"/><path d="M110.12 225.752v-97.838l-8.127 5.514.038 92.315z" fill="#dce4e7"/><path d="M171.044 11.4l9.432 40.653-24.98 44.354c-2.59 4.596.54 9.256 4.268 9.432l27.085 1.273c4.134-18.693 9.124-41.49 8.107-55.57-1.85-9.817-5.832-22.234-12.827-36.818-3.907-2.65-7.152-3.325-11.086-3.325z" fill="#dce4e7"/><path d="M240.383 106.994c8.876 8.437 3.546 24.337-4.258 29.96-1.48.855-1.8 2.957-.72 4.327 8.6 9.835-2.837 26.414-6.49 28.12-1.184 1.064-1.332 2.3-1.08 3.604 9.796 13.73-1.525 25.16-5.41 27.76-1.284 1.15-1.682 3.146-.72 5.046 8.546 13.452-1.35 22.978-6.994 28.9l27.887.06c5.363.267 27.867-16.084 12.953-28.927-1.675-1.442-.595-5.17.55-5.375 7.384-1.325 20.416-16.927 8.22-26.824-.853-.69-1.58-4.12 1.675-5.558 10.077-4.454 16.3-15.166 7.683-26.544-2.29-1.29-2.005-4.09-.205-5.2 16.835-5.016 17.222-27.325 1.592-29.28z" fill="#dce4e7"/><g><path d="M78.178 224.626" fill="#fff" stroke-width=".482586"/><path d="M69.142 223.063"/><path d="M72.73 223.063"/><path d="M72.73 226.7"/><path d="M69.142 226.7"/></g></svg>');
   background-repeat: no-repeat;
   background-size: contain;
   background-position: center center;
   left: -100%;
   transition: all 0.5s;
   z-index: 99;
}
.facebooklink:hover + li .facebook-thumb {
   left: 0;
}
.twitterlink:hover + li .twitter {
   transform: scale(1) rotate(720deg);
}
body.no-cursor,
a.no-cursor {
   cursor: none;
}
.touchscreen-toggle:hover {
   cursor: pointer;
}
.footer-menu ul li.narrow {
   margin: 0;
   width: 0;
   padding: 0;
}
@media (max-width: 960px) {
   .hide-mobile {
      display: none;
   }
}

/*# sourceMappingURL=main.css.map */
