/*! Made with Bones: http://themble.com/bones :) */
/******************************************************************
Site Name:
Author:

Stylesheet: Main Stylesheet

Here's where the magic happens. Here, you'll see we are calling in
the separate media queries. The base mobile goes outside any query
and is called at the beginning, after that we call the rest
of the styles inside media queries.

Helpful articles on Sass file organization:
http://thesassway.com/advanced/modular-css-naming-conventions

******************************************************************/
/*********************
IMPORTING PARTIALS
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.
*********************/
/*! normalize-plus.css v8.0.0 | MIT License | vincentleinhos.com/normalize-plus */
/*
* 1. Reset the area around elements.
* 2. Make elements ready for flexible layouts.
*    The size of `padding` and `border` no longer matter, because these
*    values will be subtracted from the width.
* 3. Set the font size to a percent of the parent element's font size. This
*    is a method to manage dynamic resizing of fonts.
*/
*,
*:before,
*:after {
  margin: 0;
  /* 1 */
  padding: 0;
  /* 1 */
  border: 0;
  /* 1 */
  -webkit-box-sizing: border-box;
  /* 2 */
  -moz-box-sizing: border-box;
  /* 2 */
  box-sizing: border-box;
  /* 2 */
  font-size: 100%;
  /* 3 */
}

/* Clearfix
========================================================================== */
.clearfix, .cf {
  zoom: 1;
}
.clearfix:before, .clearfix:after, .cf:before, .cf:after {
  content: "";
  display: table;
}
.clearfix:after, .cf:after {
  clear: both;
}

/* Document
========================================================================== */
/*
* 1. Correct the line height.
* 2. Prevent adjustments of the font size after orientation changes in iOS
*    and IE.
* 3. Force a vertical scrollbar to prevent annoying problems.
* 4. Improve the font rendering on macOS.
*    http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
*/
html {
  line-height: 1;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  overflow-y: scroll;
  /* 3 */
  -webkit-font-smoothing: antialiased;
  /* 4 */
  -moz-osx-font-smoothing: grayscale;
  /* 4 */
}

/* Grouping content
========================================================================== */
/*
* Change the font style to normal (aesthetic reasons).
*/
address {
  font-style: normal;
}

/*
* 1. Correct the box sizing in Firefox and set it back in all browsers.
*    https://stackoverflow.com/a/31524335
* 2. Correct the overflow in Edge and IE.
*/
hr {
  -webkit-box-sizing: content-box;
  /* 1 */
  -moz-box-sizing: content-box;
  /* 1 */
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/*
* Remove the bullet points, because many `ul` elements are not used
* for enumeration.
* You could rewrite it to `nav ul`.
*/
ul {
  list-style: none;
}

/* Text-level semantics
========================================================================== */
/*
* 1. Remove the outline for better readability (aesthetic reasons).
* 2. Remove the gray background on active links in IE 10.
* 3. Remove the gaps in links in iOS 8+ and Safari 8+.
*/
a {
  outline: 0;
  /* 1 */
  background-color: transparent;
  /* 2 */
  -webkit-text-decoration-skip: objects;
  /* 3 */
}

/*
* Correct the font weight in Chrome, Edge, and Safari.
*/
b,
strong {
  font-weight: bolder;
}

/*
* Correct the font size.
*/
small {
  font-size: 80%;
}

/*
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
* 3. Change the cursor style.
*/
abbr[title], dfn[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/*
* Correct the inheritance and scaling of font size.
* The double `monospace` is intentional.
* http://en.wikipedia.org/wiki/User:Davidgothberg/Test59
*/
code,
kbd,
samp,
pre {
  font-family: monospace, monospace;
}

/*
* Prevent `sub` and `sup` elements from affecting the line height.
* http://gist.github.com/413930
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
========================================================================== */
/*
* Flexible media
* 1. `!important` to force correct aspect ratio, just in case.
*/
img, video {
  max-width: 100%;
  height: auto !important;
  /* 1 */
}

audio {
  width: 100%;
}

/*
* Change vertical alignment to middle on media
* elements (aesthetic reasons).
*/
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
* Change the fill color to match the text color.
*/
svg {
  fill: currentColor;
}

/*
* Hide the overflow in IE.
*/
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
========================================================================== */
/*
* Remove the border spacing.
*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Forms
========================================================================== */
/*
* Remove rounded corners on `input` elements (aesthetic reasons).
*/
input {
  -webkit-border-radius: 0;
  border-radius: 0;
}

/*
* Change the cursor style.
*/
input[type=checkbox],
input[type=radio] {
  cursor: pointer;
}

/*
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/*
* 1. The search input is not fully stylable by default.
*    In Chrome and Safari on macOS/iOS you cannot control `font`,
*    `padding`, `border`, or `background`.
*    In Chrome and Safari on Windows you cannot control border properly.
*    It will apply border-width but will only show a border color (which
*    cannot be controlled) for the outer 1px of that border.
*    Applying -webkit-appearance: textfield addresses these issues without
*    removing the benefits of search inputs (e.g. showing past searches).
*/
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
}

/*
* Remove the inner padding and cancel button in Chrome and Safari on macOS.
*/
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
* Correct the placeholders in Chrome, Edge, and Safari.
*/
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/*
* Correct font styles not being inherited.
*/
button,
input,
optgroup,
select,
textarea {
  font: inherit;
  color: inherit;
  line-height: inherit;
}

/*
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input {
  /* 1 */
  overflow: visible;
}

/*
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select {
  /* 1 */
  text-transform: none;
}

/*
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change the cursor style.
*/
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  /* 1 */
  cursor: pointer;
  /* 2 */
}

/*
* 1. Set the color for disabled elements back to an average color.
* 2. Set cursor for disabled elements back to default.
*/
[disabled] {
  color: #777;
  /* 1 */
  cursor: default;
  /* 2 */
}

/*
* Remove the inner border and padding in Firefox. This is necessary
* despite the reset.
*/
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/*
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
* 1. Remove the default vertical scrollbar in IE 10+.
* 2. Change the resize direction on textareas.
*/
textarea {
  overflow: auto;
  /* 1 */
  resize: vertical;
  /* 2 */
}

/*
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
  vertical-align: baseline;
}

/*
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
*/
legend {
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  white-space: normal;
  /* 1 */
  color: inherit;
  /* 2 */
}

/* Interactive elements
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
  display: block;
}

/*
* Add the correct display.
*/
summary {
  display: list-item;
}

/* User interaction
========================================================================== */
/*
* Improve kerning pairs and ligatures.
* http://aestheticallyloyal.com/public/optimize-legibility/
*/
h1,
h2,
h3,
h4,
h5,
h6,
p {
  text-rendering: optimizeLegibility;
}

/*
* 1. Add the correct display in IE 10+.
+ 2. Add the correct display in IE 10.
*/
template,
[hidden] {
  /* 2 */
  display: none;
}

