html,body{margin:0;padding:0;width:100%;}
html{font-size:62.5%;/*user's browser setting controls font-size, default is 16px (so now 24px = 2.4rem)*/}
body{font-family:'BrutGrotesque', sans-serif;background:#FFF;color:#000;box-sizing:border-box;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;/*text-rendering:optimizeSpeed;*/}
::selection{background:#000;color:#FFF;}
body:not(.animates) *{transition:none!important;}
/*::-webkit-scrollbar{width:0!important;}*/

@font-face{font-family:'BrutGrotesque';src:url('../Fonts/BrutGrotesque-Book.woff2') format('woff2'),url('../Fonts/BrutGrotesque-Book.woff') format('woff');font-weight:normal;font-style:normal;font-stretch:normal;font-display:swap;}
@font-face{font-family:'BrutGrotesque';src:url('../Fonts/BrutGrotesque-Medium.woff2') format('woff2'),url('../Fonts/BrutGrotesque-Medium.woff') format('woff');font-weight:500;font-style:normal;font-stretch:normal;font-display:swap;}

:root{
    /*Easing*/
    --sine:cubic-bezier(0.39, 0.575, 0.565, 1);
    --quad:cubic-bezier(0.25, 0.46, 0.45, 0.94);/*cubic-bezier(0.5, 1, 0.89, 1);*/
    --quad-in-out:cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --cubic:cubic-bezier(0.215, 0.61, 0.355, 1);/*cubic-bezier(0.33, 1, 0.68, 1)*/
    --cubic-in-out:cubic-bezier(0.645, 0.045, 0.355, 1);
    /*--quart:cubic-bezier(0.165, 0.84, 0.44, 1);*/
    --quart:cubic-bezier(0.25, 1, 0.5, 1);
    --quart-in-out:cubic-bezier(0.77, 0, 0.175, 1);
    --quint:cubic-bezier(0.23, 1, 0.32, 1);
    --expo:cubic-bezier(0.16, 1, 0.3, 1);
    
    --expo-quickin-out:cubic-bezier(0.23, 1, 0.175, 1);
    /*--expo:cubic-bezier(0.19, 1, 0.22, 1);*/
    --back:cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --delay:0s;

    --padding:20px;
}

body.customcursor, body.customcursor a, body.customcursor button, body.customcursor input, body.customcursor textarea{cursor:none;}
.cursor{position:fixed;left:0;top:0;width:25px;height:17px;z-index:1000;pointer-events:none;mix-blend-mode:difference;}
.cursor .inner{position:absolute;left:-5px;top:-5px;width:25px;height:17px;background:url("../Grx/logo_white.svg") no-repeat;background-size:100%;transition:transform .2s ease-out;will-change:transform;}
.cursor .inner.pre{transform:scale(0,0);}
body.ahover .cursor .inner{transform:scale(.8,.8);}

/* Font settings - medium/500, semibold/600 and bold/700 */
h1,h2,h3,h4,h5,h6,p,q{position:relative;margin:0;padding:0;font-weight:normal;font-style:normal;line-height:1;box-sizing:border-box;}
h1,h2,h3,p,ol,ul{font-size:1.3rem;line-height:1.25;min-height:1.4rem;}
p.large{font-size:1.8rem;line-height:1.25;}
p.label, .view-btn{font-size:1.3rem;font-weight:500;}
h3, p b{font-weight:500;}
q{display:block;font-size:1.6rem;line-height:1.5;min-height:2.4rem;}
ul{box-sizing:border-box;margin:0;padding:0 0 0 20px;}
li{position:relative;box-sizing:border-box;}
input, textarea, select{font-family:'Helvetica';font-size:inherit;line-height:normal;appearance:none;background:none;display:block;color:inherit;box-sizing:border-box;padding:0;margin:0;outline:0;border:0;}

@media all and (max-width:1000.5px){
    h2{font-size:1.4rem;}
    p.large{font-size:1.3rem;}
    h3,p{font-size:1.2rem;}
    p.caption{font-size:1.0rem;}
}
/*      Buttons     */
a, button{position:relative;display:inline-block;box-sizing:border-box;margin:0;padding:0;text-decoration:none;border:none;background:none;color:inherit;font-family:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;font-weight:inherit;-moz-user-select:none;-webkit-user-select:none;-webkit-user-drag:none;user-select:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);cursor:pointer;touch-action:manipulation;/*removes delay*/}
button:focus{outline:none;}
.view-btn{padding-right:2px;line-height:1;transition:opacity .3s ease;}
.view-btn + .view-btn{padding-left:2px;}
.view-btn:not(.active){opacity:.5;}

/*      Media       */
img,video,.lazy{border:0;-moz-user-select:none;-webkit-user-select:none;-webkit-user-drag:none;user-select:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);}
picture,img,.lazy svg,video:not(.native-controls){pointer-events:none;}/*with smooth scroll this helps Firefox and Safari with external mouse*/
body.scrolling .lazy .video iframe{pointer-events:none;}/*with smooth scrolling this helps scroll continuously*/
picture, video{width:100%;display:block;height:auto;box-sizing:border-box;padding:0;margin:0;overflow:hidden;}
picture img{position:relative;display:block;width:100%;height:auto;}
.lazy{position:relative;}
.lazy.video:before{content:"";display:block;padding-top:calc(var(--aspect) * 1%);width:100%;pointer-events:none;}/*fix aspect ratio for videos*/
.lazy .video, .lazy .video iframe, .lazy > svg{position:absolute;left:0;top:0;width:100%;height:100%;}
/* Thumbnail (not "poster"!) with play button */
.lazy.video .load-ui{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;z-index:2;display:flex;text-align:center;}
.lazy.video .load-ui .lazy{position:absolute;left:0;top:0;width:100%;height:100%;}
.lazy.video .load-ui .lazy video, .lazy.video .load-ui .lazy img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;}
/*.lazy.video .load-ui .play-btn{margin:auto;padding:20px;font-size:2.4rem;background-color:#333;color:#FFF;}*/
.lazy.video .load-ui .play-btn{margin:auto;width:64px;height:74px;border-style:solid;border-width:37px 0px 37px 64px;border-color:transparent transparent transparent #FFF;}
.lazy.video.fade-ui .load-ui{opacity:0;transition:opacity .4s ease-in-out .1s;pointer-events:none;}
.lazy.video.hide-ui .load-ui{display:none;}

.change-mousex{z-index:1;}
.change-mousex .lazy.hidden{display:none;}
.change-mousex .lazy + .lazy{transition:none;}

/* Animations */
.fade{opacity:0;}
.fade.in{opacity:1;transition:opacity 1s ease-in-out var(--delay);}
.zoom img{opacity:0;transform:scale(1.05,1.05);}
.zoom.in img{opacity:1;transform:scale(1,1);transition:transform 2.25s var(--quart) var(--delay), opacity .5s ease var(--delay);}

header{position:fixed;left:50%;top:var(--padding);width:620px;max-width:calc(100% - (var(--padding) * 2));height:42px;z-index:10;background:#000;transform:translateX(-50%);}
header .logo{position:absolute;left:0;top:0;padding:15px 15px 14px 15px;height:100%;}
header .logo .name{font-size:1.3rem;font-weight:500;color:#FFF;line-height:1;}
header .logo img{position:absolute;left:15px;top:13px;width:22px;height:15px;opacity:0;}
header nav{float:right;color:#FFF;padding-right:8px;}
header .primary{font-size:1.3rem;font-weight:500;line-height:1;padding:15px 7px 14px 7px;transition:color .3s ease;}
header .primary:not(.selected){color:#a5a5a5;}
body.show-contact header a.primary.selected:not(:hover){color:#a5a5a5;;}
body.show-contact header button.primary.contact{color:#FFF;}

header .contact-overlay{position:absolute;left:0;top:42px;width:100%;background:#000;color:#FFF;box-sizing:border-box;padding:0 15px;overflow:auto;max-height:calc(100vh - (42px + (var(--padding) * 2)));clip-path:inset(0 0 100% 0);transition:clip-path .5s ease;will-change:clip-path;}
header .contact-overlay .locations{box-sizing:border-box;padding-top:15px;}
header .contact-overlay .locations .maps{position:relative;padding-top:56%;overflow:hidden;margin-bottom:15px;}
/*header .contact-overlay .locations .maps .map .lazy{position:absolute;left:0;top:0;width:100%;height:100%;}*/
header .contact-overlay .locations .maps .map, header .contact-overlay .locations .maps .map .gmap{position:absolute;left:0;top:0;width:100%;height:100%;}
header .contact-overlay .locations .maps .map{transition:opacity .6s ease;}
/*header .contact-overlay .locations .maps .map .lazy{display:flex;align-items:center;}*/
header .contact-overlay .locations .maps .map:not(.in){opacity:0;transition:opacity .3s ease;}
header .contact-overlay .locations .maps .map.in{z-index:2;}
header .contact-overlay .locations .maps .map .gmap:not(.in){opacity:0;}
header .contact-overlay .locations .maps .map .gmap.in{transition:opacity .6s ease;}
header .contact-overlay .locations .offices{border-top:1px solid #bfbfbf;}
header .contact-overlay .locations .office{border-bottom:1px solid #bfbfbf;}
header .contact-overlay .locations .office .el{transition:opacity .3s ease;}
header .contact-overlay .locations .office:not(.in) .el{opacity:.6;}
header .contact-overlay .locations .office:not(.in):hover .el{opacity:1;}
header .contact-overlay .locations .office p::selection{background:#FFF;color:#000;}
header .contact-overlay .block{box-sizing:border-box;padding:15px 0;font-size:0;}
header .contact-overlay .block .el{display:inline-block;vertical-align:top;width:50%;box-sizing:border-box;padding-right:15px;}
header .contact-overlay .block a{transition:opacity .3s ease;}
header .contact-overlay .block a:hover{opacity:.8;}
header .contact-overlay > .block{border-bottom:1px solid #bfbfbf;}
header .contact-overlay .newsletter{position:relative;box-sizing:border-box;padding:65px 50px;}
header .contact-overlay .newsletter form{position:relative;}
header .contact-overlay .newsletter input{font-size:1.3rem;line-height:1;width:100%;height:50px;background:#FFF;color:#000;border-radius:25px;padding:15px 50px 15px 30px;}
header .contact-overlay .newsletter input::placeholder{color:#000;opacity:.8;transition:opacity .3s ease;}
header .contact-overlay .newsletter input:hover::placeholder{opacity:.5;}
header .contact-overlay .newsletter input:focus::placeholder{opacity:0;}
header .contact-overlay .newsletter button[type="submit"]{position:absolute;right:6px;top:6px;width:38px;height:38px;border-radius:19px;background:#000;z-index:2;}
header .contact-overlay .newsletter button[type="submit"]::after{content:"";position:absolute;left:14px;top:14px;background:url("../Grx/arrow_down_white.svg") no-repeat;width:11px;height:10px;background-size:contain;transform:rotate(-90deg);transition:transform .2s ease;}
header .contact-overlay .newsletter button[type="submit"]:hover::after{transform:translateX(2px) rotate(-90deg);}

header .contact-overlay .newsletter form.submitted{visibility:hidden;}
header .contact-overlay .newsletter form + .thankyou{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0;transition:opacity 1s ease-in-out;color:#FFF;}
header .contact-overlay .newsletter form:not(.submitted) + .thankyou{visibility:hidden}
header .contact-overlay .newsletter form + .thankyou.in{opacity:1;}

header .contact-overlay .bottom{position:sticky;left:0;bottom:0;width:100%;background:#000;white-space:nowrap;font-size:0;box-sizing:border-box;z-index:2;}
header .contact-overlay .bottom p{font-size:1.1rem;display:inline-block;vertical-align:top;color:#808080;line-height:1;padding:15px 15px 15px 0;}
header .contact-overlay .bottom p:nth-of-type(1){width:50%;}
header .contact-overlay .bottom p:nth-of-type(2){width:auto;max-width:calc(50% - 100px);}
header .contact-overlay .bottom p a{transition:color .3s ease;}
header .contact-overlay .bottom p a:hover{color:#FFF;}
header .contact-overlay .bottom .close-btn{font-size:1.3rem;font-weight:500;position:absolute;right:-15px;bottom:0;line-height:1;box-sizing:border-box;padding:15px;opacity:0;transition:color .3s ease, opacity 0s ease .4s;}
header .contact-overlay .bottom .close-btn:hover{color:#808080;}
header .contact-overlay::after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(0deg, rgba(0,0,0,.75) 50%, rgba(0,0,0,.25) 100%);transition:opacity .5s ease;pointer-events:none;}

body.show-contact header .contact-overlay{clip-path:inset(0 0 0 0);transition:clip-path 1.2s var(--expo-quickin-out);}
body.show-contact header .contact-overlay::after{opacity:0;transition:opacity 1.8s var(--expo-quickin-out) .1s;}
body.show-contact header .contact-overlay .bottom .close-btn{opacity:1;transition:color .3s ease, opacity .8s ease-in-out .5s;}

@media all and (min-width:1000.5px) and (max-height:1000px){
    header .contact-overlay .newsletter{padding:4vh 50px;}
}
@media all and (min-width:1000.5px) and (max-height:915px){
    header .contact-overlay .locations{padding-top:12px;}
    header .contact-overlay .locations .maps{height:35vh;padding-top:0;margin-bottom:12px;}
    header .contact-overlay p, header .contact-overlay .bottom .close-btn{font-size:1.2rem;}
    header .contact-overlay .block{padding:12px 0;}
}
@media all and (min-width:1000.5px) and (max-height:850px){
    header .contact-overlay .newsletter{padding:3vh 50px;}
}
@media all and (min-width:1000.5px) and (max-height:800px){
    header .contact-overlay .newsletter{padding:15px 50px 10px 50px;}    
    header .contact-overlay .locations{padding-top:10px;}
    header .contact-overlay .locations .maps{margin-bottom:10px;}
    /*header .contact-overlay .locations .maps{padding-top:40%;}*/
    header .contact-overlay p, header .contact-overlay .bottom .close-btn{font-size:1.1rem;}
    header .contact-overlay .block{padding:10px 0;}
}
@media all and (min-width:1000.5px) and (max-height:700px){
    header .contact-overlay .locations .maps{height:30vh;}
}

main{position:relative;width:100%;}
.page{position:relative;width:100%;box-sizing:border-box;font-size:0;/*padding-top:40px;*/}
.page.removing{position:fixed;left:0;top:0;z-index:5;}

/* Standard module */
.m{position:relative;width:100%;box-sizing:border-box;font-size:0;}
.m div{position:relative;box-sizing:border-box;}
.m .l, .m .r{position:relative;display:inline-block;vertical-align:top;width:50%;}
.canoverflow{overscroll-behavior:contain;}

/* Modules */
.m.intro{position:fixed;left:0;top:0;width:100%;height:100%;z-index:15;}
.m.intro.revisit{opacity:0;}
.m.intro.revisit.in{opacity:1;transition:opacity .3s ease;}
.m.intro::after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;z-index:15;background:#FFF;}
.m.intro.in::after{opacity:0;transition:opacity .6s var(--quart);}
.m.intro.out{opacity:0;transition:opacity .6s var(--quart);}
.m.intro .images{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;}
.m.intro .images .el, .m.intro .images .el .lazy{position:absolute;left:0;top:0;width:100%;height:100%;transition:none;}
.m.intro .images .el .lazy img{height:100%;object-fit:cover;transition:none;}
.m.intro .images .el:not(.on){visibility:hidden;transition:visibility 0s ease .05s;}
.m.intro .logos{position:absolute;left:0;top:0;width:100%;height:100%;z-index:10;background-color:rgba(0,0,0,.1);}
.m.intro .logos .logo{position:absolute;left:50%;top:50%;width:28vw;transform:translate(-50%,-55%);}

.m.builds{padding:125px var(--padding) 0 var(--padding);min-height:calc(100vh - 35px);}
.sub-nav{white-space:nowrap;font-size:0;padding-bottom:12px;border-bottom:1px solid #b2b2b2;}
.sub-nav p{min-height:unset;line-height:1;}
.at-list .sub-nav{position:sticky;top:125px;background:#FFF;z-index:2;}
.at-list .sub-nav::before{content:"";position:absolute;left:0;bottom:0;width:100%;height:170px;background:#FFF;}
.sub-nav .view, .sub-nav .types, .sub-nav .categories, .sub-nav .year{display:inline-block;vertical-align:top;}
.sub-nav .view{width:calc(50% - 200px);padding-right:var(--padding);}
.sub-nav .view p{display:inline-block;vertical-align:top;margin-right:10px;padding-right:2px;line-height:1;}
.sub-nav .view .view-btn:not(.mobile){display:inline-block;vertical-align:top;}
.view-btn.sort span{display:inline-block;vertical-align:middle;width:10px;height:10px;background:url("../Grx/arrow_down.svg") no-repeat;background-size:contain;margin-left:6px;}
.m.builds .grid .project{display:block;width:100%;padding:var(--padding) 0;border-bottom:1px solid #b2b2b2;}
.m.builds .grid .project:last-of-type{border-bottom:none;}
.m.builds.at-list .grid{display:none;}
/*Anim in after intro*/
.m.builds .grid{transition:opacity .8s ease .2s, transform 1.2s var(--expo) .2s;}
.m.intro:not(.out) + .m.builds .grid{opacity:0;transform:translateY(115px);}

.m.builds .project .imgs, .m.builds .project .description, .m.builds .project .category, .m.builds .project .year{display:inline-block;vertical-align:top;}
.m.builds .project .imgs{overflow:hidden;}
.m.builds .project .imgs .lazy:not(:first-of-type){position:absolute;left:0;top:0;width:100%;height:100%;}
.m.builds .grid .project .imgs .lazy img{transition:opacity .5s ease, transform 1.2s var(--quart);}
.m.builds .project .description, .m.builds .project .category, .m.builds .project .year{opacity:.5;transition:opacity .3s ease;}
.m.builds .project .imgs, .m.builds .list .imgs{width:calc(50% - (200px + var(--padding)));margin-right:var(--padding);}
.sub-nav .types, .m.builds .project .description{width:500px;padding-right:var(--padding);}
.sub-nav .types p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sub-nav .categories, .m.builds .project .category{width:calc(50% - 400px);padding-right:var(--padding);}
.sub-nav .year, .m.builds .project .year{width:100px;text-align:right;}
.m.builds .project .description, .m.builds .project .category{padding-left:2px;/*match view-btns*/}
.m.builds .project .description .details{padding:10px 0;color:#959595;opacity:0;transition:opacity .5s ease;}
.details ul{list-style-type:"→";padding-left:12px;}
.details ul li{padding-left:3px;}

.m.builds:not(.at-list) .list{display:none;}
.m.builds .list{padding-bottom:125px;}
.m.builds .list .project{display:block;width:100%;padding:2px 0;}
.m.builds .list > .imgs{position:absolute;left:0;top:var(--padding);z-index:1;height:100%;}
.m.builds .list > .imgs .sticky{position:sticky;top:171px;}
.m.builds .list > .imgs .el:not(:first-of-type){position:absolute;left:0;top:0;}
/*.m.builds .list > .imgs .el{padding-right:calc(var(--padding) * 2);}*/
.m.builds .list > .imgs .el.hidden{display:none;}
.m.builds .list > .imgs .el + .el .lazy{transition:none;}
.m.builds .list > .imgs .el p.caption{padding-top:10px;transition:opacity .3s ease;}
.m.builds .list > .imgs .el.invisible p.caption, .m.builds .list > .imgs .el.hidden p.caption{opacity:0;}
.m.builds .list .projects{padding:var(--padding) 0;}
.m.builds .list .projects .project:first-of-type{padding-top:0;}
.m.builds .list .projects .project:hover p{font-weight:500;}
.m.intro:not(.out) + .m.builds .grid{transform:translateY(75px);}

.m.journal{padding:125px var(--padding);opacity:0;min-height:100vh;}
.m.journal.in{opacity:1;transition:opacity 1s ease-in-out;}
.m.journal .grid{padding:0;}
.m.journal .grid .row{display:flex;padding:var(--padding) 0;gap:0 var(--padding);border-bottom:1px solid #b2b2b2;flex-direction:row;}
.m.journal .grid .row .el p{padding-top:6px;}
.m.journal .grid .row .el p span{display:none;}

.overlay-gallery{position:fixed;left:0;top:0;width:100%;height:100%;z-index:9;color:#000;transition:opacity .6s ease;}
body.show-contact .overlay-gallery{opacity:.1;pointer-events:none;}
body.pagetransitioning .overlay-gallery{opacity:0;transition:opacity .2s ease;}
.overlay-gallery:not(.on){display:none;}
.overlay-gallery:not(.in){opacity:0;}
.overlay-gallery .m.carousel.slideshow{height:100%;padding:17vh 0 0 0;}
.overlay-gallery .m.carousel.slideshow .inner, .overlay-gallery .m.carousel.slideshow .scroller{height:100%;}
.overlay-gallery .m.carousel.slideshow .el{width:auto;height:66vh;padding:0 8vw;}
.overlay-gallery .m.carousel.slideshow .el .lazy, .overlay-gallery .m.carousel.slideshow .el .lazy img{width:auto;height:100%;}
.overlay-gallery .m.carousel.slideshow .el p{padding-top:10px;}
.overlay-gallery .m.carousel.slideshow .el p span{padding-left:5px;}

.page .m:first-of-type.text{padding-top:150px;}
.m.text{padding-bottom:calc(var(--padding) * 2);}
.m.text .inner{padding:var(--padding);border-top:1px solid #b2b2b2;}
.m.text .l{width:calc(50% - 200px);}
.m.text .r{width:calc(50% + 200px);}
.m.text .r > .lazy{margin-top:var(--padding);}
.m.text .r > .lazy + p{padding-top:var(--padding)}
.m.text .r > .lazy + p.caption{padding-top:10px;}

.m.text .block{text-transform:uppercase;padding:0 0 15px 0;}
.m.text .block + .block{border-top:1px solid #b2b2b2;padding:15px 0;}
.m.text .block .title, .m.text .block .content{display:inline-block;vertical-align:top;width:50%;padding-right:var(--padding);}
.m.text .block .title{padding-left:15px;}
.m.text .block .title::before{content:"";position:absolute;left:0;top:3px;width:8px;height:8px;background:#000;}

.m.text .logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--padding) 0;margin-top:var(--padding);}
.m.text .logo-grid .el{display:inline-flex;align-items:center;height:120px;}
.m.text .logo-grid .el .lazy, .m.text .logo-grid .el .lazy img{width:100%;height:100%;object-fit:contain;}
.m.text .logo-grid .el .lazy img{transform-origin:0 50%;transform:scale(.5,.5);}

/*@media all and (max-width:1640.5px){
    .m.text .logo-grid .el .lazy img{transform:scale(.45,.45);}
}
@media all and (max-width:1450.5px){
    .m.text .logo-grid .el .lazy img{transform:scale(.4,.4);}
}
@media all and (max-width:1250.5px){
    .m.text .logo-grid .el .lazy img{transform:scale(.35,.35);}
}*/

.page .m:first-of-type.case-intro{padding-top:125px;}
.m.case-intro .sub-nav{margin-bottom:var(--padding);}
.m.case-intro .inner{padding:var(--padding);}
.page .m:first-of-type.case-intro .inner{padding-top:0;}
.m.case-intro .l{width:calc(50% - 200px);padding-right:var(--padding);}
.m.case-intro .r{width:calc(50% + 200px);}

.m.media{padding:var(--padding);}
.m.media p.caption{padding-top:10px;}

.m.img-img{padding:var(--padding);}
.m.img-img .l{padding-right:20px;}
.m.img-img .r{padding-left:20px;}
.m.img-img p.caption{padding-top:10px;}

/* Carousel */
.m.carousel{padding:20px 0 80px 0;}
.m.carousel .inner{position:relative;width:100%;overflow:hidden;}
.m.carousel .title{padding:var(--padding);padding-bottom:0;margin-bottom:25px;}
.m.carousel .title h3{border-bottom:1px solid #b2b2b2;padding-bottom:12px;font-size:1.5rem;}
.m.carousel .inner .scroller{position:relative;white-space:nowrap;font-size:0;}
.m.carousel .el{display:inline-block;vertical-align:top;width:calc(50vw - 218px);width:round(to-zero, calc(50vw - 218px), 2px);padding-left:15px;}
.m.carousel:not(.slideshow) .el:last-of-type{margin-right:var(--padding);}
.m.carousel .el p{user-select:none;}
.m.carousel .el p.caption{padding-top:15px;color:#808080;transition:color .3s ease;}
.m.carousel .el:hover p.caption{color:#000;}
.carousel.dragging .el{pointer-events:none;}
.carousel:not(.slideshow) .el .lazy img{transition:opacity .6s ease-out, transform 1.2s var(--quart);}

/* Custom select (dropdown) */
/*.custom-select{position:relative;font-size:1.6rem;width:100%;height:50px;margin:10px auto;color:#000;user-select:none;cursor:pointer;padding-right:20px;}
.custom-select select, .custom-select:not(.open) .options{visibility:hidden;height:0;}
.custom-select .select-selected{position:relative;width:100%;line-height:normal;padding:16px 17px;border:1px solid #000;}
.custom-select .select-selected:after{content:"";position:absolute;top:22px;right:16px;width:0;height:0;border:8px solid transparent;border-color:#06395B transparent transparent transparent;transition:transform .3s ease-out;transform-origin:8px 4px;}
.custom-select.open .select-selected:after{transform:rotate(180deg);}
.custom-select .options{position:relative;width:100%;line-height:normal;border:1px solid #000;border-top:none;box-shadow:2px 4px 16px rgba(0,0,0,.1);max-height:300px;overflow:auto;}
.custom-select .options .option{position:relative;width:100%;padding:12px 17px;}
.custom-select .options .option:hover, .custom-select .options .option:focus, .custom-select .selected{background-color:#F5BDB2;}*/

/* Form */
/*.custom-form{position:relative;width:100%;font-size:1.6rem;padding-right:20px;}
.custom-form form{position:relative;width:100%;}
.custom-form input{width:100%;border-bottom:1px solid #000;padding:5px 0;}
.custom-form input[type="submit"]{border:1px solid #000;margin-top:20px;padding:5px;cursor:pointer;}
.custom-form input[type="submit"]:hover, .custom-form input[type="submit"]:focus{border-color:red;}
.custom-form input[name="message"], .custom-form input[name="c"]{opacity:0;position:absolute;left:0;top:0;width:0;height:0;z-index:-1;}
.custom-form form.submitted{visibility:hidden;}
.custom-form form + .thankyou{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0;transition:opacity 1s ease-in-out;}
.custom-form form:not(.submitted) + .thankyou{visibility:hidden}
.custom-form form + .thankyou.in{opacity:1;}*/

footer{position:relative;width:100%;height:35px;box-sizing:border-box;padding:0 var(--padding);}
footer > div{border-top:1px solid #b2b2b2;box-sizing:border-box;padding:calc(var(--padding) / 2) 0;}
footer p{font-size:1.1rem;max-width:50%;}
footer p:nth-of-type(1){opacity:.5;}
footer p:nth-of-type(2){position:absolute;right:var(--padding);top:calc(var(--padding) / 2);text-align:right;}
footer p a{opacity:.5;transition:opacity .3s ease;}
footer p a:hover{opacity:1;}
footer .iltp{width:0;height:0;overflow:hidden;visibility:hidden;margin:0;padding:0;}

.page-transition{position:fixed;left:0;top:0;width:100%;height:100%;background-color:#FFF;pointer-events:none;z-index:8;transition:opacity .6s ease;will-change:opacity;}
.page-transition.loaded{opacity:0;}
.page-transition.in{opacity:1;transition:opacity .2s ease;}
.page-transition.fast{transition:none;}
body.show-contact .page-transition:not(.in){opacity:.8;pointer-events:all;}
body.show-journal .page-transition:not(.in){opacity:.9;pointer-events:all;}
.page-transition.inactive:not(.journal-on){width:0;}


.vh{position:absolute;z-index:-1;top:0;left:-1px;width:1px;height:100vh;/*height:100svh;*/}/*Used for mobile measurement of vh (svh for smallest viewport height, lvh for largest - similar to just vh) */

/* Block interactivity while scrolling */
/*.wheel-active a{pointer-events:none;}*/

@media (hover:hover){
    .view-btn:hover{opacity:1;}
    header .primary:hover{color:#FFF;}
    .m.journal .grid .row .el .lazy img{transition:opacity .5s ease, transform 1.2s var(--quart);}
    .m.builds .grid .project:hover .imgs .lazy img, .m.journal .grid .row .el:hover .lazy img, .carousel:not(.slideshow) .el:hover .lazy img{transform:scale(1.025,1.025);}
}

/* Mobile only */
@media all and (max-width:1000.5px){
    :root{
        --padding:10px;
    }
    .desktop{display:none;}
    .lazy.video:before{padding-top:calc(var(--aspectm, var(--aspect)) * 1%);}

    header{left:var(--padding);top:var(--padding);width:calc(100% - (var(--padding) * 2));max-width:unset;height:46px;transform:none;}
    header .toggle{position:absolute;right:10px;top:0;z-index:2;transition:opacity .3s ease, transform .3s ease;}
    header nav{transition:opacity .3s ease, transform .3s ease;}
    header:not(.open) nav{opacity:0;pointer-events:none;transform:translateY(-10px);}
    header.open .toggle{opacity:0;pointer-events:none;transform:translateY(10px);}

    header .logo{position:absolute;left:0;top:0;padding:17px 15px 14px 15px;height:100%;}
    header .logo .name, header .logo img{transition:opacity .3s ease;}
    header .logo .name{font-size:1.4rem;}
    header.open .logo .name{opacity:0;}
    header.open .logo img{top:14px;width:27px;height:18px;opacity:1;transition:opacity .6s ease-in-out .1s;}
    header .contact-overlay{top:46px;height:calc(100vh - 66px);max-height:unset;}
    header .contact-overlay .newsletter{padding:40px 30px;}
    header .primary{padding-top:17px;}
    
    .m .l, .m .r{display:block;width:100%;}

    .m.builds{padding:80px 0 0 0;min-height:unset;}
    .m.builds.at-list{padding-bottom:80px;}
    .sub-nav{padding:0 var(--padding) 8px var(--padding);}
    .at-list .sub-nav{position:relative;top:auto;}
    .sub-nav .view{width:60%;padding-right:var(--padding);}
    .sub-nav .types{display:none;}
    .view-btn.sort{opacity:.5;}
    .view-btn.sort.sorting{opacity:1;}
    .sub-nav .categories{width:calc(40% - 100px);}
    .sub-nav p{font-size:1.3rem;}
    
    .m.intro .logos .logo{width:60vw;}

    .m.builds .project .description{width:100%;padding:0;}
    /*.m.builds .grid .project{border-bottom:none;}*/
    .m.builds .grid .project .imgs{display:block;width:100%;padding:0 var(--padding);margin-top:42px;}
    .m.builds .grid .project .description{position:absolute;left:0;top:0;background:#FFF;z-index:2;opacity:1;border-bottom:1px solid transparent;padding:0 var(--padding);}
    .m.builds .grid .project .description.open{border-bottom-color:#b2b2b2;}
    .m.builds .grid .project .description > p{width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:42px;padding-top:14px;opacity:.5;transition:opacity .3s ease;}
    .m.builds .grid .project .description .details{max-height:0;overflow:hidden;padding:0;transition:max-height .5s var(--quart), padding-bottom .5s var(--quart), opacity .3s ease;}
    .m.builds .grid .project .description.open .details{padding-bottom:20px;opacity:1;}
    .m.builds .project .category{position:absolute;left:60%;top:12px;z-index:2;}
    .m.builds .project .year{position:absolute;right:var(--padding);top:14px;z-index:2;padding-right:4px;}
    .m.builds .project .category, .m.builds .project .year{pointer-events:none;}
    .m.builds .grid .project .year::before{content:"";position:absolute;right:0;top:0;width:16px;height:13px;border:1px solid #333;box-sizing:border-box;}
    .m.builds .grid .project .year span{position:relative;display:inline-block;vertical-align:top;width:8px;height:13px;background:#FFF;z-index:2;margin-left:12px;}
    .m.builds .grid .project .year span::before, .m.builds .grid .project .year span::after{content:"";position:absolute;left:1px;top:6px;width:6px;height:1px;background:#333;}
    .m.builds .grid .project .year span::after{transform:rotate(90deg);transition:transform .3s ease;}
    .m.builds .grid .project .description.open ~ .year span::after{transform:rotate(90deg) scaleY(0);}

    .m.builds .grid .project .description.open > p{opacity:1;}
    .m.builds .grid .project .description.open ~ .category{opacity:1;}
    .m.builds .grid .project .description.open ~ .year{opacity:1;}

    .m.builds .list{height:calc(100vh - 110px);/*height:100svh;*/padding:0;}
    .m.builds .list > .imgs{position:absolute;left:0;top:auto;bottom:70px;width:100%;height:auto;}
    .m.builds .list > .imgs .sticky{position:relative;top:auto;width:100%;height:auto;}
    .m.builds .list > .imgs .el{padding:0 70px;}
    .m.builds .list > .imgs .el p.caption{display:none;}
    .m.builds .list .projects{padding:var(--padding) 0;height:calc(100% - 250px);overflow:auto;border-bottom:1px solid #b2b2b2;padding-bottom:calc(100vh - 385px);}
    .m.builds .list .projects .project, .m.builds .list .projects .project:first-of-type{padding:2px var(--padding);transition:padding-left .3s var(--quart);height:21px;}/*first-of-type not reliable if this is not a selected project!*/
    .m.builds .list .projects .project.active{padding-left:24px;}
    .m.builds .list .projects .project{height:21px;}
    .m.builds .list .projects .project.active .description, .m.builds .list .projects .project.active .category, .m.builds .list .projects .project.active .year{opacity:1;}
    .m.builds .list .projects .project .category{top:2px;padding:0;}
    .m.builds .list .projects .project .year{top:2px;padding:0px;}
    .m.builds .list .projects .project.active p{font-weight:500;}
    .m.builds .list .projects .project::before{content:"";position:absolute;left:var(--padding);top:5px;width:10px;height:10px;background:url("../Grx/arrow_down.svg") no-repeat;opacity:0;transform:translateX(-10px) rotate(-90deg);transition:all .3s var(--quart);}
    .m.builds .list .projects .project.active::before{opacity:1;transform:translateX(0px) rotate(-90deg);}
    .m.builds .list .project .description > p{width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

    .m.builds .list .bottom-bar{position:absolute;left:0;bottom:0;width:100%;height:42px;background:#FFF;border-top:1px solid #b2b2b2;padding:12px var(--padding) 0 var(--padding);}
    .m.builds .list .bottom-bar .l{display:inline-block;vertical-align:top;width:50%;}
    .m.builds .list .bottom-bar .l p{transition:opacity .3s ease;}
    .m.builds .list .bottom-bar .l p:nth-of-type(2){position:absolute;left:0;top:0;}
    .m.builds .list .bottom-bar:not(.ready) p:nth-of-type(2){opacity:0;}
    .m.builds .list .bottom-bar.ready .l p:nth-of-type(1){opacity:0;}
    .m.builds .list .bottom-bar.ready .l p:nth-of-type(2){opacity:1;}
    .m.builds .list .bottom-bar > p{max-width:50%;text-align:right;float:right;}
    .m.builds .list .bottom-bar > p a{opacity:.5;}

    .m.journal{padding:80px 0;}
    .m.journal .grid{padding:0 var(--padding);}
    .m.journal .grid .row{gap:calc(var(--padding) / 2);}
    .m.journal .grid .row .el p{font-size:1.0rem;}

    .overlay-gallery .m.carousel.slideshow{height:100%;padding:35vh 0 0 0;}
    .overlay-gallery .m.carousel.slideshow .el{width:auto;height:30vh;padding:0 20px;}
    .overlay-gallery .m.carousel.slideshow .el p{position:absolute;bottom:-30px;/*left:0;*/width:calc(100% - 40px);height:30px;padding-top:8px;font-size:1.1rem;}
    .overlay-gallery .m.carousel.slideshow .el p span{width:calc(100% - 15px);white-space:normal;display:inline-block;vertical-align:top;}

    .page .m:first-of-type.text{padding-top:69px;}
    .m.text{padding-bottom:var(--padding);}
    .m.text .inner{padding:0;border-top:none;}
    .m.text .l{width:100%;border-bottom:1px solid #b2b2b2;padding:var(--padding);padding-bottom:8px;}
    .m.text .r{width:100%;padding:var(--padding);}
    .m.text .r > .lazy{margin-top:15px;}
    .m.text .r > .lazy + p{padding-top:15px;}
    .m.text h2{line-height:1;}

    .m.text .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:5px 0;padding-left:5px;}
    .m.text .logo-grid .el{height:60px;}
    /*.m.text .logo-grid .el .lazy img{transform:scale(.25,.25);}
    .m.text .logo-grid .el.double .lazy img{transform:scale(.18,.18);}*/
    
    .m.case-intro{padding:0;}
    .page .m:first-of-type.case-intro{padding-top:80px;}
    .m.case-intro .sub-nav .view{display:none;}
    .m.case-intro .sub-nav{margin-bottom:2px;}
    .m.case-intro .sub-nav .types{display:inline-block;width:60%;}
    .m.case-intro .sub-nav .categories, .m.case-intro .sub-nav .year{opacity:.5;}
    .m.case-intro .inner{padding:0;}
    .m.case-intro .l{width:100%;display:none;}
    .m.case-intro .r{width:100%;padding:var(--padding);}

    .m.media .details{padding-top:calc(var(--padding) * 2);opacity:.5;}
    .m.media p.caption{opacity:.5;}
    
    .m.img-img .l, .m.img-img .r{display:block;width:100%;padding:0;}
    .m.img-img .r{padding-top:calc(var(--padding) * 2);}
    .m.img-img p.caption{opacity:.5;}

    .m.carousel{padding:var(--padding) 0;}
    .carousel[data-mobilenative="true"] .inner{overflow:auto;padding-bottom:40px;}
    .m.carousel .title{margin-bottom:20px;padding:0;}
    .m.carousel .title h3{padding:0 var(--padding) 12px var(--padding);font-size:1.4rem;}
    .m.carousel .el{width:65vw;padding-left:10px;}
    .m.carousel .el:first-of-type{margin-left:0;}

    footer{padding:0;}
    footer > div{padding:var(--padding);}
    footer p{font-size:1.0rem;}
    footer p:nth-of-type(2){top:var(--padding);}
}
@media all and (max-width:410.5px){
    header .primary:not(.toggle){font-size:1.2rem;padding:17px 5px 14px 5px;}
}
@media all and (max-width:1000.5px) and (orientation:portrait){
    header .contact-overlay{padding-bottom:42px;}
    header .contact-overlay .bottom{position:fixed;bottom:10px;left:0;width:100%;padding:0 25px;box-sizing: border-box;}
    header .contact-overlay .bottom .close-btn{right:10px;}
    header .contact-overlay .bottom p:nth-of-type(1){width:45%;}
}
@media all and (max-width:1000.5px) and (orientation:landscape){
    .overlay-gallery .m.carousel.slideshow{height:100%;padding:70px 0 0 0;}
    .overlay-gallery .m.carousel.slideshow .el{width:auto;height:calc(100vh - 140px);padding:0 8vw;}
}
/* Desktop only */
@media all and (min-width:1000.5px){
    .mobile{display:none;}

    .m.builds .grid .project:hover .description .details{opacity:1;}
    .m.builds .project:hover .description, .m.builds .project:hover .category, .m.builds .project:hover .year{opacity:1;}
    .m.media + .m.media, .m.media + .m.img-img, .m.img-img + .m.img-img, .m.img-img + .m.media{padding-top:0;margin-top:-4px;}
    .m.text .logo-grid .el.double{grid-column:span 2;}
    .m.text .logo-grid .el.double .lazy img{transform:scale(.6,.6);}

    .m.carousel:not(.slideshow) .el:first-of-type{margin-left:5px;}
}