/*   
Theme Name: Social Enterprise Fund
Description: Social Enterprise Fund website
Author: Odvod Media
Version: 1
*/

/* fonts
-------------------------------------------------------------------------------*/

@font-face {
	font-family: 'playfair_displaybold';
	src: url('css/fonts/playfairdisplay-bold-webfont.woff2') format('woff2'),
			 url('css/fonts/playfairdisplay-bold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'playfair_displaybold_italic';
	src: url('css/fonts/playfairdisplay-bolditalic-webfont.woff2') format('woff2'),
			 url('css/fonts/playfairdisplay-bolditalic-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'playfair_displayitalic';
	src: url('css/fonts/playfairdisplay-italic-webfont.woff2') format('woff2'),
			 url('css/fonts/playfairdisplay-italic-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'playfair_displayregular';
	src: url('css/fonts/playfairdisplay-regular-webfont.woff2') format('woff2'),
			 url('css/fonts/playfairdisplay-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'hk_groteskbold';
	src: url('css/fonts/hkgrotesk-bold-webfont.woff2') format('woff2'),
			 url('css/fonts/hkgrotesk-bold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'hk_groteskbold_italic';
	src: url('css/fonts/hkgrotesk-bolditalic-webfont.woff2') format('woff2'),
			 url('css/fonts/hkgrotesk-bolditalic-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'hk_groteskitalic';
	src: url('css/fonts/hkgrotesk-italic-webfont.woff2') format('woff2'),
			 url('css/fonts/hkgrotesk-italic-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'hk_grotesklight';
	src: url('css/fonts/hkgrotesk-light-webfont.woff2') format('woff2'),
			 url('css/fonts/hkgrotesk-light-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'hk_grotesklight_italic';
	src: url('css/fonts/hkgrotesk-lightitalic-webfont.woff2') format('woff2'),
			 url('css/fonts/hkgrotesk-lightitalic-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'hk_groteskmedium';
	src: url('css/fonts/hkgrotesk-medium-webfont.woff2') format('woff2'),
			 url('css/fonts/hkgrotesk-medium-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'hk_groteskmedium_italic';
	src: url('css/fonts/hkgrotesk-mediumitalic-webfont.woff2') format('woff2'),
			 url('css/fonts/hkgrotesk-mediumitalic-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'hk_groteskregular';
	src: url('css/fonts/hkgrotesk-regular-webfont.woff2') format('woff2'),
			 url('css/fonts/hkgrotesk-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'hk_grotesksemibold';
	src: url('css/fonts/hkgrotesk-semibold-webfont.woff2') format('woff2'),
			 url('css/fonts/hkgrotesk-semibold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'hk_grotesksemibold_italic';
	src: url('css/fonts/hkgrotesk-semibolditalic-webfont.woff2') format('woff2'),
			 url('css/fonts/hkgrotesk-semibolditalic-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}


/* default
-------------------------------------------------------------------------------*/

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}									

article, aside, figure, footer, header, hgroup, nav, section {display: block;}

/* Responsive images and other embedded objects
   Note: keeping IMG here will cause problems if you're using foreground images as sprites, like, say for Google Maps custom placemarkers. 
   There has been a report of problems with standard Google maps as well, but we haven't been able to duplicate or diagnose the issue. */
img,
object,
embed {width: 100%; height:auto}

/* force a vertical scrollbar to prevent a jumpy page */
html {overflow-y: scroll;}

/* we use a lot of ULs that aren't bulleted. 
	don't forget to restore the bullets within content. */
ul {list-style: none;}

blockquote, q {quotes: none;}

blockquote:before, 
blockquote:after, 
q:before, 
q:after {content: ''; content: none;}

a {margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; text-decoration:none; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
a:hover{ text-decoration:none}

del {text-decoration: line-through;}

abbr[title], dfn[title] {border-bottom: 1px dotted #000; cursor: help;}

/* tables still need cellspacing="0" in the markup */
table {border-collapse: collapse; border-spacing: 0;}
th {font-weight: bold; vertical-align: bottom;}
td {font-weight: normal; vertical-align: top;}

h1,h2,h3,h4,h5,h6{ font-weight:400}

hr {display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;}

input, select {vertical-align: middle;}

pre {
	white-space: pre; /* CSS2 */
	white-space: pre-wrap; /* CSS 2.1 */
	white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
	word-wrap: break-word; /* IE */
}

input[type="radio"] {vertical-align: text-bottom;}
input[type="checkbox"] {vertical-align: bottom; *vertical-align: baseline;}
.ie6 input {vertical-align: text-bottom;}

select, input, textarea {font: 99% sans-serif;}

table {font-size: inherit; font: 100%;}
 
/* Accessible focus treatment
	people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active {outline: none;}

small {font-size: 85%;}

strong, th {font-weight: bold;}

td, td img {vertical-align: top;} 

/* Make sure sup and sub don't screw with your line-heights
	gist.github.com/413930 */
sub, sup {font-size: 75%; line-height: 0; position: relative;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}

/* standardize any monospaced elements */
pre, code, kbd, samp {font-family: monospace, sans-serif;}

/* hand cursor on clickable elements */
.clickable,
label, 
input[type=button], 
input[type=submit], 
button {cursor: pointer;}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {margin: 0;}

/* make buttons play nice in IE */
button {width: auto; overflow: visible;}
 
/* scale images in IE7 more attractively */
.ie7 img {-ms-interpolation-mode: bicubic;}

/* prevent BG image flicker upon hover */
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}

 canvas { -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; }

/* let's clear some floats */
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }  
.clearfix:after { clear: both; }  
.clearfix { zoom: 1; }  

.clear { clear: both; }

.show { display: block !important; }
.hide { display: none !important; }

img { display: block; }
.home img { transition: none; -moz-transition: none; -webkit-transition: none; -o-transition: none; }

.container { position: relative; display: block; }

strong, b { font-family: "hk_groteskmedium", sans-serif; font-weight: 400; }
em, i { font-family: "hk_grotesklight_italic", sans-serif; font-style: normal; }
strong em, b em, em strong, em b, strong i, b i, i strong, i b { font-family: "hk_groteskmedium_italic", sans-serif; font-weight: 400; font-style: normal; }

.left { position: relative; float: left; }
.right { position: relative; float: right; }

a.tel, a.tel:hover, a[href^="tel:"], a[href^="tel:"]:hover { color: #000; cursor: default; text-decoration: none; }

/*** site styles ***/

html, BODY { height: 100%; }
BODY { background: #fff; font-family: "hk_grotesklight", sans-serif; font-size: 18px; line-height: 1.3; font-weight: 400; color: #000; text-align: center; }

h1, h2, h3, h4, h5 { font-family: "hk_grotesksemibold", sans-serif; margin: 0; padding: 0; line-height: 1.2; font-weight: 400; }
h1 { font-size: 36px; margin: 0 0 25px; color: #000000; }
h2 { font-size: 36px; margin: 0 0 30px; color: #010101; }
h3 { font-size: 36px; margin: 0 0 30px; color: #000000; }
h4 { font-size: 18px; margin: 0 0 20px; color: #0073ae; }
h5 { font-family: "hk_grotesklight", sans-serif; font-size: 22px; margin: 0; color: #016b69; }

.alt-green h2, .alt-green h3 { color: #006d68; }

p { padding: 0 0 20px; margin: 0; line-height: 1.5; }
p:last-child, p:last-of-type { padding-bottom: 0; }
p + h3 { padding-top: 30px; }
p:last-child + h3, p:last-of-type + h3 { padding-top: 45px; }

h1 + h2, p + h2 { padding-top: 20px; }

#flyout-menu { position: fixed; left: 0; top: 0; display: none; width: 100%; height: 100%; padding: 0; background: #cfe293; text-align: left; overflow: auto; box-sizing: border-box; -moz-box-sizing: border-box; z-index: 9999999; }
#flyout-menu .flyout-menu-header { position: fixed; top: 0; left: 0; display: block; width: 100%; background: #f3f3f3; z-index: 99; overflow: hidden; }
#flyout-menu .flyout-menu-header .logo { width: 125px; padding: 5px 20px 7px; }
#flyout-menu .close-btn-wrapper { position: absolute; top: 0; right: 0; display: block; height: 100px; background: #cfe293; padding: 10px 25px; }
#flyout-menu a.close-btn { font-size: 40px; color: #006969; z-index: 100; }
#flyout-menu a.close-btn:hover { color: #000; }

#flyout-menu ul { margin: 0; padding: 0; }
#flyout-menu ul ul { display: none; }
#flyout-menu li { margin: 0; padding: 0; display: block; text-align: left; }
#flyout-menu li a { display: block; padding: 17px 0; font-family: "hk_groteskbold", sans-serif; font-size: 20px; color: #006969; line-height: 1; text-align: center; text-decoration: none; box-sizing: border-box; -moz-box-sizing: border-box; }
#flyout-menu li a:hover { color: #000; text-decoration: none; }
#flyout-menu li li a { font-size: 18px; text-transform: none; padding: 8px 20px; }

#flyout-menu #flyout-menu-main, #flyout-menu #flyout-menu-sub { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 90px 100px 40px; background: #cfe293; box-sizing: border-box; -moz-box-sizing: border-box; z-index: 80; }
#flyout-menu #flyout-menu-sub { display: none; padding-top: 45px; z-index: 90; }
#flyout-menu .top { position: relative; display: block; margin: 0 0 10px; }
#flyout-menu .bottom { position: relative; display: block; border-top: 1px solid #fff; padding: 10px 0 0; }
#flyout-menu .bottom li a { font-size: 16px; }
#flyout-menu .icon { position: relative; display: block; width: 10%; margin: 0 auto; padding: 50px 0 0; }
#flyout-menu .icon .cover { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background: rgba(0, 115, 174, .9); z-index: 10; }

#flyout-menu #flyout-menu-sub a { font-size: 24px; color: #006969; }
#flyout-menu #flyout-menu-sub a:hover { color: #000; }
#flyout-menu #flyout-menu-sub ul { position: relative; display: none; margin-top: 10px; border-top: 1px solid #fff; padding-top: 10px; }
#flyout-menu #flyout-menu-sub li a { font-size: 20px; }

.site { position: relative; display: block; width: 100%; margin: 0 auto; box-sizing: border-box; -moz-box-sizing: border-box; overflow: hidden; }
.inner { position: relative; display: block; width: 100%; margin: 0 auto; text-align: left; box-sizing: border-box; -moz-box-sizing: border-box; }

#header { position: relative; display: block; width: 100%; margin: 0; background: #cee293; z-index: 999999; }

#header .logo-box { position: absolute; top: 0; left: 0; display: block; background: #f3f3f3; padding: 20px 40px 25px 35px; }
.logo { position: relative; display: block; width: 260px; margin: 0; padding: 0; float: left; z-index: 100; }
.logo img { position: relative; display: block; }
.logo h2 { text-indent: -9999px; overflow: hidden; font-size: 1px; border: none; line-height: 1; height: auto; margin: 0; padding: 0; }
.logo .logo-svg { display: block; }
.logo .logo-png { display: none; }
.tablet .logo .logo-svg { display: none; }
.tablet .logo .logo-png { display: block; }

#header .main-menu { position: relative; display: block; padding: 35px 40px 30px; float: right; }
#header .main-menu ul { margin: 0; padding: 0; float: right; }
#header .main-menu li { display: block; list-style-type: none; margin: 0 60px 0 0; padding: 0; line-height: 1; float: left; }
#header .main-menu li:last-of-type { margin-right: 0; }
#header .main-menu li a { position: relative; display: block; font-family: "hk_groteskbold", sans-serif; font-size: 20px; line-height: 1; color: #006969; }
#header .main-menu li > a:hover, #header .main-menu li:hover > a, #header .main-menu li.current-menu-item > a, #header .main-menu li.current-menu-parent > a, #header .main-menu li.current_page_parent > a, #header .main-menu li.current-page-ancestor > a { color: #006969; }
#header .main-menu li > a:hover:after, #header .main-menu li:hover > a:after, #header .main-menu li.current-menu-item > a:after, #header .main-menu li.current-menu-parent > a:after, #header .main-menu li.current_page_parent > a:after, #header .main-menu li.current-page-ancestor > a:after { position: absolute; bottom: -10px; left: 0; display: block; width: 100%; content: ' '; border-bottom: 3px solid #006969; }

.flyout { position: relative; display: none; text-align: right; z-index: 9999; }
.flyout a.icon-menu { position: relative; color: #006969; font-size: 30px; line-height: 1; text-decoration: none; margin: 0 0 0 25px; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
.flyout a.icon-menu:hover { color: #000; }


.banner-wrapper { position: relative; display: block; height: 990px; overflow: hidden; }
.banner-wrapper .banners { position: relative; display: block; }
.banner { position: relative; display: block; width: 100%; height: 415px; overflow: hidden; }
.banner-wrapper .banner { height: auto; }

.banner .banner-content-wrapper { position: relative; display: block; width: 100%; max-width: 1320px; margin: 0 auto; }
.banner .banner-content { position: absolute; top: 65px; left: 0; display: block; max-width: 1075px; padding: 0 35px; font-family: "playfair_displayregular", sans-serif; font-size: 22px; color: #fff; text-align: left; box-sizing: border-box; -moz-box-sizing: border-box; z-index: 99; }
.banner .banner-content h1, .banner .banner-content h2 { font-family: "hk_groteskbold", sans-serif; font-size: 40px; color: #fff; margin-bottom: 0; }
.banner .banner-content p { line-height: 1.5; padding-top: 25px; }
.banner .banner-content .button { position: relative; display: block; padding: 0; }
.banner .banner-content h1 + .button, .banner .banner-content h2 + .button, .banner .banner-content p + .button { padding: 30px 0 0; }
.banner .banner-content .button a { display: inline-block; font-family: "hk_groteskbold", sans-serif; font-size: 22px; line-height: 1; color: #0c635f; background: #a9cbc6; padding: 15px 25px 12px; text-transform: uppercase; }
.banner .banner-content .button a:after { position: relative; bottom: 2px; display: block; width: 29px; height: 29px; content: ' '; background: url(images/arrow-circle.png) no-repeat; float: right; margin: 0 0 0 15px; }
.banner .banner-content .button a:hover { color: #0c635f; background: #fff; }
.banner .banner-img { position: relative; display: block; width: 100%; background: #fff; }
.banner .banner-img img { height: 415px; width: auto; opacity: 0; }
.banner .banner-img.overlay::after { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; content: ''; background: rgba(0, 0, 0, .4); z-index: 1; }

.blog .banner, .error404 .banner { height: 200px; }
.blog .banner .banner-img img, .error404 .banner .banner-img img { height: 200px !important; }
.single-post .banner { height: 300px; }
.single-post .banner .banner-img img { height: 300px !important; }

.banner-wrapper .banner .banner-content { top: 250px; left: 9.1145833%; width: 40.625%; padding: 85px 45px; background: #006969; font-size: 22px; opacity: 0; }
.banner-wrapper .banner .banner-content h2 { margin-bottom: 30px; }
.banner-wrapper .banner .banner-img { width: 66.145833%; float: right; background: #fff; }
.banner-wrapper .banner .banner-img img { width: 100%; height: auto; opacity: 1; }
.banner-wrapper .banner .banner-content .button a { padding: 0; color: #fff; background: none; }
.banner-wrapper .banner .banner-content .button a:after { background-image: url(images/arrow-circle-white.png); }
.banner-wrapper .banner .banner-content .button a:hover { color: #cee297; background: none; }

.banner-wrapper #banner-nav { position: absolute; bottom: 15px; right: 37px; display: block; z-index: 99998; }
.banner-wrapper #banner-nav span { color: #a1a1a1; font-size: 44px; line-height: 1; margin-left: 12px; cursor: pointer; }
.banner-wrapper #banner-nav span:first-of-type { margin-left: 0; }
.banner-wrapper #banner-nav span:hover, .banner-wrapper #banner-nav span.cycle-pager-active { color: #ffffff; }


.content { position: relative; display: block; width: 100%; max-width: 1260px; margin: 0 auto; padding: 60px 40px 130px; box-sizing: border-box; -moz-box-sizing: border-box; }
.home .content { padding-top: 65px; max-width: 1320px; }
.content.first { padding-bottom: 30px; }

.content ul, .content ol { margin: 0 0 20px; padding: 15px 0 0; }
.content ul li, .content ol li { list-style-type: disc; margin: 0 0 0 35px; padding: 0; line-height: 1.5; }
.content ol li { list-style-type: decimal; }
.content ul ul, .content ol ul, .content ul ol, .content ol ol { margin-bottom: 10px; padding-top: 5px; }
.content p + ul, .content p + ol, .content h1 + ul, .content h2 + ul, .content h3 + ul, .content h1 + ol, .content h2 + ol, .content h3 + ol { margin-top: -20px; }
.content p:last-of-type + ul, .content p:last-of-type + ol { margin-top: 0; }
.content ul:last-of-type, .content ol:last-of-type { margin-bottom: 0; }
.content ul ul:last-of-type, .content ol ul:last-of-type, .content ul ol:last-of-type, .content ol ol:last-of-type { margin-bottom: 10px; }
.content ul:last-of-type + p, .content ol:last-of-type + p { padding-top: 20px; }
.content img { max-width: 100%; width: auto; }
.content a { color: #000; text-decoration: underline; }
.content a.tel { text-decoration: none; }
.content a:hover { color: #000; text-decoration: none; }


.content .inner { min-height: 500px; }
.home .content .inner { font-family: "hk_groteskregular", sans-serif; color: #006c69; font-size: 24px; }
.content.has-sidebar .inner { width: 57.835821%; float: left; }

.home .content .inner img { margin-bottom: 40px; }

.content .sidebar { position: relative; display: block; width: 27.61194%; float: right; text-align: left; }
.content .sidebar .recent-posts { position: relative; display: block; }
.content .sidebar .recent-post { position: relative; display: block; font-size: 18px; color: #666666; padding: 0 0 35px; margin: 0 0 30px; border-bottom: 1px solid #a8c8c4; }
.content .sidebar .recent-post h4 a { font-family: "hk_groteskmedium", sans-serif; font-size: 24px; color: #006c68; text-decoration: none; }
.content .sidebar .recent-post h4 a:hover { color: #000; }
.content .sidebar .recent-post a.read-more { font-size: 18px; color: #666666; }
.content .sidebar .recent-post a.read-more:hover { color: #000; }

.content .button-blog { position: relative; display: block; padding: 0; float: right; }
.content .button-blog a, .content .button-contact a { display: inline-block; font-family: "hk_groteskbold", sans-serif; font-size: 20px; line-height: 1; color: #00556f; text-decoration: none; }
.content .button-blog a:after, .content .button-contact a.button:after { position: relative; bottom: 6px; display: block; width: 32px; height: 34px; content: ' '; background: url(images/arrow-circle-head.png) no-repeat; float: right; margin: 0 0 0 15px; }
.content .button-blog a:hover, .content .button-contact a:hover { color: #000; }


.content .testimonial-wrapper { position: relative; display: block; padding: 100px 0 0; }
.content .testimonial { position: relative; display: block; padding: 0 0 0 100px; border-left: 3px solid #a8c8c4; }
.content .testimonial .testimonial-content { position: relative; display: block; margin: 0 0 60px; font-family: "playfair_displayregular", sans-serif; font-size: 28px; line-height: 1.5; color: #666666; }
.content .testimonial .testimonial-name { position: relative; display: block; font-size: 18px; color: #999999; }
.content .testimonial .testimonial-name strong { font-size: 24px; color: #000000; }

.content .testimonial-wrapper.single-testimonial { padding-top: 40px; }
.content .single-testimonial .testimonial { padding-left: 50px; }
.content .single-testimonial .testimonial .testimonial-content { margin-bottom: 20px; font-size: 20px; }
.content .single-testimonial .testimonial .testimonial-name { font-size: 14px; }
.content .single-testimonial .testimonial .testimonial-name strong { font-size: 16px; }


.content .client-categories { position: relative; display: block; text-align: center; padding: 0 0 50px; border-bottom: 1px solid #9192a4; }
.content .client-categories h2 { margin-bottom: 50px; }
.content .client-categories h2 a { color: #010101; text-decoration: none; }
.content .client-categories h2 a:hover { color: #010101; text-decoration: none; }
.content .client-categories ul { margin: 0 0 0 -40px; padding: 0; }
.content .client-categories li { list-style-type: none; width: 20%; margin: 0; padding: 0 0 0 40px; float: left; box-sizing: border-box; -moz-box-sizing: border-box; }
.content .client-categories li a { font-family: "playfair_displayregular", sans-serif; font-size: 20px; color: #005670; text-decoration: none; }
.content .client-categories li a span.icon { display: block; text-align: center; font-size: 94px; color: #9ab6c2; line-height: 1; margin: 0 0 25px; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
.content .client-categories li a:hover, .content .client-categories li.active a { color: #005670; text-decoration: underline; }
.content .client-categories li a:hover span, .content .client-categories li.active a span { color: #005670; }
.content .client-categories ul:last-of-type + p { padding-top: 40px; }


.content .clients { position: relative; display: block; text-align: center; padding: 45px 0 30px; border-bottom: 1px solid #9192a4; }
.content .clients .sector-content { position: relative; display: block; max-width: 790px; margin: 0 auto 60px; text-align: left; }
.content .clients .client-list { position: relative; display: block; text-align: left; margin: 0 0 0 -50px; }
/*.content .clients .client-list .client-wrap { position: relative; display: block; width: 33.333%; margin: 0 0 20px; padding: 0 0 0 50px; float: left; box-sizing: border-box; -moz-box-sizing: border-box; }*/
.content .clients .client-list .client-wrap { position: relative; display: block; width: 100%; margin: 0 0 20px; padding: 0; box-sizing: border-box; -moz-box-sizing: border-box; }
.content .clients .client-list .client-wrap a { font-family: "playfair_displayregular", sans-serif; font-size: 20px; color: #005670; text-decoration: none; }
.content .clients .client-list .client-wrap a:hover, .content .clients .client-list .client-wrap a.active { color: #005670; text-decoration: underline; }

.content .clients .client-list .client-list-col { position: relative; display: block; width: 33.3333%; float: left; padding: 0 0 0 50px; box-sizing: border-box; -moz-box-sizing: border-box; }


.content .client-wrapper { position: relative; display: block; overflow: hidden; }
.content .client { position: relative; display: block; border: 2px solid #005670; padding: 25px 25px 35px; margin: 0 0 45px; }
.page-template-page-clients .content .client { margin: 45px 0 0; }
.content .client .client-images { position: relative; display: block; margin-bottom: 40px; }
.content .client .client-images.loading { min-height: 500px; z-index: 44; }
.content .client .client-images.loading:after { position: absolute; top: 50%; left: 50%; display: block; width: 16px; height: 16px; content: ''; background: url(images/ajax-loader.gif) center center no-repeat; margin: -8px 0 0 -8px; z-index: 33; }
.content .client .client-images.loading img { position: relative; display: none; z-index: 44; }
.content .client .client-content { position: relative; display: block; text-align: left; }
.content .client .client-content .left { position: relative; display: block; width: 31.25%; font-size: 14px; float: left; box-sizing: border-box; -moz-box-sizing: border-box; }
.content .client .client-content .left .client-logo { position: relative; display: block; padding: 10px 0 0; margin: 0 0 20px; }
.content .client .client-content .left .client-logo.loading img { display: none; }
.content .client .client-content .left strong { font-family: 'hk_grotesksemibold', sans-serif; }
.content .client .client-content .left a { font-family: 'hk_grotesklight_italic', sans-serif; color: #006c68; }
.content .client .client-content .left a:hover { color: #000; }
.content .client .client-content .left p { padding-bottom: 15px; }
.content .client .client-content .left p.paid-in-full { max-width: 125px; }
.content .client .client-content .right { position: relative; display: block; width: 65.625%; padding: 0 60px 0 0; float: right; box-sizing: border-box; -moz-box-sizing: border-box; }
.content .client .button-close { position: absolute; top: 0; right: 0; display: block; z-index: 99; }
.content .client .button-close a { display: block; padding: 12px 25px; background: #01696a; color: #fff; font-size: 20px; line-height: 1; text-decoration: none; box-sizing: border-box; -moz-box-sizing: border-box; }
.content .client .button-close a:hover { background: #000; color: #fff; }
.content .client .back-link { display: none; padding: 25px 0 0; }
.content .client .back-link a { color: #006c68; text-decoration: none; }
.content .client .back-link a:hover { color: #000; text-decoration: none; }


.page-template-page-contact .content .left, .page-template-page-contact .content .right { width: 50%; padding: 0 35px 0 0; box-sizing: border-box; -moz-box-sizing: border-box; }
.page-template-page-contact .content .right { padding: 0 0 0 35px; }

.content .contact-box { position: relative; display: block; padding: 30px 40px; background: #aacac5; overflow: hidden; }


.page-template-page-contact .content.update .left { padding-right: 70px; border-right: 2px solid #bfbfbf; width: 57.2%; }
.page-template-page-contact .content.update .right { padding-left: 70px; width: 42.8%; }
.content.update.first { padding-bottom: 0; }
.content.update .contact-box { padding: 0; background: #fff; }


.content .blog-posts { position: relative; display: block; text-align: left; padding: 45px 0 0; }
.content .blog-posts h3 { margin-bottom: 60px; }
.content .blog-posts .recent-posts { position: relative; display: block; margin: 0 0 40px -40px; }
.content .blog-posts .recent-posts .recent-post { position: relative; display: block; width: 33.3333%; padding: 0 0 0 40px; font-size: 18px; color: #666666; float: left; box-sizing: border-box; -moz-box-sizing: border-box; }
.content .blog-posts .recent-posts .recent-post .inner { min-height: 100px; width: auto; padding: 0 0 35px; border-bottom: 1px solid #a8c8c4; }
.content .blog-posts .recent-posts .recent-post h4 { margin: 0 0 15px; }
.content .blog-posts .recent-posts .recent-post h4 a { font-size: 24px; color: #006c68; text-decoration: none; }
.content .blog-posts .recent-posts .recent-post h4 a:hover { color: #000; }
.content .blog-posts .recent-posts .recent-post p { padding-bottom: 25px; }
.content .blog-posts .recent-posts .recent-post p:last-of-type { padding-bottom: 0; }
.content .blog-posts .recent-posts .recent-post a.read-more { font-size: 18px; color: #666666; }
.content .blog-posts .recent-posts .recent-post a.read-more:hover { color: #000; }


.content .content-row { position: relative; display: block; padding: 0 0 100px; box-sizing: border-box; -moz-box-sizing: border-box; overflow: hidden; }
.blog .content .content-row { padding-bottom: 80px; }
.content .content-row.sep { padding-bottom: 50px; margin-bottom: 50px; border-bottom: 1px solid #9192a4; }
.content .content-row:last-of-type { padding-bottom: 0; }
.content .content-row .content-row-content { position: relative; display: block; width: 100%; max-width: 800px; margin: 0 auto; box-sizing: border-box; -moz-box-sizing: border-box; }
.content .content-row .content-row-content.highlight-box { max-width: none; }
.content .content-row .content-row-content.spacer { margin-bottom: 70px; }
.content .content-row.rows-2 .content-row-content, .content .content-row .content-row-content.split-col { width: 50%; max-width: none; padding: 0 0 0 35px; margin: 0; float: left; z-index: 80; }
.content .content-row.rows-2 .content-row-content:first-of-type, .content .content-row .content-row-content.split-col.split-col-left { padding: 0 35px 0 0; }
.content .content-row.rows-1:first-of-type .content-row-content h2 { text-align: center; }
.content .content-row .content-row-content.icon::before { font-size: 90px; color: #005670; margin-bottom: 20px; }
.content .content-row .content-row-content.icon-funding-streams::before { position: relative; display: block; content: ''; background: url(images/funding-streams.svg) no-repeat; background-size: 100% 100%; height: 90px; width: 152px; }

.content .content-row .content-row-content-inner { position: relative; display: block; }
.content .content-row .content-row-content-inner.has-img { width: 50%; float: left; padding: 60px 60px 70px; background: #aacac5; box-sizing: border-box; -moz-box-sizing: border-box; }
.content .content-row .content-row-content-inner.has-img h2 { text-align: left; }
.content .content-row .content-row-image { position: relative; display: block; width: 50%; float: right; overflow: hidden; }


.content .content-row .content-row-content.content-box { max-width: none; border: 2px solid #006d68; padding: 40px 30px; }
.content .content-row .content-row-content.content-box h2 { margin-bottom: 20px; }
.content .content-row .content-row-content.content-box h4 { margin-bottom: 25px; }
.content .content-row .content-row-content.content-box h2, .content .content-row .content-row-content.content-box h4 { color: #006d68; }
.content .content-row .content-row-content.content-box .cols { position: relative; display: grid; grid-template-columns: auto auto; grid-template-rows: 1fr; gap: 0 60px; grid-auto-rows: minmax(min-content, max-content); grid-template-areas: "col-1 col-2"; }
.content .content-row .content-row-content.content-box .cols .col-1 { position: relative; grid-area: col-1; }
.content .content-row .content-row-content.content-box .cols .col-2 { position: relative; grid-area: col-2; }
.content .content-row .content-row-content.content-box li { margin-bottom: 25px; margin-left: 20px; }
.content .content-row .content-row-content.content-box li:last-child { margin-bottom: 0; }


.content .bios { position: relative; display: block; width: 100%; border-top: 1px solid #9192a4; padding: 80px 0 0; box-sizing: border-box; -moz-box-sizing: border-box; }
.content .bios h2.section-title { width: 66.525424%; margin: 0 auto 30px; }
.content .bios .bio { position: relative; display: block; margin: 0 0 90px; }
.content .bios .bio:last-of-type { margin-bottom: 0; }
.content .bios .bio .bio-img { position: relative; display: block; width: 26.694915%; padding: 10px 0 0; float: left; }
.content .bios .bio .bio-content { position: relative; display: block; width: 66.525424%; margin: 0 auto; }
.content .bios .bio .bio-content .bio-details { margin-top: -25px; padding-bottom: 30px; color: #006d68; }

.content .bios .bio .button-contact { margin-top: -15px; }
.content .bios .bio a.icon-twitter { font-size: 40px; margin: 0 15px 10px 0; vertical-align: middle; }
.content .bios .bio .twitter-feed-wrapper { position: relative; display: block; padding: 40px 50px 0; }
.content .bios .bio .twitter-feed { position: relative; display: block; padding: 30px; border: 2px solid #00556f; }

.content .bios .bio .twitter-feed ul.tweets { margin: 0; padding: 0; }
.content .bios .bio .twitter-feed ul.tweets li { list-style-type: none; margin: 0 0 70px; padding: 0; font-family: "hk_grotesklight", sans-serif; font-size: 16px; }
.content .bios .bio .twitter-feed ul.tweets li:last-of-type { margin-bottom: 0; }
.content .bios .bio .twitter-feed ul.tweets li p { padding-bottom: 10px; }
.content .bios .bio .twitter-feed ul.tweets li .date { float: right; }
.content .bios .bio .twitter-feed ul.tweets li .user-img { width: 55px; margin-right: 20px; float: left; }
.content .bios .bio .twitter-feed ul.tweets li .user-img img { width: 100%; }
.content .bios .bio .twitter-feed ul.tweets li .user-name { font-family: "hk_groteskmedium", sans-serif; font-size: 14px; float: left; }
.content .bios .bio .twitter-feed ul.tweets li .user-name .name { font-size: 20px; }
.content .bios .bio .twitter-feed ul.tweets li .user-name a { text-decoration: none; }

.content .post-excerpt h2 a, .content .post-excerpt h3 a { color: #006c68; text-decoration: none; }
.content .post-excerpt h2 a:hover, .content .post-excerpt h3 a:hover { color: #000; }


.content .bio-list-wrapper { position: relative; display: block; padding-top: 30px; }
.content .bio-list { position: relative; display: block; margin: -30px 0 0 -30px; }
.content .bio-list .bio-item { position: relative; display: block; padding: 30px 0 0 30px; width: 50%; float: left; box-sizing: border-box; -moz-box-sizing: border-box; }
.content .bio-list .bio-item:nth-child(2n+1) { clear: both; }


.blog .content .content-row.pagination { padding-top: 10px; }
.content .button-blog.button-blog-alt { float: left; }
.content .button-blog.button-blog-alt a::after { float: left; margin: 0 15px 0 0; -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); }


.content .flipbook { position: relative; display: block; margin: 0 0 30px; }
p:last-child + .flipbook, p:last-of-type + .flipbook { padding: 30px 0 0; }
.content .flipbook iframe { border: none; width: 100%; height: 620px; }


.content .wpcf7 { padding: 5px 0 0; margin: 0; width: 100%; box-sizing: border-box; -moz-box-sizing: border-box; }
.content p:last-of-type + .wpcf7 { padding-top: 25px; }
.content .wpcf7 p { padding-bottom: 15px; margin: 0; width: auto; line-height: 1; }
.content .wpcf7 img { width: auto; }
.content .ajax-loader { background: #FFF; float: left; padding: 2px; margin: 0 10px 0 0; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; }

.content .wpcf7 .wpcf7-form-control-wrap { display: block; border: none; background: #fff; padding: 15px 10px 13px; border: 1px solid #01696a; }
.content .wpcf7 input, .content .wpcf7 textarea, .content .wpcf7 select { font-family: "hk_groteskregular", sans-serif; font-weight: 100; font-size: 18px; color: #000000; }
.content .wpcf7 input[type="text"], .content .wpcf7 input[type="email"], .content .wpcf7 textarea, .content .wpcf7 select { width: 100%; border: none; outline: 0; padding: 0; margin: 0; background: none; line-height: 1.3; }
.content .wpcf7 textarea { height: 180px; margin-top: 8px; }
.content .wpcf7 .form-recaptcha .wpcf7-form-control-wrap { border: none; padding: 0; margin: 0 0 25px; background: none; }

.content .wpcf7 input[type="submit"] { display: inline-block; height: 34px; font-family: "hk_groteskbold", sans-serif; font-size: 20px; line-height: 1; margin: 0; padding: 0 45px 0 0; outline: 0; color: #00556f; float: right; text-decoration: none; border: none; background: url(images/arrow-circle-head-btn.png) right center no-repeat; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
.content .contact-box .wpcf7 input[type="submit"] { background-image: url("images/arrow-circle-head-btn-white.png"); background-color: #005670; text-align: center; color: #fff; background-position: 55% center; width: 100%; height: 54px; }
.content .wpcf7 input[type="submit"]:hover { color: #000; }
.content .contact-box .wpcf7 input[type="submit"]:hover { background-color: #bfbfbf; }
.content .contact-box .ajax-loader { display: none; }

.content .wpcf7 p.newsletter { line-height: 1.4; padding: 0 0 25px; }
.content .newsletter label { float: left; margin-right: 10px; }
.content .newsletter label input { width: 20px; height: 20px; }

.content .wpcf7 .wpcf7-checkbox .wpcf7-list-item-label { display: none; }
.content .wpcf7 .newsletter .wpcf7-form-control-wrap { padding: 0; border: none; background: none; }
.content .wpcf7 span.wpcf7-list-item { margin-left: 0; }
.content span.wpcf7-not-valid-tip { padding-top: 10px; }

.video-wrapper { position: relative; display: block; overflow: hidden; width: 100%; padding-top: 56.25%; }
.video-wrapper iframe, .video-wrapper video { position: absolute !important; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; }
.video-wrapper + p { padding-top: 20px; }

.content img.logo-resources { max-height: 55px; margin-top: 20px; }
.content img.logo-resources-sm { max-height: 35px; }

.content .portfolio-issues { position: relative; display: block; padding: 30px 0 50px; }
.content .portfolio-issues .portfolio-issues-inner { position: relative; display: grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: auto; gap: 30px 50px; grid-auto-rows: minmax(min-content, max-content); }
.content .portfolio-issues .portfolio-issues-inner .portfolio-box { position: relative; display: block; }
.content .portfolio-issues .portfolio-issues-inner .portfolio-box .portfolio-box-image { position: relative; display: block; border: 1px solid #808080; margin: 0 0 20px; }
.content .portfolio-issues .portfolio-issues-inner .portfolio-box .portfolio-box-text { position: relative; display: block; }

.content .vested-publication { position: relative; display: block; padding: 50px 0; margin: 60px 0; background: #d2e09c; box-sizing: border-box; -moz-box-sizing: border-box; }
.content .vested-publication::before { position: absolute; top: 0; left: -100px; display: block; width: 100px; height: 100%; content: ''; background: #d2e09c; }
.content .vested-publication::after { position: absolute; top: 0; right: -100px; display: block; width: 100px; height: 100%; content: ''; background: #d2e09c; }
.content .vested-publication .vested-publication-inner { position: relative; display: block; }
.content .vested-publication .vested-publication-inner .vested-publication-box { position: relative; display: grid; grid-template-columns: 280px 1fr; grid-template-rows: auto; gap: 30px 50px; grid-auto-rows: minmax(min-content, max-content); }
.content .vested-publication .vested-publication-inner .vested-publication-box .vested-publication-image { position: relative; display: block; border: 1px solid #808080; margin: 0; }
.content .vested-publication .vested-publication-inner .vested-publication-box .vested-publication-text { position: relative; display: block; }

.popup-wrapper { position: fixed; top: 0; left: 0; display: none; width: 100%; height: 100vh; padding: 50px 80px; background: rgba(17, 18, 24, .9); box-sizing: border-box; -moz-box-sizing: border-box; z-index: 9999999; }
.popup-wrapper .popup-cancel { position: absolute; top: 20px; right: 20px; display: block; }
.popup-wrapper .popup-cancel a { font-size: 40px; color: #fff; text-decoration: none; line-height: 1; }
.popup-wrapper .popup-cancel a:hover { color: #ccc; text-decoration: none; }
.popup-wrapper .popup-inner { position: relative; height: 100%; display: -webkit-flex; display: -ms-flexbox; display: flex; -ms-flex-align: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; -o-align-items: center; align-items: center; }
.popup-wrapper .popup-inner .popup-content { position: relative; display: block; width: 100%; height: 100%; }
.popup-wrapper .popup-inner .popup-content iframe { width: 100%; height: 100%; }

.no-scroll { margin: 0 !important; height: 100% !important; overflow: hidden !important; }


#footer { position: relative; display: block; width: 100%; font-family: "hk_groteskmedium", sans-serif; font-size: 18px; color: #fff; background: url(images/bg-footer.png) center top; }
#footer a { color: #fff; text-decoration: none; }
#footer a.tel { color: #fff; text-decoration: none; }
#footer a:hover { color: #000; text-decoration: none; }
#footer a.tel:hover { color: #fff; }

#footer .top { position: relative; display: block; height: 170px; padding: 60px 40px; box-sizing: border-box; -moz-box-sizing: border-box; }
#footer .top .menu { position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; }
#footer .top .menu ul { margin: 0; padding: 0; float: right; }
#footer .top .menu li { display: block; list-style-type: none; margin: 0 55px 0 0; padding: 0; line-height: 1; float: left; }
#footer .top .menu li:last-of-type { margin-right: 0; }
#footer .top .menu li a { font-family: "hk_groteskbold", sans-serif; display: block; font-size: 20px; line-height: 1; color: #006969; }
#footer .top .menu li a:hover { color: #000; }

#footer .bottom { position: relative; display: block; padding: 25px 40px 20px; background: #0c6d69; font-size: 16px; }
#footer .bottom .logo-box { position: absolute; bottom: 0; left: 0; display: block; height: 170px; width: 350px; padding: 35px 0 0; background: #fff; text-align: center; box-sizing: border-box; -moz-box-sizing: border-box; }
#footer .bottom .logo { max-width: 190px; float: none; margin: 0 auto; }
#footer .bottom .inner { padding: 0 0 0 380px; }

#footer .bottom ul { margin: 0; padding: 0; }
#footer .bottom li { display: block; list-style-type: none; margin: 0 60px 0 0; padding: 0; line-height: 1; float: left; }
#footer .bottom li:last-of-type { margin-right: 0; }

#footer .bottom .copyright { display: inline-block; }
#footer .bottom .site-by { display: inline-block; padding-left: 10px; margin-left: 10px; border-left: 1px solid #ccc; }
#footer .bottom .site-by a { color: #fff; }
#footer .bottom .site-by a:hover { color: #000; }

#footer .icon-building:before { position: relative; bottom: 5px; display: block; width: 19px; height: 20px; content: ' '; background: url(images/building.png) no-repeat; margin: 0 15px 0 0; float: left; }
#footer .icon-phone:before { position: relative; display: block; width: 20px; height: 16px; content: ' '; background: url(images/phone.png) no-repeat; margin: 0 15px 0 0; float: left; }
#footer a.icon-twitter { position: relative; bottom: 5px; font-size: 22px; }

#footer .diversity { position: relative; display: block; font-size: 16px; margin-bottom: 20px; }
#footer .diversity a { color: #fff; font-family: "hk_grotesksemibold", sans-serif; }


.loading { position: fixed; top: 0; display: none; width: 100%; height: 100%; background: #FFF url(images/ajax-loader.gif) center center no-repeat; z-index: 999999999999; }
.loading .loading-inner { position: fixed; top: -60px; display: block; width: 100%; height: 100%; background: url(images/logo.svg) center center no-repeat; }


input.placeholder, textarea.placeholder { color: #121212; font-family: "hk_grotesklight", sans-serif; font-weight: 400; }
::-webkit-input-placeholder { /* WebKit browsers */
	color:    #000;
	font-family: "hk_grotesklight", sans-serif; font-weight: 400;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color:    #000;
	font-family: "hk_grotesklight", sans-serif; font-weight: 400;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	color:    #000;
	font-family: "hk_grotesklight", sans-serif; font-weight: 400;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
	color:    #000;
	font-family: "hk_grotesklight", sans-serif; font-weight: 400;
}

@viewport { width: auto; }

@media only screen and (max-width: 2000px) {
	
	.banner .banner-content-wrapper { max-width: none; }
	.banner .banner-content { left: 350px; }

}

@media only screen and (max-width: 1500px) {
	
	h1, h2, h3 { font-size: 34px; }
	
	#header .main-menu li { margin-right: 40px; }
	.logo { width: 230px; }
	.banner .banner-content { font-size: 22px; left: 320px; }
	.banner-wrapper .banner .banner-content { padding: 60px 45px; font-size: 22px; }
	.banner .banner-content h1, .banner .banner-content h2 { font-size: 40px; }
	.content .testimonial .testimonial-content { font-size: 28px; margin: 0 0 40px; }
	.content .blog-posts .recent-posts .recent-post h4 a { font-size: 24px; }
	.banner .banner-content .button a { font-size: 22px; }
	.banner .banner-content .button a::after { width: 26px; height: 26px; background-size: 26px 26px; }
	
	#footer .bottom { font-size: 14px; }
	#footer .bottom .inner { padding: 0 0 0 320px; }
	#footer .bottom .logo-box { width: 300px; }
	#footer .bottom li { margin-right: 40px; }
	
}

@media only screen and (max-width: 1340px) {
	
	h1, h2, h3 { font-size: 32px; }
	
	#header .main-menu li { margin-right: 35px; }
	#header .main-menu li a { font-size: 20px; }
	.logo { width: 200px; }
	.banner .banner-content { left: 290px; }
	.banner .banner-content h1, .banner .banner-content h2 { font-size: 40px; }
	.banner-wrapper .banner .banner-content { font-size: 22px; }
	.banner-wrapper .banner .banner-content h2 { margin-bottom: 20px; }
	.content { padding-bottom: 90px; }
	.home .content { padding-top: 60px; }	
	.content .sidebar .recent-post, .content .blog-posts .recent-posts .recent-post { font-size: 18px; }
	.content .sidebar .recent-post h4 a, .content .blog-posts .recent-posts .recent-post h4 a { font-size: 22px; }
	.content .client-categories li a { font-size: 18px; }
	
	#footer .top .menu li a { font-size: 20px; }
	#footer .bottom .inner { padding: 0 0 0 270px; }
	#footer .bottom li { margin-right: 30px; }
	#footer .bottom .logo-box { width: 270px; }
	#footer .bottom .logo { max-width: 180px; }
	
}

@media only screen and (max-width: 1200px) {
	
	h1, h2, h3 { font-size: 30px; }
	
	#header .main-menu li { margin-right: 30px; }
	#header .main-menu li a { font-size: 18px; }
	.banner .banner-content { font-size: 20px; }
	.banner-wrapper .banner .banner-content { font-size: 18px; padding: 40px; }
	.banner .banner-content h1, .banner .banner-content h2 { font-size: 36px; }
	.banner .banner-content .button a { font-size: 20px; }
	.banner .banner-content .button a::after { width: 22px; height: 22px; background-size: 22px 22px; }
	.home .content .inner { font-size: 22px; }
	.content .testimonial { padding-left: 60px; }
	.content .testimonial .testimonial-content { font-size: 24px; }
	.content .testimonial .testimonial-name { font-size: 16px; }
	.content .testimonial .testimonial-name strong { font-size: 20px; }
	.content .button-blog a { font-size: 18px; }
	.content .button-blog a::after { width: 28px; height: 30px; background-size: 28px 30px; }
	.content .client-categories li a { font-size: 16px; }
	.content .client-categories li a span.icon { font-size: 80px; }
	.content .clients .client-list .client-wrap a { font-size: 18px; }
	.content .content-row .content-row-content.icon::before { font-size: 70px; }
	.content .content-row .content-row-content.icon-funding-streams::before { width: 118px; height: 70px; }
	
	#footer .bottom { padding: 25px 40px 20px; }
	#footer .bottom .inner .left { margin-bottom: 20px; }
	
}

@media only screen and (max-width: 1120px) {
	
	#header .logo-box { padding: 15px 30px 25px; }
	.logo { width: 170px; }
	#header .main-menu { padding: 30px; }
	.banner .banner-content { left: 230px; }
	.content { padding-left: 30px; padding-right: 30px; }
	.content .blog-posts h3 { margin-bottom: 40px; }
	
	#footer .top { height: 110px; padding: 40px 30px; }
	#footer .top .menu li { margin-right: 40px; }
	#footer .bottom { padding: 25px 30px 20px }
	#footer .bottom .logo-box { width: 250px; height: 150px; }
	#footer .bottom .inner { padding: 0 0 0 250px; }
	
}

@media only screen and (max-width: 1060px) {
	
	#header .main-menu li { margin-right: 25px; }
	#header .main-menu li a { font-size: 16px; }
	.banner .banner-content h1, .banner .banner-content h2 { font-size: 32px; }
	.home .content { padding-top: 40px; }
	.content .sidebar .recent-post, .content .blog-posts .recent-posts .recent-post, .content .blog-posts .recent-posts .recent-post a.read-more, .content .sidebar .recent-post a.read-more { font-size: 16px; }
	.content .sidebar .recent-post h4 a, .content .blog-posts .recent-posts .recent-post h4 a { font-size: 18px; }
	.content .clients .client-list .client-wrap a { font-size: 16px; }
	
	#footer .top .menu li a { font-size: 18px; }
	
}

@media only screen and (max-width: 960px) {
	
	BODY { font-size: 16px; }
	h1, h2, h3 { font-size: 26px; }
	
	#header .logo-box { padding: 10px 20px 15px; }
	.logo { width: 150px; }
	#header .main-menu { padding: 20px; }
	.banner { height: 360px; }
	.banner .banner-content { left: 195px; }
	.banner .banner-content h1, .banner .banner-content h2 { font-size: 28px; }
	.banner .banner-content { font-size: 18px; }
	.banner-wrapper .banner .banner-content { font-size: 16px; padding: 20px; }
	.banner .banner-content .button a { font-size: 18px; padding: 15px 15px 12px; }
	.banner .banner-content .button a::after { width: 20px; height: 20px; background-size: 20px 20px; }
	.banner-wrapper #banner-nav { bottom: 10px; right: 17px; }
	.banner-wrapper #banner-nav span { font-size: 40px; }
	
	.blog .banner, .error404 .banner { height: 150px; }
	.blog .banner .banner-img img, .error404 .banner .banner-img img { height: 150px !important; }
	.single-post .banner { height: 250px; }
	.single-post .banner .banner-img img { height: 250px !important; }
	
	.home .content .inner { font-size: 20px; }
	.home .content .inner img { margin-bottom: 20px; }
	.content { padding-bottom: 50px; padding-left: 20px; padding-right: 20px; }
	.content .testimonial-wrapper { padding-top: 60px; }
	.content .testimonial { padding-left: 50px; }
	.content .testimonial .testimonial-content { font-size: 20px; margin-bottom: 20px; }
	.content .testimonial .testimonial-name { font-size: 15px; }
	.content .testimonial .testimonial-name strong { font-size: 18px; }
	.content .client-categories li a { font-size: 14px; }
	.content .button-blog a { font-size: 16px; }
	.content .button-blog a::after { width: 24px; height: 24px; background-size: 24px 24px; }
	.content .client { padding: 20px 20px 30px; }
	.content .clients .sector-content { margin-bottom: 40px; }
	.content .client .button-close a { padding: 10px 20px; }
	
	.content .content-row, .blog .content .content-row { padding-bottom: 60px; }
	.content .content-row.sep { padding-bottom: 30px; margin-bottom: 30px; }
	.content .content-row .content-row-content.icon::before { font-size: 60px; }
	.content .content-row .content-row-content.icon-funding-streams::before { width: 101px; height: 60px; }
	.content .bios { padding-top: 60px; }
	.content .bios .bio { margin-bottom: 60px; }
	.content .bios .bio .button-contact { margin-top: -5px; }
	.content .bios .bio .twitter-feed { padding: 20px; }
	.content .bios .bio .twitter-feed ul.tweets li { font-size: 16px; margin-bottom: 35px; }
	.content .bios .bio .twitter-feed ul.tweets li .user-name .name { font-size: 20px; }
	.content .bios .bio a.icon-twitter { margin-bottom: 5px; }
	.content .button-contact a.button::after { width: 26px; height: 26px; background-size: 26px 26px; margin-top: 4px; }
	
	.content .contact-box { padding: 20px 20px 10px; }
	.content .content-row .content-row-content-inner.has-img { padding: 30px 30px 40px; }
	
	#footer .top { height: 80px; padding: 30px 20px; }
	#footer .top .menu li a { font-size: 16px; }
	#footer .bottom { padding: 25px 20px 20px; }
	#footer .bottom .logo-box { width: 200px; height: 130px; }
	#footer .bottom .logo { max-width: 160px; }
	#footer .bottom .inner { padding: 0 0 0 210px; }
	#footer .bottom .inner .left { margin-bottom: 10px; }
	
}

@media only screen and (max-width: 900px) {
	
	#header .main-menu { padding: 10px 20px; }
	#header .main-menu ul { display: none; }
	#header .main-menu .flyout { display: block; }
	
	.banner .banner-content { font-size: 17px; }
	.content .client-categories li a span.icon { font-size: 70px; }
	.content .sidebar .recent-post h4 a, .content .blog-posts .recent-posts .recent-post h4 a { font-size: 18px; }
	.content .sidebar .recent-post, .content .blog-posts .recent-posts .recent-post, .content .blog-posts .recent-posts .recent-post a.read-more, .content .sidebar .recent-post a.read-more { font-size: 15px; }
	.content .client .client-content .right { padding: 0; }
	
	.content .bios .bio .twitter-feed-wrapper { padding-left: 0; padding-right: 0; }
  
  .content .vested-publication { padding: 30px 50px; }
	
	#footer .top { height: 20px; padding: 0; }
	#footer .top .menu, #footer .bottom .logo-box { display: none; }
	#footer .bottom { padding-bottom: 10px; }
	#footer .bottom .inner { padding: 0; }
	#footer .bottom .inner .left { margin-bottom: 30px; }
	#footer .bottom li.icon-building { width: 100%; margin-right: 0; margin-bottom: 15px; }
	#footer .bottom li.icon-phone { margin-right: 60px; }
	#footer .bottom .inner .left, #footer .bottom .inner .right { float: none; }
	
}

@media only screen and (max-width: 800px) {
	
	h1, h2, h3 { font-size: 24px; }
	h5 { font-size: 20px; }
	
	#header .logo-box { position: relative; padding: 5px 20px 7px; float: left; }
	.logo { width: 125px; }
	.flyout { padding: 5px 0 0; }
	.flyout a.icon-menu { font-size: 40px; margin: 0; }
	
	.banner .banner-content { top: 50px; left: 165px; }
	.banner .banner-content h1, .banner .banner-content h2 { font-size: 24px; }
	.banner-wrapper .banner .banner-content { font-size: 15px; }
	.banner .banner-content p { padding-top: 0; }
	.content .sidebar { width: 32%; }
	.content .client-categories ul { margin-left: -20px; }
	.content .client-categories li { padding-left: 20px; }
	.content .client-categories li a span.icon { font-size: 60px; }
	.content .client .client-content .right { width: 63%; }
	.content .content-row .content-row-content.icon::before { font-size: 50px; }
	.content .content-row .content-row-content.icon-funding-streams::before { width: 84px; height: 50px; }
	
	.page-template-page-contact .content .left, .page-template-page-contact .content .right { width: 46%; padding: 0; }
	
	.content .content-row .content-row-content.split-col.split-col-left, .content .content-row .content-row-content.split-col { width: 100%; padding: 0; float: none; }
	.content .content-row .content-row-content.split-col.split-col-left { margin-bottom: 20px; }
	.content .content-row .content-row-content.spacer { margin-bottom: 30px; }
	
	.content .client .client-content .left p.paid-in-full { max-width: 100px; }
  
  .page-template-page-contact .content.update .left { padding-right: 40px; }
  .page-template-page-contact .content.update .right { padding-left: 40px; }
  .content .contact-box .wpcf7 input[type="submit"] { background-position: 60% center; }
	
}

@media only screen and (max-width: 667px) {
	
	.banner-wrapper { height: auto; }
	.banner-wrapper .banner .banner-content { position: relative; top: auto; left: auto; width: 100%; opacity: 1; }
	.banner .banner-content h1, .banner .banner-content h2 { font-size: 28px; }
	.banner-wrapper .banner .banner-img { width: 100%; max-height: 400px; float: none; }
	
	.banner.single { height: auto; }
	.banner.single .banner-content { position: relative; top: 0; left: 0; padding: 40px 20px 50px; }
	.banner.single .banner-content h1 { margin-bottom: 15px; }
	.banner.single .banner-content .button a { font-size: 16px; }
	.banner.single .banner-img { position: absolute; top: 0; }
	
	.content, .content .clients, .content .blog-posts { padding-top: 30px; }
	.content.has-sidebar .inner { width: 100%; float: none; margin-bottom: 50px; }
	.content .sidebar, .content .blog-posts .recent-posts .recent-post { width: 100%; float: none; }
	.content .sidebar .recent-post, .content .blog-posts .recent-posts .recent-post { display: none; }
	.content .sidebar .recent-post:first-child, .content .blog-posts .recent-posts .recent-post:first-child { display: block; }
	.content .button-blog { float: left; }
	.content .sidebar h3, .content .blog-posts h3 { margin-bottom: 20px; }
	.home .content .inner { font-size: 18px; }
	.content .testimonial { padding-left: 35px; }
	.content .testimonial .testimonial-content { font-size: 18px; }
	.content .button-blog a, .content .button-contact a { font-size: 18px; }
	
	.content .clients { text-align: left; }
	.page-template-page-clients .content .clients { display: none; }
	.content .client-categories { text-align: left; }
	.content .client-categories h2 { margin-bottom: 30px; }
	.content .client-categories li { width: 100%; margin-bottom: 20px; }
	.content .client-categories li a { font-size: 18px; }
	.content .client-categories li a span.icon { margin-bottom: 0; margin-right: 20px; float: left; width: 80px; text-align: center; }
	.content .client-categories li a span.name { height: 60px; line-height: 60px; }
	
	.tax-client-section .content .client-categories, .single-client .content .client-categories { padding-bottom: 30px; }
	.tax-client-section .content .client-categories h2, .single-client .content .client-categories h2 { display: inline-block; margin-bottom: 0; }
	.tax-client-section .content .client-categories h2:after, .single-client .content .client-categories h2:after { position: relative; bottom: 2px; display: block; width: 26px; height: 26px; content: ' '; background: url(images/arrow-circle.png) no-repeat; background-size: 26px 26px; float: right; margin: 4px 0 0 15px; }
	.tax-client-section .content .client-categories ul, .tax-client-section .content .client-categories p, .single-client .content .client-categories ul, .single-client .content .client-categories p { display: none; }
	
	.single-client .content .client { padding: 0; border: none; margin-bottom: 0; }
	.single-client .content .client .button-close { display: none; }
	.single-client .content .clients .client-list { display: none; }
	.single-client .content .client-category { display: none; }
	.single-client .content .client .back-link { display: block; }
	
	.content .client .client-images { margin-bottom: 20px; }
	.content .client .client-content .left { width: 100%; float: none; margin: 0 0 25px; }
	.content .client .client-content .right { width: 100%; float: none; }
	
	.content .content-row, .blog .content .content-row { padding-bottom: 30px; }
	.content .content-row.sep { padding-bottom: 15px; margin-bottom: 15px; }
	.content .content-row .content-row-content.icon::before { font-size: 60px; margin-bottom: 10px; }
	.content .content-row .content-row-content.icon-funding-streams::before { width: 101px; height: 60px; }
	.content .content-row.rows-2 .content-row-content { width: 100%; float: none; margin: 0 0 30px; padding: 0; }
	.content .content-row.rows-2 .content-row-content:first-of-type { margin-left: 0; }
	.content .content-row.rows-2 .content-row-content:last-of-type { margin-bottom: 0; }
	.content .bios { padding-top: 30px; }
	.content .bios .bio { margin-bottom: 30px; }
	.content .bios .bio .bio-img { width: 30%; padding-top: 0; }
	.content .bios .bio h2 { margin-bottom: 20px; }
	.content .bios .bio a.icon-twitter { font-size: 30px; margin-right: 10px; }
	.content .bios .bio .twitter-feed ul.tweets li .user-name { font-size: 14px; }
	.content .bios .bio .twitter-feed ul.tweets li .user-name .name { font-size: 18px; }
	.content .button-contact a.button::after { width: 22px; height: 22px; background-size: 22px 22px; margin-top: 5px; }
	
	.content .bios .bio .bio-content .bio-details { margin-top: -20px; padding-bottom: 20px; }
	
  .content .flipbook iframe { height: 500px; }
  
  .content .content-row .content-row-content.content-box { padding: 25px 20px; }
  .content .content-row .content-row-content.content-box .cols { grid-template-columns: auto; grid-template-areas: "col-1" "col-2"; gap: 30px 0; }
  
  .content .vested-publication .vested-publication-inner .vested-publication-box { grid-template-columns: 240px 1fr; gap: 30px 30px; }
}

@media only screen and (max-width: 600px) {
	
	h2 { margin-bottom: 20px; }
	
	.page-template-page-contact .content .left { margin-bottom: 30px; }
	.page-template-page-contact .content .left, .page-template-page-contact .content .right, .page-template-page-contact .content.update .left, .page-template-page-contact .content.update .right { width: 100%; float: none; border: none; padding: 0; }
	.content .clients .client-list .client-list-col { width: 100%; }
	
	.content .content-row .content-row-content-inner.has-img { width: 100%; float: none; }
	.content .content-row .content-row-image { width: 100%; float: none; }
	
	.content .client { padding: 10px 10px 20px; }
	
	.content .portfolio-issues .portfolio-issues-inner { gap: 30px 30px; }

  .content .vested-publication { padding: 30px 30px; margin: 40px 0; }
  .content .vested-publication .vested-publication-inner .vested-publication-box { grid-template-columns: 180px 1fr; }
}

@media only screen and (max-width: 480px) {
	
	h1, h2, h3 { font-size: 22px; }
	h5 { font-size: 18px; }
	
	#flyout-menu #flyout-menu-main, #flyout-menu #flyout-menu-sub { padding: 90px 50px 40px; }
	
	.content .client-categories li a { font-size: 16px; }
	.content .content-row .content-row-content.icon::before { font-size: 50px; }
	.content .content-row .content-row-content.icon-funding-streams::before { width: 84px; height: 50px; }
	
	.content .bios .bio .bio-img { width: 40%; margin: 0 auto 20px; padding: 0; float: none; }
	.content .bios .bio .bio-content { width: 100%; float: none; }
	.content .bios .bio .twitter-feed ul.tweets li { font-size: 14px; }
	.content .bios .bio .twitter-feed ul.tweets li .user-img { width: 45px; margin-right: 10px; }
	.content .bios .bio .twitter-feed ul.tweets li .user-name .name { font-size: 18px; }
	
	.content .content-row .content-row-content-inner.has-img { padding: 20px 20px 30px; }
  
  .content .flipbook iframe { height: 600px; }
  
  .content .bios h2.section-title { width: auto; }
	
	.content .portfolio-issues .portfolio-issues-inner { grid-template-columns: 1fr 1fr; }
  
  .content .vested-publication { padding: 30px 20px; }
  .content .vested-publication .vested-publication-inner .vested-publication-box { grid-template-columns: 1fr; }
	
	.popup-wrapper { padding: 40px 60px; }
	.popup-wrapper .popup-cancel a { font-size: 30px; }
	
}

@media only screen and (max-width: 420px) {
	
	BODY { font-size: 15px; } 
	
	#flyout-menu #flyout-menu-main, #flyout-menu #flyout-menu-sub { padding: 90px 20px 40px; }
	
	.banner .banner-content { font-size: 15px; } 
	
	.content .client-categories li a span.icon { font-size: 40px; width: 60px; }
	.content .client-categories li a span.name { height: auto; line-height: 1.2; }
	.content .client-categories ul:last-of-type + p { padding-top: 20px; }
	
	.content .bio-list .bio-item { width: 100%; }
  
  .content .content-row .content-row-content.content-box .cols { gap: 20px 0; }
	
	.popup-wrapper { padding: 30px 40px; }
	.popup-wrapper .popup-cancel a { font-size: 25px; }
	
	#footer .bottom .site-by { margin-left: 0; padding-left: 0; border-left: none; display: block; }
	
}

@media only screen and (max-width: 360px) {
	
	.content .bios .bio .bio-img { width: 50%; }
  
  .content .flipbook iframe { height: 380px; }
	
}



@media only screen and (min-width: 480px) and (-webkit-min-device-pixel-ratio: 2){
	
}

@media only screen and (max-width: 320px) and (-webkit-min-device-pixel-ratio: 2){
	
}
