html,body,div,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{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}
/* FNS */
.hide(){ opacity: 0.0001; position: absolute; top: 0; left: 0; pointer-events: none; z-index: -20; width: 0; height: 0; overflow: hidden; }
.flex(){ display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; }
.inlineflex(){ display: -webkit-inline-box; display: -moz-inline-box; display: -ms-inline-flexbox; display: -webkit-inline-flex; display: inline-flex; }
.flx(@num){ -webkit-flex: @num; -ms-flex: @num; -moz-flex: @num; flex: @num; }
.flexbasis(@num){ width: @num; flex-basis: @num; -webkit-flex-basis: @num; -ms-flex-basis: @num;}
.spcstart(){ flex-pack: start; justify-content: flex-start; -webkit-justify-content: flex-start; -ms-flex-pack: flex-start; -ms-justify-content: flex-start; }
.spcend(){ flex-pack: end; justify-content: flex-end; -webkit-justify-content: flex-end; -ms-flex-pack: flex-end; -ms-justify-content: flex-end; }
.spcbtwn(){ flex-pack: justify; justify-content: space-between; -webkit-justify-content: space-between; -ms-flex-pack: space-between; -ms-justify-content: space-between; }
.spcctr(){ flex-pack: center; justify-content: center; -webkit-justify-content: center; -ms-flex-pack: center; -ms-justify-content: center; }
.spceven(){ justify-content: space-evenly; -webkit-justify-content: space-evenly; -moz-justify-content: space-evenly; -ms-flex-pack: space-evenly; -ms-justify-content: space-evenly; }
.flexcol(){ flex-direction: column; -webkit-flex-direction: column; -moz-flex-direction: column; -ms-flex-direction: column; }
.flexrow(){ flex-direction: row; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; }
.flexwrap(){ flex-wrap: wrap; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; }
.aligntop(){ box-align: start; flex-item-align: start; align-items: flex-start; -webkit-align-items: flex-start; -ms-align-items: flex-start; }
.alignctr(){ box-align: center; flex-item-align: center; align-items: center; -webkit-align-items: center; -ms-align-items: center; }
.alignbtm(){ box-align: end; flex-item-align: end; align-items: flex-end; -webkit-align-items: flex-end; -ms-align-items: flex-end; }
.corners(){ top:0;left:0;right:0;bottom:0; }
.full(){ width: 100%; height: 100%; }
.transform(@how){ transform: @how; -webkit-transform: @how; -moz-transform: @how; -ms-transform: @how; }
.trsX(@prc){ transform: translateX(@prc); -webkit-transform: translateX(@prc); -moz-transform: translateX(@prc); -ms-transform: translateX(@prc); }
.trsY(@prc){ transform: translateY(@prc); -webkit-transform: translateY(@prc); -moz-transform: translateY(@prc); -ms-transform: translateY(@prc); }
.trsOrg(@how){ transform-origin: @how; -webkit-transform-origin: @how; -moz-transform-origin: @how; -ms-transform-origin: @how; }
.trans(@ition){ transition: @ition; -webkit-transition: @ition; -moz-transition: @ition; -ms-transition: @ition; -o-transition: @ition; }
.invert(){ -webkit-filter: invert(100%); filter:url("data:image/svg+xml;utf8,#invert"); filter:invert(100%); }
.cols(@cnt){ -webkit-column-count: @cnt; -moz-column-count: @cnt; column-count: @cnt; }
.colgap(@cnt){ -webkit-column-gap: @cnt; -moz-column-gap: @cnt; column-gap: @cnt; }
.fullVW(){
width: 100vw;
height: 100vh;
height: @100vh;
}
html,
body {
height: 100%;
width: 100%;
overflow-y: auto;
overflow-x: hidden;
}
html.mobile,
html.mobile body {
-webkit-overflow-scrolling: touch;
}
/* STYLE FNS */
@40vh: ~"calc(var(--vh, 1vh) * 40)";
@50vh: ~"calc(var(--vh, 1vh) * 50)";
@100vh: ~"calc(var(--vh, 1vh) * 100)";
@S: 0.8rem;
@SM: 1.5rem;
@M: 2.5rem;
@L: 3rem;
.logo(){
font-size: 45vw;
@media (min-width: 1440px){
font-size: 36rem;
}
}
.huge(){
font-size: 5.5vw;
@media (min-width: 1440px){
font-size: 4.5rem;
}
@media (max-width: 800px){
font-size: 6vw;
}
}
@sans: 'circular',sans-serif;
@serif: serif;
@mono: 'circularmono', monospace;
@pink: #ff2150;
@cyan: #b0efea;
@darkcyan: #00caba;
@blue: #00a0ff;
html:not(.mobile) {
background-color: @pink;
}
#main-content {
background-color: white;
display: block;
}
.mono {
font-family: @mono;
}
html {
font-family: @sans;
font-size: 16px;
-webkit-font-smoothing: antialiased;
@media (min-width: 1440px){
font-size: 18px;
}
@media (min-width: 1680px){
font-size: 20px;
}
@media (min-width: 1820px){
font-size: 22px;
}
@media (max-width: 900px){
font-size: 14px;
}
@media (max-width: 800px) and (min-width: 700px){
font-size: 13px;
}
&.mobile {
font-size: 9px;
&.landscape {
font-size: 10px;
}
@media (max-width: 320px){
font-size: 6px;
}
}
}
body {
line-height: 1.125;
letter-spacing: -0.01em;
}
h1,h2,h3,h4,h5 {
line-height: 1;
}
a {
color: inherit;
text-decoration: none;
}
i, em {
font-style: italic;
}
b, strong {
font-weight: inherit;
color: @pink;
}
h1 {
color: @pink;
font-size: @L;
margin-bottom: 2rem;
font-weight: 400;
}
h3 {
text-transform: uppercase;
font-size: 1.125rem;
letter-spacing: 0.025em;
font-weight: 600;
margin-bottom: 2.5rem;
}
img {
max-width: 100%;
height: auto;
}
figure {
position: relative;
display: inline-block;
.img,
.img img {
display: block;
}
.img.hires {
position: absolute;
.corners();
.full();
opacity: 0;
z-index: 1;
background-size: cover;
.trans(opacity 800ms);
&.vis { opacity: 1; }
}
figcaption {
display: none;
}
}
#burger {
width: 2rem;
height: 3rem;
.flex();
.flexcol();
.spcctr();
.alignctr();
cursor: pointer;
// margins bottom are set below
i {
width: 100%;
display: block;
height: 1px;
background-color: black;
&:not(:last-child){
margin-bottom: 8px;
}
}
}
a.project-thumb {
position: relative;
display: inline-block;
width: 40%;
h4 {
position: absolute;
z-index: 2;
display: block;
top: 50%;
left: 0%;
right: 0;
width: 100%;
text-align: center;
.trsY(-50%);
opacity: 0;
}
&:hover {
h4 {
opacity: 1;
}
}
figure {
&,
img {
width: 100%;
}
}
}
body.home #main-content {
.sect {
&.intro {
background-color: @pink;
color: white;
width: 100%;
height: 425vh;
height: calc(100vh * 4.25);
height: calc(@100vh * 4.25);
@media (min-aspect-ratio: ~"1/1"){
height: 425vw;
height: calc(100vw * 4.25);
}
position: relative;
.title {
// position: sticky;
top: 0;
left: 0;
.fullVW();
@media (min-aspect-ratio: ~"1/1"){
// height: 100vw;
}
.flex();
.alignctr();
.spcctr();
}
h1 {
.logo();
span {
color: white;
display: inline-block;
will-change: transform;
transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
&.tint-1 {
letter-spacing: -0.02em;
}
&.tint-2 {
letter-spacing: -0.045em;
}
&.tint-3 {
letter-spacing: -0.03em;
}
}
}
.desc {
top: calc(@100vh * 1);
@media (min-aspect-ratio: ~"1/1"){
top: 100vw;
}
.fullVW();
.flex();
.alignctr();
.spcctr();
position: absolute;
z-index: 1;
will-change: transform;
transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
.tint-desc {
width: auto;
font-size: @L;
.huge();
font-weight: 600;
will-change: transform;
transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
p {
opacity: 0;
}
p:first-child {
opacity: 1;
}
}
}
}
div.item {
width: calc(50% - 5px);
margin-right: -10px;
display: inline-block;
&:not(.full):not(.text){
padding: 4rem;
box-sizing: border-box;
@media (max-width: 800px){
padding: 5%;
}
}
&.nopad.right { padding-right: 0 !important; }
&.nopad.left { padding-left: 0 !important; }
&.alignmid {
vertical-align: middle;
}
&.aligntop {
& > * {
vertical-align: top;
}
}
&.one {
width: 45%;
@media (min-width: 801px){
width: calc(25% - 5px);
}
&.empty {
margin-right: 0;
}
}
&.three {
width: calc(75% - 5px);
}
&.four {
width: calc(100% - 10px);
display: block;
margin-right: 0;
.sub-item.right.gallery {
padding-left: 1.75rem;
box-sizing: border-box;
}
}
&.full {
width: 100%;
display: block;
margin-right: 0;
&:last-child {
margin-top: 6rem;
}
}
.sub-item {
width: calc(50% - 2rem - 5px);
margin-right: 4rem;
display: inline-block;
&:last-child {
margin-right: 0;
}
.four {
width: calc(100% - 10px);
}
}
&.text {
font-weight: 600;
font-size: @M;
@media (min-width: 1280px){
font-size: 2.75rem;
}
@media (min-width: 1600px){
font-size: 3rem;
}
@media (max-width: 500px){
font-size: 2rem;
}
padding: 3.5rem 2rem 2rem;
box-sizing: border-box;
vertical-align: top;
@media (max-width: 800px){
br {
display: none;
}
}
/*
height: @100vh;
.flex();
.alignctr();
*/
// position: absolute;
.text-wrap {
&:before {
content: "-";
color: @pink;
line-height: 1rem;
font-size: 2em;
}
}
}
&.gallery,
.sub-item.gallery {
.gall-capt {
display: none;
}
figure:not(.first){
display: none;
}
&.opens {
figure.first {
cursor: zoom-in;
position: relative;
.hov-text {
position: absolute;
width: 100%;
height: 100%;
.flex();
.alignctr();
.spcctr();
text-align: center;
z-index: 10;
opacity: 0;
background: @blue;
.trans(opacity 200ms);
pointer-events: none;
p {
line-height: 1.5;
font-size: 1rem;
letter-spacing: 0.025em;
color: white;
text-transform: uppercase;
}
}
&:hover {
.hov-text {
opacity: 1;
}
}
}
}
}
}
&.simply {
background-color: @pink;
position: relative;
z-index: 1;
.simply-wrap {
min-width: 100vw;
min-height: 100vh;
min-height: @100vh;
.fullVW();
.flex();
.alignctr();
.spcctr();
.simply-text {
font-weight: 600;
color: white;
.huge();
align-items: center;
justify-content: center;
-ms-flex-pack: center;
}
}
}
&.outro {
min-width: 100vw;
min-height: 100vh;
min-height: @100vh;
.flex();
.alignctr();
.spcctr();
@media (max-width: 800px){
height: auto;
padding: 0rem 2rem 2rem;
box-sizing: border-box;
}
a {
color: @pink;
}
.outro-wrap {
.full();
padding: 4rem;
box-sizing: border-box;
.flex();
// .aligntop();
.spcctr();
.flexwrap();
max-width: 80rem;
@media (max-width: 800px){
.flexcol();
.item {
margin-bottom: 2rem;
// text-align: center;
width: 100%;
box-sizing: border-box;
}
}
.item {
vertical-align: top;
font-size: @SM;
// font-weight: 300;
line-height: 1.25;
.flex();
.flexcol();
// .spcbtwn();
padding-top: 0 !important;
padding-bottom: 0 !important;
@media (max-width: 800px){
padding-top: 4rem !important;
padding-bottom: 4rem !important;
}
&.left {
.mono {
font-size: 1.25rem;
line-height: 1.25;
}
@media (min-width: 801px){
.flexbasis(60%);
.mono {
margin-top: auto;
font-size: 0.9rem;
line-height: 1.25;
}
}
}
&.right {
@media (min-width: 801px){
.flexbasis(40%);
font-size: 1rem;
}
.capt {
font-size: 0.6rem;
// white-space: nowrap;
margin-top: 0.5rem;
letter-spacing: 0.01em;
@media (max-width:800px){
font-size: @S;
}
}
}
&.btm {
.flexbasis(100%);
font-size: 1rem;
margin-top: 2rem;
padding-top: 2rem !important;
border-top: 1px solid;
margin-left: 4rem;
margin-right: 4rem;
padding-left: 0;
padding-right: 0;
h3 {
margin-bottom: 1rem;
}
span.red {
color: @pink;
}
line-height: 1.25;
@media (max-width: 800px){
border-top: 1px solid black;
margin-top: 2rem;
padding-top: 4rem !important;
}
}
@media (max-width: 800px){
padding: 0;
margin-left: -2rem !important;
margin-right: -2rem !important;
width: calc(100% + 4rem) !important;
padding-bottom: 0 !important;
}
p {
&:not(:last-child){
margin-bottom: 1.5em;
}
}
}
}
}
}
figure {
&, * {
width: 100%;
display: block;
}
figcaption {
display: none;
}
}
}
img[src*='.svg'] {
width: 2rem;
height: 2rem;
}
.gall-close:hover {
img[src*='.svg'] {
opacity: 0.5;
}
}
.item.text[style*='opacity: 0']{
pointer-events: none;
}
aside#gallery {
position: relative;
opacity: 0;
pointer-events: none;
position: fixed;
.full();
.corners();
z-index: 99;
.trans(opacity 200ms);
background-color: white;
.gall-next,
.gall-prev {
cursor: pointer;
opacity: 1;
.trans(opacity 200ms);
width: 50%;
height: 100%;
position: fixed;
top: 0;
z-index: 2;
box-sizing: border-box;
padding: 0 2rem;
span {
margin-top: 50vh;
.trsY(-50%);
display: inline-block;
background: black;
color: white;
opacity: 0;
}
&:hover {
span {
opacity: 1;
}
}
}
.gall-prev {
left: 0;
cursor: none;
}
.gall-next {
right: 0;
text-align: right;
cursor: none;
}
.gall-close {
position: absolute;
top: 0;
right: 0;
z-index: 3;
padding: 2rem;
box-sizing: border-box;
span {
}
&:hover {
span {
background: black;
color: white;
}
}
}
.gallery {
.full();
.hov-text {
display: none;
}
.gall-capt {
display: none;
}
}
.gallery-wrap {
white-space: nowrap;
width: calc(100% - 4rem);
height: calc(100% - 7rem);
margin: 2rem;
// padding-bottom: 75%;
overflow: hidden;
position: relative;
z-index: 1;
.gallery-slide {
position: absolute;
pointer-events: none;
.corners();
width: 100%;
height: 100%;
display: inline-block;
will-change: transform;
figcaption {
display: block;
position: absolute;
top: 0;
left: 0;
z-index: 2;
font-family: @mono;
text-transform: uppercase;
letter-spacing: 0.01em;
font-size: 0.666em;
}
.trans(~"transform 200ms cubic-bezier(0.13, 0.62, 0.27, 1.03)");
&.sliding {
.trans(none);
}
img {
// visibility: hidden;
display: none;
}
.img {
.full();
background-size: contain;
background-position: 50%;
background-repeat: no-repeat;
.img-wrap {
position: relative;
figcaption {
display: block;
position: absolute;
left: 1rem;
top: 1rem;
z-index: 2;
}
}
}
&.has-capt {
.img {
/*
margin-top: 1.5rem;
height: 95%;
height: calc(100% - 1.5rem);
*/
}
}
background-color: white;
.capt {
display: none;
}
.gall-img {
opacity: 0.001;
width: 1px;
height: 1px;
}
&.prev {
.trsX(-100%);
}
&.cur {
.trsX(0%);
z-index: 1;
}
&.next {
.trsX(100%);
}
}
}
.gall-info {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
padding: 2rem;
box-sizing: border-box;
font-size: 1rem;
@media (min-width: 1440px){
font-size: 16px;
}
@media (min-width: 1820px){
font-size: 18px;
}
font-family: @mono;
.flex();
.gall-nums,
.coll-nums {
.flex();
.gall-cur,
.coll-cur {
&:after { content: "/"; display: inline-block; }
}
}
.coll-nums {
margin-right: auto;
}
.gall-nums {
margin-left: auto;
}
.gall-capt {
.flexbasis(~"calc(100% - 10rem)");
// margin-right: 5rem;
text-align: center;
}
}
.gallery-wrap {
opacity: 1;
.trans(opacity 200ms);
}
&.gal-changing {
.gallery-wrap {
opacity: 0;
}
}
#gall-hov {
width: 2rem;
height: 2rem;
display: block;
opacity: 1;
position: absolute;
top: -1rem;
left: -1rem;
z-index: 2;
will-change: auto;
background-size: contain;
background-repeat: no-repeat;
background-position: 50%;
.trans(opacity 200ms);
opacity: 1;
pointer-events: none;
&.out {
opacity: 0;
}
&.prev {
background-image: url('../img/SVG/left.svg')
}
&.next {
background-image: url('../img/SVG/right.svg')
}
}
}
html.mobile {
#gall-hov {
display: none !important;
}
}
html.gallery-open {
aside#gallery {
pointer-events: auto;
opacity: 1;
}
}
a[href*='instagram']{
width: 1.5rem;
height: 1.5rem;
overflow: hidden;
color: transparent !important;
font-size: 0px;
display: inline-block;
background-image: url(../img/SVG/ig.svg);
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: contain;
}
.replace-caption {
display: none !important;
}
#scr-arr {
position: fixed;
bottom: 2rem;
left: 50%;
margin-left: -19px;
width: 38px;
height: 38px;
background-image: url('../img/SVG/left.svg');
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: contain;
.transform(rotate(-90deg));
.invert();
.trans(opacity 1000ms);
animation: float 2s infinite ease-out;
-webkit-animation: float 2s infinite ease-out;
will-change: opacity;
pointer-events: none;
&.hide {
opacity: 0;
}
}
@keyframes float {
0% { bottom: 2rem; }
50% { bottom: 4rem; }
100% { bottom: 2rem; }
}
@-webkit-keyframes float {
0% { bottom: 2rem; }
50% { bottom: 4rem; }
100% { bottom: 2rem; }
}