/*
* Remove the tapping delay on clickable elements.
* 1. Remove the tapping delay in IE 10.
*/
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  /* 1 */
  touch-action: manipulation;
}

/******************************************************************
Stylesheet: Variables
******************************************************************/
/******************************************************************
Stylesheet: Typography
******************************************************************/
@font-face {
  font-family: "Studio Pro";
  src: url("../fonts/StudioPro-Regular.eot");
  src: url("../fonts/StudioPro-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/StudioPro-Regular.woff") format("woff"), url("../fonts/StudioPro-Regular.woff2") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Studio Pro";
  src: url("../fonts/StudioPro-RegularItalic.eot");
  src: url("../fonts/StudioPro-RegularItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/StudioPro-RegularItalic.woff") format("woff"), url("../fonts/StudioPro-RegularItalic.woff2") format("woff");
  font-weight: normal;
  font-style: italic;
}
p {
  -ms-word-wrap: break-word;
  word-break: break-word;
  word-wrap: break-word;
  -webkit-hyphenate-before: 3;
  -webkit-hyphenate-after: 3;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

You can do a lot of really cool things in Sass. Functions help you
make repeated actions a lot easier. They are really similar to mixins,
but can be used for so much more.

Anyway, keep them all in here so it's easier to find when you're
looking for one.

For more info on functions, go here:
http://sass-lang.com/documentation/Sass/Script/Functions.html

******************************************************************/
/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/
/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Mixins Stylesheet

This is where you can take advantage of Sass' great features: Mixins.
I won't go in-depth on how they work exactly,
there are a few articles below that will help do that. What I will
tell you is that this will help speed up simple changes like
changing a color or adding CSS3 techniques gradients.

A WORD OF WARNING: It's very easy to overdo it here. Be careful and
remember less is more.

Helpful:
http://sachagreif.com/useful-sass-mixins/
http://thesassway.com/intermediate/leveraging-sass-mixins-for-cleaner-code
http://web-design-weekly.com/blog/2013/05/12/handy-sass-mixins/

******************************************************************/
/*********************
TRANSITION
*********************/
/*
I totally rewrote this to be cleaner and easier to use.
You'll need to be using Sass 3.2+ for these to work.
Thanks to @anthonyshort for the inspiration on these.
USAGE: @include transition(all 0.2s ease-in-out);
*/
/*********************
CSS3 GRADIENTS
Be careful with these since they can
really slow down your CSS. Don't overdo it.
*********************/
/* @include css-gradient(#dfdfdf,#f8f8f8); */
/*********************
BOX SIZING
*********************/
/* @include box-sizing(border-box); */
/* NOTE: value of "padding-box" is only supported in Gecko. So
probably best not to use it. I mean, were you going to anyway? */
/******************************************************************
Site Name:
Author:

Stylesheet: Grid Stylesheet

I've seperated the grid so you can swap it out easily. It's
called at the top the style.scss stylesheet.

There are a ton of grid solutions out there. You should definitely
experiment with your own. Here are some recommendations:

http://gridsetapp.com - Love this site. Responsive Grids made easy.
http://susy.oddbird.net/ - Grids using Compass. Very elegant.
http://gridpak.com/ - Create your own responsive grid.
https://github.com/dope/lemonade - Neat lightweight grid.


The grid below is a custom built thingy I modeled a bit after
Gridset. It's VERY basic and probably shouldn't be used on
your client projects. The idea is you learn how to roll your
own grids. It's better in the long run and allows you full control
over your project's layout.

******************************************************************/
.last-col {
  float: right;
  padding-right: 0 !important;
}

/*
Mobile Grid Styles
These are the widths for the mobile grid.
There are four types, but you can add or customize
them however you see fit.
*/
@media (max-width: 767px) {
  .m-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }

  .m-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }

  .m-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }

  .m-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }

  .m-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }

  .m-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
}
/* Portrait tablet to landscape */
@media (min-width: 768px) and (max-width: 1029px) {
  .t-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }

  .t-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }

  .t-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }

  .t-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }

  .t-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }

  .t-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }

  .t-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%;
  }

  .t-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%;
  }

  .t-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%;
  }

  .t-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }
}
/* Landscape to small desktop */
@media (min-width: 1030px) {
  .d-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }

  .d-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }

  .d-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }

  .d-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }

  .d-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }

  .d-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }

  .d-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%;
  }

  .d-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%;
  }

  .d-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%;
  }

  .d-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }

  .d-1of6 {
    float: left;
    padding-right: 0.75em;
    width: 16.6666666667%;
  }

  .d-1of7 {
    float: left;
    padding-right: 0.75em;
    width: 14.2857142857%;
  }

  .d-2of7 {
    float: left;
    padding-right: 0.75em;
    width: 28.5714286%;
  }

  .d-3of7 {
    float: left;
    padding-right: 0.75em;
    width: 42.8571429%;
  }

  .d-4of7 {
    float: left;
    padding-right: 0.75em;
    width: 57.1428572%;
  }

  .d-5of7 {
    float: left;
    padding-right: 0.75em;
    width: 71.4285715%;
  }

  .d-6of7 {
    float: left;
    padding-right: 0.75em;
    width: 85.7142857%;
  }

  .d-1of8 {
    float: left;
    padding-right: 0.75em;
    width: 12.5%;
  }

  .d-1of9 {
    float: left;
    padding-right: 0.75em;
    width: 11.1111111111%;
  }

  .d-1of10 {
    float: left;
    padding-right: 0.75em;
    width: 10%;
  }

  .d-1of11 {
    float: left;
    padding-right: 0.75em;
    width: 9.0909090909%;
  }

  .d-1of12 {
    float: left;
    padding-right: 0.75em;
    width: 8.33%;
  }
}
/*********************
IMPORTING MODULES
Modules are reusable blocks or elements we use throughout the project.
We can break them up as much as we want or just keep them all in one.
I mean, you can do whatever you want. The world is your oyster. Unless
you hate oysters, then the world is your peanut butter & jelly sandwich.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Alert Styles

If you want to use these alerts in your design, you can. If not,
you can just remove this stylesheet.

******************************************************************/
.alert-success, .alert-error, .alert-info, .alert-help {
  margin: 10px;
  padding: 5px 18px;
  border: 1px solid;
}

.alert-help {
  border-color: #e8dc59;
  background: #ebe16f;
}

.alert-info {
  border-color: #bfe4f4;
  background: #d5edf8;
}

.alert-error {
  border-color: #f8cdce;
  background: #fbe3e4;
}

