/***
Byte Boilerplate, with parts from Foundation and other sources, noted inline below
Version 2 - 2016-07-11 by MD, SP & the Byte Studios Team
***/

/* rows and columns from http://www.sitepoint.com/understanding-css-grid-systems/ */
.row,
.column {
  box-sizing: border-box;
}
.row:before,
.row:after {
  content: " ";
  display: table;
}
.row:after {
  clear: both;
}
.column {
  position: relative;
  float: left;
  display: block;
}
.grid-w-gutters .column + .column {
  margin-left: 1.6%;
}
/* end rows and columns from http://www.sitepoint.com/understanding-css-grid-systems/ */

/* grids and columns */
.float-left {
  float: left !important;
}
.float-right {
  float: right !important;
}
.float-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.clearfix::before,
.clearfix::after {
  content: " ";
  display: table;
}
.clearfix::after {
  clear: both;
}
.invisible {
  visibility: hidden;
}
.is-visible {
  display: block !important;
}
.is-hidden {
  display: none !important;
}

.grid,
.grid-w-gutters {
  width: 100%;
  max-width: 1440px;
  position: relative;
  margin: 0 auto;
  box-sizing: border-box;
}
.col-1-across {
  width: 8.33%;
}
.col-2-across {
  width: 16.66%;
}
.col-3-across {
  width: 25%;
}
.col-4-across {
  width: 33.33%;
}
.col-5-across {
  width: 41.66%;
}
.col-6-across {
  width: 50%;
}
.col-7-across {
  width: 58.33%;
}
.col-8-across {
  width: 66.66%;
}
.col-9-across {
  width: 75%;
}
.col-10-across {
  width: 83.33%;
}
.col-11-across {
  width: 91.66%;
}
.col-12-across {
  width: 100%;
}
.grid-w-gutters .col-1-across {
  width: 6.86666666667%;
}
.grid-w-gutters .col-2-across {
  width: 15.3333333333%;
}
.grid-w-gutters .col-3-across {
  width: 23.8%;
}
.grid-w-gutters .col-4-across {
  width: 32.2666666667%;
}
.grid-w-gutters .col-5-across {
  width: 40.7333333333%;
}
.grid-w-gutters .col-6-across {
  width: 49.2%;
}
.grid-w-gutters .col-7-across {
  width: 57.6666666667%;
}
.grid-w-gutters .col-8-across {
  width: 66.1333333333%;
}
.grid-w-gutters .col-9-across {
  width: 74.6%;
}
.grid-w-gutters .col-10-across {
  width: 83.0666666667%;
}
.grid-w-gutters .col-11-across {
  width: 91.5333333333%;
}
.grid-w-gutters .col-12-across {
  width: 100%;
}

.no-bullet {
  margin-left: 0;
  list-style: none;
}

.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
/* end grids and columns */

/* form normalizations from Foundation */
[type="text"],
[type="password"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="month"],
[type="week"],
[type="email"],
[type="number"],
[type="search"],
[type="tel"],
[type="time"],
[type="url"],
[type="color"],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 1rem;
  color: #0a0a0a;
  background-color: #fafafa;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  border-radius: 0;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none;
}
[type="text"]:focus,
[type="password"]:focus,
[type="date"]:focus,
[type="datetime"]:focus,
[type="datetime-local"]:focus,
[type="month"]:focus,
[type="week"]:focus,
[type="email"]:focus,
[type="number"]:focus,
[type="search"]:focus,
[type="tel"]:focus,
[type="time"]:focus,
[type="url"]:focus,
[type="color"]:focus,
textarea:focus {
  border: 1px solid #8a8a8a;
  background-color: #fefefe;
  outline: none;
  box-shadow: 0 0 5px #cacaca;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

textarea {
  max-width: 100%;
}
textarea[rows] {
  height: auto;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #cacaca;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #cacaca;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #cacaca;
}

input::placeholder,
textarea::placeholder {
  color: #cacaca;
}

input:disabled,
input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed;
}

