/*
----------------------------------
Homepage unique styles
---------------------------------
*/
.homepage_introduction {
	background-color: #000;
	width: 100%; min-height: 230px; margin-bottom: 30px;
	position: relative; z-index: 0; overflow: hidden;
}
.homepage_introduction:after {
	content: ' ';
	display: block; clear: both;
}
.homepage_introduction .banner_image {
	 bottom: 245px; top: auto; min-height: 230px;
}
.block_homepage_expertise {
	color: #fff;
	width: 33%; height: 185px; border-left: 1px solid #fff; border-top: 1px solid #fff; margin-left: -1px; margin-bottom: 0 !important; padding-left: 0; padding-right: 0;
	background-color: #006ca9;
	float: left; position: relative;
}
.block_homepage_expertise:last-child {
	width: 34%;
}
.block_homepage_expertise h3, .block_homepage_expertise p {
	margin-left: 30px; margin-right: 30px;
}
.block_homepage_expertise h3 {
	font-size: 1em; text-transform: uppercase; font-weight: 600;
	max-height: 40px; overflow: hidden;
}
.block_homepage_expertise p {
	max-height: 90px; overflow: hidden;
}
.block_homepage_expertise .more_button {
	left: 30px; bottom: 30px;
	position: absolute;
}

.left_homepage_content {
	position: relative;
}
.left_homepage_content .widget-rss-feed {
	right: 0; top: 0;
	position: absolute;
}

.right_homepage_sidebar .block_sidebar_newsletter h3 {
	font-size: 2.35em;
}
.right_homepage_sidebar .general_image {
	margin-top: 20px;
}

.article_case_studies {
	min-height: 291px;
}
.article_carousel_item {
	font-size: 1.1em;
	overflow: hidden;
}
.article_carousel_item img {
	margin-right: 30px;
	float: left;
}
.article_carousel_item h3 {
	font-size: 2.35em;
}
.article_carousel_item p:last-child {
	margin-bottom: 0;
}
.article_carousel_pagination {
	font-size: 24px; text-align: center; color: #d0d0d0;
	margin-top: 50px;
}
.article_carousel_pagination a {
	color: #d0d0d0; vertical-align: middle;
	margin-left: 10px; margin-right: 10px;
	display: inline-block;
}
.article_carousel_pagination a:hover {
	color: #808080;
}
.article_carousel_pagination a.selected {
	color: #909090;
}

/*
----------------------------------
Expertise page unique styles
---------------------------------
*/
.block_expertise_summary:after {
	content: ' ';
	clear: both; display: block;
}
.block_expertise_summary h3 {
	margin-bottom: 0.8em;
}
.block_expertise_summary h4 {
	margin-bottom: 1em;
}

.block_expertise_summary .general_image {
	margin-bottom: 0; border: 1px solid #777; margin-right: 30px; width: 30%; height: 300px;
	float: left;
}
.block_expertise_summary div.general_image {
	text-align: center;
	overflow: hidden; position: relative;
}
.block_expertise_summary .general_image img { /* centering the image */
	top: -9999px; bottom: -9999px; left: -9999px; right: -9999px; margin: auto;
   position: absolute;
}

/*
----------------------------------
Introdution banners
---------------------------------
*/
.section_introduction {
	width: 100%; margin-bottom: 30px; height: 270px;
	position: relative; z-index: 0; overflow: hidden;
}
.banner_image {
	left: 0; bottom: 0;
	position: absolute; z-index: 0;
}
div.banner_image {
	text-align: center;
	background-color: #000;
  width: 100%; min-height: 100%;
	overflow: hidden;
}
div.banner_image img { /* centering the image */
	bottom: -9999px; top: -9999px; left: -9999px; right: -9999px; margin: auto;
	position: absolute;
}
.banner_text {
	color: #fff;
	padding: 42px 50px; bottom: 0;
	position: relative; z-index: 1;
}
.banner_text h2 {
	color: inherit;
	width: 70%; margin-bottom: 0.5em;
}
.banner_text p {
	font-size: 1.1em;
}
.banner_text p:last-child {
	margin-bottom: 0;
}
.section_introduction .banner_text {
	width: 50%;
	
	/*left: 50px; bottom: 50px; width: 50%; padding: 0;
	position: absolute;*/
}
.banner_action, .banner_form {
	background-color: #f0f0f0;
	width: 36%; height: 100%; padding: 30px;
	right: 0; top: 0; position: absolute; z-index: 2;
}
.banner_action h3 {
	font-size: 1.75em;
	margin-bottom: 0.5em;
}
.banner_form input[type="text"], .banner_form input[type="email"] {
	width: 95%; margin-bottom: 10px;
}