.alert-success {
  border-color: #deeaae;
  background: #e6efc2;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Button Styles

Buttons are a pretty important part of your site's style, so it's
important to have a consistent baseline for them. Use this stylesheet
to create all kinds of buttons.

Helpful Links:
http://galp.in/blog/2011/08/02/the-ui-guide-part-1-buttons/

******************************************************************/
/*********************
BUTTON DEFAULTS
We're gonna use a placeholder selector here
so we can use common styles. We then use this
to load up the defaults in all our buttons.

Here's a quick video to show how it works:
http://www.youtube.com/watch?v=hwdVpKiJzac

*********************/
.blue-btn {
  display: inline-block;
  position: relative;
  font-family: "Studio Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
  color: #fff;
  font-size: 0.9em;
  font-size: 34px;
  line-height: 34px;
  font-weight: normal;
  padding: 0 24px;
  border-radius: 4px;
  border: 0;
  cursor: pointer;
  -webkit-transition: background-color 0.14s ease-in-out;
  transition: background-color 0.14s ease-in-out;
}
.blue-btn:hover, .blue-btn:focus {
  color: #fff;
  text-decoration: none;
  outline: none;
}
.blue-btn:active {
  top: 1px;
}

/*
An example button.
You can use this example if you want. Just replace all the variables
and it will create a button dependant on those variables.
*/
.blue-btn {
  background-color: #2980b9;
}
.blue-btn:hover, .blue-btn:focus {
  background-color: #2574a8;
}
.blue-btn:active {
  background-color: #2472a4;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Form Styles
******************************************************************/
/*********************
INPUTS
*********************/
input[type=text],
input[type=password],
input[type=datetime],
input[type=datetime-local],
input[type=date],
input[type=month],
input[type=time],
input[type=week],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
input[type=tel],
input[type=color],
select,
textarea,
.field {
  display: block;
  height: 40px;
  line-height: 1em;
  margin-bottom: 14px;
  color: #000;
  vertical-align: middle;
  box-shadow: none;
  border-bottom: 1px solid;
  width: 100%;
  max-width: 400px;
  background: none;
  -webkit-transition: background-color 0.24s ease-in-out;
  transition: background-color 0.24s ease-in-out;
}
input[type=text]:focus, input[type=text]:active,
input[type=password]:focus,
input[type=password]:active,
input[type=datetime]:focus,
input[type=datetime]:active,
input[type=datetime-local]:focus,
input[type=datetime-local]:active,
input[type=date]:focus,
input[type=date]:active,
input[type=month]:focus,
input[type=month]:active,
input[type=time]:focus,
input[type=time]:active,
input[type=week]:focus,
input[type=week]:active,
input[type=number]:focus,
input[type=number]:active,
input[type=email]:focus,
input[type=email]:active,
input[type=url]:focus,
input[type=url]:active,
input[type=search]:focus,
input[type=search]:active,
input[type=tel]:focus,
input[type=tel]:active,
input[type=color]:focus,
input[type=color]:active,
select:focus,
select:active,
textarea:focus,
textarea:active,
.field:focus,
.field:active {
  outline: none;
}
input[type=text].error, input[type=text].is-invalid,
input[type=password].error,
input[type=password].is-invalid,
input[type=datetime].error,
input[type=datetime].is-invalid,
input[type=datetime-local].error,
input[type=datetime-local].is-invalid,
input[type=date].error,
input[type=date].is-invalid,
input[type=month].error,
input[type=month].is-invalid,
input[type=time].error,
input[type=time].is-invalid,
input[type=week].error,
input[type=week].is-invalid,
input[type=number].error,
input[type=number].is-invalid,
input[type=email].error,
input[type=email].is-invalid,
input[type=url].error,
input[type=url].is-invalid,
input[type=search].error,
input[type=search].is-invalid,
input[type=tel].error,
input[type=tel].is-invalid,
input[type=color].error,
input[type=color].is-invalid,
select.error,
select.is-invalid,
textarea.error,
textarea.is-invalid,
.field.error,
.field.is-invalid {
  color: #fbe3e4;
  border-color: #fbe3e4;
  background-color: #fff;
  background-position: 99% center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODRGRkE2RjA0QTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERBRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+U8iT5wAAAedJREFUeNqk1U9I02Ecx/HtV3aIFAc1hcRDUoGXRAq0oNLA2CrsEFmHbikZu0iQYIFGYAiegkCpLipBxPpDEBMUzB0EhSG2LhG7hMR2GviPgUTvB57Bw8P3+U23B16HPX8+e/b8nt93wezZSMCnhXETF3AcB5BDCnH8Dq98ExcGHcFn8Ah3cdDni+fxnPDv9oAnTB7CKu6VCFXtChZy56LxUjt+jfuB8toSOth9wd7xWAWhqrUjYR/FRTwWJm+iIPT/w7bQf5ljiZnBg45dtKFX6H+LU8gIY8OEV6vgTkStwXWE8BPTGDHGPqNPz2mCfSOOYkA99TvCt1bhGPL68zMcwmncMuape10jrI+q4BbHi/FLn31S9z2x5tRhTc+1W506ipM+T3oRD4X+8+qtc4SqFvL0z/Fr14S+Szjis8bz9Lvvaq8cwS/wwGfdlqfPSWqTiFlX77o13u9Ym1PBs8JAytpRoy44X9Ft9E/gvbA+rYKn8NcaaMVc8UHgBw4b9/iqUQZ6hOAJFbyDcUflmsEX4a6+wTtHGfhAIUqa1U29Zc2BytouThD8x6xuN5CtMPi2CrXLZkZf/HyZoRFCP7n+QVR4PV7uI/AjGghN7OU/r1ilnqILtfpNC+o6vIFljBKYlhb/F2AAgaBsWR5wRiIAAAAASUVORK5CYII=);
  outline-color: #fbe3e4;
}
input[type=text].success, input[type=text].is-valid,
input[type=password].success,
input[type=password].is-valid,
input[type=datetime].success,
input[type=datetime].is-valid,
input[type=datetime-local].success,
input[type=datetime-local].is-valid,
input[type=date].success,
input[type=date].is-valid,
input[type=month].success,
input[type=month].is-valid,
input[type=time].success,
input[type=time].is-valid,
input[type=week].success,
input[type=week].is-valid,
input[type=number].success,
input[type=number].is-valid,
input[type=email].success,
input[type=email].is-valid,
input[type=url].success,
input[type=url].is-valid,
input[type=search].success,
input[type=search].is-valid,
input[type=tel].success,
input[type=tel].is-valid,
input[type=color].success,
input[type=color].is-valid,
select.success,
select.is-valid,
textarea.success,
textarea.is-valid,
.field.success,
.field.is-valid {
  color: #e6efc2;
  border-color: #e6efc2;
  background-color: #fff;
  background-position: 99% center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDRERkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDRFMEYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY0MzQ0NERERjA0QjExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERFRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7olkTQAAAfhJREFUeNqklU9oE0EUhzdroWjw0tBeWlDxkEaIp55TsCU9VKIgCrHBelA8CQ1Kr1WPbZrQ3gqtQqvGqxpQc2jBk6BIIaAGD4qNCKURpDSKiPi98gLDsJt//uBjsztvfnk7895sIPAw6/joGMThFJyAXn2+A+9gA57/TaY/eU0OeBgfhGm4DiGnsb7DAszxBz/NAdcKjMJLuNWCqagHbsscN5+L+hmH4QkMOe1L5jzFfNA2PgT34ajTuY7AGuZB0/hmh5m+gS0r8xv1zRvg+gGCHZiOwnF4DP3iB3sQkYxPd2C6CWfhB9Xwlus5+K1j4jXuaq3a+gM1H9OPcAa+7q9lPidZJqHbiIm7Wg22rsEI7FrPSzAMX/T+ADyAKSsu7Fr1KplehLvwCs5DvfBf65p+MypqRbO1FXK9utH4/QKuaqYTsG3E3INJv00Q46px3+XxanJ/Ute2/vqP4FKDza2KcdljIKdnhS0xXYULTaqmLMZFn8FFSFtvt6x70ExFCS5oUXspq2ssa7oEl1swFa+CGFdgtkHgPDyDKy02zyxNU6lXRUZb1EuHYayNNs+Yh5B0WQo+/8fpJnNTZFuzz2OpjoQ2QruSOQlMy35fEGmEGMxY9e1brxobw7TkWA1h6xfckUPb+JhGoE/Hpfvew7qUld/H9J8AAwDpw3WYrxcZ3QAAAABJRU5ErkJggg==);
  outline-color: #e6efc2;
}
input[type=text][disabled], input[type=text].is-disabled,
input[type=password][disabled],
input[type=password].is-disabled,
input[type=datetime][disabled],
input[type=datetime].is-disabled,
input[type=datetime-local][disabled],
input[type=datetime-local].is-disabled,
input[type=date][disabled],
input[type=date].is-disabled,
input[type=month][disabled],
input[type=month].is-disabled,
input[type=time][disabled],
input[type=time].is-disabled,
input[type=week][disabled],
input[type=week].is-disabled,
input[type=number][disabled],
input[type=number].is-disabled,
input[type=email][disabled],
input[type=email].is-disabled,
input[type=url][disabled],
input[type=url].is-disabled,
input[type=search][disabled],
input[type=search].is-disabled,
input[type=tel][disabled],
input[type=tel].is-disabled,
input[type=color][disabled],
input[type=color].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled,
.field[disabled],
.field.is-disabled {
  cursor: not-allowed;
  border-color: #cfcfcf;
  opacity: 0.6;
}
input[type=text][disabled]:focus, input[type=text][disabled]:active, input[type=text].is-disabled:focus, input[type=text].is-disabled:active,
input[type=password][disabled]:focus,
input[type=password][disabled]:active,
input[type=password].is-disabled:focus,
input[type=password].is-disabled:active,
input[type=datetime][disabled]:focus,
input[type=datetime][disabled]:active,
input[type=datetime].is-disabled:focus,
input[type=datetime].is-disabled:active,
input[type=datetime-local][disabled]:focus,
input[type=datetime-local][disabled]:active,
input[type=datetime-local].is-disabled:focus,
input[type=datetime-local].is-disabled:active,
input[type=date][disabled]:focus,
input[type=date][disabled]:active,
input[type=date].is-disabled:focus,
input[type=date].is-disabled:active,
input[type=month][disabled]:focus,
input[type=month][disabled]:active,
input[type=month].is-disabled:focus,
input[type=month].is-disabled:active,
input[type=time][disabled]:focus,
input[type=time][disabled]:active,
input[type=time].is-disabled:focus,
input[type=time].is-disabled:active,
input[type=week][disabled]:focus,
input[type=week][disabled]:active,
input[type=week].is-disabled:focus,
input[type=week].is-disabled:active,
input[type=number][disabled]:focus,
input[type=number][disabled]:active,
input[type=number].is-disabled:focus,
input[type=number].is-disabled:active,
input[type=email][disabled]:focus,
input[type=email][disabled]:active,
input[type=email].is-disabled:focus,
input[type=email].is-disabled:active,
input[type=url][disabled]:focus,
input[type=url][disabled]:active,
input[type=url].is-disabled:focus,
input[type=url].is-disabled:active,
input[type=search][disabled]:focus,
input[type=search][disabled]:active,
input[type=search].is-disabled:focus,
input[type=search].is-disabled:active,
input[type=tel][disabled]:focus,
input[type=tel][disabled]:active,
input[type=tel].is-disabled:focus,
input[type=tel].is-disabled:active,
input[type=color][disabled]:focus,
input[type=color][disabled]:active,
input[type=color].is-disabled:focus,
input[type=color].is-disabled:active,
select[disabled]:focus,
select[disabled]:active,
select.is-disabled:focus,
select.is-disabled:active,
textarea[disabled]:focus,
textarea[disabled]:active,
textarea.is-disabled:focus,
textarea.is-disabled:active,
.field[disabled]:focus,
.field[disabled]:active,
.field.is-disabled:focus,
.field.is-disabled:active {
  background-color: #d5edf8;
}

input[type=password] {
  letter-spacing: 0.3em;
}

textarea {
  max-width: 100%;
  min-height: 120px;
  line-height: 1.5em;
}

select {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
  appearance: none;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: 97.5% center;
}

.button {
  background: none;
  border: 1px solid;
  padding: 0.2rem 0.6rem;
}
.button a {
  text-decoration: none;
}
.button:hover {
  background: #000;
  color: var(--main-color);
}

/*********************
BASE (MOBILE) SIZE
This are the mobile styles. It's what people see on their phones. If
you set a great foundation, you won't need to add too many styles in
the other stylesheets. Remember, keep it light: Speed is Important.
*********************/
/******************************************************************
Site Name: Palette
Author: Fuchs Borst
******************************************************************/
:root {
  --main-color: #74a853;
  --alt-link-color: #444444;
  --wrap-padding: 1rem;
  --image-gap: 0.5rem;
  --font-size-medium: 20px;
  --font-size-large: 36px;
}

body {
  font-family: "Studio Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.pace {
  pointer-events: none;
  user-select: none;
  z-index: 2000;
  position: fixed;
  margin: auto;
  top: 0;
  height: 4px;
  width: 100%;
  background: #fff;
  overflow: hidden;
}

.pace .pace-progress {
  box-sizing: border-box;
  transform: translate3d(0, 0, 0);
  position: fixed;
  z-index: 2000;
  display: block;
  position: absolute;
  top: 0;
  right: 100%;
  height: 100%;
  width: 100%;
  background: var(--main-color);
}

.pace.pace-inactive {
  display: none;
}

.tab-nums {
  font-variant-numeric: tabular-nums;
}

::selection {
  color: #fff;
  background: var(--main-color);
}

.font-large,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  line-height: 1.1;
}