[type="submit"],
[type="button"] {
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #272727;
  color: #fff;
  padding: 1em 2.5em;
  text-transform: uppercase;
  border: none;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 14px;
  transition: 0.25s;
  cursor: pointer;
}

[type="submit"]:hover,
[type="button"]:hover {
  opacity: 0.8;
}

input[type="search"] {
  box-sizing: border-box;
}

[type="file"],
[type="checkbox"],
[type="radio"] {
  margin: 0 0 1rem;
}

[type="checkbox"] + label,
[type="radio"] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline;
}
[type="checkbox"] + label[for],
[type="radio"] + label[for] {
  cursor: pointer;
}

label > [type="checkbox"],
label > [type="radio"] {
  margin-right: 0.5rem;
}

[type="file"] {
  width: 100%;
}

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a;
}
label.middle {
  margin: 0 0 1rem;
  padding: 0.5625rem 0;
}

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a;
}

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem;
}
.input-group > :first-child {
  border-radius: 7px 0 0 7px;
}
.input-group > :last-child > * {
  border-radius: 0 7px 7px 0;
}

.input-group-label,
.input-group-field,
.input-group-button {
  margin: 0;
  display: table-cell;
  vertical-align: middle;
}

.input-group-label {
  text-align: center;
  padding: 0 1rem;
  background: #e6e6e6;
  color: #0a0a0a;
  border: 1px solid #cacaca;
  white-space: nowrap;
  width: 1%;
  height: 100%;
}
.input-group-label:first-child {
  border-right: 0;
}
.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  border-radius: 0;
  height: 2.5rem;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  height: 100%;
  width: 1%;
}
.input-group-button a,
.input-group-button input,
.input-group-button button {
  margin: 0;
}

.input-group .input-group-button {
  display: table-cell;
}

fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

legend {
  margin-bottom: 0.5rem;
  max-width: 100%;
}

.fieldset {
  border: 1px solid #cacaca;
  padding: 1.25rem;
  margin: 1.125rem 0;
}
.fieldset legend {
  background: #fefefe;
  padding: 0 0.1875rem;
  margin: 0;
  margin-left: -0.1875rem;
}

select {
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #0a0a0a;
  background-color: #fefefe;
  border-radius: 7px;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%28138, 138, 138%29"></polygon></svg>');
  background-size: 9px 6px;
  background-position: right center;
  background-origin: content-box;
  background-repeat: no-repeat;
}
@media screen and (min-width: 0\0) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}
select:disabled {
  background-color: #e6e6e6;
  cursor: not-allowed;
}
select::-ms-expand {
  display: none;
}
select[multiple] {
  height: auto;
  background-image: none;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 7px;
  line-height: 1;
}
[data-whatinput="mouse"] button {
  outline: 0;
}

/* end form normalizations from Foundation */

/*-------SLIDE UP ON SCROLL---------- */

.content-wrapper .create-slide,
.create-slide {
  -webkit-transform: translateY(75px);
  -moz-transform: translateY(75px);
  transform: translateY(75px);
  opacity: 0.5;
}

.content-slide-up {
  animation: contentSlideUp 1s forwards;
  -webkit-animation: contentSlideUp 1s forwards;
}

