@import url(https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap);
/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
:root{--vh:1vh}:root{--page-margins:22px}@media only screen and (min-width:540px){:root{--page-margins:2.5vw}}.path-user{background:#563280}.path-user>.dialog-off-canvas-main-canvas{display:flex;align-items:center;justify-content:center;height:100%;min-height:100vh}.path-user #bottom_part{text-align:center;color:rgba(255,255,255,.66);padding-top:3rem}.path-user #bottom_part a{color:inherit}.login-container{display:flex;max-width:250px;margin:0 auto;transform:translateY(30px);opacity:0;transition:all 1s;color:rgba(255,255,255,.6)}.login-container #block-user-listing{display:none}.login-container h1{font-size:2rem;color:#fff}.login-container label{display:none}.login-container div.form-item{position:relative}.login-container div.form-item::before{display:inline-block;position:absolute;line-height:41px;left:.75em;transition:all .3s;color:#999;content:"ꀙ";font-family:d8Template}.login-container div.form-item.form-item-pass::before{content:"ꀘ"}.login-container input.form-text{background:#fff;outline:0;border:none;border-bottom-color:currentcolor;border-bottom-style:none;border-bottom-width:medium;border-left-color:currentcolor;border-left-style:none;border-left-width:medium;padding:10px 10px 10px 35px;transition:border-left-color .2s;width:100%;border-bottom:1px solid #fff;border-left:5px solid transparent;box-sizing:border-box;box-shadow:0 2px 5px rgba(0,0,0,.1);color:#1f1f1f;background:#f2f2f2;transition:all .2s;font-family:"Helvetica Neue",helvetica,Arial,sans-serif;font-size:1em;transition:all .2s}.login-container input.form-text:focus{border-left-color:#f47b6b}.login-container input.form-submit{background:rgba(0,0,0,.5);color:#fff;width:100%;border:none;padding:10px}.login-container a#logo{max-width:80%;display:block;margin:0 auto 40px auto}.loaded .login-container{transform:translateY(0);opacity:1}div.messages{border:none;box-shadow:none;padding-left:70px;border-left:3px solid;border-radius:0;margin:10px 0;position:relative;font-family:"Helvetica Neue",helvetica,Arial,sans-serif}div.messages a{color:inherit;text-decoration:underline}div.messages ul.messages__list li{list-style:disc}div.messages.messages--error::before,div.messages.messages--status::before,div.messages.messages--warning::before{width:50px;height:50px;font-family:Inter,"Helvetica Neue",helvetica,Arial,sans-serif;color:inherit;font-size:2rem;position:absolute;left:20px;top:50%;margin-top:-12px;content:"ꀑ"}div.messages.messages--warning{background:#f9f6df;color:#9a6333;border-color:#9a6333}div.messages.messages--warning::before{content:"ꀕ"}div.messages.messages--error{background:linear-gradient(to right,#ffd0d0 0,#ffb9b7 100%);border-color:#a51b00;text-color:#a51b00}div.messages.messages--error::before{content:"ꀑ"}div.messages.messages--status{background:#bbd7bb;position:relative;border-color:#77b259;background:linear-gradient(to right,#cfe9cf 0,#c9e8bb 100%)}div.messages.messages--status::before{content:"ꀔ"}nav.tabs{font-family:"Helvetica Neue",helvetica,Arial,sans-serif}nav.tabs ul.tabs{margin:15px 0 15px}nav.tabs ul.tabs li{margin:0}nav.tabs ul.tabs li a{border:1px solid #666;transition:all .2s;border-radius:4px;font-size:1.1rem;color:#3d3d3d;text-transform:uppercase;font-weight:700}nav.tabs ul.tabs li a:hover{text-decoration:none;background:#3d3d3d;color:#fff}nav.tabs ul.tabs li a.is-active{border-color:#fff}nav.tabs ul.tabs li a.is-active:hover{color:#3d3d3d;border-color:#fff;background:#fff}a.edit-link{font-size:1.2rem;text-transform:uppercase;border:1px solid #3d3d3d;border-radius:4px;color:#3d3d3d;font-weight:700;padding:2px 4px;margin-left:5px;transition:all .2s;float:right;display:inline-block}a.edit-link:hover{background:#3d3d3d;color:#fff;text-decoration:none}a.edit-link.relative{margin:0;float:none}html{font-size:62.5%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:Inter,"Helvetica Neue",helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.6rem;scrollbar-gutter:stable both-edges;padding:0;margin:0}blockquote{color:#208a8b;font-size:2rem}h1,h2,h3,h4,h5{font-family:Inter,"Helvetica Neue",helvetica,Arial,sans-serif;font-weight:400;font-style:normal}h1 strong,h2 strong,h3 strong,h4 strong,h5 strong{font-weight:400}h1 a,h2 a,h3 a,h4 a,h5 a{color:inherit}h1{font-size:5rem;line-height:1em;margin:0 0 1em 0}h2{font-size:5rem;line-height:1em;font-weight:650}h3{font-size:2.5rem;line-height:3rem;margin-bottom:1.5rem;margin-top:4.5rem}h4{font-size:2.1rem;line-height:3rem;margin:2rem 0 1rem 0}h5{font-size:1.8rem;margin-bottom:1rem}a,a:visited{color:#b798ff;text-decoration:none;display:inline-block;transition:all .2s}a:hover,a:visited:hover{text-decoration:underline;color:#fff}article a,article a:visited{text-decoration:underline}p{margin-top:0;margin-bottom:1rem;opacity:.6}a:focus{border:none;outline:0}@-webkit-keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in{from{opacity:0}to{opacity:1}}img{max-width:100%;height:auto}input:focus{outline:0}body.custom-login.dark{background:#000}html{height:100%}body{font-family:Inter,"Helvetica Neue",helvetica,Arial,sans-serif}#page{background:#fff;display:flex;flex-direction:column;min-height:100vh;width:100vw;justify-content:space-between}.wrapper{padding:25px 20px;position:relative;width:100%;height:100%;box-sizing:border-box;max-width:1500px;margin:0 auto}main{margin-bottom:auto}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px var(--page-margins);mix-blend-mode:difference;pointer-events:none}.site-header svg{width:200px;-webkit-animation:fade-in .6s ease forwards;animation:fade-in .6s ease forwards}.site-header svg path,.site-header svg polygon,.site-header svg rect{fill:#999}.home-section{z-index:2;position:relative;margin-top:5vw;margin-bottom:5vw;padding-left:var(--page-margins);padding-right:var(--page-margins)}.home-section h2{margin-top:0;font-size:clamp(3.6rem,2.509rem + 1.818vw,6rem);max-width:10em}.home-section .chevron{height:100px;width:300px;position:absolute;top:-50px;left:-150px;z-index:-1}.home-section .chevron svg path{stroke-width:1px;vector-effect:non-scaling-stroke}.home-section.intro h2::before{background:url(/themes/codeblack/images/chevron-large.svg) top left no-repeat;position:absolute;left:50px;top:0;width:200px;height:100px;background-size:contain}.home-section .text-wrapper{padding:50px 0;box-sizing:border-box;font-size:clamp(1.8rem,1.3rem + 1.333vw,2.5rem);font-size:clamp(1.8rem,1.164rem + 1.061vw,3.2rem);font-size:clamp(1.8rem,1.345rem + .758vw,2.8rem);display:flex;align-items:center}.home-section article *{height:100%}.home-section article img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:10px 20vw;box-sizing:border-box}@media only screen and (min-width:720px){.home-section{display:flex;justify-content:space-between}.home-section article{width:30vw}.home-section .text-wrapper{width:66.66%;padding:5vw;padding-left:10vw}.home-section .text-container{max-width:656px;max-width:28em;position:relative}}#block-codeblack-hero-slider{width:100vw;height:100vh}#block-codeblack-hero-slider *{height:100%;width:100%}#block-codeblack-hero-slider img{display:block;-o-object-fit:cover;object-fit:cover;box-sizing:border-box;filter:contrast(110%) grayscale(100%);-webkit-animation:fade-in 1s ease forwards;animation:fade-in 1s ease forwards}main>.chevron{position:absolute;width:50%;width:50vw;max-width:1500px;top:30vh;left:50vw;overflow:hidden;height:100vh;z-index:1}main>.chevron svg{height:100%;width:auto}main>.chevron svg path{stroke:#000;stroke-width:3px;vector-effect:non-scaling-stroke}section#contact{background:#0a0a0a;max-width:100vw;padding:100px 0 100px 5vw;display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.07);justify-content:space-between}@media only screen and (min-width:720px){section#contact{padding-left:10vw}}section#contact a{display:block;word-wrap:anywhere}section#contact h2{color:#fff;letter-spacing:-1px;line-height:.91;font-size:clamp(3.6rem,2.509rem + 1.818vw,6rem)}section#contact img{border-radius:1000px 0 0 1000px;max-height:50vw}.contact-details{letter-spacing:-1px;line-height:.9;color:#58655c;font-size:clamp(2rem,1.727rem + 1.288vw,4.2rem)}.contact-details::before{content:"";display:block;width:216px;height:1px;background:#58655c;margin:1em 0}.contact-details a{font-size:inherit;color:inherit;margin:1em 0;font-weight:500}footer{background:#0a0a0a;border-top:1px solid rgba(255,255,255,.06);padding:20px 40px}footer .container{display:flex;flex-direction:column;max-width:700px;margin:0 auto}@media only screen and (min-width:900px){footer .container{flex-direction:row;justify-content:space-between;gap:30px}}#block-codeblack-views-block-frontpage-images .view-content{display:flex;gap:5vw;padding:0 var(--page-margins)}@media only screen and (min-width:540px){#block-codeblack-views-block-frontpage-images .view-content{padding:var(--page-margins)}}#block-codeblack-views-block-frontpage-images .view-content>div{flex:1}#block-codeblack-views-block-frontpage-images .view-content img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:60% 20px 5vw}.maintenance-page{background:#000;height:100%;background:url(/themes/codeblack/images/huon-pine.jpg) no-repeat;background-size:cover}.maintenance-page .color-overlay{background:url(/themes/codeblack/images/background.png) no-repeat;background-size:cover;height:100%;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;flex-flow:column}.maintenance-page .logo{max-width:320px;width:70vw}.maintenance-page .logo svg{width:100%;fill:#fff;overflow:visible}.maintenance-page #contact-details{margin-top:40px}.maintenance-page .brandmark{fill:#fff;opacity:0;-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.maintenance-page .black{opacity:0;-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.maintenance-page .projects{opacity:0;-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:fadeInUp;animation-name:fadeInUp}.maintenance-page .name{fill:#fff}.maintenance-page .tagline{fill:#bd92c2;opacity:0;-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUp{from{transform:translate3d(0,100px,0)}to{transform:translate3d(0,0,0);opacity:1}}@keyframes fadeInUp{from{transform:translate3d(0,100px,0)}to{transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes fadeInDown{from{transform:translate3d(0,-100px,0)}to{transform:translate3d(0,0,0);opacity:1}}@keyframes fadeInDown{from{transform:translate3d(0,-100px,0)}to{transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes fadeInLeft{from{transform:translate3d(0,-100px,0)}to{transform:translate3d(0,0,0);opacity:1}}@keyframes fadeInLeft{from{transform:translate3d(0,-100px,0)}to{transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes contact_animation{from{transform:translate3d(0,20px,0)}to{transform:translate3d(0,0,0);opacity:1}}@keyframes contact_animation{from{transform:translate3d(0,20px,0)}to{transform:translate3d(0,0,0);opacity:1}}#contact-details{display:flex;width:100%;max-width:320px;justify-content:flex-end;align-items:center;opacity:0;-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:contact_animation;animation-name:contact_animation;color:#996cff;gap:40px}#contact-details a{transition:all .3s cubic-bezier();position:relative;display:block;border-radius:100px;padding:10px}#contact-details a::before{content:"";position:absolute;bottom:0;width:100%;display:block;height:100%}#contact-details a:hover{transform:translate3d(0,-10px,0)}#contact-details a:hover::before{bottom:-10px}h1,h2,h3,h4,h5{color:inherit}a,a:visited{color:#b8b5b0}a:hover,a:visited:hover{color:#fff;text-decoration:none}.site-nav{pointer-events:all}.site-nav ul,.site-nav ul.menu{list-style:none;padding:0;margin:0;display:flex;gap:32px}.site-nav a,.site-nav a:visited{color:#fff;font-size:1.3rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;opacity:.7;transition:opacity .28s ease}.site-nav a:hover,.site-nav a:visited:hover{opacity:1;text-decoration:none;color:#fff}.feature-intro{display:grid;grid-template-columns:1fr 1fr;min-height:60vh;background:#fff}.feature-intro__text{padding:80px;display:flex;flex-direction:column;justify-content:center;align-self:stretch}.feature-intro__text h2{font-size:clamp(3.2rem,3.8vw,5.6rem);line-height:1.05;font-weight:900;color:#0a0a0a;margin:0 0 2.8rem;letter-spacing:-.02em}.feature-intro__text p{font-size:1.5rem;color:#6b6b6b;max-width:38ch;line-height:1.75;margin:0}.feature-intro__image{overflow:hidden;background:#1c1c1c}.feature-intro__image img,.feature-intro__image picture img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.feature-intro__image-placeholder{width:100%;height:100%;min-height:460px;background:linear-gradient(135deg,#1a2a1a 0,#0e1a0e 60%,#111 100%)}.values-section{display:grid;grid-template-columns:1fr 1fr;min-height:70vh;background:#111}.values-section__images{display:flex;flex-direction:column}.values-section__image-cell{flex:1;overflow:hidden;background:#1c1c1c;min-height:160px}.values-section__image-cell img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.values-section__image-cell--1{background:#1f2a1f}.values-section__image-cell--2{background:#181c18}.values-section__image-cell--3{background:#222822}.values-section__content{padding:80px;display:flex;flex-direction:column;justify-content:center}.values-section__content h2{font-size:clamp(2.8rem,3.2vw,4.8rem);line-height:1.1;font-weight:900;color:#fff;margin:0 0 2.8rem;letter-spacing:-.02em}.values-section__content p{font-size:1.5rem;color:#b8b5b0;max-width:42ch;line-height:1.75;margin:0}.values-section__link{display:inline-flex;align-items:center;gap:8px;margin-top:3.2rem;font-size:1.3rem;font-weight:600;letter-spacing:.04em;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.28);padding:10px 22px;border-radius:100px;transition:all .28s ease;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.values-section__link span{font-size:1.1em;line-height:1}.values-section__link:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff;text-decoration:none}.work-examples{background:#0a0a0a;padding:64px 0 80px}.work-examples__header{display:flex;align-items:center;justify-content:space-between;padding:0 40px 44px;max-width:1600px;margin:0 auto}.work-examples__header h2{font-size:1.3rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin:0}.work-examples__source{display:none}.work-examples__rows{overflow:hidden;display:flex;flex-direction:column;gap:12px}.work-examples__row{overflow:hidden;cursor:-webkit-grab;cursor:grab}.work-examples__row:active{cursor:-webkit-grabbing;cursor:grabbing}.work-examples__row--paused .work-examples__track{-webkit-animation-play-state:paused;animation-play-state:paused}.work-examples__track{display:flex;gap:12px;width:-webkit-max-content;width:-moz-max-content;width:max-content;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear;will-change:transform}.work-examples__row--left .work-examples__track{-webkit-animation-name:weScrollLeft;animation-name:weScrollLeft}.work-examples__row--right .work-examples__track{-webkit-animation-name:weScrollRight;animation-name:weScrollRight}.work-examples__empty{text-align:center;padding:60px 40px;color:#6b6b6b;font-size:1.5rem}.work-examples__empty[hidden]{display:none}.work-examples__setup-note{padding:40px;color:#6b6b6b;font-size:1.4rem;text-align:center;max-width:600px;margin:0 auto;line-height:1.7}.work-examples__setup-note code{background:#111;padding:2px 8px;border-radius:3px;font-family:"Courier New","DejaVu Sans Mono",monospace,sans-serif}@-webkit-keyframes weScrollLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes weScrollLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}@-webkit-keyframes weScrollRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}@keyframes weScrollRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}.work-example-card{flex:0 0 auto;width:340px;height:260px;position:relative;overflow:hidden;border-radius:2px;background:#111}.work-example-card__image{width:100%;height:100%}.work-example-card__image .image-style-work-example-card,.work-example-card__image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}.work-example-card:hover .work-example-card__image img{transform:scale(1.05)}.work-example-card__overlay{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(transparent,rgba(10,10,10,.88));transform:translateY(6px);opacity:0;transition:opacity .3s ease,transform .3s ease}.work-example-card:hover .work-example-card__overlay{opacity:1;transform:translateY(0)}.work-example-card__title{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 6px;line-height:1.3}.work-example-card__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.work-example-card__year{font-size:1.15rem;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums}.work-example-card__disciplines{font-size:1.1rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.07em}.work-example-card__caption{font-size:1.2rem;color:rgba(255,255,255,.5);margin:6px 0 0;line-height:1.5}.discipline-filter{position:relative;display:flex;align-items:center}.discipline-filter__select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:0 0;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 36px 8px 16px;font-size:1.3rem;font-family:Inter,"Helvetica Neue",helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;border-radius:100px;transition:border-color .28s ease;letter-spacing:.03em}.discipline-filter__select option{background:#1c1c1c;color:#fff}.discipline-filter__select:focus{outline:0;border-color:#fff}.discipline-filter__select:hover{border-color:rgba(255,255,255,.6)}.discipline-filter__arrow{position:absolute;right:14px;pointer-events:none;color:#fff;font-size:1.1rem;opacity:.7;line-height:1;transform:rotate(90deg)}.contact-cta__text h2{font-size:clamp(3.6rem,6vw,8rem);font-weight:900;line-height:1;color:#fff;margin:0 0 .2em;letter-spacing:-.03em}.contact-cta__tagline{font-size:clamp(3.6rem,6vw,8rem);font-weight:900;line-height:1;color:#fff;margin:0 0 4rem;letter-spacing:-.03em}.contact-cta__links{display:flex;flex-direction:column;gap:10px}.contact-cta__image{width:300px;height:300px;border-radius:50%;overflow:hidden;flex-shrink:0}.contact-cta__image-inner{width:100%;height:100%;background:#1c1c1c;border-radius:50%}.contact-cta__image-inner img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.site-footer__inner{display:flex;justify-content:space-between;align-items:center;max-width:1600px;margin:0 auto}.site-footer small{font-size:1.1rem;color:#6b6b6b;line-height:1.5}@media (max-width:1024px){.contact-cta{padding:80px 40px;grid-template-columns:1fr}.contact-cta__image{display:none}.hero__brandmark{width:55vw;right:-12%;top:-10%;opacity:.05}}@media (max-width:900px){.work-examples__header{padding:0 24px 36px}.work-example-card{width:280px;height:220px}.feature-intro__text h2{font-size:3.8rem}}@media (max-width:540px){.values-section__content{padding:48px 24px}.values-section__content h2{font-size:2.8rem}.work-examples__header{flex-direction:column;align-items:flex-start;gap:16px;padding:0 20px 30px}.work-example-card{width:240px;height:190px}.contact-cta{padding:60px 24px}.contact-cta__tagline,.contact-cta__text h2{font-size:4rem}.contact-cta__email,.contact-cta__phone{font-size:1.5rem}.site-footer{padding:20px 24px}.site-footer__inner{flex-direction:column;align-items:flex-start;gap:8px}.hero{min-height:480px}.hero__brandmark{width:80vw;right:-20%;opacity:.05}}