/* Newsletter form */
.mc4wp-form {
	position: relative;
}
.mc4wp-success {
	font-size: 90%;
	background-color: #f0f0f0;
	left: 0; top: 0; width: 90%; height: 60%; padding: 5%;
	position: absolute;
}
.mc4wp-success br:nth-child(3) {
	display: none;
}


/*
----------------------------------
Blog post styles
---------------------------------
*/

header.page_title {
	position: relative;
	margin-bottom: 30px
}
header.page_title h1 {
	color: inherit;
	background-color: transparent;
	border-bottom: 0; padding: 0; margin-bottom: 0;
}
.page_title .widget-rss-feed {
	right: 30px; top: 20px;
	position: absolute;
}
.page_title .widget-rss-feed:hover {
	opacity: 0.8;
}

.article_categories {
	color: #003c65;
	padding-top: 15px;	
}
.article_categories:before {
	margin-right: 5px;
}
.article_categories a {
	font-size: 12px; text-transform: uppercase; font-weight: 600; color: inherit;
	margin-right: 25px;
	display: inline-block; vertical-align: middle;
}
.article_categories a:hover {
	text-decoration: underline;
}
.block_comments {
	position: relative;
}
.block_comments h5 {
	margin-bottom: 1em;
}
.comments_private_link {
	font-weight: 600; font-size: 14px;
	right: 30px; top: 30px;
	position: absolute;
}
.block_comments textarea {
	width: 97%; min-height: 50px; margin-bottom: 10px;
	display: block;
}
.block_comments input[type="text"] {
	width: 95%; max-width: 250px; margin-bottom: 10px;
	display: block;
}
.block_comments ol, .block_comments ul {
	list-style: none; padding-left: 0; margin-bottom: 0;
}
.block_comments li {
	border-bottom: 1px solid #d0d0d0; padding-bottom: 30px; margin-bottom: 30px;
}
.block_comments li:last-child {
	border-bottom: 0; padding-bottom: 0; margin-bottom: 0;
}
.block_comments .children {
	border-top: 1px solid #d0d0d0; padding-top: 30px; margin-top: 30px;
}
.form-submit {
	margin-bottom: 0;
}
.comment-reply-link {
	margin-right: 15px;
}
.comment-respond small {
	font-size: 12px; text-transform: uppercase; font-weight: 600; color: #999;
	display: block; vertical-align: middle;
}


/*
----------------------------------
Team page unique styles
---------------------------------
*/
.member_summary {
	margin-right: 25px; margin-bottom: 30px; width: 23%;
	display: inline-block; vertical-align: top;
}
.member_summary:nth-child(4n+4) {
	margin-right: 0;
}
.member_summary a {
	color: inherit;
}
.member_headshot {
	border: 1px solid #d0d0d0; max-height: 320px; margin-bottom: 10px;
	display: block; overflow: hidden;
}
.member_summary h3 {
	font-size: 1em; font-weight: 600;
	margin-bottom: 0;
}
.member_summary p {
	margin-bottom: 0;
}
.block_member_profile img {
	margin-bottom: 1.5em;
}
.block_member_profile h5 {
	margin-bottom: 1em;
}
.block_member_profile p:last-child {
	margin-bottom: 0;
}
.block_member_profile [class^="icon-"], .block_member_profile [class^="icon-"] {
	margin-bottom: 5px;
	display: block;
}
.block_member_bio h2 {
	font-size: 1.5em;
	margin-bottom: 0;
}
.block_member_bio h3 {
	font-size: 1em; font-weight: 600;
}

/*
----------------------------------
Newsletters page unique styles
---------------------------------
*/
.section_newsletters .banner_text p {
	width: 70%;
}
.section_newsletters .banner_form {
	padding: 20px;
}


