@charset "UTF-8";
/* debug breakpoints */
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}

.clearfix:after,
.clear {
  clear: both;
}

.float-right {
  float: right;
}

.strike-text {
  text-decoration: line-through;
}

.transparent-50 {
  opacity: 0.5;
}

.display-sm-below {
  display: block;
}

.display-med-up {
  display: none;
}

.legible {
  max-width: 1000px;
}

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

.padding-right {
  padding-right: 2em;
}

.hidden {
  display: none;
}

@media (min-width: 1000px) and (max-width: 1199px), (min-width: 1200px) and (max-width: 1499px), (min-width: 1500px) {
  .display-sm-below {
    display: none;
  }
  .display-med-up {
    display: block;
  }
}
.body--has-js .display-no-js {
  display: none;
}

body {
  font-family: "Ubuntu", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  background: #f5f5f5;
  color: #3a2924;
  font-size: 14px;
  margin: 0;
  padding: 0;
}

ol,
ul {
  margin: 0;
  padding: 0;
}

a {
  color: #51a090;
  text-decoration: underline;
  cursor: pointer;
}
a:hover {
  color: #243a36;
}

hr {
  clear: both;
  border: 0;
  background: repeating-linear-gradient(45deg, #a5ccc4 2px, #a5ccc4 3px, #f5f5f5 4px, #f5f5f5 8px);
  height: 0.25em;
  margin: 1em 0 2em;
}
hr.subtle {
  background: repeating-linear-gradient(45deg, #dcdcdc 2px, #dcdcdc 3px, #f5f5f5 4px, #f5f5f5 8px);
}

h1,
h2,
h3 {
  color: #3e655e;
}

h1 {
  font-weight: 500;
  font-size: 1.8em;
  margin: 0 auto 0.5em;
  line-height: 1.5;
}

h2 {
  font-size: 1.4em;
  font-weight: 300;
  margin: 0.25em auto;
}

h3 {
  font-weight: 500;
  margin-bottom: 0.5em;
  font-size: 1.3em;
}
h3 span {
  font-weight: 300;
}

p {
  margin-top: 0.2em;
  line-height: 1.8;
}

@media (min-width: 525px) and (max-width: 699px), (max-width: 524px) {
  body {
    font-size: 14px;
  }
}
.about {
  padding: 1em;
  margin: 0 auto 2em;
  min-height: 200px;
}

.team section p:first-of-type::first-letter {
  font-size: 1.6em;
  font-weight: 100;
  color: #33544d;
  padding-left: 1em;
}

.about__img {
  float: left;
  border-radius: 50%;
  display: block;
  max-width: 100%;
  height: 200px;
  margin-right: 2em;
}
.about__img--svg-wrapper {
  width: 200px;
  position: relative;
}
.about__img svg {
  position: absolute;
}
.about__img .stop-btn {
  position: absolute;
  margin: 37% 0 0 28%;
  display: none;
}
.about__img:hover .stop-btn {
  display: inline-block;
}

.about--when svg,
.about--where svg {
  width: 95%;
  height: 95%;
}

.about--why svg {
  width: 105%;
  height: 105%;
}
.about--why circle {
  fill: #eee;
  stroke: #71a097;
  stroke-width: 20px;
}

.about--where path {
  animation: 5s keyframeAnimationWhere cubic-bezier(0.9, 0.1, 1, 1) forwards;
}

@keyframes keyframeAnimationWhere {
  0% {
    stroke: #fff;
    stroke-opacity: 0.5;
    stroke-width: 4px;
    stroke-dasharray: 140 540;
    stroke-dashoffset: -50;
  }
  100% {
    stroke: #f5f5f5;
    stroke-opacity: 0.9;
    stroke-width: 6px;
    stroke-dasharray: 2500;
    stroke-dashoffset: 10;
  }
}
.about-chart {
  position: absolute;
}

@media (max-width: 1100px) {
  .about-chart {
    display: none;
  }
}
@media (min-width: 700px) and (max-width: 999px) {
  .about__img {
    margin-bottom: 4em;
  }
}
@media (max-width: 524px), (min-width: 525px) and (max-width: 699px) {
  .about__img {
    float: none;
    margin: auto;
  }
}
@media (min-width: 1000px) and (max-width: 1199px), (min-width: 1200px) and (max-width: 1499px), (min-width: 1500px) {
  .team {
    max-width: 800px;
    margin: auto;
  }
  .about {
    padding: 0;
    max-width: 800px;
  }
  .about:nth-child(2n) .about__img {
    float: right;
  }
  .about-chart {
    height: 400px;
    width: 600px;
    margin: -1.5em 0 0 23.1em;
  }
  .about__img {
    margin: auto;
    shape-outside: circle();
    padding: 2em;
    height: 300px;
  }
  .about__img--svg-wrapper {
    width: 300px;
  }
  .about__img--svg-wrapper svg {
    margin: -20px 0 0 -30px;
  }
  .about__copy {
    padding: 6em 0 2em;
  }
}
.home-content {
  padding-top: 1em;
  width: 60vmax;
  margin: auto;
}
.home-content h2 {
  margin-bottom: 1.5em;
  line-height: 1.5;
}
.home-content h3 {
  margin-left: 0.5rem;
}
.home-content .btn {
  width: 130px;
  margin: auto;
  display: block;
  text-align: center;
  margin-bottom: 1.5em;
}

.no-cssvmaxunit .home-content {
  width: 80%;
}

@media (min-width: 525px) and (max-width: 699px), (max-width: 524px) {
  .home-content {
    width: 100% !important;
  }
  .home-content h3 {
    text-align: center;
  }
}
.resume__header {
  text-align: center;
}
.resume__header .row:first-child {
  background: #4a4443;
  color: #fff;
  font-weight: bold;
  padding-top: 2em;
  padding-bottom: 2em;
}
.resume__header .row:first-child .col-sm-3 label {
  font-size: 2.5em;
}
.resume__header .row:first-child a {
  text-decoration: none;
  color: #fff;
}
.resume__header .tagline {
  letter-spacing: 0.088em;
}
.resume__header p {
  margin: 0;
}

.resume {
  margin-top: 1em;
}

.resume-item h3 {
  font-size: 1.2em;
  color: #a59c99;
}
.resume-item h2 {
  margin-top: 0.8em;
  font-weight: bold;
  color: #4a4443;
}
.resume-item h2 .subtext {
  font-weight: normal;
}
.resume-item--no-title p {
  margin-top: 1em;
}

.resume-section__label {
  text-align: center;
  font-size: 1.8em;
  background: #a59c99;
  color: #fff;
  padding: 0.5em 0.6em 0;
  display: block;
  margin: 0 0 0.5em 0;
}

@media (min-width: 768px) {
  .resume-item h3 {
    text-align: right;
    padding-right: 1em;
  }
  .resume-section__label {
    text-align: right;
  }
  .resume-section__label:first-of-type {
    margin-top: 0.5em;
  }
  .resume__header .row {
    text-align: right;
  }
  .resume__header .row:first-child {
    padding-bottom: 0;
  }
  .resume__header a {
    position: absolute;
    bottom: -0.5em;
    right: 1em;
  }
  .resume__header .col-sm-9 p {
    padding-right: 1em;
  }
  .resume__header .col-sm-9 label {
    line-height: 3em;
    padding-right: 1em;
  }
}
/* tds mods:
- commented out 15px margin/padding, width below.
*/
.col-pad {
  padding: 0.25em;
}

.col--legible {
  max-width: 60em;
}

.col--border-left {
  border-left: 2px solid #a5ccc4;
  padding-left: 1em;
}

/* end tds */
/*
 * Bootstrap v3.3.5 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
.grid-container * {
  box-sizing: border-box;
}

.grid-container *:before,
.grid-container *:after {
  box-sizing: border-box;
}

.grid-container {
  width: 100%;
}

.col-xs-1,
.col-sm-1,
.col-md-1,
.col-lg-1,
.col-xs-2,
.col-sm-2,
.col-md-2,
.col-lg-2,
.col-xs-3,
.col-sm-3,
.col-md-3,
.col-lg-3,
.col-xs-4,
.col-sm-4,
.col-md-4,
.col-lg-4,
.col-xs-5,
.col-sm-5,
.col-md-5,
.col-lg-5,
.col-xs-6,
.col-sm-6,
.col-md-6,
.col-lg-6,
.col-xs-7,
.col-sm-7,
.col-md-7,
.col-lg-7,
.col-xs-8,
.col-sm-8,
.col-md-8,
.col-lg-8,
.col-xs-9,
.col-sm-9,
.col-md-9,
.col-lg-9,
.col-xs-10,
.col-sm-10,
.col-md-10,
.col-lg-10,
.col-xs-11,
.col-sm-11,
.col-md-11,
.col-lg-11,
.col-xs-12,
.col-sm-12,
.col-md-12,
.col-lg-12 {
  position: relative;
  min-height: 1px;
}

.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12 {
  float: left;
}

.col-xs-12 {
  width: 100%;
}

.col-xs-11 {
  width: 91.66666667%;
}

.col-xs-10 {
  width: 83.33333333%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-8 {
  width: 66.66666667%;
}

.col-xs-7 {
  width: 58.33333333%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-5 {
  width: 41.66666667%;
}

.col-xs-4 {
  width: 33.33333333%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-2 {
  width: 16.66666667%;
}

.col-xs-1 {
  width: 8.33333333%;
}

.col-xs-pull-12 {
  right: 100%;
}

.col-xs-pull-11 {
  right: 91.66666667%;
}

.col-xs-pull-10 {
  right: 83.33333333%;
}

.col-xs-pull-9 {
  right: 75%;
}

.col-xs-pull-8 {
  right: 66.66666667%;
}

.col-xs-pull-7 {
  right: 58.33333333%;
}

.col-xs-pull-6 {
  right: 50%;
}

.col-xs-pull-5 {
  right: 41.66666667%;
}

.col-xs-pull-4 {
  right: 33.33333333%;
}

.col-xs-pull-3 {
  right: 25%;
}

.col-xs-pull-2 {
  right: 16.66666667%;
}

.col-xs-pull-1 {
  right: 8.33333333%;
}

.col-xs-pull-0 {
  right: auto;
}

.col-xs-push-12 {
  left: 100%;
}

.col-xs-push-11 {
  left: 91.66666667%;
}

.col-xs-push-10 {
  left: 83.33333333%;
}

.col-xs-push-9 {
  left: 75%;
}

.col-xs-push-8 {
  left: 66.66666667%;
}

.col-xs-push-7 {
  left: 58.33333333%;
}

.col-xs-push-6 {
  left: 50%;
}

.col-xs-push-5 {
  left: 41.66666667%;
}

.col-xs-push-4 {
  left: 33.33333333%;
}

.col-xs-push-3 {
  left: 25%;
}

.col-xs-push-2 {
  left: 16.66666667%;
}

.col-xs-push-1 {
  left: 8.33333333%;
}

.col-xs-push-0 {
  left: auto;
}

.col-xs-offset-12 {
  margin-left: 100%;
}

.col-xs-offset-11 {
  margin-left: 91.66666667%;
}

.col-xs-offset-10 {
  margin-left: 83.33333333%;
}

.col-xs-offset-9 {
  margin-left: 75%;
}

.col-xs-offset-8 {
  margin-left: 66.66666667%;
}

.col-xs-offset-7 {
  margin-left: 58.33333333%;
}

.col-xs-offset-6 {
  margin-left: 50%;
}

.col-xs-offset-5 {
  margin-left: 41.66666667%;
}

.col-xs-offset-4 {
  margin-left: 33.33333333%;
}

.col-xs-offset-3 {
  margin-left: 25%;
}

.col-xs-offset-2 {
  margin-left: 16.66666667%;
}

.col-xs-offset-1 {
  margin-left: 8.33333333%;
}

.col-xs-offset-0 {
  margin-left: 0%;
}

@media (min-width: 768px) {
  .col-sm-1,
  .col-sm-2,
  .col-sm-3,
  .col-sm-4,
  .col-sm-5,
  .col-sm-6,
  .col-sm-7,
  .col-sm-8,
  .col-sm-9,
  .col-sm-10,
  .col-sm-11,
  .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1,
  .col-md-2,
  .col-md-3,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8,
  .col-md-9,
  .col-md-10,
  .col-md-11,
  .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1,
  .col-lg-2,
  .col-lg-3,
  .col-lg-4,
  .col-lg-5,
  .col-lg-6,
  .col-lg-7,
  .col-lg-8,
  .col-lg-9,
  .col-lg-10,
  .col-lg-11,
  .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}

.container:after,
.container-fluid:after,
.row:after {
  clear: both;
}

.alert {
  background: #4e4d4d;
  color: #f5f5f5;
  padding: 2em;
  margin-bottom: 2em;
  box-shadow: 1px 1px 1px rgba(76, 76, 76, 0.5);
  position: relative;
  border-radius: 2px;
}

.alert__title {
  font-size: 2em;
}

.alert__message {
  font-size: 1.2em;
}

.alert__close {
  text-decoration: none;
  position: absolute;
  font-size: 2em;
  right: 0.5em;
  top: 0.5em;
  color: #f5f5f5;
}
.alert__close:hover {
  color: #a0302c;
}

@media (max-width: 524px) {
  .alert {
    float: left;
  }
}
.btn {
  transition: all 350ms ease;
  background-size: 100%;
  background-image: linear-gradient(#fff, rgb(242.25, 242.25, 242.25));
  position: relative;
  z-index: 100;
}
.btn:before {
  background-image: linear-gradient(rgb(242.25, 242.25, 242.25), rgb(229.5, 229.5, 229.5));
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  z-index: -100;
  transition: opacity 350ms animation;
}
.btn:hover:before {
  opacity: 1;
}
.btn {
  border: 1px solid #ccc;
  padding: 0.5em 1em;
  border-radius: 0.2em;
  cursor: pointer;
  font-size: 1.25em;
  font-weight: bold;
  color: #6b6b6b;
  outline: none;
  text-decoration: none;
}
.btn:before {
  border-radius: 0.2em;
}
.btn:hover, .btn:focus {
  border-color: #4e4d4d;
  color: #4e4d4d;
}
.btn:hover [class*=icon-], .btn:focus [class*=icon-] {
  opacity: 1;
}
.btn:active {
  border-color: #88e0ce;
  color: #88e0ce;
}
.btn:active [class*=icon-] {
  opacity: 1;
}
.btn [class*=icon-] {
  opacity: 0.5;
}
.button-group .btn {
  float: right;
  margin-left: 0.5em;
}

.btn--primary {
  color: #51a090;
}

.btn--main {
  margin: auto;
  display: block;
  text-align: center;
}
.body--about .btn--main {
  width: 160px;
}

.btn--icon {
  padding-left: 0.75em;
}
.btn--icon [class*=icon-] {
  margin-right: 0.25em;
}

.btn--icon-right [class*=icon-] {
  margin-left: 0.25em;
}

.btn--modal-nav {
  border: 0;
  transition: none;
  padding: 0;
  border-radius: 0;
  height: 100%;
  width: 4em;
  float: left;
  position: relative;
  max-height: 90vh;
}
.btn--modal-nav span {
  position: absolute;
  font-size: 2em;
  margin-left: 0.5em;
  top: 40%;
}

@media (max-width: 524px), (min-width: 525px) and (max-width: 699px), (min-width: 700px) and (max-width: 999px) {
  .btn--modal-nav {
    display: none !important;
  }
}
@media (max-width: 524px) {
  .button-group .btn {
    margin: 0 0.25em 0 0;
    font-size: 1em;
    padding-left: 0.5em;
    padding-right: 0.5em;
  }
}
.form-fields {
  width: 26em;
  list-style: none;
  margin: 1em auto;
}
.form-fields li {
  margin-bottom: 1em;
}
.form-fields li:last-child {
  border-top: 2px dashed #dcdcdc;
  padding-right: 2.25em;
  width: 100%;
  padding-top: 1em;
}
.form-fields .honeypot {
  display: none;
}

.form-field-label {
  color: #3e655e;
  font-size: 1.1em;
  display: block;
  margin-bottom: 0.25em;
}
.body--contact .form-field-label {
  color: #fff;
  text-shadow: 1px 1px 1px #000;
}

.form-field {
  padding: 0.5em 1em;
  font-size: 1.1em;
  background: #fff;
  border: 1px solid #ababab;
  border-radius: 0.2em;
  width: 100%;
  outline: none;
}
.form-field:focus {
  background: #dbf5f0;
  border: 1px solid #51a090;
}

.form-field--has-error {
  border-color: #ad3430;
}

textarea.form-field {
  min-height: 8em;
}

.form-field-error {
  line-height: 1.5;
  padding: 0.25em;
  background: #eca19e;
  display: inline-block;
  margin: 0.25em 0 0.5em;
  font-weight: 500;
  color: #a0302c;
}

@media (max-width: 524px) {
  .form-fields {
    width: 90%;
    margin: 0;
  }
}
.main-footer {
  bottom: 0;
  width: 100%;
  background: #eee;
  min-height: 300px;
  position: relative;
}
.main-footer a {
  color: #ababab;
}
.main-footer a:hover {
  color: #4e4d4d;
  text-decoration: underline;
}

.footer-links {
  display: flex;
  padding: 0 3em;
}
.footer-links dl {
  flex-grow: 1;
  margin: 1em;
  text-indent: 0.25em;
}
.footer-links dd {
  margin: 0;
}
.footer-links dt {
  border-bottom: 0.2em dotted #dcdcdc;
  margin-bottom: 0.5em;
  padding-bottom: 0.25em;
}
.footer-links {
  margin: auto;
}

.footer-legal {
  float: right;
  font-size: 0.8em;
  color: #ababab;
  padding-right: 0.5em;
}

.footer-links__link {
  font-size: 1.1em;
  line-height: 1.75;
  text-decoration: none;
  display: flex;
}
.footer-links__link [class*=icon-] {
  line-height: 26px;
  font-size: 0.9em;
  padding-right: 0.5em;
}
dt .footer-links__link {
  color: #33544d;
}

.icon-mastodon {
  width: 16px;
  margin: 0 1px 0 2px;
}
.icon-mastodon svg {
  width: 100%;
  height: 100%;
}

.footer-links__link--main {
  font-weight: 500;
}

.page__content--footer {
  min-height: 300px;
}

.body--home .page__sidebar--footer {
  margin: 0;
  padding: 1em 0;
  background: #c0e4dd;
  border-bottom: 1px solid #a5ccc4;
  width: 100%;
  position: relative;
}
.body--home .page__sidebar--footer [class^=icon-] {
  color: #5f867f;
  margin-top: 0;
}
.body--home .main-footer__link {
  color: #71a097;
}

@media (min-width: 1000px) and (max-width: 1199px), (min-width: 1200px) and (max-width: 1499px), (min-width: 1500px) {
  .page__sidebar--footer {
    background-color: rgba(72, 54, 54, 0.23);
  }
  .page__sidebar--footer [class^=icon-] {
    font-size: 3em;
    margin-top: 5.25em;
  }
}
@media media-sm, media-xxs {
  .footer-links {
    padding: 0 1em;
  }
}
@media (max-width: 524px) {
  .footer-links {
    display: block;
    padding: 0;
  }
  .footer-links dl {
    margin-bottom: 3em;
  }
}
.stripe {
  display: flex;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.main-header .stripe {
  top: 7px;
  height: 1px;
  opacity: 0.5;
}
.main-header--fixed .main-header .stripe {
  display: none;
}
.page-header-bg .stripe {
  opacity: 0.2;
  position: absolute;
  bottom: 0;
  height: 3px;
}
.main-footer .stripe:first-child {
  opacity: 0.2;
  height: 6px;
  transform: rotateY(180deg);
}

.stripe__chunk {
  height: 12px;
}

.stripe__chunk--a {
  background: #33544d;
  flex-grow: 3;
}

.stripe__chunk--b {
  background: #4a4443;
  flex-grow: 2;
}

.stripe__chunk--c {
  background: #4e4d4d;
  flex-grow: 2;
}

.stripe__chunk--d {
  background: #71a097;
  flex-grow: 0.75;
}

.loader {
  opacity: 0.9;
  display: none;
  text-indent: 2.5em;
  font-size: 1.2em;
  line-height: 2.3;
  font-weight: 500;
  color: #51a090;
  background: #f5f5f5 url("/img/loader.gif") no-repeat 15px center;
  position: fixed;
  margin-left: 46vmax;
  z-index: 2;
  margin-top: 23vmax;
  padding: 1em;
  border: 16px solid #fff;
  border-radius: 42px;
}
.page__content .loader {
  margin-top: 6vmax;
  margin-left: 32vmax;
}

.modal {
  visibility: hidden;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  position: fixed;
  z-index: 50;
}
.modal--visible .modal {
  visibility: visible;
}

.modal__bg {
  transition: all 350ms ease;
  background: transparent;
  height: 100%;
  width: 100%;
  position: absolute;
}
.modal--visible .modal__bg {
  background: rgba(8, 8, 8, 0.8);
}

.modal__content {
  width: 500px;
  height: 500px;
  max-height: 90vh;
  min-height: 50px;
  overflow: hidden;
  background-color: #f5f5f5;
  border: 2em solid rgba(255, 255, 255, 0.25);
  border-radius: 0.2em;
  background-clip: content-box;
  z-index: 3;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
  display: none;
}
.modal--visible .modal__content {
  display: block;
}

.modal__title {
  font-size: 1.5em;
  margin: 0;
  padding: 0.5em;
  text-indent: 0.5em;
}

.modal__close {
  position: absolute;
  right: 0.4em;
  font-size: 2.75em;
  text-decoration: none;
  margin-top: -1.25em;
  font-weight: 500;
  color: #ababab;
}
.modal__close:hover {
  color: #a0302c;
}

.modal__body-content {
  float: left;
}

.modal--error .modal__content {
  height: 280px !important;
  width: 500px !important;
}
.modal--error .modal__error-mssg {
  padding-top: 5em;
  width: 360px;
  text-align: center;
  color: #a0302c;
}

@media (max-width: 524px) {
  .modal__title {
    max-width: 255px;
    text-indent: 0;
  }
}
@media (max-width: 524px), (min-width: 525px) and (max-width: 699px), (min-width: 700px) and (max-width: 999px) {
  .modal__body-content {
    float: none;
    background: #ababab;
  }
  .modal__content {
    border: 0;
    max-width: 80%;
    max-width: 80vw;
    height: auto !important;
  }
  .modal__body-content img {
    max-width: 80%;
    max-width: 80vw;
    margin: auto;
    display: block;
  }
}
.page {
  position: relative;
}

.page__content {
  box-sizing: border-box;
  padding: 1em 1em 6em;
  z-index: 1;
  position: relative;
}
.body--home .page__content {
  padding-bottom: 0;
}

.page__filters {
  float: left;
  height: 3em;
  margin-bottom: 1em;
}
.page__filters.page__filters--base {
  float: none;
}

@media (max-width: 524px) {
  .page__filters {
    height: auto;
  }
}
.body--contact .page {
  background: url("/img/beach-bw.jpg");
  background-size: cover;
}

@media (min-width: 1000px) and (max-width: 1199px), (min-width: 1200px) and (max-width: 1499px), (min-width: 1500px) {
  .page__content {
    width: calc(100% - 211px);
    margin-left: 211px;
  }
  .body--home .page__content {
    width: 100%;
    margin-left: 0;
  }
}
.body--home .page__sidebar {
  display: none;
}
.body--home .page__sidebar--footer {
  display: block;
}

@media (min-width: 1000px) and (max-width: 1199px), (min-width: 1200px) and (max-width: 1499px), (min-width: 1500px) {
  .page__sidebar {
    position: absolute;
    height: 100%;
    width: 188px;
    background-color: rgba(230, 230, 230, 0.5);
    margin-left: 23px;
    top: 0;
  }
}
.nav {
  height: 120px;
}
.main-header--fixed .nav {
  height: 40px;
}

.nav-links {
  margin: 30px 0 0 211px;
  float: left;
  position: relative;
  z-index: 1;
  width: calc(100% - 211px);
  display: flex;
}
.main-header--fixed .nav-links {
  margin: 0;
  width: 100%;
}

.nav__link {
  text-rendering: optimizeLegibility;
  box-shadow: 1px 1px 1px rgba(103, 103, 103, 0.25);
  transition: all 350ms ease;
  display: block;
  color: #cec5c3;
  text-decoration: none;
  float: left;
  text-align: center;
  font-size: 1.3em;
  height: 55px;
  line-height: 3;
  flex-grow: 2;
  text-shadow: 1px 1px 1px #122723;
  font-weight: 400;
  background: #4a4443;
  text-transform: capitalize;
  border-right: 1px solid rgb(60.6170212766, 55.7021276596, 54.8829787234);
}
.nav__link:hover, .nav__link.nav__link--active {
  flex-grow: 3;
  color: #fff;
  background: #3e655e;
  box-shadow: 1px 1px 1px rgba(36, 58, 54, 0.25);
}
.nav__link:active {
  background: #5f867f;
}
.main-header--fixed .nav__link {
  height: 42px;
  line-height: 2.6;
  font-size: 1.1em;
}
.nav__link:last-child {
  border-right: 0;
}

.nav-logo {
  position: absolute;
  margin: -59px 0 0 0;
  display: block;
}
.nav-logo svg {
  width: 200px;
  height: 200px;
}
.nav-logo path {
  transition: all 350ms ease;
  fill: #f5f5f5;
}
.nav-logo:hover path {
  fill: #cec5c3;
}
.nav-logo:active path {
  fill: #FFF;
}
.main-header--fixed .nav-logo {
  display: none;
}

@media (max-width: 524px), (min-width: 525px) and (max-width: 699px), (min-width: 700px) and (max-width: 999px) {
  .nav__link {
    font-size: 1.1em;
    line-height: 3.8;
  }
}
@media (min-width: 525px) and (max-width: 699px), (max-width: 524px) {
  .nav-logo {
    height: 145px;
    position: relative;
    margin: -55px auto 0;
    width: 167px;
    display: inherit;
  }
  .nav-logo svg {
    height: 150px;
    width: 150px;
  }
  .nav-links {
    width: 100%;
    margin: 0;
    display: block;
  }
  .nav__link {
    width: calc(25% - 1px);
  }
}
.sub-nav {
  margin: 5.5em auto 0;
  text-align: center;
  position: relative;
  z-index: 1;
}
.page__sidebar--fixed .sub-nav {
  position: fixed;
  margin-top: 0;
  top: 1em;
  width: 188px;
  left: 23px;
}
.main-header--fixed .page__sidebar--fixed .sub-nav {
  top: 4em;
}

.sub-nav__link {
  font-weight: 300;
  font-size: 1.1em;
  position: relative;
  text-transform: capitalize;
  transition: all 350ms ease;
  margin-bottom: 0.5em;
  text-decoration: none;
  display: block;
  line-height: 3;
  background: #a59c99;
  color: #f5f5f5;
}
.sub-nav__link:hover, .sub-nav__link.sub-nav__link--active {
  background: #71a097;
  color: #fff;
}
.sub-nav__link:active {
  background: #5f867f;
}

.sub-nav__dropdown {
  transition: all 350ms ease;
  display: none;
  list-style: none;
  text-align: left;
  margin-bottom: 0.5em;
}
.sub-nav__dropdown.sub-nav__dropdown--open {
  display: block;
}
.page__sidebar--fixed .sub-nav__dropdown.sub-nav__dropdown--open {
  background: #eee;
}

.sub-nav__dropdown-item {
  transition: all 350ms ease;
  padding-left: 0.5em;
  margin: 0 1em;
  line-height: 1.5;
  border-bottom: 1px solid rgba(113, 160, 151, 0.25);
}
.sub-nav__dropdown-item a {
  text-decoration: none;
  display: block;
  padding: 0.5em 0;
}
.sub-nav__dropdown-item:last-child {
  border-bottom: 0;
}

.sub-nav__dropdown-item--active a,
.sub-nav__dropdown-item:hover a {
  text-decoration: underline;
}

.sub-nav__link--dropdown-icon {
  transition: all 350ms ease;
  opacity: 0.6;
  padding-left: 0.5em;
  position: absolute;
}
.sub-nav__link--dropdown--open .sub-nav__link--dropdown-icon {
  transform: rotate(90deg);
  margin: -0.25em 0 0 0.25em;
}

@media (min-width: 1000px) and (max-width: 1199px), (min-width: 1200px) and (max-width: 1499px), (min-width: 1500px) {
  .sub-nav {
    width: 90%;
  }
}
@media (min-width: 700px) and (max-width: 999px), (min-width: 525px) and (max-width: 699px), (max-width: 524px) {
  .sub-nav {
    margin: 0;
    background-color: #f5f5f5;
    padding: 1em 0;
    border-bottom: 2px dashed #eee;
  }
  .page__sidebar--fixed .sub-nav {
    position: static;
  }
  .sub-nav__link {
    padding: 0 3em;
    margin: 0;
    display: inline-block;
  }
  .sub-nav__link--dropdown-icon {
    right: 0;
    margin: -2.85em 1em 0 0;
  }
  .sub-nav__link--dropdown--open .sub-nav__link--dropdown-icon {
    margin-top: -3em;
    margin-right: 1em;
  }
}
@media (min-width: 700px) and (max-width: 999px), (min-width: 525px) and (max-width: 699px) {
  .sub-nav__dropdown-item {
    margin: 1em 0;
  }
  .sub-nav {
    text-align: left;
    padding: 1em 0 1em 1em;
  }
}
@media (max-width: 524px) {
  .sub-nav__link {
    padding: 0 1em;
  }
  .sub-nav__link--dropdown-icon {
    display: none;
  }
  .sub-nav__dropdown-item {
    text-align: center;
  }
}
.context-nav {
  background: #fff;
}

.pagination {
  border: 1px solid #dcdcdc;
  display: inline-block;
  float: right;
  height: 100%;
  line-height: 3;
}
.pagination ul {
  list-style: none;
  float: left;
}
.page__filters--base .pagination {
  float: none;
  margin: 1em 0;
}

.pagination__label {
  padding: 0 1em;
  float: left;
  color: #ababab;
  border-right: 1px solid #dcdcdc;
}

.pagination__page {
  float: left;
  border-right: 1px solid #dcdcdc;
}
.pagination__page:last-child {
  border-right: 0;
}

.pagination__link {
  padding: 0 1.25em;
  display: inline-block;
  text-decoration: none;
}
.pagination__link:hover, .pagination__page--active .pagination__link {
  color: #4e4d4d;
  background: #eee;
  background: linear-gradient(#eee, rgb(225.25, 225.25, 225.25));
}

@media (min-width: 700px) and (max-width: 999px), (max-width: 524px) {
  .pagination {
    float: none;
  }
  .pagination__link {
    padding: 0 0.8em;
  }
}
.main-header {
  background: #2b2a2a;
  height: 128px;
  border-bottom: 1px solid #a5ccc4;
}
.main-header--fixed .main-header {
  position: fixed;
  width: 100%;
  z-index: 10;
  height: 44px;
  box-shadow: 1px 1px 1px rgba(105, 105, 105, 0.5);
  top: 0;
}

@media (min-width: 525px) and (max-width: 699px), (max-width: 524px) {
  .main-header {
    height: 200px;
  }
  .main-header--fixed .main-header {
    padding: 0;
  }
}
.page-header {
  text-align: center;
  position: absolute;
  width: 100%;
  z-index: 1;
  color: #3e655e;
}

.page-header-bg {
  transition: all 350ms ease;
  position: relative;
  background: #fff;
  width: 100%;
  height: 4.5em;
}

.page-header__title {
  font-size: 1.3em;
  line-height: 3.5;
}

.page-header__subtitle {
  font-size: 1.2em;
  color: #4a4443;
}

.page-header__next {
  float: right;
  color: #ababab;
  margin: 0.5em 1em auto auto;
  text-decoration: none;
}

.page-header__next--icon {
  margin-left: 0.25em;
}

@media (min-width: 1000px) and (max-width: 1199px), (min-width: 1200px) and (max-width: 1499px), (min-width: 1500px) {
  .page-header {
    line-height: 3;
  }
  .page-header__title {
    float: left;
    width: 188px;
    margin-left: 23px;
  }
  .page-header__subtitle {
    width: calc(100% - 211px);
    margin-left: 211px;
  }
}
@media (max-width: 524px) {
  .page-header__subtitle {
    font-size: 1em;
  }
}
@media (max-width: 524px), (min-width: 525px) and (max-width: 699px), (min-width: 700px) and (max-width: 999px) {
  .page-header {
    text-align: left;
    padding-left: 1em;
    width: 98%;
  }
  .page-header__subtitle {
    margin-top: -1.25em;
  }
  .page-header__next {
    display: none;
  }
  .page-header-bg {
    height: 6.5em;
  }
  .body--long-subtitle .page-header-bg {
    height: 8.5em;
  }
}
@media (min-width: 525px) and (max-width: 699px), (min-width: 700px) and (max-width: 999px) {
  .page-header__title {
    margin: 0;
  }
  .header-logo {
    margin-left: -60px;
  }
  .page-header__subtitle {
    margin-top: -0.75em;
  }
}
#portfolio-browser-wrapper {
  min-height: 500px;
  width: 100%;
  overflow: hidden;
}

.project-row {
  width: 100%;
  display: flex;
}

.project {
  height: 20vw;
  transition: all 350ms ease;
  position: relative;
  flex-grow: 1;
}
.project:hover {
  z-index: 2;
}

.project--over-any {
  opacity: 0.5;
}
.project--over-any.project--over-active {
  opacity: 1;
}

.project__img {
  transition: all 350ms ease;
  position: relative;
  height: 100%;
  width: 100%;
  text-align: center;
  background-size: cover;
  border: 1px solid #eee;
  border-radius: 50%;
}
.project__img:before {
  transition: all 350ms ease;
  border-radius: 50%;
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 6px solid rgba(255, 255, 255, 0.5);
}
.project__anchor:focus .project__img:before {
  border: 100px solid rgba(255, 255, 255, 0.5);
}
.project--over-active .project__img {
  border-color: #88e0ce;
}

.project__title {
  font-size: 1.1em;
  position: relative;
  border: 3px solid #eee;
  border-radius: 0.2em;
  background: #fff;
  color: #3a2924;
  padding: 1em 2em;
  margin: -30% 0 0 -10%;
  float: left;
}
.project--over-active .project__title {
  border-color: #dbf5f0;
  color: #33544d;
}

.project__date {
  font-size: 0.9em;
  border-top: 1px solid #33544d;
  text-align: right;
  padding-top: 0.5em;
  width: 10vw;
  margin: -94% 0 0 0;
  float: right;
}
.project__date--extended {
  width: 12vw;
  margin: -94% -30px 0 0;
}

.project__anchor {
  color: #4e4d4d;
  position: absolute;
  max-width: 800px;
  max-height: 800px;
  text-decoration: none;
}
.project__anchor:hover {
  color: inherit;
}

.project--template-1 {
  height: 30vw;
}
.project--template-1 .project__anchor {
  width: 28vw;
  height: 28vw;
  right: 2vw;
}

.project--template-2 {
  height: 45vw;
}
.project--template-2 .project__anchor {
  right: 2vw;
  top: 2vw;
  height: 40vw;
  width: 40vw;
}
.project--template-2 .project__title {
  margin: -90% 0 0 0;
}
.project--template-2 .project__date {
  margin: -10% 0 0 0;
  width: 11vw;
}

.project--template-3 {
  height: 45vw;
  margin-top: -15vw;
}
.project--template-3 .project__anchor {
  left: 2vw;
  top: 2vw;
  height: 40vw;
  width: 40vw;
}
.project--template-3 .project__title {
  float: right;
  margin: -90% 0 0 0;
}
.project--template-3 .project__date {
  margin: -10% 0 0 2%;
  float: left;
  text-align: left;
}

.project--template-4 {
  height: 30vw;
}
.project--template-4 .project__anchor {
  left: 2vw;
  top: 2vw;
  height: 28vw;
  width: 28vw;
}
.project--template-4 .project__title {
  float: right;
  margin: -25% 0 0 0;
}
.project--template-4 .project__date {
  float: left;
  text-align: left;
}

.body-layout--square .project-row {
  display: block;
}
.body-layout--square .project-row:first-child {
  margin-top: 1em;
}
.body-layout--square .project__img {
  border-radius: 0;
}
.body-layout--square .project__img:before {
  border-radius: 0;
}
.project--template-1 .body-layout--square, .project--template-2 .body-layout--square, .project--template-3 .body-layout--square, .project--template-4 .body-layout--square,
.body-layout--square .project {
  width: 300px;
  height: 300px;
  margin: 0 3em 4em 0;
  float: left;
  position: relative;
}
.project--template-1 .body-layout--square .project__date, .project--template-2 .body-layout--square .project__date, .project--template-3 .body-layout--square .project__date, .project--template-4 .body-layout--square .project__date,
.body-layout--square .project .project__date {
  padding: 0;
  width: 7em;
  margin: 0.2em 0 0 0;
  text-align: right;
  font-size: 0.9em;
  border: 0;
  color: #ababab;
  float: right;
}
.project--template-1 .body-layout--square .project__title, .project--template-2 .body-layout--square .project__title, .project--template-3 .body-layout--square .project__title, .project--template-4 .body-layout--square .project__title,
.body-layout--square .project .project__title {
  position: relative;
  z-index: 1;
  border-radius: 0;
  padding: 1em 0 1em 1em;
  width: 94%;
  float: left;
  margin: -3em 0 0 0;
  font-size: 1.05em;
  background: #fff;
  border-top: 1px solid #eee;
}
.project--template-1 .body-layout--square .project__anchor, .project--template-2 .body-layout--square .project__anchor, .project--template-3 .body-layout--square .project__anchor, .project--template-4 .body-layout--square .project__anchor,
.body-layout--square .project .project__anchor {
  position: relative;
  right: 0;
  top: 0;
  left: 0;
  bottom: 0;
  max-width: none;
  max-height: none;
}

@media (min-width: 700px) and (max-width: 999px), (min-width: 1000px) and (max-width: 1199px) {
  .project--template-1,
  .project--template-2,
  .project--template-3,
  .project--template-4 {
    height: 360px;
    margin: 0;
  }
  .project--template-1 .project__anchor,
  .project--template-2 .project__anchor,
  .project--template-3 .project__anchor,
  .project--template-4 .project__anchor {
    right: auto;
    top: auto;
    left: 10%;
    width: 320px;
    height: 320px;
  }
}
@media (max-width: 524px), (min-width: 525px) and (max-width: 699px) {
  #portfolio-browser-wrapper {
    margin-top: 4em;
  }
  .body-layout--square #portfolio-browser-wrapper {
    margin-top: 0;
  }
  .project--template-1 .body-layout--square, .project--template-2 .body-layout--square, .project--template-3 .body-layout--square, .project--template-4 .body-layout--square,
  .body-layout--square .project .project-row,
  .body-layout--square .project {
    margin-left: 3em;
  }
  .project-row {
    display: block;
  }
  .project--template-1,
  .project--template-2,
  .project--template-3,
  .project--template-4 {
    margin: 0;
    height: 22em;
    width: 100%;
  }
  .project--template-1 .project__anchor,
  .project--template-2 .project__anchor,
  .project--template-3 .project__anchor,
  .project--template-4 .project__anchor {
    margin: auto;
    right: 0;
    bottom: 0;
    left: 0;
    top: 0;
    height: 20em;
    width: 20em;
  }
  .project--template-1 .project__anchor:hover,
  .project--template-2 .project__anchor:hover,
  .project--template-3 .project__anchor:hover,
  .project--template-4 .project__anchor:hover {
    top: 0;
    width: 21em;
    height: 21em;
  }
  .project--template-1 .project__title,
  .project--template-2 .project__title,
  .project--template-3 .project__title,
  .project--template-4 .project__title {
    border-radius: 0;
    border-color: #eee;
    margin: -25% 0 0 0;
    display: block;
    text-align: center;
    float: none;
  }
  .project--template-1 .project__date,
  .project--template-2 .project__date,
  .project--template-3 .project__date,
  .project--template-4 .project__date {
    border: 0;
    color: #ababab;
    float: left;
    text-align: right;
    margin: 0;
    width: 100%;
    position: relative;
    z-index: 1;
  }
}
.project-detail__chart {
  max-width: 500px;
}

.project-title {
  margin-top: 1em;
  font-weight: bold;
}

.monitor {
  background: url("/img/portfolio/monitor.png") no-repeat 26px 0;
  width: 561px;
  height: 438px;
  position: relative;
}

@media (min-width: 1200px) and (max-width: 1499px), (min-width: 1500px) {
  .project-detail .monitor {
    margin-top: -3.5em;
    float: right;
  }
}
.monitor__screen {
  height: 64%;
  width: 81%;
  margin: 4.5% 0 0 8.5%;
  background: #eee;
  position: absolute;
}

@media (max-width: 524px) {
  .monitor {
    background: transparent;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    height: 300px;
  }
  .monitor__screen {
    background: transparent;
    height: 100%;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
}
.browser {
  width: 98%;
  height: 98%;
  border: 1px solid #ababab;
  background: #f5f5f5;
  margin: auto;
  top: 1%;
  position: relative;
  border-radius: 1px;
  box-shadow: 0px 1px 0px rgba(128, 128, 128, 0.4);
}
.browser:hover {
  border-color: #4e4d4d;
}
.browser ::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 6px;
}
.browser ::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.25);
  box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
}
.browser:hover ::-webkit-scrollbar-thumb {
  background: #71a097;
}

.browser__header {
  height: 20px;
  width: 100%;
  background: #dcdcdc;
}
.browser:hover .browser__header {
  background: #ababab;
}

.browser__content {
  width: 100%;
  height: calc(100% - 20px);
  overflow-y: scroll;
}
.browser__content .modal-media-trigger {
  display: block;
}

.browser__img {
  max-width: 100%;
}

.browser__btns {
  list-style: none;
  margin: 4px;
  position: absolute;
}
.browser__btns li {
  background: #eee;
  height: 10px;
  width: 10px;
  float: left;
  border-radius: 50%;
  margin-right: 4px;
  border: 1px solid #ababab;
}

.browser__address-bar {
  transition: all 350ms ease;
  width: 80%;
  font-size: 0.8em;
  color: #ababab;
  background: #f5f5f5;
  margin: 1px 0 0 49px;
  position: absolute;
  line-height: 1.5;
  text-indent: 8px;
  border-radius: 2px;
}
.browser:hover .browser__address-bar {
  background: #2b2a2a;
}

@media (max-width: 524px) {
  .browser {
    overflow: hidden;
    top: 0;
  }
  .browser__content {
    overflow: hidden;
    height: 400px;
  }
}
.thumbnail-image-list__item {
  border: 2px solid #ababab;
  width: 3em;
  height: 3em;
  margin: 0.5em 0.5em 0.5em 0;
  display: block;
  overflow: hidden;
  opacity: 0.25;
  border-radius: 50%;
  float: left;
  transition: all 350ms ease;
}
.thumbnail-image-list__item img {
  max-width: 100%;
}
.thumbnail-image-list__item:hover, .thumbnail-image-list__item.thumbnail-image-list__item--active {
  opacity: 1;
}

@media (min-width: 1500px) {
  .thumbnail-image-list {
    float: right;
  }
  .project-detail--wide .thumbnail-image-list {
    float: left;
  }
  .thumbnail-image-list__item {
    float: none;
    margin: 0 0 0.25em;
  }
}
@media (max-width: 524px) {
  .thumbnail-image-list {
    position: relative;
    z-index: 1;
    margin: 1em 0;
  }
}
.thumbnail-target--standalone {
  float: left;
  margin: 0 1em 0 0;
  border: 1px solid #eee;
}
.thumbnail-target--standalone:hover {
  border-color: #71a097;
}
.project-detail--wide .thumbnail-target--standalone {
  float: left;
  margin: 0 1em 2em 1em;
}

.thumbnail-target--standalone__img {
  float: left;
  max-width: 100%;
}

@media (min-width: 1200px) and (max-width: 1499px), (min-width: 1500px) {
  .thumbnail-target--standalone {
    margin: 0 2em 0 1em;
    float: right;
  }
}
@supports (display: flex) {
  .project-list {
    display: flex;
    flex-flow: row wrap;
  }
}
.project-list {
  list-style: none;
}

.project-list-item__link {
  text-decoration: none;
  display: block;
}

.project-list-item {
  transition: all 350ms ease;
  background: #fff;
  box-sizing: border-box;
  border: 1px solid #dcdcdc;
  border-bottom: 8px solid #c0e4dd;
  border-radius: 2px;
  padding: 1em 1em 2em 1em;
  margin: 0 0.5rem 1rem;
  max-width: 450px;
}
@supports (display: flex) {
  .project-list-item {
    flex: 1 0 30%;
  }
}
.project-list-item:hover {
  background: rgba(206, 197, 195, 0.5);
  border-bottom-color: #4a4443;
}
.project-list-item:hover .project-list-item__image {
  border-color: #cec5c3;
}
.project-list-item:hover .project-list-item__label {
  color: #4a4443;
}
.project-list-item:hover .project-list-item__desc {
  color: #3a2924;
}
.project-list-item:active {
  border-bottom-color: #33544d;
}

.project-list-item__image {
  width: 100%;
  height: 200px;
  border: 1px solid #eee;
}
.project-list-item--bronto-message-editor .project-list-item__image {
  background-position: 0 -85px;
}
.project-list-item--bronto-segment-builder .project-list-item__image {
  background-position: 0 -200px;
}

.project-list--homepage .project-list-item--storytime .project-list-item__image {
  background-size: cover;
}

.project-list-item__label {
  color: #33544d;
  font-size: 1.1em;
  font-weight: 500;
  margin-top: 1em;
  display: block;
}

.project-list-item__desc {
  color: #4e4d4d;
}

@media (min-width: 1000px) and (max-width: 1199px), (min-width: 700px) and (max-width: 999px) {
  .project-list-item {
    width: 50%;
    height: 420px;
    float: left;
    margin: 0;
  }
  .project-list-item:nth-child(2n+1) {
    clear: left;
  }
}
@media (min-width: 1000px) and (max-width: 1199px), (min-width: 700px) and (max-width: 999px), (min-width: 525px) and (max-width: 699px) {
  @supports (display: flex) {
    .project-list-item {
      float: none;
      width: auto;
      flex: 1 0 40%;
      clear: none;
      margin: 0 0.5rem 1rem;
    }
  }
}
@media (max-width: 524px) {
  .project-list {
    margin: 0;
    display: block;
  }
  .project-list-item {
    width: 100%;
    height: auto;
    margin-left: 0;
    margin-right: 0;
  }
}
.ct-label {
  fill: rgba(0, 0, 0, 0.4);
  color: rgba(0, 0, 0, 0.4);
  font-size: 0.75rem;
  line-height: 1;
}

.ct-chart-line .ct-label,
.ct-chart-bar .ct-label {
  display: block;
  display: flex;
}

.ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-label.ct-vertical.ct-start {
  align-items: flex-end;
  justify-content: flex-end;
  text-align: right;
  text-anchor: end;
}

.ct-label.ct-vertical.ct-end {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-chart-bar .ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  text-anchor: start;
}

.ct-chart-bar .ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: center;
  text-align: center;
  text-anchor: start;
}

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start {
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  text-anchor: end;
}

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end {
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  text-anchor: end;
}

.ct-grid {
  stroke: rgba(0, 0, 0, 0.2);
  stroke-width: 1px;
  stroke-dasharray: 2px;
}

.ct-point {
  stroke-width: 10px;
  stroke-linecap: round;
}

.ct-line {
  fill: none;
  stroke-width: 4px;
}

.ct-area {
  stroke: none;
  fill-opacity: 0.1;
}

.ct-bar {
  fill: none;
  stroke-width: 10px;
}

.ct-slice-donut {
  fill: none;
  stroke-width: 60px;
}

.ct-series-a .ct-point,
.ct-series-a .ct-line,
.ct-series-a .ct-bar,
.ct-series-a .ct-slice-donut {
  stroke: #33544d;
}
.ct-series-a .ct-slice-pie,
.ct-series-a .ct-area {
  fill: #33544d;
}

.ct-series-b .ct-point,
.ct-series-b .ct-line,
.ct-series-b .ct-bar,
.ct-series-b .ct-slice-donut {
  stroke: #4a4443;
}
.ct-series-b .ct-slice-pie,
.ct-series-b .ct-area {
  fill: #4a4443;
}

.ct-series-c .ct-point,
.ct-series-c .ct-line,
.ct-series-c .ct-bar,
.ct-series-c .ct-slice-donut {
  stroke: #71a097;
}
.ct-series-c .ct-slice-pie,
.ct-series-c .ct-area {
  fill: #71a097;
}

.ct-series-d .ct-point,
.ct-series-d .ct-line,
.ct-series-d .ct-bar,
.ct-series-d .ct-slice-donut {
  stroke: #ababab;
}
.ct-series-d .ct-slice-pie,
.ct-series-d .ct-area {
  fill: #ababab;
}

.ct-series-e .ct-point,
.ct-series-e .ct-line,
.ct-series-e .ct-bar,
.ct-series-e .ct-slice-donut {
  stroke: #243a36;
}
.ct-series-e .ct-slice-pie,
.ct-series-e .ct-area {
  fill: #243a36;
}

.ct-series-f .ct-point,
.ct-series-f .ct-line,
.ct-series-f .ct-bar,
.ct-series-f .ct-slice-donut {
  stroke: #cec5c3;
}
.ct-series-f .ct-slice-pie,
.ct-series-f .ct-area {
  fill: #cec5c3;
}

.ct-series-g .ct-point,
.ct-series-g .ct-line,
.ct-series-g .ct-bar,
.ct-series-g .ct-slice-donut {
  stroke: #3e655e;
}
.ct-series-g .ct-slice-pie,
.ct-series-g .ct-area {
  fill: #3e655e;
}

.ct-series-h .ct-point,
.ct-series-h .ct-line,
.ct-series-h .ct-bar,
.ct-series-h .ct-slice-donut {
  stroke: #4e4d4d;
}
.ct-series-h .ct-slice-pie,
.ct-series-h .ct-area {
  fill: #4e4d4d;
}

.ct-series-i .ct-point,
.ct-series-i .ct-line,
.ct-series-i .ct-bar,
.ct-series-i .ct-slice-donut {
  stroke: #88e0ce;
}
.ct-series-i .ct-slice-pie,
.ct-series-i .ct-area {
  fill: #88e0ce;
}

.ct-series-j .ct-point,
.ct-series-j .ct-line,
.ct-series-j .ct-bar,
.ct-series-j .ct-slice-donut {
  stroke: #3a2924;
}
.ct-series-j .ct-slice-pie,
.ct-series-j .ct-area {
  fill: #3a2924;
}

.ct-series-k .ct-point,
.ct-series-k .ct-line,
.ct-series-k .ct-bar,
.ct-series-k .ct-slice-donut {
  stroke: #5f867f;
}
.ct-series-k .ct-slice-pie,
.ct-series-k .ct-area {
  fill: #5f867f;
}

.ct-series-l .ct-point,
.ct-series-l .ct-line,
.ct-series-l .ct-bar,
.ct-series-l .ct-slice-donut {
  stroke: #dcdcdc;
}
.ct-series-l .ct-slice-pie,
.ct-series-l .ct-area {
  fill: #dcdcdc;
}

.ct-series-m .ct-point,
.ct-series-m .ct-line,
.ct-series-m .ct-bar,
.ct-series-m .ct-slice-donut {
  stroke: #51a090;
}
.ct-series-m .ct-slice-pie,
.ct-series-m .ct-area {
  fill: #51a090;
}

.ct-series-n .ct-point,
.ct-series-n .ct-line,
.ct-series-n .ct-bar,
.ct-series-n .ct-slice-donut {
  stroke: #a59c99;
}
.ct-series-n .ct-slice-pie,
.ct-series-n .ct-area {
  fill: #a59c99;
}

.ct-series-o .ct-point,
.ct-series-o .ct-line,
.ct-series-o .ct-bar,
.ct-series-o .ct-slice-donut {
  stroke: #c0e4dd;
}
.ct-series-o .ct-slice-pie,
.ct-series-o .ct-area {
  fill: #c0e4dd;
}

.ct-square {
  display: block;
  position: relative;
  width: 100%;
}
.ct-square:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 100%;
}
.ct-square:after {
  content: "";
  display: table;
  clear: both;
}
.ct-square > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-minor-second {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 93.75%;
}
.ct-minor-second:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-second {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 88.8888888889%;
}
.ct-major-second:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-minor-third {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 83.3333333333%;
}
.ct-minor-third:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-third {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 80%;
}
.ct-major-third:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-perfect-fourth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-perfect-fourth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 75%;
}
.ct-perfect-fourth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-perfect-fourth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-perfect-fifth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-perfect-fifth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 66.6666666667%;
}
.ct-perfect-fifth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-perfect-fifth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-minor-sixth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 62.5%;
}
.ct-minor-sixth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-golden-section {
  display: block;
  position: relative;
  width: 100%;
}
.ct-golden-section:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 61.804697157%;
}
.ct-golden-section:after {
  content: "";
  display: table;
  clear: both;
}
.ct-golden-section > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-sixth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 60%;
}
.ct-major-sixth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-minor-seventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 56.25%;
}
.ct-minor-seventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-seventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 53.3333333333%;
}
.ct-major-seventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-octave {
  display: block;
  position: relative;
  width: 100%;
}
.ct-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 50%;
}
.ct-octave:after {
  content: "";
  display: table;
  clear: both;
}
.ct-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-tenth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-tenth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 40%;
}
.ct-major-tenth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-tenth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-eleventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-eleventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 37.5%;
}
.ct-major-eleventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-eleventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-twelfth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-twelfth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 33.3333333333%;
}
.ct-major-twelfth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-twelfth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-double-octave {
  display: block;
  position: relative;
  width: 100%;
}
.ct-double-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 25%;
}
.ct-double-octave:after {
  content: "";
  display: table;
  clear: both;
}
.ct-double-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.sidebar-list {
  list-style: none;
  margin-top: 5em;
}

.sidebar-list__item {
  padding: 1em 0;
  font-size: 0.9em;
}
.sidebar-list__item a {
  color: #3e655e;
  font-weight: bold;
  text-decoration: none;
  text-shadow: 1px 1px 1px #fff;
}
.sidebar-list__item a:hover {
  color: #51a090;
}
.sidebar-list__item [class*=icon-] {
  margin-right: 0.5em;
  background-color: #f5f5f5;
  padding: 0.5em;
  border-radius: 50%;
  margin-left: 0.5em;
}

@media (min-width: 700px) and (max-width: 999px), (min-width: 525px) and (max-width: 699px), (max-width: 524px) {
  .sidebar-list {
    margin: 0 0 2em 0;
    padding: 1em 0 1em 0.25em;
    display: block;
    float: left;
    width: 100%;
    border-bottom: 1px solid #eee;
  }
  .body--contact .sidebar-list {
    background: rgba(255, 255, 255, 0.5);
  }
  .sidebar-list__item {
    float: left;
    margin-right: 1em;
    position: relative;
    z-index: 2;
  }
  .sidebar-list__item [class*=icon-] {
    background-color: #fff;
  }
}
@media (max-width: 524px) {
  .sidebar-list__item {
    font-size: 1em;
  }
}
.layout-switcher {
  border: 1px solid #dcdcdc;
  display: inline-block;
  float: right;
  height: 3em;
  line-height: 3;
  margin-right: 1em;
}

.layout-switcher__link {
  transition: all 350ms ease;
  display: block;
  width: 4em;
  border-right: 1px solid #dcdcdc;
  float: left;
  height: 100%;
}
.layout-switcher__link:last-child {
  border-right: 0;
}

.layout-switcher__link--active,
.layout-switcher__link:hover {
  background: #eee;
  background: linear-gradient(#eee, rgb(225.25, 225.25, 225.25));
}

.layout-icon {
  list-style: none;
  width: 2.5em;
  margin: 0.3em auto;
}

.layout-icon__fragment {
  height: 0.75em;
  width: 0.75em;
  float: left;
  margin: 0.25em;
  border-radius: 50%;
  background: #dcdcdc;
  display: inline-block;
}
.layout-switcher__link--square .layout-icon__fragment {
  border-radius: 0;
}
.layout-switcher__link--active .layout-icon__fragment, .layout-switcher__link:hover .layout-icon__fragment {
  background: #ababab;
}

@media (max-width: 524px) {
  .layout-switcher {
    float: left;
  }
  .body--portfolio .layout-switcher {
    margin-left: 3em;
  }
}
.photo-list {
  list-style: none;
  float: left;
  margin-bottom: 1em;
}
@supports (display: flex) {
  .photo-list--flex {
    display: flex;
    flex-flow: row wrap;
  }
}

.photo-list__item {
  background: transparent;
  float: left;
  transition: all 350ms ease;
}
.photo-list__item img {
  transition: all 350ms ease;
  max-width: 100%;
  height: auto;
  display: block;
  margin: auto;
  border: 1px solid #f5f5f5;
}
.body-layout--circle .photo-list__item img {
  border-width: 1em;
  border-radius: 50%;
}
.photo-list--flex .photo-list__item img {
  max-width: 100%;
  height: auto;
}
.photo-list__item:hover img {
  border-color: #4e4d4d;
  box-shadow: 1px 1px 20px #b3b3b3;
}
.body-layout--circle .photo-list__item:hover img {
  border-radius: 48%;
}
.body-layout--circle .photo-list__item {
  margin: 1em;
  border-radius: 50%;
}
.photo-list--flex .photo-list__item {
  padding: 1em;
}
@supports (display: flex) {
  .photo-list--flex .photo-list__item {
    float: none;
    flex: 1 0 15%;
    box-sizing: border-box;
    padding: 0 0.5rem 1rem;
  }
}

.body-layout--circle .photo-list__item--featured {
  margin: 1em 4em 0 2em;
}

.body-layout--square .photo-list__item--animate {
  background: #131313;
  transition: all 20s ease 350ms ease;
}
.photo-list__item--animate img {
  transition: all 20s ease 350ms ease;
  opacity: 0.8;
}

@media (min-width: 1000px) and (max-width: 1199px), (min-width: 700px) and (max-width: 999px), (min-width: 525px) and (max-width: 699px) {
  .photo-list--flex .photo-list__item {
    flex: none;
    width: 33%;
    padding: 0;
    margin: 0;
  }
  @supports (display: flex) {
    .photo-list--flex .photo-list__item {
      width: auto;
      flex: 1 0 25%;
      padding: 0 0.5rem 1rem;
    }
  }
}
@media (max-width: 524px) {
  .photo-list--flex {
    display: block;
  }
  .photo-list--flex .photo-list__item {
    padding: 0;
    width: 50%;
    float: left;
    min-width: 0;
    max-width: 50%;
  }
  .photo-list__item {
    width: 50%;
  }
  .photo-list__item img {
    max-width: 182px;
  }
}
.laptop {
  margin: 2em auto 0;
  width: 60%;
  max-width: 1200px;
  max-width: 60vmax;
  position: relative;
}
.laptop svg {
  width: 100%;
  height: 100%;
  animation: 1s keyframeSvgAnimation ease forwards;
}
.laptop ellipse {
  animation: 1s keyframeEllipseAnimation ease forwards;
}
.laptop path:nth-of-type(2) {
  animation: 4s keyframeOverlapPathAnimation ease-in forwards;
}

@keyframes keyframeOverlapPathAnimation {
  0% {
    opacity: 0;
    fill: #71a097;
  }
  100% {
    opacity: 0.8;
    fill: #fff;
  }
}
@keyframes keyframeEllipseAnimation {
  0% {
    rx: 0;
    ry: 0;
    opacity: 0;
  }
  100% {
    opacity: 0.5;
    rx: 199;
    ry: 199;
  }
}
@keyframes keyframeSvgAnimation {
  0% {
    width: 40%;
    height: 40%;
    margin: 0;
  }
  100% {
    width: 90%;
    height: 90%;
    margin: 2% 0 0 3%;
  }
}
.laptop__top-shell {
  background: #fff;
  border: 2px solid #a2a2a2;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
  position: relative;
}

.laptop__webcam {
  background: #f7f7f7;
  border: 1px solid #a2a2a2;
  margin: 1em auto;
  margin: 6px auto;
  height: 5px;
  width: 5px;
  border-radius: 50%;
}

.laptop__screen {
  border: 1px solid #a2a2a2;
  height: 600px;
  height: 29vmax;
  margin: 0 6px 6px;
  border-radius: 5px;
  background-color: #2b2a2a;
  overflow: hidden;
}

.laptop__bottom-shell {
  width: 110%;
  margin: -2px auto 0 -5%;
}

.laptop__keyboard {
  border: 2px solid #a2a2a2;
  height: 8px;
  background-color: #fff;
  border-radius: 10px 10px 0 0;
  border-bottom-width: 1px;
}

.laptop__handle {
  background: #f7f7f7;
  border: 1px solid #a2a2a2;
  margin: auto;
  height: 5px;
  width: 20%;
  margin-top: -1px;
  border-radius: 0 0 4px 4px;
}

.laptop__base {
  border: 2px solid #a2a2a2;
  height: 10px;
  background-color: #fff;
  border-radius: 0 0 10px 10px;
  margin-top: -1px;
  border-top-width: 1px;
  border-top-color: #ccc;
}

@media (min-width: 700px) and (max-width: 999px), (min-width: 525px) and (max-width: 699px) {
  .laptop__screen {
    height: 200px;
  }
}
@media (max-width: 524px) {
  .body--home .laptop {
    width: 300px;
  }
  .laptop__screen {
    height: 150px;
    overflow: hidden;
    position: relative;
  }
  .laptop__webcam {
    margin: 1px auto;
    height: 3px;
    width: 3px;
  }
  .laptop__keyboard {
    height: 4px;
  }
  .latop__handle {
    height: 2px;
  }
  .laptop__base {
    height: 4px;
  }
}
@font-face {
  font-family: "tublitzed";
  src: url("/fonts/tublitzed/tublitzed.eot?18514995");
  src: url("/fonts/tublitzed/tublitzed.eot?18514995#iefix") format("embedded-opentype"), url("/fonts/tublitzed/tublitzed.woff?18514995") format("woff"), url("/fonts/tublitzed/tublitzed.ttf?18514995") format("truetype"), url("/fonts/tublitzed/tublitzed.svg?18514995#tublitzed") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'tublitzed';
    src: url('../font/tublitzed.svg?18514995#tublitzed') format('svg');
  }
}
*/
[class^=icon-]:before,
[class*=" icon-"]:before {
  font-family: "tublitzed";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-twitter:before {
  content: "\e800";
} /* '' */
.icon-facebook:before {
  content: "\e801";
} /* '' */
.icon-logo:before {
  content: "\e802";
} /* '' */
.icon-linkedin:before {
  content: "\e803";
} /* '' */
.icon-github-circled:before {
  content: "\e804";
} /* '' */
.icon-mail:before {
  content: "\e805";
} /* '' */
.icon-right-big:before {
  content: "\e806";
} /* '' */
.icon-left-big:before {
  content: "\e807";
} /* '' */
.icon-left-open:before {
  content: "\e808";
} /* '' */
.icon-right-open:before {
  content: "\e809";
} /* '' */
.icon-up-big:before {
  content: "\e80a";
} /* '' */
.icon-down-big:before {
  content: "\e80b";
} /* '' */
.icon-up-open:before {
  content: "\e80c";
} /* '' */
.icon-down-open:before {
  content: "\e80d";
} /* '' */
.icon-angle-double-left:before {
  content: "\e80e";
} /* '' */
.icon-angle-double-right:before {
  content: "\e80f";
} /* '' */
.icon-angle-double-up:before {
  content: "\e810";
} /* '' */
.icon-angle-double-down:before {
  content: "\e811";
} /* '' */
.icon-rocket:before {
  content: "\e812";
} /* '' */
.icon-cancel:before {
  content: "\e813";
} /* '' */
.icon-ok:before {
  content: "\e814";
} /* '' */
.icon-file-pdf:before {
  content: "\e815";
} /* '' */
