/*
Theme Name: 	Buchanan Design
Author:         Derek Ashauer
Author URI:     https://www.buchanandesign.com
*/

@import url("https://use.typekit.net/ebr5ytd.css");

:root {
  --primary: #FF521D;
  --main: #504B48;
  --main-light: #707070;
  --bg-light: #FAFAFA;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/avenirnextltpro-medium-webfont.woff2') format('woff2'),
         url('fonts/avenirnextltpro-medium-webfont.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/avenirnextltpro-regular-webfont.woff2') format('woff2'),
         url('fonts/avenirnextltpro-regular-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

/* Resets */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed,  figure, figcaption, footer, header, hgroup,  menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 120%; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
input { vertical-align: middle; }
input[type="submit"] { cursor: pointer; }
html,body { height: 100%; }
:focus { outline: none; }

/* WordPress required styles */
.alignnone { margin: 5px 20px 20px 0; }
.aligncenter,
div.aligncenter { display: block; margin: 5px auto 5px auto; }
.alignright { float:right; margin: 5px 0 20px 20px; }
.alignleft { float: left; margin: 5px 20px 20px 0; }
a img.alignright { float: right; margin: 5px 0 20px 20px; }
a img.alignnone { margin: 5px 20px 20px 0; }
a img.alignleft { float: left; margin: 5px 20px 20px 0; }
a img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { background: #fff; border: 1px solid #f0f0f0; max-width: 96%; padding: 5px 3px 10px; text-align: center; }
.wp-caption.alignnone { margin: 5px 20px 20px 0; }
.wp-caption.alignleft { margin: 5px 20px 20px 0; }
.wp-caption.alignright { margin: 5px 0 20px 20px; }
.wp-caption img { border: 0 none; height: auto; margin: 0; max-width: 98.5%; padding: 0; width: auto; }
.wp-caption p.wp-caption-text { font-size: 80%; line-height: 1.2; margin: 0; padding: 0 4px 5px; }

/* ----------------------------------- */
/* COMMON
/* ----------------------------------- */
body { background: #FFF; }
body, p, div, li, h1, h2, h3, h4, td, th, input, select, textarea { font: normal 22px/1.48 Avenir, sans-serif; color: var(--main); }
p, h1, h2, h3, h4, section ul, section ol, section table { margin-bottom: 15px; }
h1, h2, h3 { line-height: 1.1; color: var(--primary); }
a img, :link img, :visited img { border: none }
a { color: var(--primary); text-decoration: none; }
a:hover { color: var(--secondary); }
input { vertical-align: middle; }
.gfield { margin-left: 0 !important; }
img { max-width: 100%; height: auto; }

.has-orange-background-color { background-color: #FF521D; }
.has-orange-color { color: #FF521D; }
.has-orange-border-color { color: #FF521D; }

.has-gray-background-color { background-color: #504B48; }
.has-gray-color { color: #504B48; }
.has-gray-border-color { color: #504B48; }

.has-light-gray-background-color { background-color: #504B48; }
.has-light-gray-color { color: #504B48; }
.has-light-gray-border-color { color: #504B48; }

.has-super-light-gray-background-color { background-color: #FAFAFA; }
.has-super-light-gray-color { color: #FAFAFA; }
.has-super-light-gray-border-color { color: #FAFAFA; }

.has-texture-background-color { background: url(images/texture.png) center / auto repeat #FAF6ED; }
.has-texture-color { color: #FAF6ED; }
.has-texture-border-color { color: #FAF6ED; }

#skip-to-content { background: var(--primary); color: #FFF; height: 30px; left: 50%; padding: 8px; position: absolute; z-index: 99999; transform: translate(-50%, -100%); transition: transform 0.3s; }
#skip-to-content:focus { transform: translate(-50%, 0); }

.keyboard-nav a:focus,
.keyboard-nav input:focus,
.keyboard-nav button:focus { outline: 3px solid var(--primary); outline-offset: 5px; outline-style: inset; }

main > *,
#main .container,
.container,
#main .wp-block-group .wp-block-group__inner-container,
 .wp-block-group .wp-block-group__inner-container { width: 100%; padding-left: 40px; padding-right: 40px; max-width: 1260px; margin: 0 auto; text-align: left; box-sizing: border-box; }
#main .container.wide,
.container.wide,
#main .alignwide,
.alignwide,
#main .wp-block-group.alignwide .wp-block-group__inner-container,
.wp-block-group.alignwide .wp-block-group__inner-container { max-width: 1680px; margin-left: auto; margin-right: auto; padding-left: 40px; padding-right: 40px; box-sizing: border-box; }
#main .container.narrow,
.container.narrow { max-width: 960px; margin: 0 auto; }
#main .alignfull,
.alignfull { max-width: 100%; width: 100%; }

#main .alignfull .container { padding-left: 0; padding-right: 0; }

figure.wp-block-image img { max-width: 100%; }
figure.wp-block-image.alignfull img { width: 100%; }

.button,
.wp-block-button__link { cursor: pointer; min-width: 170px !important; background: none; border-radius: 0; display: inline-block; padding: 20px 0; color: var(--main--light); font-size: 24px; position: relative; }
.button:hover,
.wp-block-button__link:hover { color: var(--primary); }
.button:after,
.wp-block-button__link:after { content: ""; position: absolute; bottom: 0; left: 0; width: 75%; height: 1px; background: var(--main-light); transition: all .1s; }
.button:hover:after,
.wp-block-button__link:hover:after { width: 100%; }
.button:before,
.wp-block-button__link:before { content: ""; position: absolute; bottom: -7px; left: calc(75% - 17px); width: 14px; height: 14px; transform: rotate(45deg); transform-origin: center; border-right: 1px solid var(--main-light); border-top: 1px solid var(--main-light); transition: all .1s; }
.button:hover:before,
.wp-block-button__link:hover:before { left: calc(100% - 17px ); }
.button.top:after,
.wp-block-button__link.top:after { bottom: auto; top: 0; }
.button.top:before,
.wp-block-button__link.top:before { bottom: auto; top: -7px; }

.button.left,
.left .wp-block-button__link { text-align: right; }
.button.left:after,
.left .wp-block-button__link:after { right: 0; left: auto; }
.button.left:before,
.left .wp-block-button__link:before { left: auto; right: calc(75% - 17px); transform: rotate(-135deg);  }
.button.left:hover:before,
.left .wp-block-button__link:hover:before { left: auto; right: calc(100% - 17px ); }

.has-text-align-center { text-align: center; }
figure.aligncenter { text-align: center; }
figure.aligncenter img { margin: 0 auto; }

.wp-block-columns.are-vertically-aligned-top { align-items: flex-start; }

/* ----------------------------------- */
/* HEADER
/* ----------------------------------- */

#header { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; padding: 40px; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; }
#header .container { display: flex; justify-content: space-between; }

#logox { position: fixed; z-index: 1000; top: 40px; left: 40px; }
#logo path { fill: var(--main-light); transition: all .2s; }
#logo:hover path,
.nav-open #logo:hover path { fill: var(--primary); }
#logo #buchanan { opacity: 0; transition: all .5s; }
#logo:hover #buchanan { opacity: 1; }
.nav-open #logo path { fill: #FFF; }
.nav-open #logo #buchanan { opacity: 1; }

#mobile-menu { cursor: pointer; position: relative; display: block; z-index: 1000; top: 0; right: 0; padding:0; margin: 0; background: transparent; width: 45px; height: 45px; border: none; }
#mobile-menu:before { content: ""; width: 100%; height: 1px; background: var(--primary); position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
#mobile-menu:after { transition: all .2s; content: ""; width: 100%; height: 1px; background: var(--primary); position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(90deg); }
#mobile-menu.is-active:after { transform: translate(-50%,-50%) rotate(0); background: #FFF; }

#header nav { transition: opacity .8s; position: fixed; z-index: 999; left: 100%; top: 0; width: 100%; height: 100vh; text-align: left; background: rgba(0,0,0,.7); opacity: 0; overflow-y: scroll; }
#header nav * { position: relative; z-index: 10; }
#header nav > div > ul { padding: 10vh 0 0 40px; width: 585px; max-width: 100%; overflow: scroll; box-sizing: border-box; }
#header nav > div > ul > li { list-style: none; line-height: 1; margin: 0 0 5vh 0; transition: transform .8s; }
#header nav > div > ul > li > a { font-size: clamp(30px, 3vw, 60px); color: #FFF; text-transform: lowercase; }
#header nav > div > ul > li > a:hover { color: var(--primary); }

#header nav > div > ul > li:nth-child( 1 ) { transform: translateX(20px); }
#header nav > div > ul > li:nth-child( 2 ) { transform: translateX(40px); }
#header nav > div > ul > li:nth-child( 3 ) { transform: translateX(60px); }
#header nav > div > ul > li:nth-child( 4 ) { transform: translateX(80px); }
#header nav > div > ul > li:nth-child( 5 ) { transform: translateX(100px); }

#header nav svg { height: 22px; width: auto; margin-right: 15px; }
#header nav svg path { fill: #FFF; }
#header nav a:hover svg path { fill: var(--primary); }


body.nav-open { overflow: hidden; }

.nav-open #header nav,
#header nav:focus-within { left: 0; display: flex; justify-content: space-between; opacity: 1; }
.nav-open #header nav:before,
#header:focus-within nav:before { content: ""; }
.nav-open #header nav > div > ul > li,
#header:focus-within nav > div > ul > li { transform: none !important; }

#header nav > div > ul > li.social { display: flex; align-items: center; }
#header nav > div > ul > li.social ul { display: flex; margin-left: 40px; }
#header nav > div > ul > li.social ul li { list-style: none; margin-right: 10px; opacity: 0; transition: all .1s; }
#header nav > div > ul > li.social ul li a { color: #FFF; }

#header nav > div > ul > li.social ul li:nth-child( 1 ) { transform: translateY(20px); }
#header nav > div > ul > li.social ul li:nth-child( 2 ) { transform: translateY(30px); }
#header nav > div > ul > li.social ul li:nth-child( 3 ) { transform: translateY(40px); }
#header nav > div > ul > li.social ul li:nth-child( 4 ) { transform: translateY(50px); }
#header nav > div > ul > li.social:hover ul li,
#header nav > div > ul > li.social:focus-within ul li { transform: none !important; opacity: 1; }
/*
#header nav > ul > li.sub-menu:hover,
#header nav > ul > li.sub-menu:focus-within { left: 0; }
*/

#menu--contact { padding-left: 40px; }
#menu--contact p { margin-top: 4vh; color: #FFF; font-size: 16px; }
#menu--contact a { color: #FFF; }
#menu--contact a:hover { color: var(--primary); }
#menu--contact p.copyright { font-size: 12px; }


/* ----------------------------------- */
/* HOME
/* ----------------------------------- */
#introx { display: none; }
body.intro-loaded { overflow: hidden; }
#intro { position: fixed; z-index: 10000; top: 0; left: 0; right: 0; bottom: 0; background: url(images/texture.png) center / auto repeat #FAF6ED; transition: all 1s; }
#intro .icon { position: absolute; z-index: 11000; left: 50%; top: 50%; transform: translate(-50%,-50%); max-width: 30%; }

#intro--images,
.intro--image { position: absolute; z-index: 10000; top: 0; left: 0; right: 0; bottom: 0; }
.intro--image img { opacity: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.intro--image:first-child img { opacity: 1; }

#banner { background: url(images/texture.png) center / auto repeat #FAF6ED; position: relative; z-index: 1; overflow: hidden; height: 100vh; }
#banner .container { height: 100vh; }
#banner h1 { position: relative; top: 50%; transform: translateY(-50%); font-size: 8vh; font-size: clamp(38px, 8vh, 90px); color: var(--primary); font-family: "caecilia", sans-serif; font-weight: 300; font-style: italic; }
#banner h1 span.pre-headline { display: block; margin: 0 0 10px 0; color: var(--main-light); font-size: 4vh; font-size: clamp(18px, 4vh, 50px); font-family: Avenir, sans-serif; font-weight: 400; font-style: normal; }
#banner h1 span.underline { display: inline-block; padding: 0 0 10px 0; position: relative; }
#banner h1 span.underline:after { content: ""; width: 0; height: 1px; background: var(--primary); position: absolute; bottom: 0; left: 0; }
.intro-complete #banner h1 span.underline:after { animation-name: drawunderline; animation-duration: .5s; animation-delay: 1s; animation-fill-mode: forwards; }
@keyframes drawunderline {
    0% { width: 0; } to { width: 100%; }
}

#banner--down { display: inline-block; text-align: center; position: absolute; bottom: -100px; left: 50%; transform: translateX(-50%); width: 200px; height: 200px; border-radius: 50%; border: 1px dashed var(--primary); font-family: "caecilia", sans-serif; font-weight: 300; }
#banner--down span { display: inline-block; position: relative; top: 50%; transform: translateY(-40px); }
#banner--down:hover { border: 1px solid var(--primary); }

.project--list { display: flex; gap: 20px; flex-wrap: wrap; }
.project--list--item { flex-basis: 55%; height: 45vh; overflow: hidden; }
.project--list--item:nth-child( 4n + 2 ),
.project--list--item:nth-child( 4n + 3 ) { flex-basis: 40%; flex-grow: 1; }
.project--list--item a { display: block; width: 100%; height: 100%; position: relative; }
.project--list--item a img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: all .4s; }
.project--list--item a:hover img { transform: scale(1.1); }
.project--list--item a span { opacity: 0; transition: all .2s; position: absolute; z-index: 10; bottom: 20px; left: 25px; right: 25px; font-size: 24px; line-height: 1.1; font-weight: bold; color: #FFF; }
.project--list--item a:hover span { opacity: 1; }
.project--list--item a:before { content: ""; position: absolute; z-index: 1; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,.4); opacity: 0; transition: all .2s; }
.project--list--item a:hover:before { opacity: 1; }

.projects { margin: 150px auto; }
.projects > p { text-align: right; margin: 40px 0 0 0; }
.projects > p a.button { padding-right: 140px; }

.services { margin: 150px auto; }
#main .services h2 { font-size: 50px; font-family: "caecilia", sans-serif; font-weight: 300; color: var(--primary); margin-bottom: 100px; }
.grid { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 10%; grid-row-gap: 50px; }
.grid .grid--item { flex-basis: 27%; margin-top: 50px; }
.grid .grid--item h3 { font-size: 40px; font-weight: 600; color: var(--primary); margin: 0; }
.grid .grid--item p.alt-title { font-size: 24px; text-transform: uppercase; color: var(--primary); }
.services .grid--item li { list-style: none; margin: 0 0 10px 0; }
.services .grid--item img { margin: 0 0 40px 0; height: 100px; width: auto; }

.brands h2 { font-size: 40px; color: var(--primary); margin-bottom: 65px; font-weight: 700; }
.brands--list { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; align-items: center; }
.brand--list--item { text-align: center; }
.brand--list--item img { max-height: 180px; max-width: 100%; width: auto; height: auto; /*filter: grayscale(1); transition: all .2s;*/ }
/*.brand--list--item:hover img { filter: grayscale(0); }*/

.contact { margin: 130px auto; }
#main .contact h2 { font-size: 24px; color: var(--primary); font-weight: 400; }
#main .contact h2 span { display: block; font-size: 40px; }
.contact .gform_wrapper { margin-top: 50px; }
.contact .ginput_container input { border: 1px solid var(--main); }
.contact .gform_footer { text-align: center; }
#main .contact .gform_wrapper .gform_validation_errors h2 { font-size: 24px; }
.contact .button { display: inline-block; border: 1px solid var(--primary); background: transparent; color: var(--primary); padding: 12px 50px; text-decoration: none; cursor: pointer; }
.contact .button:hover { background: var(--primary); color: #FFF; }


/* ----------------------------------- */
/* SUB PAGES
/* ----------------------------------- */
#page-header { padding: 200px 0 50px 0; }
#page-header h1 { font-size: 80px; font-weight: 300; font-family: "caecilia", sans-serif; font-weight: 300; }

#page-header--image { max-height: 650px; overflow: hidden; }
#page-header--image img { width: 100%; object-fit: cover; object-position: center; }

#main h2 { font-size: 40px; font-weight: 700; }

.row,
.wp-block-group { margin-top: 130px; margin-bottom: 130px; }

figure.wp-block-image { margin: 100px auto; }
figure.wp-block-image.nomargin { margin: 0 auto; }
main > figure.wp-block-image.alignfull { padding: 0; }

/* Work */
#work--links { padding: 150px 0; }
#work--links .container { display: flex; justify-content: space-between; }

/* Process */
#process .container > h2,
#process .container > p { text-align: center; max-width: 860px; margin: 0 auto 25px auto; }
#process .grid h3 { font-size: 20px; text-transform: uppercase; margin: 20px 0; }

/* Callout */
.callout { background: url(images/texture.png) center / auto repeat #FAF6ED; padding-top: 100px; padding-bottom: 100px; max-width: 100%; }
.callout * { font-size: 52px; font-family: caecilia, sans-serif; font-weight: 300; color: var(--primary); }

/* Values */
#values { display: flex; justify-content: space-between; align-items: center; }
#values--content { flex-basis: 40%; }
#values--items { flex-basis: 40%; font-size: 65px; font-family: caecilia, sans-serif; font-weight: 300; color: var(--primary); text-transform: uppercase; }

/* Team */
#team { margin: 100px auto; }
#team ul { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 20%; grid-row-gap: 75px; margin-top: 60px; }
#team li { list-style: none; }
#team li img { margin: 0 0 20px 0; }
#team li h3 { font-size: 30px; margin: 0; }
#team li p { color: var(--main-light); }

/* Giving */
.grants > h2,
.grants > p { text-align: center; max-width: 860px; margin: 0 auto 25px auto; }
#grants--counter { text-align: center; margin-top: 50px; }
#grants--counter--total { color: var(--primary); font-size: 70px; font-weight: 600; }
#grants--count--label { font-family: "caecilia", sans-serif; font-weight: 300; display: inline-block; margin-left: 30px; }
#grants--chart { display: flex; align-items: flex-end; justify-content: space-between; height: 200px; border-top: 1px dashed var(--main); border-bottom: 1px dashed var(--main); padding: 30px 0 0 0; }
.grants--chart--item { border-left: 1px solid var(--primary); position: relative; max-height: 0; max-width: 0; }
.grants--chart--item span.grants--chart--item--amount { position: absolute; bottom: 100%; font-size: 15px; }
.grants--chart--item span.grants--chart--item--year { position: absolute; top: 102%; font-size: 16px; }

/* Image Grid */
.image-grid { display: flex; gap: 20px; flex-wrap: wrap; margin: 150px auto; }
.image-grid--item { flex-basis: 40%; height: 45vh; overflow: hidden; }
.image-grid--item:nth-child( 4n + 2 ),
.image-grid--item:nth-child( 4n + 3 ) { flex-basis: 55%; flex-grow: 1; }
.image-grid--item img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: all .2s; }
.image-grid--item:hover img { transform: scale(1.1); }
.single-project .image-grid--item:hover img { transform: none; }

.image-grid.reverse .image-grid--item { flex-basis: 55%; flex-grow: 1; }
.image-grid.reverse .image-grid--item:nth-child( 4n + 2 ),
.image-grid.reverse .image-grid--item:nth-child( 4n + 3 ) { flex-basis: 40%; flex-grow: 0; }


/* Video */
.video { margin: 150px 0; background-color: #98d5e8; padding: 100px 10%; text-align: center; }
.video video,
.video img { display: block; width: 100%; margin: 0 auto; max-width: 1280px; height: auto; box-shadow: 0 0 45px rgba(0,0,0,.2); }

/* Logo */
.project-logo { margin: 200px auto; text-align: center; }
.project-logo img { max-width: 600px; max-height: 250px; width: auto; margin: 0 auto; }
.project-logo img.before { display: none; }
.project-logo-toggle { padding-top: 175px; text-transform: uppercase; }
.project-logo-toggle a { display: inline-block; padding: 0 10px; }
.project-logo-toggle,
.project-logo-toggle a { color: #aeaeae; font-size: 20px; }
.project-logo-toggle a.active { font-weight: bold; }

/* Giving */
.inview .grants--chart--item { transition: height, max-height 1.2s ease-out; max-height: 100%;  }
.inview .grants--chart--item:nth-child( 1 ) { transition-delay: .5s; }
.inview .grants--chart--item:nth-child( 2 ) { transition-delay: .6s; }
.inview .grants--chart--item:nth-child( 3 ) { transition-delay: .7s; }
.inview .grants--chart--item:nth-child( 4 ) { transition-delay: .8s; }
.inview .grants--chart--item:nth-child( 5 ) { transition-delay: .9s; }
.inview .grants--chart--item:nth-child( 6 ) { transition-delay: 1s; }
.inview .grants--chart--item:nth-child( 7 ) { transition-delay: 1.1s; }
.inview .grants--chart--item:nth-child( 8 ) { transition-delay: 1.2s; }
.inview .grants--chart--item:nth-child( 9 ) { transition-delay: 1.3s; }
.inview .grants--chart--item:nth-child( 10 ) { transition-delay: 1.4s; }
.inview .grants--chart--item:nth-child( 11 ) { transition-delay: 1.5s; }
.inview .grants--chart--item:nth-child( 12 ) { transition-delay: 1.6s; }
.inview .grants--chart--item:nth-child( 13 ) { transition-delay: 1.7s; }
.inview .grants--chart--item:nth-child( 14 ) { transition-delay: 1.8s; }
.inview .grants--chart--item:nth-child( 15 ) { transition-delay: 1.9s; }

/* Project Banner */
#main .project-banner,
.project-banner { background-position: center; background-size: cover; position: relative; height: 100vh; }
.project-banner .overlay { opacity: 0; content: ""; position: absolute; z-index: 1; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(transparent 0%, rgba(52,48,46,.25) 60%, rgba(16,15,14,.4) 100%); }
.project-banner .project-banner-content { position: absolute; bottom: 85px; z-index: 10; left: 0; right: 0; padding: 0 40px; }
.project-banner .container > * { color: #FFF; max-width: 800px; }
.project-banner h1 { font-size: 50px; font-weight: 700; }
.project-banner p.headline { font-size: 26px; text-transform: uppercase; }

/* Images side by side */
.images-side-by-side { margin: 150px auto; display: flex; justify-content: space-between; align-items: center; gap: 10vw; }
.images-side-by-side > * { flex-basis: 50%; flex-grow: 0; }
.images-side-by-side img { width: 100%; }

/* Bottom Aligned Image */
.bottom-aligned-image { margin-top: 40px; padding-top: 140px; text-align: center; }
.bottom-aligned-image > img { max-width: 100%; margin: 0 auto; padding: 100px 40px 0 40px; box-sizing: border-box; display: block; }

/* Half background image */
.half-background-image { margin: 100px 0; position: relative; text-align: center; }
.half-background-image .main-image { position: relative; z-index: 10; padding: 100px 0 0 0; max-width: 1680px; margin: 0 auto; text-align: center; }
.half-background-image .main-image img { margin: 0 auto; }
.half-background-image .bg-image { position: absolute; z-index: 1; top: 0; left: 0; right: 0; height: 50%; background-size: cover; background-position: center; }

/* Icon Set */
.icon-set { margin-top: 150px; margin-bottom: 150px; display: flex; justify-content: center; align-items: center; gap: 30px; flex-wrap: wrap; }
.icon-set > div { max-width: 250px; }

/* mobile-screenshot-scroll */
.mobile-screenshot-scroll {  }
.mobile-screenshot-scroll .container { padding: 200px 0; display: flex; justify-content: space-between; gap: 10%; background-size: contain; background-repeat: no-repeat; background-position: center; }

/* text-overlap-image */
.text-overlap-image { padding: 250px 0 0 0; margin-bottom: 250px; }
.text-overlap-image * { color: #FFF; font-size: 30px; line-height:  }
.text-overlap-image .container { display: flex; justify-content: space-between; }
.text-overlap-image .content { flex-basis: 50%; }
.text-overlap-image .image { flex-basis: 40%; margin-bottom: -250px; }

/* Results& Deliverables */
.results-deliverables { display: flex; justify-content: space-between; margin: 150px auto;  }
.content { flex-basis: 50%; }
.deliverables { flex-basis: 25%; }
#main .results-deliverables h2 { color: var(--main); font-size: 20px; font-weight: 700; }
#main .results-deliverables p + h2 { margin-top: 40px; }
#main .results-deliverables p { font-size: 16px; }

/* Next/prev */
#next-prev { margin: 130px auto; }
#next-prev a.next { float: right; }
#next-prev:after { content: ""; display: block; clear: both; }

/* ----------------------------------- */
/* FOOTER
/* ----------------------------------- */
#footer { background: var(--bg-light); padding: 100px 0 30px 0; }
#footer .container { display: flex; justify-content: space-between; flex-wrap: wrap; }
#footer .col { flex-basis: 27%; }
#footer p.title { margin: 0 0 50px 0; }
#footer p.title,
#footer p.title a { color: var(--main); font-size: 24px; line-height: 1.1; }
#footer p.title a:hover { color: var(--primary); }
#footer p.title span,
#footer p.title a span { font-size: 40px; display: block; }
#footer #copyright { flex-basis: 100%; text-align: center; padding-top: 75px; font-size: 16px; text-transform: uppercase; }
#footer p,
#footer a { color: var(--main); font-size: 16px; }
#footer a:hover { color: var(--primary); }
#footer svg { height: 28px; width: auto; margin-right: 30px; }
#footer svg path { fill: var(--main); }
#footer a:hover svg path { fill: var(--primary); }

/* ----------------------------------- */
/* MOBILE
/* ----------------------------------- */

@media screen and (max-width: 1680px) {


}
@media screen and (max-width: 1060px) {

    .text-overlap-image { padding: 150px 0; margin-bottom: 0; }
    .text-overlap-image .container { align-items: center; }
    .text-overlap-image .image { margin-bottom: 0; }

    #header { transition: all .2s; padding: 10px; }
    #header #logo svg { transition: all .2s; transform-origin: top left; }

    .scrolled #header { background: #FFF; }
    .scrolled #header #logo,
    .scrolled #header #logo svg { height: 25px !important; width: auto; }
    .scrolled #header #mobile-menu { width: 25px; height: 25px; }

}
@media screen and (max-width: 768px) {

    .nav-open #header nav { display: block; background: rgba(0,0,0,.9); }
    .nav-open #header nav > div > ul { padding-top: 140px; width: 100%; }

	.nav-open #logo { z-index: 1000; }

    #values { display: block; }
    #values--items { font-size: 44px; }

}
@media screen and (max-width: 650px) {

	.alignnone { margin: 5px 0 20px 0; }
	.alignright,
	.alignleft,
	a img.alignright,
	a img.alignnone,
	a img.alignleft,
	a img.aligncenter { float: none; margin: 5px auto; }

    #logo #buchanan,
    .nav-open #logo #buchanan { opacity: 0; }
	#logo:hover #buchanan { opacity: 0; }

	.nav-open #header nav > div > ul { padding-top: 80px; width: 100%; }

    #headerx nav > div > ul > li > a { font-size: 24px; }

    .project--list { display: block; }
    .project--list--item { margin: 0 0 20px 0; }
	.project--list--item a span,
	.project--list--item a:before { opacity: 1; }

    #main #services h2,
    #main .brands h2 { font-size: 32px; }
    .grid,
    .image-grid { display: block; }
    .grid .grid--item,
    .image-grid .image-grid--item { margin: 0 0 70px 0; }

    .brands--list { grid-template-columns: 1fr 1fr; }

    #footer .container { display: block; }
    #footer .col { margin: 0 0 40px 0; }

    #work--links .container { display: block; }

    .callout * { font-size: 36px; }

    #team ul { grid-column-gap: 10%; }
    #team li h3 { font-size: 22px; }
    #team li p { font-size: 16px; }

    #grants--count--label { margin: 0; }
    #grants--counter--total { font-size: 60px; }
    #grants--chart { display: block; height: auto; padding: 50px 0; margin-top: 50px; }
    .grants--chart--item { border: none; border-top: 1px solid var(--primary); height: auto !important; max-height: 100% !important; overflow: hidden; padding: 0 0 20px 0; }
    .inview .grants--chart--item { transition: width, max-width 1.2s ease-out; max-width: 100%; }

    .grants--chart--item span.grants--chart--item--amount { bottom: auto; top: 0; right: 0; }
    .grants--chart--item span.grants--chart--item--year { position: static; }

    .web--item { padding: 40px 5%; margin: 50px 0; }

    #page-header { padding-top: 125px; padding-bottom: 30px; }
    #page-header h1 { text-align: left; font-size: 42px; }

    #footer p.title { margin: 0 0 15px 0; }
    #footer .col { margin: 0 0 50px 0; }

    .callout .container { text-align: center; }

    .wp-block-columns { display: block; }

    .project-banner h1 { font-size: 40px; }
    .project-banner p:not(.headline) { display: none; }

    .project-logo { margin: 75px auto; }
    .project-logo img { max-width: 100%;  }

    .results-deliverables { display: block; margin: 75px 0; }
	#main .results-deliverables h2 { margin-top: 40px; }

    .images-side-by-side,
    .image-grid { margin: 75px 0; }

    .icon-set > div { flex-basis: 40%; }

    #main .mobile-screenshot-scroll .container { padding: 50px 0; gap: 0; }
    .mobile-screenshot-scroll .image { transform: none !important; }

    .bottom-aligned-image { margin: 0; padding-top: 0; }
    .bottom-aligned-image > img { padding: 30px 0 0 0; }

    .text-overlap-image { margin-bottom: 250px; padding-bottom: 0; }
    .text-overlap-image .container { display: block; }
    .text-overlap-image .image img { margin-bottom: -250px; }

    #main .wp-block-group .wp-block-group__inner-container { padding-left: 0; padding-right: 0; }
    .wp-block-buttons { display: block !important; }

	body .is-layout-flex { display: block; }

	figure.wp-block-image.page-header-banner { height: 300px; margin-top: 0; }
	figure.wp-block-image.page-header-banner img { object-fit: cover; object-position: center; height: 100%; }

	.projects { margin-top: 0; }

	.row,
	.wp-block-group { margin-top: 50px; margin-bottom: 50px; }

	.contact { margin: 0; }


}