/*
----------------------------------
Contact page unique styles
---------------------------------
*/
[class^="block_contact_"] h5, [class*=" block_contact_"] h5 {
	margin-bottom: 1em;
}
.block_contact_form label {
	display: block;
}
.block_contact_form input[type="text"], .block_contact_form input[type="email"] {
	width: 94%; margin-bottom: 10px;
}
.form_name_fields input[type="text"] {
	width: 43%;
}
.your-first-name {
	margin-right: 5px;
}
.block_contact_form textarea {
	width: 94%; margin-bottom: 10px;
}
.block_contact_form p {
	margin-bottom: 0;
}

/*
----------------------------------
Resources page unique styles
---------------------------------
*/
.resource_links {
	background-color: #fff;
	border: 1px solid #d0d0d0; padding: 30px; width: 26%; margin-right: 25px; margin-bottom: 30px;
	display: inline-block; vertical-align: top;
}
.resource_links:nth-child(3n+3) {
	margin-right: 0;
}
.resource_links:nth-last-child(3), .resource_links:nth-last-child(2), .resource_links:last-child {
	margin-bottom: 0;
}
.resource_links ul, .left_sidebar .block_resources_links ul {
	list-style: none; font-size: 14px; line-height: 1.4em;
	padding-left: 0; margin-bottom: 0; height: 340px;
	overflow-x: hidden;
}
.resource_links li, .left_sidebar .block_resources_links li {
	padding-top: 8px; padding-bottom: 8px;
}
.left_sidebar .block_resources_links ul {
	height: auto;
}


/*
----------------------------------
Events page unique styles
---------------------------------
*/
.event_details {
	background-color: #fff;
	border: 1px solid #d0d0d0; padding: 3%; width: 42%; margin-right: 2.5%; margin-bottom: 30px; min-height: 350px;
	display: inline-block; vertical-align: top; clear: both;
}
.event_details:nth-child(2n+2) {
	margin-right: 0;
}
.event_details:nth-last-child(2), .event_details:last-child {
	margin-bottom: 0;
}
.event_details .action_button, .event_details .general_button {
	margin-bottom: 5px;
}
.events_tax_lunch {
	margin-bottom: 30px;
}
.events_tax_lunch .block_general_text {
	float: left; width: 56.7%; padding: 30px; height: 206px;
}
.events_tax_lunch .block_sidebar_newsletter {
	float: right; width: 31%; background-color: #006ca9; color: #fff;
}
.events_tax_lunch .block_events {
	clear: both;
}

/*
----------------------------------
General block of text on inner page
---------------------------------
*/
.block_general_text:after {
	content: ' ';
	display: block; clear: both;
}
.general_image {
	margin-bottom: 30px;
}
.block_general_text p:last-child, .block_general_text ul:last-child {
	margin-bottom: 0;
}
.general_text_callout {
	margin-left: 30px; width: 45%;
	float: right;
}
.general_image.alignleft {
	float: left; margin-right: 30px;
}


/*
----------------------------------
Blogroll / list of articles
---------------------------------
*/
.block_article_list {
	padding: 0;
}
.block_article_list h2 {
	font-size: 16px; color: #191919; text-transform: uppercase; font-weight: 600;
	padding: 30px 30px 0; margin-bottom: -1px; border-bottom: 1px solid #f0f0f0;
	position: relative; z-index: 1;
}
.block_article_list .general_button {
	margin: 0 30px 30px;
}

.article_list_box {
	border-top: 1px solid #e0e0e0; padding: 30px;
}
.article_list_box p:last-child {
	margin-bottom: 0;
}
.article_list_box:first-child {
	border-top: 0;
}
.tag_data {
	font-size: 13px; text-transform: uppercase; color: #003c65; font-weight: 600;
	display: block;
}

/*
----------------------------------
Sidebar call to action
---------------------------------
*/
.block_sidebar_action {
	padding: 0;
}
.sidebar_action_text {
	padding: 30px;
}

/*
----------------------------------
Sidebar links list
---------------------------------
*/
.block_sidebar_links ul, .right_sidebar .block_general_text ul {
	list-style: none; font-size: 14px; line-height: 1.4em;
	padding-left: 0; margin-bottom: 0;
}
.block_sidebar_links li, .right_sidebar .block_general_text li {
	padding-top: 8px; padding-bottom: 8px;
}