h1 {
  font-size: var(--font-size-large);
}

h2 {
  font-size: var(--font-size-medium);
  margin-bottom: 1em;
}

h3,
h4,
h5,
h6 {
  font-size: 100%;
  margin-bottom: 1em;
}

.font-medium {
  font-size: var(--font-size-medium);
  line-height: 1.1;
}
.font-medium.block {
  line-height: 1.33;
  max-width: 720px;
}

p {
  margin-bottom: 0.5rem;
}

p + h1,
p + h2,
p + h3 {
  margin-top: 1.5rem;
}

a {
  color: #000;
}

.hidden {
  display: none;
}

video:focus {
  outline: none;
}

.no-touch a {
  transition: color 0.15s;
}
.no-touch a:hover {
  color: var(--main-color);
}
.no-touch .news-list a:hover,
.no-touch #nav-main a:hover {
  color: var(--alt-link-color);
}

.no-select {
  user-select: none;
}

.no-deco {
  text-decoration: none;
}
.no-deco * {
  text-decoration: none;
}

.desktop-only {
  display: none;
}

.font-small {
  font-size: 100%;
  line-height: 1.4;
}

.font-medium {
  font-size: var(--font-size-medium);
}

.font-large {
  font-size: var(--font-size-large);
  margin-left: -0.1rem;
}

