html {
font-size: 10px;
font-family: "Gotham Narrow SSm A", "Gotham Narrow SSm B", sans-serif;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
body {
margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
display: block;
}
audio,
canvas,
progress,
video {
display: inline-block;
vertical-align: baseline;
}
audio:not([controls]) {
display: none;
height: 0;
}
[hidden],
template {
display: none;
}
a {
background-color: transparent;
}
a:active,
a:hover {
outline: 0;
}
abbr[title] {
border-bottom: 1px dotted;
}
b,
strong {
font-weight: bold;
}
dfn {
font-style: italic;
}
h1 {
font-size: 2em;
margin: 0.67em 0;
}
mark {
background: #ff0;
color: #000;
}
small {
font-size: 80%;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
img {
border: 0;
} figure {
margin: 1em 40px;
}
hr {
box-sizing: content-box;
height: 0;
}
pre {
overflow: auto;
}
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
color: inherit;
font: inherit;
margin: 0;
}
button {
overflow: visible;
background-color: transparent;
border: 0;
}
button,
select {
text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button;
cursor: pointer;
}
button[disabled],
html input[disabled] {
cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
input {
line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box;
padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
legend {
border: 0;
padding: 0;
}
textarea {
overflow: auto;
}
optgroup {
font-weight: bold;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
}  .screen-reader-text {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
-webkit-clip-path: inset(50%);
clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute !important;
width: 1px;
word-wrap: normal !important; }
.screen-reader-text:focus {
background-color: #f1f1f1;
border-radius: 3px;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
clip: auto !important;
-webkit-clip-path: none;
clip-path: none;
color: #21759b;
display: block;
font-size: 14px;
font-size: 0.875rem;
font-weight: bold;
height: auto;
left: 5px;
line-height: normal;
padding: 15px 23px 14px;
text-decoration: none;
top: 5px;
width: auto;
z-index: 100000; } #content[tabindex="-1"]:focus {
outline: 0;
} body,
button,
input,
select,
optgroup,
textarea {
color: #404040;
font-family: "Gotham Narrow SSm A", "Gotham Narrow SSm B", sans-serif;
font-style: normal;
font-weight: 200;
font-size: 1.6rem;
line-height: 1.5;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: "Forum", serif;
text-transform: uppercase;
clear: both;
color: #000;
}
h2 {
font-size: 2.75rem;
letter-spacing: 0.35rem;
margin-top: 0;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
}
h3 {
font-weight: 400;
font-size: 1em;
letter-spacing: 0.35em;
color: #a3a3a3;
margin: 2rem 0 0;
}
section h3:before,
section h3:after {
content: "—";
display: inline-block;
padding: 0 5px;
}
h4 {
font-size: 1.2em;
letter-spacing: 0.1em;
text-transform: uppercase;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
margin-bottom: 0;
}
h5 {
font-size: 0.75em;
letter-spacing: 0.1em;
text-transform: uppercase;
font-family: "Gotham Narrow SSm A", "Gotham Narrow SSm B", sans-serif;
font-weight: 400;
color: #5c5c5c;
margin-top: 0;
}
@media all and (min-width: 767px) {
h2 {
font-size: 4rem;
letter-spacing: 0.65rem;
}
} p {
margin-bottom: 1.5em;
font-size: 0.9em;
line-height: 1.6;
letter-spacing: 1px;
}
dfn,
cite,
em,
i {
font-style: italic;
}
blockquote,
blockquote p {
font-family: "Forum", serif;
text-transform: uppercase;
margin: 0 1.5em;
}
address {
margin: 0 0 1.5em;
}
pre {
background: #eee;
font-family: "Courier 10 Pitch", Courier, monospace;
font-size: 15px;
font-size: 0.9375rem;
line-height: 1.6;
margin-bottom: 1.6em;
max-width: 100%;
overflow: auto;
padding: 1.6em;
}
code,
kbd,
tt,
var {
font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
font-size: 15px;
font-size: 0.9375rem;
}
abbr,
acronym {
border-bottom: 1px dotted #666;
cursor: help;
}
mark,
ins {
background: #fff9c0;
text-decoration: none;
}
big {
font-size: 125%;
} html {
box-sizing: border-box;
}
*,
*:before,
*:after { box-sizing: inherit;
}
body {
background: #fff; }
blockquote:before,
blockquote:after,
q:before,
q:after {
content: "";
}
blockquote,
q {
quotes: "" "";
}
hr {
background-color: #ccc;
border: 0;
height: 1px;
margin-bottom: 1.5em;
}
ul,
ol {
margin: 0 0 1.5em 3em;
}
ul {
list-style: disc;
}
ol {
list-style: decimal;
}
li > ul,
li > ol {
margin-bottom: 0;
margin-left: 1.5em;
}
dt {
font-weight: bold;
}
dd {
margin: 0 1.5em 1.5em;
}
img {
height: auto; max-width: 100%; }
figure {
margin: 0; }
table {
margin: 0 0 1.5em;
width: 100%;
}
a {
color: inherit;
text-decoration: none;
}
header {
position: fixed;
width: 100%;
z-index: 1000;
text-align: center;
}
header::after {
display: block;
content: "";
background-color: #fff;
height: 8rem;
position: absolute;
top: 0;
width: 100%;
z-index: -1;
transition: all 0.25s cubic-bezier(0.075, 0.82, 0.165, 1);
transform: translate3d(0, 0, 0);
}
.menu-toggle {
padding: 0.25em 0.5em;
width: 2.25em;
position: relative;
}
.menu-toggle div {
display: block;
width: 100%;
height: 0.35em;
border-top: 1px solid gray;
border-bottom: 1px solid gray;
}
@media screen and (max-width: 960px) {
header {
max-height: 5.75em;
overflow: hidden;
transition: max-height 0.15s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
header::after {
height: 100%;
}
.active-menu header {
height: 100vh;
max-height: 100vh;
}
header nav {
line-height: 3;
font-size: 1.1em;
opacity: 0;
transition: opacity 0.15s ease-out;
}
header nav:first-of-type {
margin-top: 12vh;
}
.active-menu header nav {
opacity: 1;
transition: 0.35s 0.15s ease-out;
}
}
header > div {
display: flex;
flex-flow: row wrap;
justify-content: space-evenly;
padding: 2rem 1rem;
transform: translate3d(0, 0, 0);
}
@media screen and (max-width: 40em) {
header > div {
padding: 1rem;
}
}
header > div > * {
width: 100%;
align-self: center;
}
header > div > button {
width: 5rem;
}
.site-branding {
position: relative; }
.logo-holder {
width: 95%;
max-width: 40rem;
margin: 0 auto;
}
.logo-holder svg:hover path {
fill: #999;
}
@media screen and (min-width: 960px) {
header > div > * {
flex: 0.75 1 auto;
}
.site-branding {
position: relative;
flex: 1.25 0 45%; }
.logo-holder {
width: 90%;
height: 50px;
max-width: 500px;
margin: 0 auto;
}
}
@media screen and (min-width: 1200px) {
.site-branding {
flex: 1.25 0 40%;
}
}
.logo-holder svg nav,
#subnav {  }
.active-menu nav {
opacity: 1;
transform: translateX(0);
}
nav ul {
margin: 0;
padding: 0;
text-align: center;
}
nav.main-navigation li {
list-style: none;
display: block;
vertical-align: middle;
font-family: "Forum", serif;
text-transform: uppercase;
letter-spacing: 0.25rem;
}
nav.main-navigation li a {
}
nav.main-navigation li:hover a {
color: #999;
}
#subnav {
background-color: #d9d9d9;
position: fixed;
width: 100%;
z-index: 999;
top: 10rem;
transition: all 0.25s cubic-bezier(0.075, 0.82, 0.165, 1);
}
nav.sub-navigation li {
display: inline-block;
position: relative;
font-size: 0.7em;
text-transform: uppercase;
font-weight: 400;
letter-spacing: 0.2rem;
padding: 0.5rem 0rem;
color: #000;
}
nav.sub-navigation li {
display: inline-block;
padding: 0 2rem;
}
nav.sub-navigation li a:hover {
color: #666;
}
nav.sub-navigation li:after {
display: block;
content: "";
height: 80%;
width: 1px;
background-color: #000;
position: absolute;
right: -0.25rem;
top: 10%;
}
nav.sub-navigation li:last-child:after {
display: none;
}
.scrolled #subnav {
transform: translateY(-1.2rem);
}
nav.sub-navigation li a.active {
color: #929292;
}
nav#filter-menu li a[href="#all"],
.active-filters nav#filter-menu li a[href="#filter"] {
opacity: 0 !important;
display: none;
}
.active-filters nav#filter-menu li a[href="#all"] {
opacity: 1 !important;
display: inline-block;
}
nav.sub-navigation.filters {
margin: 0;
padding: 2rem 0 1rem;
opacity: 0;
transform: translateY(-100%);
transition: transform 0s, opacity 0.5s cubic-bezier(0.6, -0.28, 0.735, 0.045);
background-color: #fff;
width: 100%;
text-align: center;
position: fixed;
top: 13rem;
z-index: 998;
}
.active-filters nav.sub-navigation.filters {
opacity: 1;
transform: translateY(0);
}
@media all and (max-width: 960px) {
.scrolled .active-filters nav.sub-navigation.filters {
opacity: 0 !important;
transform: translateY(-100%) !important;
}
}
@media all and (min-width: 960px) {
header:after {
height: 11rem;
}
.scrolled header:after {
transform: translateY(-3.2rem);
transition: all 0.25s cubic-bezier(0.075, 0.82, 0.165, 1);
}
header > div {
flex-flow: row nowrap;
height: 100%;
padding: 0rem 6rem;
}
#subnav {
height: auto;
padding: 0.1rem 1rem 0.3rem;
display: block;
top: 0;
}
header > div,
#subnav {
transition: all 0.25s cubic-bezier(0.075, 0.82, 0.165, 1);
transform: translateY(1.8rem);
}
#subnav {
transform: translateY(11rem);
}
.scrolled header > div,
.scrolled #subnav {
transform: translateY(0);
transition: all 0.25s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.scrolled #subnav {
transform: translateY(7.8rem);
}
header > div > * {  }
.menu-toggle {
display: none;
}
header > div > :nth-child(1) {
order: 3;
}
header > div > :nth-child(3) {
order: 2;
}
header > div > :nth-child(4) {
order: 4;
}
.logo-holder svg {
transform: translateY(0.5rem);
transition: all 0.25s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.logo-holder svg g.tagline { transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.scrolled .logo-holder svg {
transform: translateY(1.5rem);
}
.scrolled .logo-holder svg g.tagline {
opacity: 0;
}
nav,
body.about #subnav {
opacity: 1; }
nav.main-navigation ul {
display: flex;
align-content: space-between;
padding: 2.8rem 0 2.5rem;
position: relative; }
nav.main-navigation li {
display: inline-block;
position: relative;
width: 50%;
}  .scrolled nav.sub-navigation.filters {
top: 9rem;
transition: all 0s cubic-bezier(0.6, -0.28, 0.735, 0.045);
}
}
@media screen and (min-width: 1200px) {
.scrolled .logo-holder svg {
transform: translateY(1.3rem);
}
#site-navigation-1 ul:before,
#site-navigation-2 ul:after,
nav.main-navigation li:before,
nav.main-navigation li:after,
.site-branding:before,
.site-branding:after {
display: block;
content: "";
height: 4rem;
position: absolute;
border-left: 1px solid #d9d9d9;
right: 2.5px;
top: 0.4rem;
}
#site-navigation-1 ul:before {
left: -4px;
right: auto;
top: 1.8rem;
}
#site-navigation-2 ul:after {
right: -4px;
left: auto;
top: 1.8rem;
}
nav.main-navigation li:before,
.site-branding:before {
left: 2.5px;
right: auto;
}
nav.main-navigation li:before,
nav.main-navigation li:after {
top: -1rem;
}
} nav a {
position: relative;
}
nav li.current-menu-item a::after,
body.page-template-page_project nav li#menu-item-30 a::after {
content: "";
display: block;
width: 2rem;
height: 1px;
background-color: #d9d9d9;
position: absolute;
left: 50%;
margin-left: -1rem;
}
@media screen and (max-width: 960px) {
nav li.current-menu-item a::after {
bottom: -0.4em;
}
}
body:not(.page-template-page_homepage) main {
padding-top: 10rem;
}
main section {
min-height: calc(100vh - 10rem);
background-color: #d9d9d9;
display: flex;
align-items: center;
text-align: center;
position: relative;
}
main section > a {
position: absolute;
height: 10rem;
top: -10rem;
display: block;
}
main section:nth-child(2n) {
background-color: #fff;
}
section .centered-content {
width: 90%; margin: 8rem auto;
}
section .centered-content > * {
max-width: 800px;
margin-left: auto;
margin-right: auto;
}
section .centered-content p { margin: 0 auto;
}
section .centered-content blockquote,
section .centered-content blockquote p { font-size: calc(3vmin + 1rem);
letter-spacing: 0.35rem;
line-height: 1.25;
margin: 3rem 0;
color: #8e8e8e;
}
section .subpage-anchor {
position: absolute;
top: -100px;
left: 0;
}
@media all and (min-width: 767px) {
section .centered-content {
width: 80%;
}
section .centered-content blockquote,
section .centered-content blockquote p {
font-size: 3rem;
letter-spacing: 0.65rem;
line-height: 1.35;
margin: 6rem auto;
padding: 0 5vw;
}
section .centered-content blockquote p {
padding: 0;
}
}
section .centered-content .columns {
text-align: justify;
padding: 3rem 0 6rem;
max-width: 1024px; }
@media all and (min-width: 767px) {
section .centered-content .columns {
-moz-column-count: 2;
column-count: 2;
-moz-column-gap: 3rem;
column-gap: 3rem;
}
}
@media all and (min-width: 1024px) {
section .centered-content .columns {
-moz-column-count: 2;
column-count: 2;
}
}
section .centered-content p {
letter-spacing: 0.05rem; font-weight: 200;
text-indent: 2.5rem;
}
section .centered-content p:first-of-type {
text-indent: 0;
}
section .centered-content p strong {
color: #000;
text-transform: uppercase;
font-weight: 200;
font-size: 0.95em;
} main section.philosophy {
background-color: white;
color: #a2a2a2;
}
main section.philosophy .centered-content {
padding: 0 2.5rem;
}
main section.philosophy:before,
main section.philosophy:after {
content: "";
display: block;
position: absolute;
top: 3rem;
right: 2rem;
bottom: 3rem;
left: 2rem;
border: solid 1px #a2a2a2;
}
main section.philosophy:after {
top: 2rem;
right: 3rem;
bottom: 2rem;
left: 3rem;
} section.philosophy .centered-content p {
text-align: justify;
}
section.founder {
background-color: #c4c4c4;
background-position: center center;
background-size: cover;
}
section.founder h3 {
color: #000;
margin-top: 6rem;
}
section {
background-size: cover;
background-position: center center;
}
section.collaborations {
background-color: #c4c4c4;
color: white;
}
section.community h2,
section.collaborations .centered-content p {
color: #000;
}
section.community {
background-size: contain;
background-position: top center;
background-repeat: no-repeat;
}
section.community h5 { color: #000;
font-size: 1.25rem;
margin: 1rem auto 0;
}
section.community a:hover h5 {
color: #666;
}
section.community h5:after {
content: "—";
display: block;
}
#community-list {
max-width: 1500px !important;
}
#community-list ul { list-style: none;
padding: 0;
margin: 0;
}
@media all and (min-width: 1100px) {
#community-list ul li {
width: 50%;
padding: 0 0 0 30px;
display: inline-block;
vertical-align: top;
}
#community-list ul li:nth-child(2n - 1) {
padding: 0 30px 0 0;
}
}
#community-list p {
max-width: 550px !important;
margin-left: auto;
margin-right: auto; }
.community-logo-holder {
max-height: 120px;
margin-top: 3rem;
position: relative;
overflow: hidden;
}
.community-logo {
width: 150px;
}
.community-logo.wide {
width: 200px;
margin-top: -15px;
}
.community-logo.extra-wide {
width: 250px;
margin-top: -25px;
}
.community-logo.full-width {
width: 100%;
max-width: 400px;
transform: translateY(-25%);
}
section.community .centered-content > p,
section.collaborations .centered-content > p {
line-height: 1.9;
font-family: "Gotham Narrow SSm A", "Gotham Narrow SSm B", sans-serif;
font-weight: 200;
opacity: 0.99;
text-transform: uppercase;
}
section.community .centered-content > p {
text-transform: none;
}
section.five-orders {
padding: 5rem 5rem 15rem;
min-height: auto;
}
section.five-orders .image-holder {
max-width: 850px;
margin: 0 auto;
}
@media all and (min-width: 767px) {
main section.philosophy .centered-content {
padding: 0rem;
}
} .fullscreen-image {
position: relative;
top: 0;
right: 0;
bottom: 0;
left: 0;
height: calc(100vh - 10rem);
width: 100vw;
overflow: hidden;
z-index: 10;
}
.fullscreen-image .image-holder,
.fullscreen-image .image-holder img {
height: 100%;
width: 100%;
}
.fullscreen-image .image-holder img {
-o-object-fit: cover;
object-fit: cover;
}
.overlay-quote {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 100;
display: flex;
justify-content: center;
-webkit-flex-align: center;
align-items: center;
}
body.page-template-page_contact .overlay-quote {
display: block;
top: auto;
right: auto;
bottom: 3rem;
left: 2rem;
font-weight: 400;
}
body.page-template-page_contact .overlay-quote h3,
body.page-template-page_contact .overlay-quote p {
font-weight: 400;
}
@media screen and (min-width: 40em) {
body.page-template-page_contact .overlay-quote {
display: block;
top: auto;
right: auto;
bottom: 3rem;
left: 5rem;
}
}
.overlay-quote h2 {
text-align: center;
align-self: center;
padding: 1rem;
width: 80%;
max-width: 800px; color: white;
font-size: 3.5vmin;
font-size: calc(2vmin + 1em);
line-height: 1.75;
letter-spacing: 0.5rem;
}
.page-template-page_homepage .overlay-quote {
top: 7em;
}
body:not(.page-template-page_homepage) .overlay-quote h2 {
font-size: 4.5vmin;
font-size: calc(2vmin + 1em);
line-height: 1.75;
letter-spacing: 0.45rem;
}
body.page-template-page_contact .overlay-quote {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
}
body.page-template-page_contact .overlay-quote h3 {
color: #000;
letter-spacing: 0.4rem;
font-size: 1.25em;
}
body.page-template-page_contact .overlay-quote {
color: #000;
font-weight: 200;
}
body.page-template-page_contact .overlay-quote p {
margin: 0.3rem 0 2rem 0;
text-transform: uppercase;
letter-spacing: 0.2rem;
line-height: 1.75;
}
body.page-template-page_contact .overlay-quote a:hover {
color: #000;
}
.overlay-quote svg {
width: 3rem;
height: 3rem;
margin-left: -0.8rem;
margin-right: 1.5rem;
}
.social {
min-width: 200px;
text-align: right;
}
.social svg {
width: 2rem;
height: 2rem;
margin-top: -0.5rem;
margin-right: 0.5rem;
}
.overlay-quote svg path,
.overlay-quote svg polygon,
.social svg path,
.social svg polygon {
fill: #fff;
}
.overlay-quote svg:hover path,
.overlay-quote svg:hover polygon,
.social svg:hover path,
.social svg:hover polygon {
fill: #000;
} .outset-border::before {
content: "";
display: block;
border: 1px solid rgba(0, 0, 0, 0.3);
position: absolute;
top: -0.8rem;
right: -0.8rem;
bottom: -0.8rem;
left: -0.8rem;
z-index: 100;
}
.inset-border::before {
content: "";
display: block;
border: 1px solid rgba(255, 255, 255, 0.9);
position: absolute;
top: 0.8rem;
right: 0.8rem;
bottom: 0.8rem;
left: 0.8rem;
z-index: 100;
}
.portrait {
width: 70%;
max-width: 50rem;
height: auto;
margin: 0 auto;
position: relative;
}
@media screen and (min-width: 767px) {
.portrait.vertical {
width: 30vw;
max-width: 28rem;
}
.portrait {
width: 40vw;
max-width: 32rem;
}
}
.portrait img {
width: 100%;
height: 100%;
-o-object-fit: contain;
object-fit: contain;
} .team ul {
padding: 0;
margin: 0;
display: flex;
justify-content: space-between;
flex-flow: row wrap;
position: relative;
}
.team ul li {
display: block;
margin: 1rem 0;
padding: 0 1rem;
width: 100%;
}
.team ul li#team-overlay {
width: 100%;
height: 100%;
display: flex;
align-items: center;
text-align: center;
position: absolute;
z-index: 100;
}
.team ul li#team-overlay > * {
display: block;
margin: 0 auto;
}
.team ul li#team-overlay h4,
.team ul li#team-overlay h3,
.team ul li#team-overlay p {
padding-left: 10rem;
padding-right: 10rem;
}
.team ul li#team-overlay p {
margin: 5rem 0;
color: #000;
}
.team ul li#team-overlay button {
font-size: 0.7em;
letter-spacing: 0.2rem;
padding: 0;
text-transform: uppercase;
position: relative;
color: #000;
}
.team ul li#team-overlay button:hover {
color: #fff;
}
.team ul li#team-overlay button::after {
content: "";
display: block;
height: 1px;
width: 3.5rem;
position: absolute;
bottom: 0;
background-color: #000;
}
.team ul li#team-overlay button:hover::after {
background-color: #fff;
}
.team.active-bio h3 {
color: #fff;
}
.team ul li#team-overlay .image-holder {
width: 28%;
display: inline-block;
}
.team.active-bio ul li:not(#team-overlay),
.team #team-overlay {
opacity: 0;
}
.team ul li#team-overlay > div {
opacity: 0; }
@media all and (min-width: 767px) {
.team ul li:not(#team-overlay) {
width: 27%;
display: inline-block;
cursor: pointer;
}
.team.active-bio #team-overlay,
.team ul li:not(#team-overlay) {
opacity: 1;
}
.team.active-bio {
background-color: #929292;
transition: background-color 4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.team.active-bio ul li#team-overlay > div {
opacity: 1;
transition: opacity 4s 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}
} #proj-grid {
padding: 0 1rem;
font-size: 0;
max-width: 1600px;
margin: 0 auto;
}
.active-filters #proj-grid {
transform: translateY(3rem);
}
#proj-grid li {
width: 100%;
display: block;
list-style: none;
padding: 1rem;
position: relative;
}
#proj-grid li span {
position: absolute;
z-index: 100;
display: flex;
align-items: center;
top: 0;
right: 4rem;
bottom: 0;
left: 4rem;
}
#proj-grid li span h2 {
text-align: center;
display: block;
width: 100%;
max-width: 25rem;
margin: 0 auto;
font-size: 2.5rem;
letter-spacing: 0.3rem;
color: #fff;
line-height: 1.25;
}
@media all and (min-width: 767px) and (max-width: 1024px) {
#proj-grid li span h2 {
font-size: 2vw;
}
}
#proj-grid li .image-holder:after {
display: block;
content: "";
position: absolute;
height: 100%;
width: 100%;
top: 0;
z-index: 10;
background-color: rgba(0, 0, 0, 0.8);
opacity: 0.25;
transition: opacity 0.35s ease-out;
}
#proj-grid li:hover .image-holder:after {
opacity: 1;
}
#proj-grid li .image-holder {
padding-top: 135%;
position: relative;
}
#proj-grid li .image-holder img {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
-o-object-fit: cover;
object-fit: cover;
}
@media all and (min-width: 767px) {
#proj-grid {
padding: 5rem 5rem 5rem;
}
#proj-grid li {
width: 33.33%;
display: inline-block;
vertical-align: top;
}
}
@media all and (min-width: 1200px) {
#proj-grid li {
width: 25%;
}
}
.project-section {
background-color: #fff;
display: block;
}
.project-section h2 {
font-size: 2.25rem;
letter-spacing: 0.3rem;
max-width: 50rem;
margin: 0 auto 0.5rem;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
font-weight: 400;
}
.project-section h2.long-title {
font-size: 1.75rem;
line-height: 2;
letter-spacing: 0.2rem;
margin: 0 auto 0.75rem;
padding-left: 2rem;
}
.project-section h5 {
color: #a4a4a4;
}
.project-info {
max-width: 80rem;
position: relative;
margin: 0 auto;
}
.project-info span.credits {
display: block;
margin-bottom: 6px;
font-weight: 200;
font-size: 1rem;
letter-spacing: 1px;
line-height: 1.5;
}
.project-info span.credits strong {
text-transform: uppercase;
font-weight: 200;
}
@media all and (min-width: 767px) {
.project-info span.credits {
display: inline;
margin: 0 8px;
} }
.project-info span#siblings,
.project-info span#counter {
display: block;
}
.project-info span#siblings,
.project-info span#siblings a,
.project-info span#counter {
font-size: 1.15rem;
text-transform: uppercase;
letter-spacing: 0.3rem;
color: #222;
font-weight: 200;
padding: 0;
}
.project-info span#siblings a:hover {
color: #a4a4a4;
}
@media all and (min-width: 767px) {
.project-info span#siblings,
.project-info span#counter {
position: absolute;
top: 1rem;
left: 0;
}
.project-info span#counter {
right: 0;
left: auto;
}
} #proj-index {
position: fixed;
top: 10rem;
right: 0;
bottom: 0;
left: 0;
background-color: #fff;
z-index: -1;
padding: 6rem 2rem;
pointer-events: none;
opacity: 0;
overflow: scroll;
}
#proj-index > div {
width: 90%;
max-width: 75rem;
margin: 3rem auto;
text-align: center;
}
@media screen and (min-width: 35em) {
#proj-index > div {
-moz-column-count: 2;
column-count: 2;
}
}
#proj-index h4 {
margin: 0;
padding: 0;
font-weight: 200;
letter-spacing: 1px;
font-size: 1.5rem;
font-family: "Gotham Narrow SSm A", "Gotham Narrow SSm B", sans-serif;
}
#proj-index ul {
padding: 1.85rem 0 7rem 0;
margin: 0;
display: block;
min-height: 10px;
}
#proj-index ul li {
list-style: none;
text-transform: uppercase;
font-weight: 200;
margin-bottom: 0.85rem;
font-family: "Forum", serif;
letter-spacing: 0.2rem;
}
#proj-index ul li a {
color: #999;
}
#proj-index ul li a:hover {
color: #000;
}
#proj-index .index-cate {
page-break-inside: avoid;
}
.active-index #proj-index {
z-index: 900;
pointer-events: auto;
opacity: 1;
} .project-section {
padding: 1rem 2rem 5rem;
}
.project-slideshow {
overflow: hidden;
position: relative;
margin-bottom: 2.5rem;
}
.project-slideshow .slide,
.project-slideshow .slide .image-holder {
width: 100%;
height: 100%;
}
.project-slideshow .slide .image-holder {
padding-bottom: 2rem;
}
@media screen and (min-width: 35em) {
.project-section {
padding: 3rem 5rem 0rem;
min-height: auto;
}
.project-slideshow {
height: calc(100vh - 25.5rem);
width: 80%;
max-width: 120vmin;
margin: 0 auto 2.5rem;
}
.project-slideshow .slide .image-holder {
padding-bottom: 0;
}
}
@media screen and (max-aspect-ratio: 1/1) and (min-width: 35em) {
.project-slideshow {
width: 95%;
max-width: none;
}
} .tns-outer {
padding: 0 !important;
position: relative;
}
.tns-outer [hidden] {
display: none !important;
}
.tns-outer [aria-controls],
.tns-outer [data-action] {
cursor: pointer;
}
.tns-slider {
transition: all 0s;
}
.tns-slider > .tns-item {
box-sizing: border-box;
}
.tns-horizontal.tns-subpixel {
white-space: nowrap;
}
.tns-horizontal.tns-subpixel > .tns-item {
display: inline-block;
vertical-align: top;
white-space: normal;
}
.tns-horizontal.tns-no-subpixel:after {
content: "";
display: table;
clear: both;
}
.tns-horizontal.tns-no-subpixel > .tns-item {
float: left;
}
.tns-horizontal.tns-carousel.tns-no-subpixel > .tns-item {
margin-right: -100%;
}
.tns-no-calc {
position: relative;
left: 0;
}
.tns-gallery {
position: relative;
left: 0;
min-height: 1px;
}
.tns-gallery > .tns-item {
position: absolute;
left: -100%;
transition: transform 0s, opacity 0s;
}
.tns-gallery > .tns-slide-active {
position: relative;
left: auto !important;
}
.tns-gallery > .tns-moving {
transition: all 0.25s;
}
.tns-autowidth {
display: inline-block;
}
.tns-lazy-img {
transition: opacity 0.6s;
opacity: 0.6;
}
.tns-lazy-img.tns-complete {
opacity: 1;
}
.tns-ah {
transition: height 0s;
}
.tns-ovh {
overflow: hidden;
}
.tns-visually-hidden {
position: absolute;
left: -10000em;
}
.tns-transparent {
opacity: 0;
visibility: hidden;
}
.tns-fadeIn {
opacity: 1;
filter: alpha(opacity=100);
z-index: 0;
}
.tns-normal,
.tns-fadeOut {
opacity: 0;
filter: alpha(opacity=0);
z-index: -1;
}
.tns-vpfix {
white-space: nowrap;
}
.tns-vpfix > div,
.tns-vpfix > li {
display: inline-block;
}
.tns-t-subp2 {
margin: 0 auto;
width: 310px;
position: relative;
height: 10px;
overflow: hidden;
}
.tns-t-ct {
width: 2333.3333333%;
width: calc(100% * 70 / 3);
position: absolute;
right: 0;
}
.tns-t-ct:after {
content: "";
display: table;
clear: both;
}
.tns-t-ct > div {
width: 1.4285714%;
width: calc(100% / 70);
height: 10px;
float: left;
} .large-format-slider .tns-controls:focus,
.large-format-slider .tns-controls button,
.large-format-slider .tns-controls button:hover,
.large-format-slider .tns-controls button:active,
.large-format-slider .tns-controls button:focus {
outline: 0px !important;
}
.tns-item.slide figure img,
.tns-item.slide figure,
.tns-item.slide,
.tiny-slideshow,
.tns-inner,
.tns-liveregion,
.tns-outer,
.tns-outer .tiny-slideshow {
height: 100%;
}
.slideshow-wrapper {
position: relative; height: 62vw;
max-height: calc(100vh - 13em);
}
@media screen and (min-width: 765px) {
.slideshow-wrapper {
height: 51vw;
}
}
.slide img {
width: 100%;
height: auto;
}
.tns-item.slide img {
-o-object-fit: cover;
object-fit: cover;
font-family: "object-fit: cover;";
width: 100%;
height: 100%;
}
.tns-item.slide.vertical img {
-o-object-fit: contain;
object-fit: contain;
font-family: "object-fit: contain;";
}
.tns-item.slide .image-holder {
height: 100%;
}
.tns-controls button {
position: absolute;
top: 2.5rem;
bottom: 2.5rem;
left: -5%;
right: auto;
height: calc(100% - 5rem);
width: calc(50% + 10vw);
background: none;
z-index: 400;
padding: 0;
outline: 0px;
border: none;
overflow: hidden;
text-indent: 100%;
white-space: nowrap; }
@media screen and (min-width: 765px) {
.tns-controls button {
cursor: none !important;
}
}
.tns-controls button:focus,
.tns-controls button:active,
.tns-controls:focus,
.tns-controls:active {
outline: 0;
border: none;
}
.tns-controls button:after {
content: "";
position: absolute;
top: calc(50% - 0.5rem);
right: 4px;
bottom: auto;
left: auto;
height: 1rem;
width: 1rem;
border-top: 1px solid grey;
border-right: 1px solid grey;
transform: rotate(45deg);
opacity: 0;
}
.tns-controls button[data-controls="next"] {
right: 0;
left: auto;
}
.tns-controls button[data-controls="prev"]:after {
left: 0;
right: auto;
transform: rotate(-135deg);
} #gallery-arrow {
position: fixed;
height: 3rem;
width: 3rem;
border-bottom: 2px solid #eee;
border-right: 2px solid #eee;
transform: rotate(-45deg);
pointer-events: none;
z-index: 1000;
display: none;
}
@media (min-width: 35em) {
#gallery-arrow {
display: block;
}
#gallery-arrow.left {
opacity: 1;
filter: alpha(opacity=100);
transform: rotate(135deg);
}
#gallery-arrow.right {
opacity: 1;
filter: alpha(opacity=100);
transform: rotate(-45deg);
}
#gallery-arrow.hidden {
opacity: 0;
filter: alpha(opacity=0);
transform: rotate(0deg);
transition: opacity 0.25s, transform 25s, -webkit-filter 0.25s;
transition: opacity 0.25s, filter 0.25s, transform 25s;
transition: opacity 0.25s, filter 0.25s, transform 25s, -webkit-filter 0.25s;
}
} .image-holder {
position: relative;
font-size: 0;
}
.image-holder img,
.image-holder img.image-loading {
opacity: 0;
transition: opacity 0.35s ease-out;
}
.image-holder img.image-loaded {
opacity: 1;
}
.image-holder img[data-ofi-src] {
pointer-events: none;
} .image-holder img,
.image-holder img.image-loading {
opacity: 0;
transition: opacity 0.35s ease-out;
}
.image-holder img.image-loaded {
opacity: 1;
}
.image-holder img[data-ofi-src] {
pointer-events: none;
} .heart-slideshow {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
height: 100vh;
width: 100vw;
overflow: hidden;
z-index: 10;
}
.heart-slideshow .heart-slide {
position: absolute;
height: 100%;
width: 100%;
z-index: 1;
opacity: 0;
will-change: opacity;
transition: none;
}
.heart-slide .image-holder {
height: 100%;
width: 100%;
margin: 0;
}
.heart-slide img {
display: block;
height: 100%;
width: 100%;
visibility: hidden;
}
.heart-slide img[src] {
visibility: visible;
-o-object-fit: cover;
object-fit: cover;
font-family: "object-fit: cover;";
}
.heart-slide.active {
opacity: 1;
z-index: 20;
transform: translate3d(0, 0, 0);
-webkit-backface-visibility: visible;
backface-visibility: visible;
transition: opacity 3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.heart-slide.previous {
z-index: 10;
transform: translate3d(0, 0, 0);
transition: opacity 3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.textures {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0; z-index: 10;
}
.heart-slide .textures .image-holder {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
opacity: 0.25;
}
.heart-slide#slide1 .textures .image-holder,
.fullscreen-image .textures .image-holder {
opacity: 1;
z-index: 10;
}
.textures .image-holder img,
.heart-slide .textures img[src] {
-o-object-fit: contain !important;
object-fit: contain !important;
}
.heart-slide#slide1 .textures .image-holder img,
.heart-slide#slide1 .textures img[src],
.fullscreen-image .textures .image-holder img {
-o-object-fit: cover !important;
object-fit: cover !important;
-o-object-position: top center;
object-position: top center;
}    .heart-slide .textures .image-holder {
transform: scale(1) rotate(0.05deg);
transition: transform 10s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.heart-slide.playing-anim .textures .image-holder {
transition: transform 10s cubic-bezier(0.455, 0.03, 0.515, 0.955);
} .heart-slide .textures .image-holder.slide-left {
transform: translate3d(1%, 0, 0) scale(1.0125) rotate(0.05deg);
}
.heart-slide.playing-anim .textures .image-holder.slide-left {
transform: translate3d(-3%, 0, 0) scale(1.0325) rotate(0.05deg);
} .heart-slide .textures .image-holder.slide-right img {
-o-object-position: right bottom;
object-position: right bottom;
}
.heart-slide#slide3 .textures .image-holder.slide-right img {
-o-object-fit: cover !important;
object-fit: cover !important;
-o-object-position: center;
object-position: center;
font-family: "object-fit: cover;";
}
.heart-slide .textures .image-holder.slide-right {
transform: translate3d(-1%, 0, 0) scale(1.125) rotate(0.05deg);
}
.heart-slide.active .textures .image-holder.slide-right {
transform: translate3d(3%, 0, 0) scale(1.125) rotate(0.05deg);
}  nav.filters {
}
.filtering + #proj-grid {
opacity: 0;
transition: opacity 0.6s ease-out, transform 0.15s ease-out;
}
.filters.filtering + #proj-grid .grid-item {
transition: opacity 0s;
}
.filters + #proj-grid .grid-item {
opacity: 0;
visibility: hidden;
} .filters:not([data-filterby="filter"]) + #proj-grid .grid-item:not(.active) {
display: none;
}
.filters + #proj-grid .grid-item.active {
transition: opacity 0s;
visibility: visible;
display: inline-block;
opacity: 1;
}
.filters + #proj-grid .grid-item.image-loaded {
transition: opacity 1.2s cubic-bezier(0.645, 0.045, 0.355, 1);
opacity: 1;
visibility: visible;
}
.filters.filtering + #proj-grid {
opacity: 0;
transition: opacity 0.3s ease-out;
}  .page-id-628 .fullscreen-image {
height: calc(100vh - 16.5rem);
}
.page-id-628 .textures {
display: none;
}
.page-id-628 .overlay-quote h2 a {
font-size: 2rem; letter-spacing: 1px;
font-family: "Gotham Narrow SSm A", "Gotham Narrow SSm B", sans-serif;
font-weight: normal;
}
.page-id-628 .overlay-quote h2 a:hover {
color: #ddd;
}
@media screen and (max-width: 767px) {
.page-id-628 .overlay-quote h2 {
width: 95%;
}
.page-id-628 .overlay-quote h2 br {
display: none !important;
}
.page-id-628 .overlay-quote h2 a {
display: block !important;
}
.page-id-628 .overlay-quote h2 a {
font-size: 1.5rem;
}
} footer {
background-color: #b2b2b2;
padding: 2rem 2rem;
color: #fff;
text-align: center;
}
footer span {
vertical-align: middle;
}
footer span.left a {
position: relative;
padding: 0 8px;
}
footer span.left a:after {
content: "|";
display: block;
position: absolute;
right: 0;
top: 0;
}
footer span.left a:after {
content: "|";
display: block;
position: absolute;
right: -4px;
top: 0;
}
footer span.left a:last-child:after {
content: "";
}
footer span:nth-child(2) {
font-family: "Forum";
text-transform: uppercase;
letter-spacing: 0.3rem;
font-size: 1.1em;
}
footer span:first-child,
footer span:last-child {
float: left;
font-size: 0.7em;
letter-spacing: 0.2em;
margin-top: 0.5rem;
display: none;
}
footer span:last-child {
float: right;
}
body.page-template-page_homepage footer,
body.page-template-page_contact footer,
body.page-template-page_project footer {
display: none;
}
@media all and (min-width: 767px) {
footer {
padding: 2rem 6rem;
}
footer span:first-child,
footer span:last-child {
display: block;
}
footer span:nth-child(2) {
margin-left: -5rem;
}
}  #credit svg svg.siteby path,
#credit svg svg.d path,
#credit svg svg.therest path {
fill: #000;
} #credit svg svg.siteby,
#credit svg svg.therest {
opacity: 0;
filter: alpha(opacity=0);
transition: opacity 0.75s ease, -webkit-filter 0.75s ease;
transition: opacity 0.75s ease, filter 0.75s ease;
transition: opacity 0.75s ease, filter 0.75s ease, -webkit-filter 0.75s ease;
}
#credit {
opacity: 0;
margin: 2em 0 0;
padding: 0;
overflow: hidden;
display: block;
position: relative;
width: 200px;
height: 12px;
max-width: 10px;
transition: max-width 0.75s ease, opacity 0.5s ease-in;
z-index: 99999;
}
#credit svg {
height: 100%;
position: absolute;
left: 0;
right: auto;
} #credit > a {
display: block;
position: relative;
margin: 0 !important;
padding: 0 !important;
height: 12px;
width: 200px;
transform: translateX(-30px);
transition: transform 0.75s ease;
}
#credit:hover {
max-width: 200px;
}
#credit:hover > a {
transform: translateX(0px);
}
#credit:hover svg svg.siteby,
#credit:hover svg svg.therest {
opacity: 1;
filter: alpha(opacity=100);
}
.fade-in:first-of-type {
opacity: 1;
}
.fade-in {
opacity: 0;
transition: opacity 0.5s;
}
.fade-in.in-view {
opacity: 1;
}