@-webkit-keyframes contentSlideUp {
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes contentSlideUp {
  to {
    -moz-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

/* generic custom styles */
body {
  margin: 140px auto 5vw;
  color: #333;
  font-family: "Roboto", sans-serif;
}
div {
  color: #53708c;
}
p {
  color: #333;
  font-size: 16px;
  margin: 1em;
  font-family: "Alegreya Sans", sans-serif;
  font-weight: 100;
  letter-spacing: 0.25em;
  line-height: 1.5em;
}
a {
  text-decoration: none;
  color: #aaa;
  transition: 0.25s;
}
a:hover {
  color: #333;
  transition: color 0.25s;
  -webkit-transition: color 0.25s;
  -moz-transition: color 0.25s;
}

/****** Add Header CSS Here *******/
header.grid {
  position: fixed;
  top: 0;
  overflow: hidden;
  padding: 3vw 5vw;
  margin: 0 auto;
  background-color: #fff;
  box-sizing: border-box;
  z-index: 10;
}
.header-wrapper {
  margin: 0 auto;
  border: 1px solid #888;
}

/****** Add Header Logo CSS Here *******/
.site-title {
  font-family: "Roboto Condensed", sans-serif;
  text-transform: uppercase;
}

/****** Add Header Main Nav Here *******/
.main-nav {
  margin: 1em 0;
  text-align: right;
}

.main-nav a {
  padding: 0.25em;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1em;
  font-family: "Alegreya Sans", sans-serif;
  font-weight: 100;
  transition: 0.25s;
}
.main-nav a.active,
.main-nav a:hover,
.project-nav a.active,
.project-nav a:hover {
  color: #333;
}

/****** Add Body Wrapper Here *******/
.body-wrapper {
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
}
.main-content {
  padding: 0 5vw 0;
  margin-bottom: 3vw;
}

.projects,
.projects-page {
  overflow: hidden;
}
.project-wrapper {
  position: relative;
  display: block;
  float: left;
  margin: 0 auto 1em;
  padding-bottom: 23%;
  height: 0;
  background-color: gray;
  overflow: hidden;
  width: calc(50% - 0.5em);
}
.project-wrapper--video:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.project-wrapper:nth-child(even) {
  margin-left: 1em;
}
.project-wrapper img {
  width: 100%;
}
.project-video-wrapper {
  display: block;
  width: 100%;
  max-width: 100%;
  position: relative;
}
.project-video-thumbnail {
  display: block;
  position: relative;
  width: 100%;
  max-width: 100%;
  /* transform: translateX(-30px); */
}
.project-video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.project-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.project-title {
  position: absolute;
  top: 50%;
  width: 45%;
  margin: 0 auto;
  left: 0;
  right: 0;
  text-align: center;
  transform: translateY(-50%);
  font-size: 2.8645833333333335vw;
  text-transform: uppercase;
}
.project-overlay,
.project-title {
  opacity: 0;
  transition: 0.25s;
}

.project-wrapper:hover .project-overlay,
.project-wrapper:hover .project-title {
  opacity: 1;
}

.project-nav {
  overflow: hidden;
  padding: 0 3vw;
  max-width: 100%;
  box-sizing: border-box;
}
.project-nav a {
  text-transform: uppercase;
  padding: 0.25em 0.5em;
  margin-bottom: 1em;
  text-align: center;
  line-height: 2;
}

.projects img {
  max-width: 100%;
}
.projects-page img {
  max-width: 100%;
}

/*about*/
.profile-img {
  margin-bottom: 5vw;
}

/****** Add Footer CSS Here *******/
/****** Add Campaign CSS Here *******/

/****** Add Buckets CSS Here *******/

/****** Add Email Signup Form CSS Here *******/

form {
  text-align: left;
}

.start-message {
  display: block;
}
.end-message {
  margin-top: 3vw;
}
.end-message,
.reset-form {
  display: none;
}
.reset-form {
  margin: 0 auto;
}

/****** Add Calendar CSS Here *******/

/****** Add Mobile Menu CSS Here *******/

/****** Add Context Menu CSS Here *******/

/****** Add Footer Menu CSS Here *******/

/****** Add Forms CSS Here *******/

/****** Add Specific Site, Page CSS Content, Tools Here *******/

/****** Add WYSIWYG / Body Content CSS Here *******/

h1 {
  color: #222;
  margin: 0;
  padding: 20px 0 20px 0;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 34px;
  line-height: 17px;
  letter-spacing: -0.05em;
}
h2 {
  color: #222;
  margin: 0;
  padding: 20px 0 20px 0;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 24px;
  line-height: 17px;
  letter-spacing: -0.05em;
}
h3 {
  color: #222;
  font-size: 16px;
  margin: 0;
  font-family: "Roboto", sans-serif;
}

.blockquote {
  display: block;
  font-family: "Roboto", sans-serif;
  color: #0c437a;
  font-size: 17px;
  font-style: italic;
  margin-left: 2em;
  padding-left: 1.5em;
  border-left: solid 3px #c5d9ec;
  line-height: 28px;
  quotes: none;
}

.img_right_25,
.img_left_25,
.img_right_50,
.img_left_50 {
  width: 100%;
  margin-bottom: 1em;
}

.img_full_width {
  width: 100%;
  float: none;
  margin-bottom: 1em;
}
.mobile-only {
  display: none;
}
.desktop-only {
  display: block;
}

/*responsive video CSS*/
.embeddedContent {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 48.75%;
  padding-top: 25px;
  margin: 0 auto 1em;
}
.embeddedContent iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/*SEARCH PATTERN STYLES*/

/* Specific Screen Sizes from Foundation */

/* Small only */
@media screen and (max-width: 649px) {
  /* to disable touch panning / scrolling */
  html,
  body {
    overflow-x: hidden;
  }
  body {
    position: relative;
  }
  .grid-w-gutters .column + .column {
    margin-left: 0;
  }
  .grid,
  .grid-w-gutters {
    width: 95%;
  }
  /* standard stuff for small only screen */
  .s-one {
    width: 8.33%;
  }
  .s-two {
    width: 16.66%;
  }
  .s-three {
    width: 25%;
  }
  .s-four {
    width: 33.33%;
  }
  .s-five {
    width: 41.66%;
  }
  .s-six {
    width: 50%;
  }
  .s-seven {
    width: 58.33%;
  }
  .s-eight {
    width: 66.66%;
  }
  .s-nine {
    width: 75%;
  }
  .s-ten {
    width: 83.33%;
  }
  .s-eleven {
    width: 91.66%;
  }
  .s-twelve {
    width: 100% !important;
  }

  .s-text-left {
    text-align: left;
  }
  .s-text-right {
    text-align: right;
  }
  .s-text-center {
    text-align: center;
  }
  .s-text-justify {
    text-align: justify;
  }

  /****** Add Site CSS Content, Tools for Small Here *******/
  .project-wrapper:nth-child(even) {
    margin-left: 0;
  }
  .project-wrapper {
    padding-bottom: 60%;
  }
  .project-nav a {
    display: block;
  }
  /*.project-overlay {
		opacity: .5;
	}
	 .project-title {
	 	opacity: 1;
	}*/

  /****** Add Regular WYSIWYG Content for Small Here *******/
  .img_left_25,
  .img_left_50,
  .img_right_25,
  .img_right_50,
  .img_full_width {
    width: 100%;
    float: none;
    margin: 0.5em auto 1em;
  }
  .mobile-only {
    display: block;
  }
  .desktop-only {
    display: none;
  }
}

/* Medium and up */
@media screen and (min-width: 650px) {
}

/* Medium only */
@media screen and (min-width: 650px) and (max-width: 1023px) {
  /* to disable touch panning / scrolling */
  html,
  body {
    overflow-x: hidden;
  }
  body {
    position: relative;
  }
  /* give us some space */
  .grid,
  .grid-w-gutters {
    width: 95%;
  }

  /* standard stuff for medium only screen */
  .m-one {
    width: 8.33%;
  }
  .m-two {
    width: 16.66%;
  }
  .m-three {
    width: 25%;
  }
  .m-four {
    width: 33.33%;
  }
  .m-five {
    width: 41.66%;
  }
  .m-six {
    width: 50%;
  }
  .m-seven {
    width: 58.33%;
  }
  .m-eight {
    width: 66.66%;
  }
  .m-nine {
    width: 75%;
  }
  .m-ten {
    width: 83.33%;
  }
  .m-eleven {
    width: 91.66%;
  }
  .m-twelve {
    width: 100%;
  }

  .m-text-left {
    text-align: left;
  }
  .m-text-right {
    text-align: right;
  }
  .m-text-center {
    text-align: center;
  }
  .m-text-justify {
    text-align: justify;
  }

  /* Show mobile navs and details here */
  .hamb-wrapper {
    display: block;
  }
  .header-logo {
    padding-top: 5px;
    margin-left: 5px;
  }
  .header-toolmenu {
    display: none;
  }
  .main-navigation {
    display: none;
  }

  /****** Add Site CSS Content, Tools for Medium Here *******/

  /****** Regular WYSIWYG Content for Medium *******/

  .h2-header {
    color: #091521;
    margin: 1em auto 0.25em;
    font-family: "Code-Pro", sans-serif;
    font-weight: 100;
    font-size: 20px;
    line-height: 17px;
  }

  .h3-subheader {
    font-family: "Open Sans", sans-serif;
    color: #214364;
  }

  .h3-subheader-italic {
    margin: 0.25em auto 0.75em;
    font-family: "Open Sans";
    font-style: italic;
    color: #214364;
    font-weight: 100;
  }

  .blockquote {
    display: block;
    font-family: "Open Sans", sans-serif;
    color: #0c437a;
    font-size: 17px;
    font-style: italic;
    margin-left: 2em;
    padding-left: 1.5em;
    border-left: solid 3px #c5d9ec;
    line-height: 28px;
    quotes: none;
  }

  /****** Regular image WYSIWYG Content for Medium *******/
  .img_right_25,
  .img_right_50 {
    float: right;
    width: 50%;
    margin: 1em 0 2em 2em;
  }
  .img_left_25,
  .img_left_50 {
    float: left;
    width: 50%;
    margin: 1em 2em 2em 0;
  }

  .img_full_width {
    width: 100%;
    float: none;
    margin: 0.5em auto 1em;
  }

  .mobile-only {
    display: none;
  }
  .desktop-only {
    display: block;
  }
}

/* Large and up */
@media screen and (min-width: 1024px) {
  body {
    margin-top: 10vw;
  }
  /* Hide mobile navs and details here */
  .hamb-wrapper {
    display: none;
  }
  .main-navigation-mobile {
    display: none;
  }
  .content-social-buttons {
    display: block;
  }

  /****** Add Desktop Only Menu CSS Here *******/

  /****** Regular WYSIWYG Content for Large *******/

  .h2-header {
    color: #091521;
    margin: 1em auto 0.25em;
    font-family: "Code-Pro", sans-serif;
    font-weight: 100;
    font-size: 20px;
    line-height: 17px;
  }

  .h3-subheader {
    font-family: "Open Sans", sans-serif;
    color: #214364;
  }

  .h3-subheader-italic {
    margin: 0.25em auto 0.75em;
    font-family: "Open Sans";
    font-style: italic;
    color: #214364;
    font-weight: 100;
  }

  .blockquote {
    display: block;
    font-family: "Open Sans", sans-serif;
    color: #0c437a;
    font-size: 17px;
    font-style: italic;
    margin-left: 2em;
    padding-left: 1.5em;
    border-left: solid 3px #c5d9ec;
    line-height: 28px;
    quotes: none;
  }

  /****** Regular Image WYSIWYG Content for Large *******/
  .img_right_25,
  .img_right_50 {
    float: right;
    width: 50%;
    margin: 1em 0 2em 2em;
  }

  .img_left_25,
  .img_left_50 {
    float: left;
    width: 50%;
    margin: 1em 2em 2em 0;
  }

  .img_right_25,
  .img_left_25 {
    width: 25%;
  }

  .img_full_width {
    width: 100%;
    float: none;
    margin: 0.5em auto 1em;
  }
}

/* Large only */
@media screen and (min-width: 1024px) and (max-width: 1200px) {
}

/* End Specific Screen Sizes from Foundation */