.pre-headline {
  margin-bottom: 0.5rem;
}

.wrap {
  margin: 0 auto;
  padding: 0 var(--wrap-padding);
}

.m-margin-top-0-5 {
  margin-top: 0.5rem;
}

.m-margin-top-1 {
  margin-top: 1rem;
}

.m-margin-bottom-1 {
  margin-bottom: 1rem;
}

.m-margin-bottom-2 {
  margin-bottom: 2rem;
}

.m-margin-bottom-3 {
  margin-bottom: 3rem;
}

.m-margin-bottom-4 {
  margin-bottom: 4rem;
}

.m-margin-bottom-5 {
  margin-bottom: 5rem;
}

.m-margin-bottom-6 {
  margin-bottom: 6rem;
}

.m-padding-right-1 {
  padding-right: 1rem;
}

.line-height-1-4 {
  line-height: 1.4;
}

.top-bar {
  transition: transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
  transform: translateY(calc(-100% + 54px));
}

#nav-main,
.nav-main-ghost {
  max-height: calc(100vh - 75px);
}

#nav-main {
  background: var(--main-color);
  width: 100%;
  overflow: hidden;
  position: relative;
}
#nav-main #nav-main-inner {
  padding: 1.5rem var(--wrap-padding);
}

.menu-open #nav-main {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.menu-open .top-bar {
  transform: translateY(0);
}

.menu {
  padding-bottom: 0.5rem;
}
.menu li {
  line-height: 1.1;
}

.menu-toggle {
  cursor: pointer;
}

.burger {
  display: block;
  width: 40px;
  height: 40px;
  cursor: pointer;
  padding: 0 8px;
  margin-left: -8px;
}
.burger .inner-burger {
  display: block;
  height: 2px;
  width: 100%;
  background: #000;
  position: relative;
  top: 11px;
}
.burger .inner-burger:before, .burger .inner-burger:after {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background: #000;
  position: absolute;
}
.burger .inner-burger:before {
  top: 8px;
}
.burger .inner-burger:after {
  top: 16px;
}
.burger.close .inner-burger {
  top: 15px;
  left: 4px;
  width: 16px;
  height: 16px;
  background: none;
  border: solid #000;
  border-width: 0 2px 2px 0;
  transform: rotate(-135deg);
}
.burger.close .inner-burger:after, .burger.close .inner-burger:before {
  display: none;
}

.no-touch .burger:hover .inner-burger {
  background: var(--main-color);
}
.no-touch .burger:hover .inner-burger:before, .no-touch .burger:hover .inner-burger:after {
  background: var(--main-color);
}
.no-touch .burger:hover.close .inner-burger {
  background: none;
  border: solid var(--main-color);
  border-width: 0 2px 2px 0;
}
.no-touch .burger:hover.close .inner-burger:before, .no-touch .burger:hover.close .inner-burger:after {
  background: none;
}

.bttn-close {
  display: block;
  width: 44px;
  height: 44px;
  position: relative;
  cursor: pointer;
}
.bttn-close .bttn-close-inner:before, .bttn-close .bttn-close-inner:after {
  content: "";
  display: block;
  width: 45%;
  height: 2px;
  background: #000;
  position: absolute;
  top: 47.5%;
  left: 27.5%;
}
.bttn-close .bttn-close-inner:before {
  transform: rotate(45deg);
}
.bttn-close .bttn-close-inner:after {
  transform: rotate(-45deg);
}

.no-touch .bttn-close:hover .bttn-close-inner:before, .no-touch .bttn-close:hover .bttn-close-inner:after {
  background: var(--alt-link-color);
}

.bttn-context {
  display: none;
}

.single-project .bttn-context,
.archive .bttn-context,
.page-template-page-office .bttn-context {
  display: block;
}
.single-project .text-block h2,
.archive .text-block h2,
.page-template-page-office .text-block h2 {
  margin-top: 2rem;
}
.single-project .text-block p,
.archive .text-block p,
.page-template-page-office .text-block p {
  margin-bottom: 1.5rem;
}

.menu-open .bttn-context {
  display: none;
}

.bttn-context {
  width: 40px;
  height: 40px;
  cursor: pointer;
}
.bttn-context .inner-context {
  display: block;
  height: 4px;
  width: 4px;
  background: #000;
  position: relative;
  top: 1px;
  left: 7px;
  border-radius: 50%;
}
.bttn-context .inner-context:before, .bttn-context .inner-context:after {
  content: "";
  display: block;
  height: 4px;
  width: 4px;
  background: #000;
  position: absolute;
  border-radius: 50%;
}
.bttn-context .inner-context:before {
  top: 7px;
}
.bttn-context .inner-context:after {
  top: 14px;
}

.flex {
  display: flex;
}

.flex-start {
  justify-content: flex-start;
}

.flex-center {
  justify-content: center;
}

.flex-end {
  justify-content: flex-end;
}

.flex-space-between {
  justify-content: space-between;
}

.logo svg {
  height: 20px;
  width: 100px;
}

.top-bar {
  position: fixed;
  z-index: 1001;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  justify-content: space-between;
}
.top-bar .top-bar-items {
  height: 50px;
  padding-top: 5px;
  padding-bottom: 5px;
  background: #fff;
}
.top-bar .burger {
  flex-shrink: 0;
}
.top-bar .spacer {
  width: 100%;
}
.top-bar .logo {
  margin-left: 20px;
  padding: 9px;
}
.top-bar .bttn-context {
  flex-shrink: 0;
  padding: 10px;
  margin-right: -18px;
}

.context-menu {
  overflow: hidden;
  position: fixed;
  top: 50px;
  z-index: 1000;
  width: 100%;
  background: #fff;
  margin-left: -1rem;
  padding: 1rem;
  transform: translateY(0);
  transition: transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.context-menu.closed {
  transform: translateY(-100%);
}
.context-menu a {
  display: flex;
  padding: 0.3rem 0;
}
.context-menu a .context-menu-number {
  order: 2;
}
.context-menu a .context-menu-name {
  order: 1;
  width: 100%;
}

#content {
  padding-top: 65px;
  transition: transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}

