/*
Table of contents
__________________________________
- Setup
- Typography
- Layout
- Helpers
*/
/* __________________________________ */
/* Setup */
/* browser reset */
@import url("https://fast.fonts.net/lt/1.css?apiType=css&c=32287eb5-595c-424d-8d72-d9829dd67c3e&fontids=721263,721281,721287");
* { box-sizing: border-box; margin: 0; }

html, body { max-width: 100%; max-width: 100vw; overflow-x: hidden; /* keeps content from overflowing page on small viewports */ }

/* variables */
:root { --number-of-columns: 18; --column-width: calc(100vw/var(--number-of-columns)); --baseline-height: calc(3/2); /* default width for content blocks */ --default-content-width: 16rem; /* default font sizes */ --fontsize-base:    16px; --fontsize-xs:      .75em; --fontsize-s:       .75em; --fontsize-m:       1em; --fontsize-l:       1.125em; --fontsize-xl:      1.5em; --fontsize-xxl:     1.75em; --fontsize-xxxl:    2em; /* title typeface */ --body-font: 'AvenirNext-OP'; --title-font: 'Nazare'; /* colours */ --color-black:      #3D3F4D; --color-lightergray:#F3F5FB; --color-lightgray:  #E1E2F1; --color-gray:       #A3A6CC; --color-darkgray:   #737391; --color-purple:     #563674; --color-yellow:     #FFE65C; --color-red:        #DB6666; --color-green:      #00B38F; --color-background: var(--color-yellow); --color-background: white; --color-text:var(--color-black); }

@media only screen and (min-width: 360px) { :root { --fontsize-xxxl:    2.5em; } }

@media only screen and (min-width: 1024px) { :root { --fontsize-l:    1.25em; } }

@media only screen and (min-width: 480px) { :root { --default-content-width: 12rem; } }

@media only screen and (min-width: 640px) { :root { --default-content-width: 12rem; } }

@media only screen and (min-width: 960px) { :root { --fontsize-s: .666em; } }

@media only screen and (min-width: 960px) { :root { --fontsize-xs: .5em; } }

@media only screen and (min-width: 1600px) { :root { --fontsize-s: .5em; --fontsize-xs: .333em; } }

/* Defining REMs to equal column width */
html { font-size: var(--column-width); background: var(--color-background); }

/* __________________________________ */
/* Typography */
/*
This CSS resource incorporates links to font software which is the valuable copyrighted property of Monotype and/or its suppliers.
You may not attempt to copy, install, redistribute, convert, modify or reverse engineer this font software. Please contact Monotype with any questions regarding Web Fonts: http://www.fontshop.com
*/
@font-face { font-family: "AvenirNext-OP"; src: url("/fonts/AvenirNext/721263/e9167238-3b3f-4813-a04a-a384394eed42.eot?#iefix"); src: local("Avenir Next Regular"), local("AvenirNext-Regular"), url("/fonts/AvenirNext/721263/e9167238-3b3f-4813-a04a-a384394eed42.eot?#iefix") format("eot"), url("/fonts/AvenirNext/721263/2cd55546-ec00-4af9-aeca-4a3cd186da53.woff2") format("woff2"), url("/fonts/AvenirNext/721263/1e9892c0-6927-4412-9874-1b82801ba47a.woff") format("woff"), url("/fonts/AvenirNext/721263/46cf1067-688d-4aab-b0f7-bd942af6efd8.ttf") format("truetype"); font-weight: normal; font-style: normal; }

@font-face { font-family: "AvenirNext-OP"; src: url("/fonts/AvenirNext/721269/12d643f2-3899-49d5-a85b-ff430f5fad15.eot?#iefix"); src: local("Avenir Next Demi Bold"), local("AvenirNext-DemiBold"), url("/fonts/AvenirNext/721269/12d643f2-3899-49d5-a85b-ff430f5fad15.eot?#iefix") format("eot"), url("/fonts/AvenirNext/721269/aad99a1f-7917-4dd6-bbb5-b07cedbff64f.woff2") format("woff2"), url("/fonts/AvenirNext/721269/91b50bbb-9aa1-4d54-9159-ec6f19d14a7c.woff") format("woff"), url("/fonts/AvenirNext/721269/a0f4c2f9-8a42-4786-ad00-fce42b57b148.ttf") format("truetype"); font-weight: 500; font-style: normal; }

@font-face { font-family: "AvenirNext-OP"; src: url("/fonts/AvenirNext/721281/dccb10af-07a2-404c-bfc7-7750e2716bc1.eot?#iefix"); src: local("Avenir Next Bold"), local("AvenirNext-Bold"), url("/fonts/AvenirNext/721281/dccb10af-07a2-404c-bfc7-7750e2716bc1.eot?#iefix") format("eot"), url("/fonts/AvenirNext/721281/14c73713-e4df-4dba-933b-057feeac8dd1.woff2") format("woff2"), url("/fonts/AvenirNext/721281/b8e906a1-f5e8-4bf1-8e80-82c646ca4d5f.woff") format("woff"), url("/fonts/AvenirNext/721281/890bd988-5306-43ff-bd4b-922bc5ebdeb4.ttf") format("truetype"); font-weight: 700; font-style: normal; }

@font-face { font-family: "AvenirNext-OP"; src: url("/fonts/AvenirNext/721287/3418f6be-70a5-4c26-af1d-c09a8642ca20.eot?#iefix"); src: local("Avenir Next Heavy"), local("AvenirNext-Heavy"), url("/fonts/AvenirNext/721287/3418f6be-70a5-4c26-af1d-c09a8642ca20.eot?#iefix") format("eot"), url("/fonts/AvenirNext/721287/5c57b2e2-f641-421e-a95f-65fcb47e409a.woff2") format("woff2"), url("/fonts/AvenirNext/721287/181c847e-cdbc-43d5-ae14-03a81c8953b4.woff") format("woff"), url("/fonts/AvenirNext/721287/045d1654-97f2-4ff0-9d24-21ba9dfee219.ttf") format("truetype"); font-weight: 900; font-style: normal; }

b, strong { font-family: AvenirNext-OP; font-family: AvenirNext-OP; }

em, i { font-family: AvenirNext-OP; }

em strong, strong em { font-family: AvenirNext-OP; }

body { font-family: var(--body-font); font-weight: 400; font-style: normal; color: var(--color-text); font-size: var(--fontsize-base); font-size: clamp(var(--fontsize-base), 2.5vw, calc(var(--fontsize-base)*1.5)); line-height: var(--baseline-height); }

@media only screen and (min-width: 1800px) { body { font-size: clamp(calc(var(--fontsize-base)*1.5), 1.333333vw, 1.333333vw) !important; } }

p, ul, ol, li { max-width: 30em; padding: 0; margin-bottom: 1em; margin-bottom: 1.5em; }

p:last-child, ul:last-child, ol:last-child, li:last-child { margin-bottom: 0; }

ul, ol { margin-top: 1em; margin-bottom: 4em; background: white; }

ul + p, ol + p { margin-top: 2em; }

li { padding: .5em 0 .5em .5em; margin: 0 0 1em 1em; }

ul li { list-style: none; border-top: 1px solid var(--color-gray); margin-top: -1px; margin-left: 0; padding: .5em 0; margin-bottom: 0; }

ul li:last-child { border-bottom: none; margin-bottom: 0; }

ul li li { margin-left: 1em; }

a { color: inherit; }

@media (any-hover: hover) { a:hover { text-decoration: underline; } }

h1, h2, h3, h4, h5, h6 { margin-top: 3em; margin-bottom: 1em; max-width: 36ch; max-width: 24em; font-weight: 500; column-span: all; }

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { margin-top: 0; }

h1 + h2, h1 + h3, h1 + h4, h1 + h5, h1 + h6, h2 + h2, h2 + h3, h2 + h4, h2 + h5, h2 + h6, h3 + h2, h3 + h3, h3 + h4, h3 + h5, h3 + h6, h4 + h2, h4 + h3, h4 + h4, h4 + h5, h4 + h6, h5 + h2, h5 + h3, h5 + h4, h5 + h5, h5 + h6, h6 + h2, h6 + h3, h6 + h4, h6 + h5, h6 + h6 { margin-top: -.25em; }

h1 { max-width: 14em; }

h2 + h3 { margin-top: -.5em; margin-bottom: 1rem; }

h1 { font-size: var(--fontsize-xxl); font-size: 1.5rem; font-family: var(--title-font); line-height: 1.166666; margin-bottom: 1em; max-width: 16em; }

h2 { font-size: var(--fontsize-l); font-family: var(--title-font); }

h3 { font-size: var(--fontsize-l); font-weight: 500; }

h4 { font-size: var(--fontsize-m); }

h5 { font-size: var(--fontsize-s); }

h6 { font-size: var(--fontsize-s); }

h6 { text-transform: uppercase; }

.fontsize-xxl { font-size: var(--fontsize-xxl); }

.fontsize-xl { font-size: var(--fontsize-xl); }

.fontsize-l { font-size: var(--fontsize-l); }

.fontsize-m { font-size: var(--fontsize-m); }

.fontsize-s { font-size: var(--fontsize-s); }

h4, h5, h6 { margin-bottom: 1em; max-width: 30em; }

h3 { max-width: 27em; }

h5, h6 { margin-top: 5em; }

@media only screen and (min-width: 480px) { h1 { font-size: var(--fontsize-xl); } h2 { font-size: var(--fontsize-l); } }

@media only screen and (min-width: 1200px) { h1, h2 { font-size: var(--fontsize-xl); } }

hr { width: 15rem; background: var(--color-black); height: .5em; margin: 1rem 0; }

/* selection styles */
::selection { background: var(--color-black); color: var(--color-yellow); }

.o-page-header > a ::selection { background: transparent; color: inherit; }

.page-content ::selection { background: var(--color-yellow); color: var(--color-black); }

.o-section-body h1 { font-size: var(--fontsize-xxl); line-height: 1.166666; line-height: 1.25; }

.o-section-body h2 { font-size: var(--fontsize-l); margin-bottom: 0.666666em; }

@media only screen and (min-width: 1200px) { .o-page--home h2 { font-size: var(--fontsize-xxxl); line-height: 1.125em; max-width: 14em; } }

.h1-landing { font-family: var(--body-font); font-size: var(--fontsize-xxxl); margin-top: 0; font-weight: 600; max-width: 12em; }

@media only screen and (min-width: 640px) { .h1-landing { font-size: var(--fontsize-xxl); font-size: 2em; } }

.h1-page { margin-top: 0; font-weight: 600; max-width: 14em; }

.caps { text-transform: uppercase !important; letter-spacing: 0.0625em; }

.large { font-size: var(--fontsize-l); }

p.large { margin-right: -1em; }

.small, small { font-size: var(--fontsize-s) !important; }

blockquote { margin: 0.111111em 0 1.111111em; font-size: var(--fontsize-l); }

.metadata, figcaption { font-size: var(--fontsize-s); line-height: 1.25; margin-bottom: .5em; }

.metadata { font-size: var(--fontsize-xs); text-transform: uppercase; opacity: 0.75; letter-spacing: 0.0625em; max-width: none; }

.strong, strong { font-weight: 500; }

/* __________________________________ */
/* Layout */
/* Basic / default layout */
.o-page-header { width: 100%; padding: 1rem; position: relative; z-index: 2; pointer-events: none; }

@media only screen and (min-width: 480px) { .o-page-header { position: absolute; min-height: 3.5rem; } }

@media only screen and (min-width: 640px) { .o-page-header { padding: 1rem; height: 3rem; } }

@media only screen and (min-width: 960px) { .o-page-header { position: fixed; min-height: 0; height: auto; } }

@media only screen and (min-width: 2000px) { .o-page-header { padding: 1rem; height: 1rem; } }

.o-page-header .logo { pointer-events: auto; width: 2rem; height: auto; position: absolute; background: transparent; z-index: 1; }

@media only screen and (min-width: 480px) { .o-page-header .logo { width: 1.5rem; } }

@media only screen and (min-width: 640px) { .o-page-header .logo { width: 1.5rem; padding: .1875rem; margin: -.25rem; border: 0.0625rem solid transparent; } }

.o-page-header nav { text-align: right; }

@media only screen and (min-width: 960px) { .o-page-header nav { text-align: left; position: absolute; z-index: 1; right: 1rem; width: 1rem; } }

.o-page-header nav a { pointer-events: auto; padding: 0.033333rem 0.25em 0; text-decoration: none; font-size: var(--fontsize-s); line-height: 0.3rem; }

@media only screen and (min-width: 300px) { .o-page-header nav a { margin-left: 1em; } }

@media only screen and (min-width: 960px) { .o-page-header nav a { padding: 0.033333rem 0 0 0.25em; display: block; font-size: 0.2rem; line-height: 0.25rem; margin-bottom: 0.05rem; margin-left: 0; background: white; } }

.o-page-header nav a.active { font-weight: 500; }

@media (any-hover: hover) { .o-page-header nav a:hover { background: var(--color-black); color: var(--color-yellow); text-shadow: none; } }

.o-page-footer { background: white; z-index: 1; position: relative; overflow: hidden; margin-left: 1rem; padding: 1em 0 2em; font-size: var(--fontsize-s); margin-top: 3rem; /* horizontal footer layout */ }

.o-page-footer::before { position: absolute; content: ''; border-top: 1px solid var(--color-black); width: 100%; top: 0; left: 0; }

.o-page-footer address { font-style: normal; }

@media only screen and (min-width: 960px) { .o-page-footer * { display: inline-block; } .o-page-footer strong { width: 2rem; float: left; } .o-page-footer address { width: 9rem; float: left; } .o-page-footer span.links { width: 5rem; text-align: right; } }

@media only screen and (min-width: 1600px) { .o-page-footer address { width: 13rem; } .o-page-footer span.links { width: 1rem; text-align: left; } }

/* sections */
.page-content, .o-section { margin: 2em 0; }

@media only screen and (min-width: 480px) { .page-content, .o-section { margin: 4rem 0; } }

@media only screen and (min-width: 640px) { .page-content, .o-section { margin: 3rem 0; } }

@media only screen and (min-width: 1280px) { .page-content, .o-section { margin: 2.5rem 0; } }

@media only screen and (min-width: 1440px) { .page-content, .o-section { margin: 2rem 0; } }

.o-section-header, .o-section-body, .o-section-footer { width: var(--default-content-width); margin: 2em auto; }

.o-section-header { margin-top: 4em; margin-bottom: 1em; color: var(--color-black); }

@media only screen and (min-width: 640px) { .o-section-header { font-size: .5rem; margin-bottom: 2em; } }

@media only screen and (min-width: 1600px) { .o-section-header { position: relative; font-size: .5rem; } }

.o-section-body { margin-bottom: 6em; }

@media only screen and (min-width: 1600px) { .o-section-body { margin-left: 3rem; } .o-section-body + .o-section-body { /* NOTE: this is a bit of an edge case, normally you wouldn't have multiple consecutive bodies */ margin-top: 8em; } }

.o-section-footer { margin-bottom: 8em; margin-top: 8em; }

@media only screen and (min-width: 1600px) { .o-section-footer { margin-top: 12em; clear: both; } }

/* Detailed / responsive layout */
/* special */
.link { text-decoration: none; display: block; font-size: var(--fontsize-m); }

@media only screen and (min-width: 1440px) { .link { font-size: var(--fontsize-l); } }

.link + .link { margin-top: 0; }

.link p { margin-bottom: 0; }

.link h4 { margin-bottom: 0; }

/* comma delineated list for compact display, currently on homepage only */
.tight-list { display: none; padding-top: 1em; }

.tight-list h2, .tight-list ul { display: none; }

@media only screen and (min-width: 960px) { .tight-list h2, .tight-list ul { display: block; } }

.tight-list ul { height: 0; overflow: hidden; font-size: var(--fontsize-s); max-width: none; margin-bottom: 1rem !important; margin-bottom: 4em; }

@media only screen and (min-width: 960px) { .tight-list ul { height: auto; } }

@media only screen and (min-width: 1600px) { .tight-list ul { margin-left: 2rem; margin-top: -1.5em; } }

.tight-list ul li { padding: 0; display: inline; border: none; }

.tight-list ul li:after { content: ', '; margin-right: 0.25em; /* a little extra space between items */ }

.tight-list ul li:last-child:after { content: ''; /* remove comma and spacing from last item */ margin-right: 0; }

/* Components */
.cta { box-shadow: inset 0 -0.125em 0 #e1e2f1; text-decoration: none; transition: box-shadow .25s; }

@media (any-hover: hover) { .cta:hover { box-shadow: inset 0 -0.333em 0 #ffe75d; text-decoration: none; } }

figure { column-span: all; margin: 4em 1rem; background: var(--color-yellow); position: relative; padding-top: 120%; }

figure:last-child { margin-bottom: 0; }

@media only screen and (min-width: 480px) { figure { padding-top: 90%; } }

@media only screen and (min-width: 640px) { figure { padding: 0 2rem; } }

figure::before { content: ''; width: 0; height: 0; border: 50% solid transparent; border-bottom-color: #f00; }

figure img { pointer-events: none; display: block; width: 200%; margin-left: -12.5%; position: absolute; z-index: 1; top: 0; left: 0; }

@media only screen and (min-width: 480px) { figure img { margin-left: -50%; width: 160%; margin-left: -30%; } }

@media only screen and (min-width: 640px) { figure img { position: relative; background: transparent; width: 100%; width: 16rem; margin: 0; margin-left: -2rem; } }

figure figcaption { text-align: right; color: var(--color-black); padding: 1em; padding-right: 2rem; }

@media only screen and (min-width: 2000px) { figure figcaption { position: absolute; padding-right: 4.125rem; z-index: 1; } }

.o-section-body { /* adjusts figure within this context*/ }

.o-section-body figure { width: 13rem; margin: 2rem 0 1rem -8rem; background: transparent; padding: 0; }

@media (min-width: 480px) { .o-section-body figure { width: 14rem; margin: 2rem -2rem 1rem 0; } }

.o-section-body figure img { position: relative; mix-blend-mode: normal; }

.o-section-body figcaption { text-align: left; padding-left: 2rem; margin-left: 6rem; margin-right: -11rem; }

@media (min-width: 480px) { .o-section-body figcaption { padding-left: 0; margin: 0; } }

figure.banner { display: none; background: var(--color-lightergray); }

figure.banner::before { left: 0; position: absolute; right: 0; top: 0; height: 0; background: transparent; display: block; z-index: 1; bottom: auto; width: 0; border-top: 1rem solid white; border-right: 13rem solid transparent; }

@media (min-width: 480px) { figure.banner::before { border-left: 14rem solid transparent; border-right: none; } }

figure.banner figcaption { background: white; }

@media (min-aspect-ratio: 3/2) and (min-width: 1024px) { figure.banner { overflow: hidden; position: fixed; right: 0; top: 0; bottom: 0; padding: 0; margin: 0; left: auto; width: 6.5rem; } figure.banner:before { content: ''; display: block; position: absolute; z-index: 2; width: 0; border: none; border-left: 2rem solid white; border-bottom: 100vh solid transparent; } figure.banner img { position: absolute; z-index: 3; width: auto; height: auto; width: 18rem; min-height: 100vh; right: -6rem; left: auto; bottom: 0; top: auto; } figure.banner figcaption { z-index: 4; padding: .25rem; position: fixed; bottom: .75rem; right: .75rem; left: auto; width: 2rem; text-align: right; background: white; box-shadow: 1em 1em var(--color-black); } }

@media (min-aspect-ratio: 2/1) and (min-width: 1980px) { figure.banner img { width: 14rem; right: -3.333rem; } }

@media (min-aspect-ratio: 5/2) and (min-width: 1980px) { figure.banner img { width: 12rem; right: -2rem; } }

@media (min-aspect-ratio: 3/1) and (min-width: 1980px) { figure.banner img { width: 10rem; right: -.5rem; } }

@media (min-aspect-ratio: 7/2) and (min-width: 1024px) { figure.banner { display: none; } }

figure.shadow img { box-shadow: 0 0.5em 1em var(--color-lightgray); }

.client-logos { overflow: hidden; padding: 0.25rem .5rem 0 0; margin: 0 -2rem 0 -0; min-width: 100%; max-width: none; }

.client-logos img { color: var(--color-gray); border-top: 1px solid; border-left: 1px solid; background: white; float: left; display: block; width: 4.5rem; margin-right: .5rem; margin-bottom: .5rem; }

@media only screen and (min-width: 479px) { .client-logos img { width: 3.5rem; } }

@media only screen and (min-width: 960px) { .client-logos img { width: 2rem; } }

.onpage-nav-wrapper .onpage-nav { margin-right: -2rem; }

@media only screen and (min-width: 480px) { .onpage-nav { margin-right: -2rem; } }

@media (min-aspect-ratio: 3/2) { .onpage-nav { padding-bottom: 1rem; } }

.onpage-nav .link { font-family: var(--title-font); position: relative; margin: 0 0 0 -1rem; border-left: 1rem solid transparent; border-bottom: .125em solid transparent; background: white; padding: 1em 1em .666em 0; }

@media only screen and (min-width: 480px) { .onpage-nav .link { margin-right: -1rem; } }

@media only screen and (min-width: 800px) { .onpage-nav .link { border-left: .5rem solid transparent; margin-left: -.5rem; } }

.onpage-nav .link:last-child { border-bottom-color: transparent; }

@media (any-hover: hover) { .onpage-nav .link:hover { text-decoration: none; background: var(--color-yellow); border-left-color: var(--color-yellow); color: var(--color-black); z-index: 1; position: relative; } }

.onpage-nav .link.active { background: var(--color-black); color: white; }

@media (any-hover: hover) { .onpage-nav .link.active:hover { border-left-color: var(--color-black); } }

.onpage-nav .link .link-text { font-size: var(--fontsize-m); line-height: 1.25; margin-bottom: 0.125em; font-weight: 300; text-decoration: underline; display: block; }

@media only screen and (min-width: 1280px) { .onpage-nav .link .link-text { font-size: var(--fontsize-l); } }

.onpage-nav .link .small { display: block; font-family: var(--body-font); }

.o-page--article .onpage-nav { font-size: var(--fontsize-m); }

@media (min-aspect-ratio: 3/2) { .o-page--article .onpage-nav { margin-right: -7rem; } }

.o-page--article .onpage-nav .link { font-size: var(--fontsize-m); }

.o-page--article .onpage-nav .link .link-text { font-size: var(--fontsize-m); }

.onpage-nav-label { padding: 0.75em 0.25em 0.25em 0; border-top: 1px solid; font-family: var(--body-font); max-width: none; margin: 1rem -2rem 0 0; margin-bottom: 2em; display: block; }

@media only screen and (min-width: 480px) { .onpage-nav-label { margin-right: -3rem; } }

@media only screen and (min-width: 1024px) { .onpage-nav-label { margin-right: -7rem; } }

/* ========================================================================================================= */
/* specific sections and pages */
.metadata + h1 { margin-top: 0.25em !important; }

.o-section--article .o-section-header h1 { position: relative; margin-top: 0; margin-bottom: 0.25em; margin-right: 1rem; }

.o-section--article .o-section-body, .o-section--article .o-section-footer { overflow: visible; z-index: 1; width: 14rem; position: relative; }

@media (min-width: 480px) { .o-section--article .o-section-body, .o-section--article .o-section-footer { width: 11rem; } }

@media (min-aspect-ratio: 3/2) { .o-section--article .o-section-header, .o-section--article .o-section-body, .o-section--article .o-section-footer { width: 9.5rem; margin-right: 5rem; margin-left: 1rem !important; } .o-section--article .o-section-body, .o-section--article .o-section-footer { width: 8rem; } .o-section--article figure.shadow { margin-left: 0; } }

.o-page--article { padding-left: 2rem; }

.o-page--article .o-section-body, .o-page--article .o-section-footer { margin: 2em 0; }

@media only screen and (min-width: 480px) { .o-page--article .o-section-body, .o-page--article .o-section-footer { margin-left: 2rem; } }

.o-page--article .o-section-footer { margin-top: 8em; }

.o-section--solutions ul li a { display: block; }

.o-section--solutions .o-section--columns .btn { margin-right: -3rem; padding-right: 3.5rem; font-family: var(--title-font); text-decoration: underline; }

@media only screen and (min-width: 960px) { .o-section--solutions .o-section--columns { columns: 2; column-gap: 2em; hyphens: auto; } .o-section--solutions .o-section--columns p { font-size: .75em; } .o-section--solutions .o-section--columns .btn { column-span: all; margin-right: -3rem; } }

@media only screen and (min-width: 1800px) { .o-section--solutions .o-section--columns { columns: 3; } }

@media only screen and (min-width: 480px) { .inset { margin-left: 1rem; } }

.established { position: relative; height: 0.75rem; margin-bottom: 1em; display: block; display: none; }

@media only screen and (min-width: 480px) { .established { border-bottom: 1px solid var(--color-black); margin-right: -3rem; } }

.established .established-datum { font-size: var(--fontsize-xs); min-width: 3rem; display: inline-block; text-transform: uppercase; letter-spacing: 01px; position: relative; }

.page-content { min-height: calc(100vh - 16rem); }

@media only screen and (min-width: 480px) { .page-content { min-height: calc(100vh - 10.5rem); } }

@media only screen and (min-width: 640px) { .page-content { min-height: calc(100vh - 8rem); } }

@media only screen and (min-width: 960px) { .page-content { min-height: calc(100vh - 7rem); } }

@media only screen and (min-width: 1600px) { .page-content { min-height: calc(100vh - 6rem); } }

/* __________________________________ */
/* Helpers */
.hide { display: none !important; }

.nowrap { white-space: nowrap; }

/* NEW */
.career-cta { background: var(--color-yellow); margin: 0 -2rem 0 -1rem; padding: 1rem; }

@media only screen and (min-width: 480px) { .career-cta { margin-right: -3rem; } }

@media only screen and (min-width: 1024px) { .career-cta { margin-right: -7rem; } }

@media only screen and (min-width: 1800px) { .career-cta { margin-left: 0; } }

.career-cta h1 { font-size: var(--fontsize-xxl); margin-bottom: 0.25em; }

.career-cta .cta { box-shadow: inset 0 -0.125em 0 var(--color-black); }

.career-cta .cta:hover { box-shadow: inset 0 -0.125em 0 var(--color-yellow); }

.career-cta:hover { background: var(--color-black); color: var(--color-yellow); cursor: default; }

.btn { display: block; background: var(--color-yellow); margin: 1rem -.5rem 2rem; padding: .5rem; text-decoration: none; font-weight: 500; }

.nudge-wider { letter-spacing: 0.01em; }

.nudge-narrower { letter-spacing: -0.01em; }

.nudge-wider-2x { letter-spacing: 0.02em; }

.nudge-narrower-2x { letter-spacing: -0.02em; }

.nudge-wider-4x { letter-spacing: 0.04em; }

.nudge-narrower-4x { letter-spacing: -0.04em; }

/* __________________________________ */
/* BambooHR embed customization */
/* Override default styles from embed code */
#BambooHR * { float: none    !important; padding: 0 !important; margin: 0 !important; border: none; max-width: none; }

#BambooHR .BambooHR-ATS-board, #BambooHR .BambooHR-ATS-blankState { color: inherit; font-size: inherit; }

#BambooHR .BambooHR-ATS-board strong, #BambooHR .BambooHR-ATS-blankState strong { font-size: inherit; font-weight: bolder; }

#BambooHR .BambooHR-ATS-board { text-align: default; font-family: inherit; }

#BambooHR .BambooHR-ATS-board h2 { border-bottom: none !important; }

#BambooHR .BambooHR-ATS-board ul { font-size: inherit; }

#BambooHR .BambooHR-ATS-board ul > ul:last-of-type { margin-bottom: inherit !important; }

#BambooHR .BambooHR-ATS-board li { color: inherit; }

#BambooHR .BambooHR-ATS-board a { font-size: inherit; font-weight: inherit; line-height: inherit; }

/* custom styles */
@media only screen and (min-width: 480px) { #BambooHR { margin-right: -2rem !important; } }

@media (min-aspect-ratio: 3/2) { #BambooHR { padding-bottom: 1rem; } }

#BambooHR ul, #BambooHR li { border: none !important; }

#BambooHR .BambooHR-ATS-board h2 { margin: 1rem -2rem 2em 0 !important; border-top: 1px solid var(--color-black); padding: 0.75em 0.25em 0.25em 0 !important; line-height: var(--baseline-height); font-family: var(--body-font); font-size: var(--fontsize-s); font-weight: 400; text-transform: uppercase; letter-spacing: 0.0625em; }

#BambooHR .BambooHR-ATS-Department-List { font-size: var(--fontsize-l); padding: 0 !important; }

#BambooHR .BambooHR-ATS-Department-Header { display: none; margin-top: 4em !important; margin-bottom: 1em !important; padding-top: 1em !important; font-size: var(--fontsize-s); text-transform: uppercase; border-top: 1px solid var(--color-black); }

#BambooHR .BambooHR-ATS-Jobs-List { margin-bottom: 0 !important; }

#BambooHR li.BambooHR-ATS-Jobs-Item { position: relative; }

#BambooHR li.BambooHR-ATS-Jobs-Item { font-size: var(--fontsize-m); }

@media only screen and (min-width: 1440px) { #BambooHR li.BambooHR-ATS-Jobs-Item { font-size: var(--fontsize-l); } }

#BambooHR .BambooHR-ATS-board a { font-family: var(--title-font); line-height: 1em; font-size: var(--fontsize-m); display: block; position: relative; margin: 0 -1rem !important; border-left: 1rem solid transparent; border-bottom: .1em solid transparent  !important; padding: .333rem 1em .222rem 0  !important; background: white; }

@media only screen and (min-width: 1280px) { #BambooHR .BambooHR-ATS-board a { font-size: var(--fontsize-l); } }

@media only screen and (min-width: 800px) { #BambooHR .BambooHR-ATS-board a { border-left: .5rem solid transparent !important; margin-left: -.5rem !important; } }

#BambooHR .BambooHR-ATS-board a:last-child { border-bottom-color: transparent  !important; }

@media (any-hover: hover) { #BambooHR .BambooHR-ATS-board a:hover { background: var(--color-yellow); border-left-color: var(--color-yellow); color: var(--color-black); z-index: 1; position: relative; } }

#BambooHR .BambooHR-ATS-board a:after { content: "\00a0"; text-indent: -100em; text-transform: uppercase; display: block; font-size: var(--fontsize-s); font-family: var(--body-font); line-height: var(--fontsize-s); margin-top: 1em; }

#BambooHR .BambooHR-ATS-Location { display: block; font-size: var(--fontsize-s); position: absolute; bottom: .222rem; z-index: 1; pointer-events: none; font-family: var(--body-font); text-transform: uppercase; text-indent: -1000em; margin-top: -2em !important; }

#BambooHR .BambooHR-ATS-Location:after { content: "Canada, remote"; display: block; text-decoration: none; position: absolute; top: 0; text-indent: 0; width: 20em; }

@media only screen and (min-width: 1600px) { #BambooHR .BambooHR-ATS-Location { margin-top: -3em !important; } }

/*# sourceMappingURL=main.css.map */