@charset "UTF-8";

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:after,
*.before {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/*** RESET 
*****************************************/
html,
body,
div,
main,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-weight: inherit;
  font-style: inherit;
  font-family: inherit;
  vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary,
main {
  display: block;
}
* {
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
a {
  text-decoration: none;
}
body {
  line-height: 1;
}
ol,
ul {
  list-style-type: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption,
th,
td {
  text-align: left;
  font-weight: normal;
}
input,
textarea {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
}
button,
input[type='button'] {
  background: 0;
}
:required {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -o-box-shadow: none;
  -ms-box-shadow: none;
  box-shadow: none;
}
em,
i {
  font-style: italic;
}
strong,
b {
  font-weight: bold;
}
u {
  text-decoration: underline;
}
pre,
code {
  font-family: Monaco, Courier, monospace;
}
pre {
  white-space: pre;
  white-space: pre-wrap;
  white-space: pre-line;
  word-wrap: break-word;
}
blockquote,
q {
  quotes: '' '';
}
blockquote:before,
blockquote:after {
  content: '';
}
q:before,
q:after {
  content: '';
}
a {
  cursor: pointer;
}
input[type='submit'],
input[type='button'] {
  cursor: pointer;
}
button,
label[for] {
  cursor: pointer;
}
img {
  -ms-interpolation-mode: bicubic;
}
.c:before,
.c:after {
  content: ' ';
  display: table;
}
.c:after {
  clear: both;
}
.c {
  *zoom: 1;
}

/*** GLOBAL 
**********************************************/
@font-face {
  font-family: 'GT Walsheim';
  src: url('../fonts/GT-Walsheim.woff') format('woff');
  font-style: normal;
  font-weight: 400;
}
html {
  font-size: 10px;
}
body {
  font-size: 100%;
  font-family: 'GT Walsheim', sans-serif;
}

main {
  font-size: 1.8rem;
  line-height: 1.39em;
  background-color: #fff;
  box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.2);
}

.inner {
  width: 100%;
  max-width: 148rem;
  padding-left: 4rem;
  padding-right: 4rem;
  margin: 0 auto;
}
@media screen and (max-width: 620px) {
  .inner {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.inner-projects {
  padding-left: 3rem;
  padding-right: 3rem;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

a {
  color: #336666;
  -moz-transition: color 200ms;
  -o-transition: color 200ms;
  -webkit-transition: color 200ms;
  transition: color 200ms;
}
a:hover {
  color: #000;
}

/* RESPONSIVE COLUMNS */
.column {
  float: left;
  width: 25%;
  padding-right: 1em;
}
.column2 {
  float: left;
  width: 50%;
  padding-right: 2em;
}
@media screen and (max-width: 840px) {
  div.column,
  div.column2 {
    float: none;
    display: inline-block;
    vertical-align: top;
    width: 100%;
    padding-bottom: 3rem;
  }
}

.column h2 {
  color: #336666;
  margin-bottom: 1em;
}
@media screen and (max-width: 840px) {
  .column h2 {
    margin-bottom: 0;
  }
}

.column a {
  color: #000;
}
.column a:hover {
  color: #336666;
}

/*** HEADER SECTION
***************************************************/
header {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 9999;
  background-color: #fff;
}

header div {
  padding: 7.5rem 0;
  -moz-transition: padding 200ms;
  -o-transition: padding 200ms;
  -webkit-transition: padding 200ms;
  transition: padding 200ms;
}
@media screen and (max-width: 620px) {
  header div {
    padding: 3rem;
  }
}

header div.js-nav {
  padding: 3.5rem 4rem;
}

@media screen and (max-width: 840px) {
  header {
    position: absolute;
  }
}

/*** LOGO
***************************************************/
.logo {
  display: block;
  float: left;
  width: 11rem;
  height: auto;
}
@media screen and (max-width: 620px) {
  .logo {
    overflow: hidden;
    float: none;
    margin: 0 auto;
    width: 7.5rem;
    height: auto;
  }
}

/*** NAVIGATION
***************************************************/
nav {
  float: right;
}
@media screen and (max-width: 620px) {
  nav {
    float: none;
    margin: 0 auto;
    text-align: center;
  }
}

nav li {
  display: inline-block;
  line-height: 4.2rem;
  color: #336666;
}
nav li:after {
  content: ' — ';
}
nav li:last-child:after {
  content: none;
}

/*** INTRO 
***************************************************/
.intro {
  font-size: 6rem;
  background-color: #fff;
  line-height: 1.08em;
  padding: 24rem 0 15rem;
}
@media screen and (max-width: 1180px) {
  .intro {
    font-size: 5rem;
  }
}
@media screen and (max-width: 1000px) {
  .intro {
    font-size: 4rem;
  }
  @media screen and (max-width: 820px) {
    .intro {
      font-size: 3.5rem;
      padding: 22rem 0 10rem;
    }
  } /*was 19.2rem*/
  @media screen and (max-width: 705px) {
    .intro {
      font-size: 3rem;
    }
  }
  @media screen and (max-width: 620px) {
    .intro {
      font-size: 2.5rem;
      padding: 16rem 0 10rem;
    }
  }

  /*.intro br{display:none}*/
  .intro br:nth-child(2) {
    display: block;
  }
}

/*** PROJECTS 
***************************************************/
.info {
  padding-bottom: 15rem;
  background-color: #fff;
}
@media screen and (max-width: 975px) {
  .info {
    padding-bottom: 12.5rem;
  }
}
@media screen and (max-width: 975px) {
  .info {
    padding-bottom: 12.5rem;
  }
}
@media screen and (max-height: 730px) {
  .info {
    padding-bottom: 12.5rem;
  }
}
@media screen and (max-width: 840px) {
  .info {
    padding-bottom: 9.5rem;
  }
}
@media screen and (max-width: 840px) {
  .info {
    padding-bottom: 7rem;
  }
}

/* ACCORDION STYLES */
li.open a.switch {
  color: #336666;
}
li:not(.open) a.switch {
  color: #000;
}
.details {
  font-size: 1.4rem;
  padding-left: 2rem;
}

/*** FOOTER 
***************************************************/
footer {
  background-color: #336666;
  font-size: 1.8rem;
  line-height: 1.5em;
  color: #fff;
  padding: 5rem 0 5rem 0;
  height: auto;
  overflow: hidden;
}

footer a {
  color: #fff;
}

.long-email {
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

.contact-warning {
  font-size: 1.5rem;
}

.dn {
  display: none;
}

@media (min-width: 30em) {
  .dn-ns {
    display: none;
  }
  .di-ns {
    display: inline;
  }
}

.pb4 {
  padding-bottom: 2rem;
}

.bg-green {
  background-color: #336666;
}

.tc {
  text-align: center;
}

.lh-1p4 {
  line-height: 1.4;
}

.white {
  color: white;
}

/*** BIO PAGE
***************************************************/

.page-heading {
  color: #336666;
}