.footer {
  padding-top: 1rem;
  padding-bottom: 1rem;
  background: var(--main-color);
  flex-direction: column;
}
.footer > * {
  margin-bottom: 1rem;
}

.single-project {
  margin-bottom: 0;
}
.single-project .project-description {
  margin-bottom: 1rem;
}

figure.lazyfigure .lazy-wrapper {
  display: block;
  width: 100%;
  height: 0;
  overflow: hidden;
  position: relative;
}
figure.lazyfigure .lazy-wrapper .preload {
  filter: blur(20px);
}
figure.lazyfigure .lazy-wrapper img {
  width: 100%;
  height: auto;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
figure.lazyfigure .lazy-wrapper img.height-100, figure.lazyfigure .lazy-wrapper img.width-100 {
  height: 100% !important;
  object-fit: cover;
}
figure.lazyfigure .lazy-wrapper .actual-image {
  opacity: 0;
}
figure.lazyfigure .lazy-wrapper.lazy-complete .actual-image {
  opacity: 1;
}
figure.lazyfigure .lazy-wrapper.lazy-complete img {
  transition: opacity 0.1s linear;
  transition-delay: 0.5s;
}
figure.lazyfigure.colorize .lazy-wrapper.lazy-complete img {
  opacity: 0.9;
}

figure video {
  width: 100%;
}

.image-group-wrapper .image-group {
  flex-wrap: wrap;
}
.image-group-wrapper .image-group figure {
  margin-bottom: 0.5rem;
  margin-right: 0.5rem;
}

figure.width-15, figure.width-25 {
  width: calc(25% - var(--image-gap));
}
figure.width-33 {
  width: calc(33.333% - var(--image-gap));
}
figure.width-50 {
  width: calc(50% - var(--image-gap));
}
figure.width-66 {
  width: calc(66.666% - var(--image-gap));
}
figure.width-75 {
  width: calc(75% - var(--image-gap));
}
figure.width-100 {
  width: calc(100% - var(--image-gap));
}
figure.colorize .lazy-wrapper {
  display: block;
  background: var(--main-color);
}

.featured-project-teaser figure.width-15, .featured-project-teaser figure.width-25 {
  width: 25%;
}
.featured-project-teaser figure.width-33 {
  width: 33.333%;
}
.featured-project-teaser figure.width-50 {
  width: 50%;
}
.featured-project-teaser figure.width-66 {
  width: 66.666%;
}
.featured-project-teaser figure.width-75 {
  width: 75%;
}
.featured-project-teaser figure.width-100 {
  width: 100%;
}

.lined-list.max-width {
  max-width: 700px;
}
.lined-list .lined-item {
  border-top: 1px solid;
  padding-top: 0.3rem;
  padding-bottom: 1.3rem;
}
.lined-list .lined-item .lined-item-title {
  width: 30%;
  flex-shrink: 0;
  padding-right: 1em;
}
.lined-list .lined-item .lined-item-title.date {
  padding-top: 0.2rem;
}
.lined-list .lined-item .lined-item-content {
  padding-right: 0.5rem;
}
.lined-list .lined-item .lined-item-content h3 {
  padding-top: 0.25rem;
  margin-bottom: 0.5rem;
}

.lined-item[data-href] {
  cursor: pointer;
}

.page-template-page-home #main {
  display: flex;
  flex-direction: column;
}
.page-template-page-home .lined-list {
  max-width: 640px;
}
.page-template-page-home .lined-item {
  border-top: none;
  padding-right: 2rem;
  padding-left: 1rem;
}

.archive-project-thumbs {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
}

.minus-wrap-right {
  margin-right: calc(var(--image-gap) * -1);
}

.archive-project {
  width: 100%;
  margin-bottom: 2.3rem;
  padding-right: 0.5rem;
}
.archive-project .archive-project-header {
  margin-top: 0.5rem;
}
.archive-project .archive-project-header .font-medium {
  margin-bottom: 0.25rem;
}

.contact-list {
  margin-top: 3rem;
}

.footer a:hover {
  color: var(--alt-link-color);
}

.page-template-page-contact,
.page-template-page-news,
.page-template-page-office,
.single-news {
  background: var(--main-color);
}
.page-template-page-contact .footer,
.page-template-page-news .footer,
.page-template-page-office .footer,
.single-news .footer {
  width: 100%;
  background: #fff;
}
.page-template-page-contact .footer a:hover,
.page-template-page-news .footer a:hover,
.page-template-page-office .footer a:hover,
.single-news .footer a:hover {
  color: var(--main-color);
}

.no-touch .page-template-page-contact a:hover,
.no-touch .page-template-page-news a:hover,
.no-touch .page-template-page-office a:hover,
.no-touch .single-news a:hover {
  color: var(--alt-link-color);
}
.no-touch .page-template-page-contact .logo a:hover,
.no-touch .page-template-page-news .logo a:hover,
.no-touch .page-template-page-office .logo a:hover,
.no-touch .single-news .logo a:hover {
  color: var(--main-color);
}

.page-template-page-office .project-section section {
  flex-direction: column;
}
.page-template-page-office .project-section section p {
  max-width: 400px;
}

.image-portrait-image-header {
  display: flex;
  flex-direction: column;
}

.image-portrait-image {
  width: 50%;
}

