:root {
--highlight:#0CD5BD;
--dark:#1F1F1F;
}  html {font-size:62.5%;}
body {font-family:'hk-grotesk'; font-size:1.6em; line-height:1.3; font-weight:400; font-style:normal;}
h1, h2, h3, h4, h5, h6 { margin: 0; margin-bottom: 2rem; font-weight: 600; position: relative; letter-spacing: 0; }
h1, .h1 { font-size: 5rem;  letter-spacing: -0.2rem; line-height:1.1; }
h2 { font-size: 3rem;   margin-bottom: 2.5rem;}
h3 { font-size: 1.9rem;    margin-bottom: 2rem;}
h4 { font-size: 1.6rem;   }
h5 { font-size: 1.6rem;    }
h6 { font-size: 1.6rem;  }
p, ul { margin-top: 0; font-size:1.8rem; line-height:1.6; margin-bottom: 2rem;}
.has-large-font-size {font-size:3rem; letter-spacing: -0.2rem;} @media (min-width: 550px) {
} @media (min-width: 750px) {
h1, h2, h3, h4, h5, h6 {  margin-bottom: 3rem;  }
h1, .h1 { font-size: 5rem; letter-spacing: -0.2rem;}
} @media (min-width: 1000px) {
h1, .h1 { font-size: 6rem; letter-spacing: -0.5rem;}
} @media (min-width: 1200px) {
h1, h2, h3, h4, h5, h6 {    }
h1, .h1 { font-size: 10rem; letter-spacing: -0.6rem;}
p.large {font-size:5rem;}
} @media (min-width: 1500px) {
h1, h2, h3, h4, h5, h6 {   }
h1, .h1 { font-size: 13rem; letter-spacing: -0.8rem;}
}  .button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
background-color:var(--highlight); color:#fff; border-radius:3px; padding: calc(.2em + 2px) calc(1.3em + 2px);cursor: pointer; box-sizing: border-box; border:none;;
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
background-color:#fff; color:var(--highlight); } input[type="email"],
input[type="date"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
position:relative;
color:var(--dark);
font-size:2rem;
font-weight:400;
padding: 8px 0px 8px 0px; background-color: #fff;
border:none;
border-bottom:solid 10px var(--highlight);
width:100%;
border-radius: 0px;
box-shadow: none;
box-sizing: border-box; 
}
textarea {border-radius:0;} input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none; }
textarea {
min-height: 65px;
padding-top: 6px;
padding-bottom: 6px; }
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
border: 1px solid #33C3F0;
outline: 0; }
label,
legend {
display: block;
margin-bottom: 1rem;
font-weight: 400;
text-transform: uppercase;
font-size:1.3rem;}
fieldset {
padding: 0;
border-width: 0; }
input[type="checkbox"],
input[type="radio"] {
display: inline; }
label > .label-body {
display: inline-block;
margin-left: .5rem;
font-weight: 200; }
select{-webkit-appearance: none; -moz-appearence: none; }
::-webkit-input-placeholder { color: #ccc;
}
::-moz-placeholder { color: #ccc;
}
:-ms-input-placeholder { color: #ccc;
}
:-moz-placeholder { color: #ccc;
} @media (min-width: 400px) {} @media (min-width: 550px) {
} @media (min-width: 750px) {
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {background-color:var(--highlight); color:#fff; border-radius:3px; padding: calc(.2em + 2px) calc(1.3em + 2px);cursor: pointer; box-sizing: border-box; border:none; }
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {background-color:#fff; color:var(--highlight); }
input[type="email"],
input[type="date"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
position:relative;
color:var(--dark);
font-size:2rem;
font-weight:400;
padding: 8px 0px 8px 0px; background-color: #fff;
border:none;
border-bottom:solid 10px var(--highlight);
width:auto;
border-radius: 0px;
box-shadow: none;
box-sizing: border-box; 
}
} @media (min-width: 1000px) {
} @media (min-width: 1200px) {
} @media (min-width: 1500px) {
} ul {list-style: disc outside;}
ol {list-style: decimal outside; }
ol, ul {padding-left: 0;margin-top: 0; }
ul ul,ul ol,ol ol,ol ul {margin: 1.5rem 0 1.5rem 3rem;  }
li {margin-bottom: 0rem; margin-left:1rem;}
ul.services {list-style:none;}
ul.services li::before {content:'\2014\ '; margin-right: 10px; } @media (min-width: 400px) {} @media (min-width: 550px) {} @media (min-width: 750px) {
} @media (min-width: 1000px) {
} @media (min-width: 1200px) {} @media (min-width: 1500px) {} th,
td {
padding: 12px 15px;
text-align: left;
border-bottom: 1px solid #484848; }
th:first-child,
td:first-child {
padding-left: 0; }
th:last-child,
td:last-child {
padding-right: 0; } button,
.button {
margin-bottom: 1rem; }
input,
textarea,
select,
fieldset {
margin-bottom: 1.5rem; }
pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
margin-bottom: 2.5rem; }  main#main {margin-top:65px}
a {color:var(--dark); transition:0.3s ease-in-out all; text-decoration: none; border-bottom:solid 3px var(--highlight);}
a:hover {color:var(--highlight); border-color:var(--highlight);;}
h2 a {border:none;}
hr, .wp-block-seperator {border: none; border-bottom:10px solid var(--highlight) !important; margin:5vh 0 !important; width:100px; }
.blocklink {position:absolute; top:0; left:0; width:100%; height:100%; z-index:9999; border: none;}
.contain-link {display:block;}
.blocklink:hover {border:0;}
.blockimage {background-size:cover; background-position: center; position:absolute; top:0; left:0; width:100%; height:100%; z-index: 999;}
.space {margin:11%;}
.flex {display:flex; flex-flow:row wrap; justify-content: flex-start; align-items: center; align-content: center; gap:2%;}
blockquote, blockquote.wp-block-quote {position: relative; width:100%; margin: 2rem auto; font-size:2rem; padding: 0 2rem; border-color:var(--highlight);}
.wp-block-quote cite {color:var(--highlight); margin: 0 0 0 7rem;}
blockquote::before {content:""; position: absolute; bottom: calc(100% + 1rem); width:50px; height:50px; background-image:url(//wearefactory.net/wp-content/themes/waf2022/assets/images/interface/quotes-top.svg); background-size:contain; background-repeat: no-repeat; background-posiion:left;}
blockquote::after {content:""; position: absolute; top: calc(100% - 3rem); width:50px; height:50px; background-image:url(//wearefactory.net/wp-content/themes/waf2022/assets/images/interface/quotes-bottom.svg); background-size:contain; background-repeat: no-repeat; background-posiion:left;}
.narrow {width:100%; margin-left: auto; margin-right:auto;}
.highlight {color:var(--highlight);}
strong, b {font-weight: 600;}
.content-wrapper {padding:2rem;} @media (min-width: 400px) {} @media (min-width: 550px) {
} @media (min-width: 750px) {
main#main {margin-top:110px}
blockquote, blockquote.wp-block-quote {width:65%; margin: 6rem auto; padding:0 4rem;}
} @media (min-width: 1000px) {
.content-wrapper {padding:3rem;}
.narrow {width:80%; margin-left: auto; margin-right:auto;}
} @media (min-width: 1200px) {
blockquote, blockquote.wp-block-quote {width:65%; margin: 10rem auto;}
hr, .wp-block-seperator {border-bottom:20px solid var(--highlight) !important; margin:5vh 0 !important;}
}  header {display: flex; background-color:#fff; flex-direction: row; align-items: center; justify-content: space-between; position: fixed; top:0; height: 65px; width: 100%; z-index: 99999; transition:1s all;}
header button {height:auto;}
header .brand {flex:0 0 auto; height:45%; width:auto; margin: 0 3%; line-height: 0; position:relative;}
header .brand a { border:none;}
header .brand img {height:100%; width:auto; display: inline-block; vertical-align: bottom;}
header .brand .factory-text {height:80%; position:relative; bottom:-5px; left: 5px; transition:0.5s opacity ease-out;}
header .header-right {flex:0 0 auto; margin: 0 3%; text-align: right;}
#mega-menu-wrap-primary:has(.mega-menu-open) #mega-menu-primary[data-effect-mobile^="slide_right"] + button.mega-close {justify-content: flex-end; right:0;} @media (min-width: 400px) {} @media (min-width: 550px) {} @media (min-width: 750px) {
header { height: 110px; }
header .brand { height:30%; }
header.scroll-down {height:80px;}
header.scroll-down .factory-text {opacity: 0;}
header.scroll-up {height:110px;}
} @media (min-width: 1000px) {
} @media (min-width: 1200px) {
header .brand { height:40%; }
} @media (min-width: 1500px) {
}  footer {background-color: var(--dark); color:#fff; padding: 7rem 0;}
footer .factory-marque {width:180px; height:auto; margin:0 0 3rem 0;}
footer ul {list-style:none;}
footer ul li {margin:0;}
footer a {color:var(--highlight);} @media (min-width: 400px) {} @media (min-width: 550px) {} @media (min-width: 750px) {
} @media (min-width: 1000px) {
} @media (min-width: 1200px) {
}  .wp-block-columns {margin: 7rem auto;}
.wp-block-group {margin:4rem auto;}
.wp-block-group.has-background {padding: 4rem 0;} .work-tiles {display:flex; justify-content: space-between; flex-flow:row wrap; align-items: flex-start; align-content: flex-start;}
.work-tile {flex:0 0 49%; margin-bottom: 2%;} .caption-style-4 {float:left; padding:0px; margin:0px; position:relative; overflow:hidden;}
.caption-style-4 .caption {cursor:pointer; position:absolute; opacity:0; width:100%; height:100%; transition:all 0.45s ease-in-out;}
.caption-style-4:hover .caption {opacity:1; cursor:pointer;}
.caption-style-4:hover img {opacity:1; cursor:pointer;}
.caption-style-4 img {margin:0px; padding:0px; float:left; z-index:4; transition:all 0.25s ease-in-out;}
.caption-style-4 .blur {background-color:rgba(255,255,255,0.90); height:100%; width:100%; z-index:5;	position:absolute; cursor:pointer;}
.caption-style-4 .caption-text {z-index:10; position:absolute; width:280px; left:20px; top:20px; }
.caption-style-4 .caption-text h2 {font-size:1.8rem; line-height:2.1rem; color:#000; display:inline; margin-bottom:5px;}
.caption-style-4 .caption-text p {font-size:1.4rem; color:#000;} .wp-embed-aspect-16-9 .wp-block-embed__wrapper {padding:56.25% 0 0 0; position:relative; width:100%;}
.wp-embed-aspect-16-9 iframe {position:absolute; width:100%; top:0; left:0; height: 100%;} .wp-block-cover, .wp-block-cover-image {height:100%;}
.wp-block-group.home-news-section {position: relative; top: 0; height:auto;}
.wp-block-group.home-news-section h2, .wp-block-group.home-news-section p, .wp-block-group.home-news-section blockquote {color:#fff;}
.wp-block-group.home-news-section {}
.wp-block-button a {background-color:var(--highlight); color:#fff; border-radius:3px; padding: calc(.2em + 2px) calc(1.3em + 2px);  }
.wp-block-button a:hover {background-color:#fff; color: var(--highlight);} @media (min-width: 400px) {} @media (min-width: 550px) {} @media (min-width: 750px) {
} @media (min-width: 1000px) {
.work-tile {flex:0 0 32%;}
} @media (min-width: 1200px) {
.wp-block-group {margin:6rem auto;}
}  .blog-wrapper {gap:5%; align-items: flex-start; align-content: flex-start;}
.blog-tile {flex:0 0 100%; position: relative; background-color:#fff; transition: 0.5s cubic-bezier(0.15, 0.32, 0.55, 1.35); }
.blog-tile:hover {transform:scale(110%); box-shadow: 0 6px 10px rgba(0,0,0,0.15); }
.blog-tile h2 {font-size: 3rem; font-weight: 700; letter-spacing: -0.2rem;}
.blog-tile .blog-image {margin: 0 0 3vh 0;}
.blog-tile .blog-image img {width:100%; height:auto; }
.blog-single {}
.blog-single h1 {}
.blog-single .blog-title {flex-flow: column-reverse; margin-bottom:2rem; align-items: flex-start;}
.blog-single .title {flex:1 1;}
.blog-single .blog-image {flex:0 1 40%; height: auto;}
.blog-single .blog-image img {width: 100%; height: auto;} @media (min-width: 550px) {
} @media (min-width: 750px) {
.blog-tile {flex:0 0 45%; position: relative; background-color:#fff; transition: 0.5s cubic-bezier(0.15, 0.32, 0.55, 1.35); }
.blog-single .blog-title {flex-flow:row-reverse; margin-bottom:3rem;}
.blog-single h1 {font-size:6rem; line-height: 1.1; letter-spacing: -0.3rem;}
} @media (min-width: 1000px) {
.blog-tile h2 {font-size: 4rem;}
.blog-tile {flex:0 0 30%; position: relative; background-color:#fff; transition: 0.5s cubic-bezier(0.15, 0.32, 0.55, 1.35); }
} @media (min-width: 1200px) {
} @media (min-width: 1500px) {
.blog-single h1 {font-size:9rem; line-height: 1.1; letter-spacing: -0.3rem;}
.blog-tile h2 {font-size: 5rem;}
}  #hero {background-color:#000;}
.video-container.cover {width:100%; aspect-ratio: 16 / 9; position: relative; background-image:url(//wearefactory.net/wp-content/themes/waf2022/assets/images/interface/home-intro-frame.jpg); background-size: contain; background-position: center; background-repeat: no-repeat;}
.video-masked {background-image:unset;  -webkit-mask-image: url(//wearefactory.net/wp-content/themes/waf2022/assets/images/video-mask.svg);mask-image: url(//wearefactory.net/wp-content/themes/waf2022/assets/images/video-mask.svg);mask-mode: luminance; -webkit-mask-mode: luminance; mask-size: 160%; mask-position: 50% 50%; mask-repeat: no-repeat;
animation: reveal 3s ease-in forwards; animation-delay: 4s ;
}
@keyframes reveal {
from { -webkit-mask-size: 160%; mask-size: 160%; mask-position: 50% 50%;}
to { mask-size: 3000%; -webkit-mask-size: 3000%;  mask-position: 54% 60%; } }
.video-container.cover iframe {width:100%; height: 100%;}
.latest-work {margin-top: 2%;}
.what-we-do {margin-bottom:2%;}
.what-we-do ul {margin:0; padding: 0;}
.slide-caption {width:80%; max-width:500px !important; padding: 4rem !important; background-color:var(--highlight); text-align: left;}
#intro .home-carousel .slide-content {padding: 0;}
.home-work {}
.home-work figure a {display: block; transition: all ease-in-out 0.3s; }
.home-work figure a:hover {transform: scale(110%); box-shadow: 0 6px 10px rgba(0,0,0,0.15);} @media (min-width: 400px) {} @media (min-width: 550px) {
} @media (min-width: 750px) {
} @media (min-width: 1000px) {
} @media (min-width: 1500px) {
}   @media (min-width: 400px) {} @media (min-width: 550px) {
} @media (min-width: 750px) {
} @media (min-width: 1000px) {
} @media (min-width: 1500px) {
.single-work h1 {width:80%;}
}