.image-portrait-header {
  display: block;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.image-portrait-header .image-portrait-header-title {
  margin-bottom: 0.5rem;
}
.image-portrait-header .image-portrait-header-subheadline {
  margin-bottom: 1rem;
}

.image-portrait-text {
  margin: 0.5rem 0 3rem;
  max-width: 400px;
}

@media only screen and (min-width: 481px) {
  .image-portrait-image-header {
    flex-direction: row;
  }

  .image-portrait-header {
    margin-left: 0.5rem;
  }
  .image-portrait-header .image-portrait-header-title {
    word-spacing: 100vw;
  }
  .image-portrait-header .image-portrait-header-subheadline {
    margin-bottom: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .image-portrait-image-header {
    flex-direction: column;
  }

  .image-portrait-header {
    margin-left: 0;
  }
  .image-portrait-header .image-portrait-header-title {
    word-spacing: normal;
  }
  .image-portrait-header .image-portrait-header-subheadline {
    margin-bottom: 2rem;
  }

  .image-portrait-text {
    max-width: 500px;
  }
}
@media only screen and (min-width: 1030px) {
  .image-portrait {
    width: 33.333%;
    padding-right: 1rem;
  }

  .image-portrait-image {
    width: 100%;
  }

  .image-portrait-header .image-portrait-header-title {
    word-spacing: 100vw;
    font-size: 40px;
    margin-left: -0.05em;
  }

  .image-portrait-text {
    max-width: none;
  }
}
@media only screen and (min-width: 1500px) {
  .image-portrait-header .image-portrait-header-title {
    font-size: var(--font-size-large);
  }
}
.text-columns {
  flex-direction: column;
  margin-bottom: 2rem;
}

@media only screen and (min-width: 481px) {
  .text-columns {
    flex-direction: row;
  }
  .text-columns .text-column {
    padding-right: 4rem;
  }
}
.news-list .lined-item-content {
  display: flex;
  flex-direction: column;
}
.news-list .news-text-image {
  flex-direction: column;
}
.news-list .news-text-image .news-image {
  order: 1;
}
.news-list .news-text-image .news-image figure {
  width: 100%;
}
.news-list .news-text-image .news-text {
  order: 2;
}
.news-list .news-text-image .news-text .news-headline {
  display: none;
}

.featured-wrapper {
  display: flex;
  flex-direction: column;
}

.featured-project-teaser .entry-title {
  margin-bottom: 0;
}
.featured-project-teaser .fpt-part-1,
.featured-project-teaser .fpt-part-2 {
  flex-direction: column;
  width: 50%;
}
.featured-project-teaser .article-header {
  margin-bottom: 2rem;
  hyphens: none;
}
.featured-project-teaser .fpt-part-1 {
  margin-right: 0.25rem;
  align-items: flex-end;
}
.featured-project-teaser .fpt-part-1 figure:first-child {
  margin-bottom: 0.5rem;
}
.featured-project-teaser .fpt-part-2 {
  margin-left: 0.25rem;
}
.featured-project-teaser.even .article-header {
  text-align: right;
}
.featured-project-teaser.even .fpt-part-2 {
  order: 1;
  align-items: flex-end;
  margin-left: 0;
  margin-right: 0.25rem;
}
.featured-project-teaser.even .fpt-part-1 {
  order: 2;
  align-items: flex-start;
  margin-left: 0.25rem;
  margin-right: 0;
}

.featured-news.even {
  align-self: flex-end;
}

.footer-nav {
  display: flex;
  flex-direction: column;
}
.footer-nav > * {
  margin-right: 1rem;
}

.loader {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 30px;
}
.loader:before {
  content: "";
  display: block;
  padding-top: 100%;
}

.circular {
  animation: rotate 2s linear infinite;
  height: 100%;
  transform-origin: center center;
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.path {
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  animation: dash 1.5s ease-in-out infinite;
  stroke-linecap: round;
  stroke: rgba(255, 255, 255, 0.5);
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}
/*********************
LARGER MOBILE DEVICES
This is for devices like the Galaxy Note or something that's
larger than an iPhone but smaller than a tablet. Let's call them
tweeners.
*********************/
@media only screen and (min-width: 481px) {
  .archive-project {
    width: 50%;
  }

  .featured-project-teaser .entry-title {
    font-size: var(--font-size-large);
  }
}
/*********************
TABLET & SMALLER LAPTOPS
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 768px) {
  :root {
    --wrap-padding: 25px;
    --padding-left: 220px;
    --font-size-large-later: 36px;
    --font-size-large: 64px;
  }

  body {
    font-size: 16px;
  }

  .font-large,
h1 {
    font-size: var(--font-size-large);
    margin-left: -0.2rem;
  }

  .featured-project-teaser .entry-title {
    font-size: var(--font-size-large-later);
    margin-left: 0;
  }

  h1.font-small {
    margin-left: 0;
  }

  .d-margin-bottom-3-5 {
    margin-bottom: 3.5rem;
  }

  .d-margin-bottom-4 {
    margin-bottom: 4rem;
  }

  .d-margin-bottom-6 {
    margin-bottom: 6rem;
  }

  .d-margin-bottom-7 {
    margin-bottom: 7.1rem;
  }

  .d-margin-bottom-8 {
    margin-bottom: 8rem;
  }

  .d-margin-bottom-10 {
    margin-bottom: 10rem;
  }

  .mobile-only {
    display: none;
  }

  .desktop-only {
    display: block;
  }

  .top-bar .top-bar-items {
    background: none;
  }

  .contact-page .bttn-close {
    top: 0.9rem;
    right: 0.9rem;
  }

  #nav-main,
.nav-main-ghost {
    max-height: calc(100vh - 100px);
  }

  .top-bar {
    background: none;
  }

  .bttn-context {
    display: none;
  }

  .single-project .bttn-context,
.archive .bttn-context,
.page-template-page-office .bttn-context {
    display: none;
  }

  .context-menu {
    position: fixed;
    top: 0;
    padding-top: 6.35rem;
    padding-right: 1rem;
    width: 200px;
  }
  .context-menu li {
    margin-left: 1rem;
    text-indent: -1rem;
  }
  .context-menu.closed {
    transform: translateY(0);
  }
  .context-menu a {
    padding: 0.2rem 0;
  }
  .context-menu a .context-menu-number {
    order: 1;
    width: 50px;
  }
  .context-menu a .context-menu-name {
    order: 2;
    width: 100%;
  }

  .logo svg {
    height: 24px;
    width: 130px;
  }

  #content {
    padding-top: 20px;
  }

  #main {
    margin-left: var(--padding-left);
    max-width: 2300px;
  }

  .logo.desktop-only {
    position: fixed;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0 0 2.5rem var(--wrap-padding);
    bottom: 0;
    width: var(--padding-left);
    height: 100px;
  }

  .menu {
    padding-bottom: 2rem;
  }

  .footer {
    padding-top: 1.4rem;
    padding-bottom: 1.2rem;
    padding-left: calc(var(--padding-left) + var(--wrap-padding));
  }
  .footer > * {
    padding-right: 2rem;
  }
  .footer > *:last-child {
    padding-right: 0;
  }

  .abbr {
    margin-top: 1em;
    margin-left: 0;
    max-width: 160px;
    word-wrap: break-word;
  }

  #main {
    margin-top: 0;
  }

  .single-project .article-header,
.single-project .text-block p {
    max-width: 600px;
  }
  .single-project #text {
    max-width: 700px;
  }

  .image-group-wrapper .image-group figure {
    margin-right: var(--image-gap);
    margin-bottom: var(--image-gap);
  }

  figure.width-15 {
    width: calc(15% - var(--image-gap));
  }
  figure.width-25 {
    width: calc(25% - var(--image-gap));
  }
  figure.width-33 {
    width: calc(33.333% - var(--image-gap));
  }
  figure.width-50 {
    width: calc(50% - var(--image-gap));
  }
  figure.width-66 {
    width: calc(66.666% - var(--image-gap));
  }
  figure.width-75 {
    width: calc(75% - var(--image-gap));
  }
  figure.width-100 {
    width: calc(100% - var(--image-gap));
  }

  .news-list .news-text-image .news-image figure {
    width: 100%;
  }

  .page:not(.home) .news-list .lined-item.inc-image .news-text,
.page:not(.home) .news-list .lined-item.inc-image .news-image {
    width: 50%;
  }
  .page:not(.home) .news-list .lined-item.inc-image .news-image {
    order: 2;
  }
  .page:not(.home) .news-list .lined-item.inc-image .news-image figure {
    width: 100%;
  }
  .page:not(.home) .news-list .lined-item-content {
    display: flex;
    flex-direction: column;
  }
  .page:not(.home) .news-list .news-headline {
    display: none;
  }
  .page:not(.home) .news-list .news-text-image {
    flex-direction: row;
  }
  .page:not(.home) .news-list .news-text-image .news-text {
    order: 1;
    padding-right: 2rem;
  }
  .page:not(.home) .news-list .news-text-image .news-text .news-headline {
    display: block;
  }
  .page:not(.home) .news-list .lined-item .news-text-image {
    max-width: 1100px;
  }
  .page:not(.home) .news-list .lined-item .news-text {
    max-width: none;
  }

  figure.lazyfigure .lazy-wrapper .preload {
    filter: blur(30px);
  }

  .lined-list {
    padding-top: 5px;
  }
  .lined-list .lined-item .lined-item-title {
    width: var(--padding-left);
  }
  .lined-list .lined-item .lined-item-title.date {
    padding-top: 0.2rem;
  }

  .archive-project {
    padding-right: 1rem;
  }

  .contact-list {
    margin-top: 8rem;
  }

  .context-menu {
    background: none;
  }

  .page-template-page-contact #main,
.page-template-page-news #main,
.page-template-page-office #main,
.single-news #main {
    margin-bottom: 125px;
  }
  .page-template-page-contact .logo,
.page-template-page-news .logo,
.page-template-page-office .logo,
.single-news .logo {
    background: white;
    width: 100%;
  }

  .no-touch .page-template-page-contact .burger:hover .inner-burger,
.no-touch .page-template-page-news .burger:hover .inner-burger,
.no-touch .page-template-page-office .burger:hover .inner-burger,
.no-touch .single-news .burger:hover .inner-burger {
    background: var(--alt-link-color);
  }
  .no-touch .page-template-page-contact .burger:hover .inner-burger:before, .no-touch .page-template-page-contact .burger:hover .inner-burger:after,
.no-touch .page-template-page-news .burger:hover .inner-burger:before,
.no-touch .page-template-page-news .burger:hover .inner-burger:after,
.no-touch .page-template-page-office .burger:hover .inner-burger:before,
.no-touch .page-template-page-office .burger:hover .inner-burger:after,
.no-touch .single-news .burger:hover .inner-burger:before,
.no-touch .single-news .burger:hover .inner-burger:after {
    background: var(--alt-link-color);
  }
  .no-touch .page-template-page-contact .burger:hover.close .inner-burger,
.no-touch .page-template-page-news .burger:hover.close .inner-burger,
.no-touch .page-template-page-office .burger:hover.close .inner-burger,
.no-touch .single-news .burger:hover.close .inner-burger {
    background: none;
    border: solid var(--alt-link-color);
    border-width: 0 2px 2px 0;
  }
  .no-touch .page-template-page-contact .burger:hover.close .inner-burger:before, .no-touch .page-template-page-contact .burger:hover.close .inner-burger:after,
.no-touch .page-template-page-news .burger:hover.close .inner-burger:before,
.no-touch .page-template-page-news .burger:hover.close .inner-burger:after,
.no-touch .page-template-page-office .burger:hover.close .inner-burger:before,
.no-touch .page-template-page-office .burger:hover.close .inner-burger:after,
.no-touch .single-news .burger:hover.close .inner-burger:before,
.no-touch .single-news .burger:hover.close .inner-burger:after {
    background: none;
  }

  .page-template-page-home .logo a:hover {
    color: var(--alt-link-color);
  }

  .page-template-page-news .entry-content,
.single-news .entry-content {
    margin-left: calc(var(--padding-left) * -1);
  }

  .page-template-page-office .project-section section p,
.page-template-page-office .project-section section figure {
    max-width: 700px;
  }
  .page-template-page-office .context-menu li {
    margin-left: 0;
    text-indent: 0;
  }

  .loader {
    width: 60px;
  }
}
/*********************
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 1030px) {
  :root {
    --image-gap: 1rem;
  }

  .featured-project-teaser .entry-title {
    font-size: var(--font-size-large);
    margin-left: -0.2rem;
  }

  .archive-project {
    width: 33.333%;
  }

  .news-list .news-text-image .news-image {
    padding-right: 0.5rem;
  }

  .page-template-page-news .entry-content,
.single-news .entry-content {
    margin-left: 0;
  }

  .featured-project-teaser .article-header {
    margin-bottom: 4rem;
  }
  .featured-project-teaser .fpt-part-1 {
    margin-right: 0.5rem;
  }
  .featured-project-teaser .fpt-part-1 figure:first-child {
    margin-bottom: 1rem;
  }
  .featured-project-teaser .fpt-part-2 {
    margin-left: 0.5rem;
  }
  .featured-project-teaser.even .fpt-part-2 {
    margin-left: 0;
    margin-right: 0.5rem;
  }
  .featured-project-teaser.even .fpt-part-1 {
    margin-left: 0.5rem;
    margin-right: 0;
  }
}
/*********************
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*********************/
@media only screen and (min-width: 1240px) and (min-width: 1440px) {
  .archive-project {
    width: 25%;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 2000px) {
  .archive-project {
    width: 20%;
  }
}
@media only screen and (min-width: 1240px) {
  .page-template-page-office .project-section section p {
    margin-left: 0;
  }
}
@media only screen and (min-width: 1240px) {
  .featured-project-teaser .entry-title {
    font-size: var(--font-size-large);
    margin-left: -0.2rem;
  }
}
@media only screen and (min-width: 1240px) {
  .page:not(.home) .news-list .news-text-image .news-text {
    max-width: 50%;
    padding-right: 5rem;
  }
}
@media only screen and (min-width: 1240px) {
  .footer {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
  .footer > * {
    width: 50%;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1440px) {
  .footer > * {
    width: auto;
  }
}
/*********************
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution. You can also create a media
query for retina AND a certain size if you want. Go Nuts.
*********************/
/*********************
PRINT STYLESHEET
Feel free to customize this. Remember to add things that won't make
sense to print at the bottom. Things like nav, ads, and forms should
be set to display none.
*********************/
@media print {
  /******************************************************************
  Stylesheet: Print Stylesheet
  ******************************************************************/
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important;
  }

  a, a:visited {
    color: #444 !important;
    text-decoration: underline;
  }
  a:after, a:visited:after {
    content: " (" attr(href) ")";
  }
  a abbr[title]:after, a:visited abbr[title]:after {
    content: " (" attr(title) ")";
  }

  .ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
    content: "";
  }

  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr, img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 0.5cm;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
h3 {
    page-break-after: avoid;
  }

  .sidebar,
.page-navigation,
.wp-prev-next,
.respond-form,
nav {
    display: none;
  }
}
