/*
Theme Name: Essential Marketer
Theme URI: https://essentialmarketer.com/
Author: Nick Giordano
Description: Reworked Essential Marketer theme, for Econergy Solutions
Version: 2.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: essential-marketer
*/
:root {
	--c-primary: #2c5e4d;
	--c-secondary: #7ab8a3;
}
main {
	min-height: 400px;
}
section.hero, section.breadcrumbs, section.content_section {
	width: 100%;
}
section.hero > div,
section.breadcrumbs > div,
section.content_section > div {
	width: 100%;
	max-width: 1536px;
	margin: auto;
}
section.hero > div, section.content_section > div {
	box-sizing: border-box;
	padding: 50px 20px;
}
section.hero {
	background-size: cover !important;
	background-position: center !important;
	display: flex;
	justify-content: center;
	min-height: 700px;
}
section.hero h1 {
	margin-bottom: 30px;
	font-size: 3.5em;
	font-weight: 900;
}
section.hero p {
	margin-bottom: 20px;
	font-size: 1.25em;
}
section.hero strong, div.grader_connect strong  {
	color: var(--c-secondary);
}
section.hero button {
	margin: 20px 0;
}
section.hero a:not(:last-child) button {
	margin-right: 20px;
}
section.hero > div > img.hero_title_image {
	box-sizing: content-box;
	max-width: 750px;
	max-height: 250px;
	margin: 20px 0;
}
body.error404 h1 {
	margin-bottom: 30px;
}
body.home section.hero h1 {
	margin-bottom: 0;
	font-size: 4.0em;
}
body.home section.hero p {
	margin-bottom: 10px;
	font-size: 1.5em;
}
section.content_section h1 {
	font-size: 3.0em;
	font-weight: 900;
}
section.content_section h2 {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 2.5em;
	font-weight: 900;
}
section.content_section h3 {
	margin-top: 0;
	margin-bottom: 15px;
	font-size: 1.3em;
	font-weight: 900;
}
section.content_section p {
	margin-bottom: 20px;
	font-size: 1.15em;
}
section.content_section a {
	text-decoration: none;
	font-weight: bold;
	color: var(--c-primary) !important;
}
section.content_section.ng_blue a {
	color: var(--c-secondary) !important;
}
section.content_section a:hover {
	text-decoration: underline;
	text-decoration-color: var(--c-secondary);
	text-decoration-thickness: 2px;
	text-underline-offset: 2px;
}
section.content_section.ng_blue a:hover {
	color: var(--c-secondary) !important;
}
section.content_section ul, section.content_section ol {
	font-size: 1.2em;
}
section.content_section ul li::marker {
	content: "✦  ";
	color: var(--c-primary);
}
section.content_section.ng_blue ul li::marker {
	color: var(--c-secondary);
}
section.breadcrumbs {
	background-color: #f3f5f7;
	color: #333333;
}
section.breadcrumbs p {
	display: inline;
}
section.breadcrumbs p > span > span {
	margin: 0 3px;
	color: black;
}
section.breadcrumbs i {
	margin-right: 3px;
	color: var(--c-primary);
}
section.breadcrumbs a {
	color: #333333;
	text-decoration: none;
}
section.breadcrumbs a:hover {
	color: initial;
	text-decoration: underline;
	text-decoration-color: var(--c-secondary);
	text-decoration-thickness: 3px;
	text-underline-offset: 3px;
}
section.breadcrumbs > div {
	padding: 10px;
}
section.ng_standard p, section.ng_alternate p,
section.ng_standard ul, section.ng_alternate ul,
section.ng_standard ol, section.ng_alternate ol {
	color: #666666;
}
section.ng_alternate {
	background-color: #f5f8f7;
}
section.ng_blue {
	background-color: var(--c-primary);
	color: white;
}
section.full_content_section > div img {
	display: block;
	max-width: 100%;
}
section.full_content_section > div > div {
	margin: 60px 0;
}
section.full_content_section > div > div.image_with_text {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}
section.full_content_section > div > div.image_with_text > img {
	flex-shrink: 0;
	max-width: 75%;
}
section.full_content_section > div > div.image_with_text > div {
	flex: 1;
}
section.basic_text_section > div {
	max-width: 900px;
}
section.cta_section > div {
	padding: 100px 30px;
	text-align: center;
	font-size: 1.2em;
}
section.stats_section > div {
	padding: 60px 20px;
}
section.stats_section > div > div.stats_values {
	display: grid;
	gap: 40px;
	text-align: center;
}
section.stats_section > div > div.stats_values > div > div:first-child {
	font-size: 5.0em;
	line-height: 1.2em;
	font-weight: bold;
	color: var(--c-primary);
}
section.stats_section > div > div.stats_values > div > div:last-child {
	font-size: 1.2em;
	font-weight: bold;
}
section.stats_section > div > div.stats_text {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	margin-top: 40px;
}
section.snippet_section > div {
	max-width: 800px;
	padding: 30px;
	text-align: center;
}
section.snippet_section > div > i {
	margin-bottom: 20px;
	border-radius: 100%;
	padding: 15px;
	font-size: 2.0em;
}
section.snippet_section.ng_standard > div > i {
	background-color: #f8f9fa;
	color: var(--c-primary);
}
section.snippet_section.ng_alternate > div > i {
	background-color: white;
	color: var(--c-primary);
}
section.snippet_section.ng_blue > div > i {
	background-color: white;
	color: var(--c-secondary);
}
section.big_list_section > div > div.big_list {
	max-width: 900px;
	margin: auto;
	margin-top: 40px;
	border-radius: 5px;
	box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.04), inset -1px -1px 2px rgba(0, 0, 0, 0.03);
	padding: 10px 40px;
	background-color: #f8f9fa;
	text-align: left;
}
section.big_list_section.ng_alternate > div > div.big_list {
	box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.07), inset -1px -1px 2px rgba(0, 0, 0, 0.06);
	background-color: white;
}
section.big_list_section.ng_blue > div > div.big_list {
	box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.4), inset -1px -1px 2px rgba(0, 0, 0, 0.3);
	background-color: white;
}
section.big_list_section > div > div.big_list > div {
	display: flex;
	align-items: center;
	gap: 30px;
	margin: 40px 0;
}
section.big_list_section > div > div.big_list > div > div.list_item_marker {
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	align-items: center;
	aspect-ratio: 1 / 1;
	width: 80px;
	border-radius: 100%;
	font-size: 3.0em;
	background-color: var(--c-primary);
	color: var(--c-secondary);
}
section.big_list_section.ng_blue > div > div.big_list > div > div.list_item_marker {
	background-color: var(--c-secondary);
	color: black;
}
section.big_list_section > div > div.big_list > div > div.list_item_text {
	flex: 1;
	font-size: 1.2em;
}
section.big_list_section > div > div.big_list > div > div.list_item_text > h3 {
	margin-bottom: 5px;
	color: black;
}
section.big_list_section > div > div.big_list > div > div.list_item_text > p {
	margin-top: 5px;
	margin-bottom: 0;
	color: #666666;
	font-size: 1.0em;
}
section.flexi_grid_section > div {
	max-width: 1200px;
	text-align: center;
}
section.flexi_grid_section > div > div.flexi_grid {
	display: grid;
	gap: 20px;
	margin-top: 40px;
}
section.flexi_grid_section > div > div.flexi_grid > div > i {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	aspect-ratio: 1 / 1;
	margin: 20px auto;
	border-radius: 100%;
	padding: 10px;
	font-size: 2.0em;
	font-weight: 900;
	background-color: #f5f8f7;
	color: var(--c-secondary);
}
section.flexi_grid_section.ng_alternate > div > div.flexi_grid > div > i {
	background-color: #d6dcdb;
	color: var(--c-primary);
}
section.box_grid_section > div {
	text-align: center;
}
section.box_grid_section > div > p {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}
section.box_grid_section > div.grid_layout_boxed > div {
	max-width: 960px;
	margin: auto;
	border-radius: 20px;
	padding: 40px;
	background-color: #f5f8f7;
	text-align: left;
}
section.box_grid_section.ng_alternate > div.grid_layout_boxed > div {
	background-color: white;
}
section.box_grid_section > div > div > div.box_grid {
	display: grid;
	gap: 20px;
	margin: auto;
	margin-top: 40px;
}
section.box_grid_section > div > div > div.box_grid > div {
	border-radius: 10px;
	padding: 20px;
	text-align: left;
}
section.box_grid_section > div.grid_layout_unboxed > div > div.box_grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 22%), 1fr)); /* max set below 25%, to ensure padding doesn't cause wrapping */
}
section.box_grid_section > div.grid_layout_boxed > div > div.box_grid {
	grid-template-columns: 1fr 1fr 1fr;
}
section.box_grid_section > div.grid_layout_unboxed > div > div.box_grid > div,
section.box_grid_section.ng_alternate > div.grid_layout_boxed > div > div.box_grid > div {
	box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.04), inset -1px -1px 1px rgba(0, 0, 0, 0.03);
	background-color: #f5f8f7;
}
section.box_grid_section > div.grid_layout_boxed > div > div.box_grid > div,
section.box_grid_section.ng_alternate > div.grid_layout_unboxed > div > div.box_grid > div {
	box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.07), inset -1px -1px 1px rgba(0, 0, 0, 0.06);
	background-color: white;
}
section.box_grid_section > div > div > div.box_grid > div > i {
	font-size: 2.5em;
	color: var(--c-secondary);
}
section.box_grid_section > div > div > div.box_grid > div > h4 {
	margin: 0;
	margin-top: 10px;
	font-size: 1.2em;
}
section.box_grid_section > div > div > div.box_grid > div > p {
	margin: 0;
	margin-top: 10px;
	font-size: 1.0em;
}
section.box_highlight_section > div {
	text-align: center;
}
section.box_highlight_section > div > p {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}
section.box_highlight_section > div > div.box_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	max-width: 1152px;
	margin: auto;
	margin-top: 40px;
	margin-bottom: 40px;
}
section.box_highlight_section > div > div.box_grid > div.grid_box {
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 20px;
	padding: 20px;
	background-color: #f8f9fa;
}
section.box_highlight_section > div > div.box_grid > div.grid_box {
	display: grid;
	grid-template-columns: 1fr 7fr;
	gap: 20px;
}
section.box_highlight_section > div > div.box_grid > div.grid_box > div:last-child {
	text-align: left;
}
section.box_highlight_section > div > div.box_grid > div.grid_box i {
	display: flex;
	justify-content: center;
	align-content: center;
	flex-wrap: wrap;
	aspect-ratio: 1 / 1;
	border-radius: 100%;
	background-color: rgba(0, 0, 0, 0.05);
	font-size: 1.6em;
}
section.box_highlight_section.ng_alternate > div > div.box_grid > div.grid_box {
	background-color: white;
}
section.box_highlight_section > div > div.box_grid > div.grid_box_green {
	border: 3px solid rgba(205, 226, 220, 1);
	background-color: #edf3f1 !important;
}
section.box_highlight_section > div > div.box_grid > div.grid_box_green i {
	background-color: rgba(205, 226, 220, 0.5);
	color: var(--c-secondary);
}
section.box_highlight_section > div > div.box_grid > div.grid_box_yellow {
	border: 3px solid rgba(253, 224, 71, 1);
	background-color: #fefbe6 !important;
}
section.box_highlight_section > div > div.box_grid > div.grid_box_yellow i {
	background-color: rgba(253, 224, 71, 0.2);
	color: #ca8a04;
}
section.q_and_a_section h3 {
	margin-bottom: 5px;
	color: black;
}
section.q_and_a_section a:hover {
	text-decoration: underline !important;
	text-decoration-color: var(--c-secondary) !important;
	text-decoration-thickness: 4px !important;
	text-underline-offset: 4px;
}
section.accordion_section > div {
	text-align: center;
}
section.accordion_section > div > div.accordion {
	max-width: 900px;
	margin: 20px auto;
	border-radius: 20px;
	text-align: left;
	font-size: 0.8em;
	background-color: #f5f8f7;
	box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.04), inset -1px -1px 2px rgba(0, 0, 0, 0.03);
}
section.accordion_section.ng_alternate > div > div.accordion {
	background-color: white;
	box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.07), inset -1px -1px 2px rgba(0, 0, 0, 0.06);
}
section.accordion_section > div > div.accordion > div.accordion_main,
section.accordion_section > div > div.accordion > div.accordion_extra {
	position: relative;
	padding: 30px;
}
section.accordion_section > div > div.accordion.accordion_closed > div.accordion_extra {
	display: none;
}
section.accordion_section > div > div.accordion > div.accordion_main {
	border-radius: 20px 20px;
	padding-right: 60px;
	cursor: pointer;
	transition: 0.2s background-color;
}
section.accordion_section > div > div.accordion.accordion_open > div.accordion_main {
	border-radius: 20px 20px 0 0;
}
section.accordion_section > div > div.accordion > div.accordion_main:hover {
	background-color: #edf2f1;
}
section.accordion_section.ng_alternate > div > div.accordion > div.accordion_main:hover {
	background-color: #fcfcfc;
}
section.accordion_section > div > div.accordion > div.accordion_main > h3 {
	margin-bottom: 5px;
	font-weight: bold;
	font-size: 1.6em;
}
section.accordion_section > div > div.accordion > div.accordion_main > p {
	margin: 0;
}
section.accordion_section > div > div.accordion > div.accordion_main > i {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	transform-origin: center;
	transition: 0.2s;
}
section.accordion_section > div > div.accordion > div.accordion_extra {
	border-top: 2px solid rgba(0, 0, 0, 0.05);
	padding-top: 10px;
}
section.accordion_section > div > div.accordion > div.accordion_extra > hr {
	margin: 30px auto;
	border: 1px dashed rgba(0, 0, 0, 0.1);
}
section.accordion_section > div > div.accordion > div.accordion_extra > h4 {
	margin-top: 30px;
	font-size: 1.2em;
}
section.accordion_section > div > div.accordion > div.accordion_extra > h5 {
	margin: 0;
	margin-bottom: 10px;
	font-size: 1.5em;
	color: var(--c-primary);
}
section.accordion_section > div > div.accordion > div.accordion_extra > div.company_overview {
	background-color: #ebebeb;
	border-radius: 10px;
	padding: 15px;
	font-size: 0.9em;
}
section.accordion_section > div > div.accordion > div.accordion_extra > div.company_overview > h5 {
	margin: 0;
	font-size: 1.5em;
}
section.accordion_section > div > div.accordion > div.accordion_extra > div.company_overview > p {
	margin: 10px 0;
}
section.image_text_section > div {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
section.image_text_section > div > div {
	padding: 20px;
}
section.image_text_section > div > div > img {
	object-fit: cover;
	object-position: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
}
section.image_text_grid_section > div {
	max-width: 1200px;
	text-align: center;
}
section.image_text_grid_section > div.grid_layout_case_studies {
	max-width: 1536px;
}
section.image_text_grid_section > div > div.image_text_grid > a {
	font-weight: initial;
	text-decoration: none;
}
section.image_text_grid_section > div > div.image_text_grid > a div.grid_text {
	display: inline-block;
}
section.image_text_grid_section > div > div.image_text_grid > a div.grid_text> p {
	margin: 0;
}
section.image_text_grid_section > div > div.image_text_grid > a:hover div.image_text_grid_cell {
	box-shadow: 0 5px 40px 0 rgba(0, 0, 0, 0.25);
}
section.image_text_grid_section > div.grid_layout_unboxed > div.image_text_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 60px;
}
section.image_text_grid_section > div.grid_layout_unboxed > div.image_text_grid div.image_text_grid_cell {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 0 10px;
	transition: 0.2s;
}
section.image_text_grid_section > div.grid_layout_unboxed > div.image_text_grid div.image_text_grid_cell > div {
	padding: 10px;
}
section.image_text_grid_section > div.grid_layout_unboxed > div.image_text_grid div.image_text_grid_cell > div.grid_image > img {
	display: block;
	object-fit: cover;
	object-position: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
}
section.image_text_grid_section > div.grid_layout_unboxed > div.image_text_grid div.image_text_grid_cell > div.grid_text {
	text-align: left;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	margin-top: 20px;
	text-align: left;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid div.image_text_grid_cell {
	margin: 30px 20px;
	box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.15);
	border-radius: 10px;
	background-color: #f5f8f7;
	font-size: 0.9em;
	transition: 0.2s;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid div.image_text_grid_cell i {
	min-width: 18px;
	text-align: center;
	margin-right: 10px;
	margin-bottom: 15px;
	color: var(--c-secondary);
}
section.image_text_grid_section.ng_alternate > div.grid_layout_boxed > div.image_text_grid div.image_text_grid_cell {
	background-color: white;
}
section.image_text_grid_section.ng_blue > div.grid_layout_boxed > div.image_text_grid div.image_text_grid_cell {
	box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.6);
	background-color: white;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid div.image_text_grid_cell > div.grid_image > img {
	display: block;
	object-fit: cover;
	object-position: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	max-height: 256px;
	border-radius: 10px 10px 0 0;
}
section.image_text_grid_section > div.grid_layout_case_studies > div.image_text_grid div.image_text_grid_cell > div.grid_image > img {
	max-height: 192px !important;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid div.image_text_grid_cell > div.grid_text {
	margin: 24px;
	margin-bottom: 40px;
}
section.image_text_grid_section.ng_blue > div.grid_layout_boxed > div.image_text_grid div.image_text_grid_cell > div.grid_text h3 {
	color: black;
}
section.image_text_grid_section.ng_blue > div.grid_layout_boxed > div.image_text_grid div.image_text_grid_cell > div.grid_text p {
	color: #666666;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid_team div.image_text_grid_cell {
	box-shadow: none;
	border: 1px solid rgba(0, 0, 0, 0.05);
	border-radius: 15px;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid_team div.image_text_grid_cell > div.grid_image > img {
	max-height: 400px;
	border-radius: 15px 15px 0 0;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid_team div.image_text_grid_cell > div.grid_text {
	margin-bottom: 24px;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid_team div.image_text_grid_cell > div.grid_text > div {
	min-height: 250px;
}
section.image_text_grid_section > div.grid_layout_case_studies > div.image_text_grid_team div.image_text_grid_cell > div.grid_text > div {
	min-height: 300px;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid_team div.image_text_grid_cell h3 {
	margin-bottom: 5px;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid_team div.image_text_grid_cell h4 {
	margin: 0;
	color: var(--c-primary);
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid_team div.image_text_grid_cell p {
	font-size: 1.0em;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid_team div.image_text_grid_cell a > button {
	width: 100%;
	padding: 5px;
	background-color: transparent;
	color: black;
	border: 1px solid rgba(0, 0, 0, 0.1);
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid_team div.image_text_grid_cell a:hover > button {
	background-color: rgba(0, 0, 0, 0.05) !important;
	color: black;
}
section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid_team div.image_text_grid_cell a > button > i {
	margin: 0;
	margin-right: 5px;
}
section.client_brand_section > div {
	text-align: center;
}
section.client_brand_section > div > div {
	display: grid;
}
section.client_brand_section > div > div > div {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 10px;
	box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.07), inset -1px -1px 2px rgba(0, 0, 0, 0.06);
	padding: 20px;
	background-color: white;
}
section.client_brand_section.ng_blue > div > div > div {
	box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.4), inset -1px -1px 2px rgba(0, 0, 0, 0.3);
}
section.client_brand_section > div > div > div > img {
	object-position: center;
	width: 100%;
	height: 100%;
}
section.testimonials_section > div {
	text-align: center;
}
section.testimonials_section > div > div {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
section.testimonials_section > div > div > div {
	position: relative;
	margin: 50px 30px;
	padding-bottom: 40px;
}
section.testimonials_section > div > div > div > img {
	object-fit: cover;
	object-position: center;
	aspect-ratio: 1 / 1;
	width: 200px;
	border-radius: 100%;
	filter: contrast(110%) saturate(60%);
}
section.testimonials_section > div > div > div > div.testimonial_body > i {
	display: block;
	color: var(--c-secondary);
}
section.testimonials_section > div > div > div > div.testimonial_body > span.testimonial_content_wrapper > p {
	margin: 0;
	font-style: italic;
}
section.testimonials_section > div > div > div > div.testimonial_body > p.testimonial_date {
	padding-top: 5px;
	font-size: 0.9em;
	font-weight: bold;
}
section.testimonials_section > div > div > div > div.testimonial_footer {
	position: absolute;
	width: 100%;
	bottom: 0;
}
section.testimonials_section > div > div > div > div.testimonial_footer h4 {
	margin: 0;
	color: var(--c-primary);
	font-size: 0.9em;
}
section.testimonials_section > div > div > div > div.testimonial_footer h5 {
	margin: 0;
	font-size: 1.0em;
}
section.services_section > div {
	max-width: 1720px;
	text-align: center;
}
section.services_section > div > h2 {
	font-size: 3.5em;
}
section.services_section > div > div.image_text_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 20px;
}
section.services_section > div > div.image_text_grid a {
	color: initial !important;
}
section.services_section > div > div.image_text_grid a:hover {
	text-decoration: none !important;
}
section.services_section > div > div.image_text_grid div.service_cell {
	display: grid;
	grid-template-columns: 3fr 4fr;
	margin: 30px;
	border-right: 10px solid transparent;
	border-radius: 5px;
	background-color: white;
	transition: 0.2s;
}
section.services_section.ng_standard > div > div.image_text_grid div.service_cell {
	background-color: #f8f9fa;
}
section.services_section > div > div.image_text_grid div.service_cell > div.grid_image > img {
	display: block;
	object-fit: cover;
	object-position: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 5px 0 0 5px;
}
section.services_section > div > div.image_text_grid div.service_cell > div.grid_text {
	position: relative;
	padding: 20px;
	text-align: left;
}
section.services_section > div > div.image_text_grid div.service_cell > div.grid_text > h3 {
	font-size: 1.8em;
}
section.services_section > div > div.image_text_grid div.service_cell > div.grid_text > p {
	font-size: 1.1em;
	font-weight: normal;
}
section.services_section > div > div.image_text_grid  div.service_cell > div.grid_text > p.service_footer {
	margin: 10px;
	text-align: right;
	font-size: 1.0em;
	font-weight: bold;
	color: black;
}
section.service_section > div {
	text-align: center;
}
section.service_section > div > div.service_table {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 20px;
	margin: 40px 0;
}
section.service_section > div > p,
section.service_section > div > div.closing_text {
	max-width: 900px;
	margin: auto;
}
section.service_section > div > div.service_table > div {
	position: relative;
	border: 1px solid rgba(0, 0, 0, 0.05);
	border-radius: 20px;
	padding: 20px;
	background-color: #f8f9fa;
}
section.service_section.ng_alternate > div > div.service_table > div {
	background-color: white;
}
section.service_section > div > div.service_table > div > p,
section.service_section > div > div.service_table > div > h4 {
	margin: 0;
}
section.service_section > div > div.service_table > div > h3 {
	margin-top: 15px;
	margin-bottom: 5px;
}
section.service_section > div > div.service_table > div > h4 {
	font-size: 2.0em;
	color: var(--c-primary);
}
section.service_section > div > div.service_table > div > ul {
	text-align: left;
	line-height: 2.0em;
	font-size: 1.0em;
}
section.service_section > div > div.service_table > div > a > button {
	width: 100%;
	padding: 10px;
	background-color: transparent;
	color: black;
	border: 1px solid rgba(0, 0, 0, 0.1);
}
section.service_section > div > div.service_table > div > a:hover > button {
	background-color: rgba(0, 0, 0, 0.05) !important;
	color: black;
}
section.service_section > div > div.service_table > div.highlight {
	border: 2px solid var(--c-primary);
}
section.service_section > div > div.service_table > div.highlight > a > button {
	background-color: var(--c-primary);
	color: white;
	border: none;
}
section.service_section > div > div.service_table > div.highlight > a:hover > button {
	background-color: var(--c-secondary) !important;
}
section.service_section > div > div.service_table > div.highlight > div.highlight_text {
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 20px;
	padding: 2px 20px;
	background-color: var(--c-primary);
	color: white;
	font-size: 0.9em;
	font-weight: bold;
}
section.service_section > div > div.closing_text {
	display: grid;
	grid-template-columns: 1fr 17fr;
	gap: 20px;
	border-radius: 10px;
	padding: 30px;
	background-color: #ebebeb;
}
section.service_section > div > div.closing_text > div:first-child > i {
	display: flex;
	justify-content: center;
	align-content: center;
	flex-wrap: wrap;
	aspect-ratio: 1 / 1;
	border-radius: 100%;
	background-color: rgba(0, 0, 0, 0.05);
	color: var(--c-primary);
	font-size: 1.6em;
}
section.service_section > div > div.closing_text > div:last-child {
	text-align: left;
	font-size: 0.9em;
}
section.service_section > div > div.closing_text > div:last-child > h3 {
	margin: 0;
	margin-bottom: 10px;
}
section.service_section > div > div.closing_text > div:last-child > ul {
	margin: 0;
	padding-left: 20px;	
}
section.child_page_list > div > div.case_studies {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 40px;
}
section.child_page_list > div > div.case_studies > a {
	text-decoration: none !important;
	display: grid;
	grid-template-rows: auto 1fr 1fr 1fr;
	gap: 20px;
	box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.07), inset -1px -1px 2px rgba(0, 0, 0, 0.06);
	border-radius: 10px;
	padding: 30px;
	background-color: white;
	transition: 0.2s;
}
section.child_page_list > div > div.case_studies > a:hover {
	box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.12), inset -2px -2px 5px rgba(0, 0, 0, 0.10);
}
section.child_page_list > div > div.case_studies > a > div.case_study_image {
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 3 / 1;
}
section.child_page_list > div > div.case_studies > a > div.case_study_image > img {
	max-width: 100%;
	max-height: 100%;
}
section.child_page_list > div > div.case_studies > a > div.case_study_stat {
	text-align: center;
}
section.child_page_list > div > div.case_studies > a > div.case_study_stat > div:first-child {
	font-size: 2.0em;
	color: var(--c-primary);
}
section.child_page_list > div > div.case_studies > a > div.case_study_stat > div:last-child {
	color: black;
}
section.child_page_list > div > div.tools > a {
	display: block;
	margin: 20px 0;
	text-decoration: none !important;;
}
section.child_page_list > div > div.tools > a > div {
	display: grid;
	grid-template-columns: 2fr 7fr;
	border-right: 15px solid transparent;
	background-color: #f8f9fa;
	transition: 0.2s;
}
section.child_page_list > div > div.tools > a > div > div:first-child > img {
	display: block;
	object-fit: cover;
	object-position: center;
	width: 100%;
	aspect-ratio: 1 / 1;
}
section.child_page_list > div > div.tools > a > div > div:last-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 30px;
}
section.child_page_list > div > div.tools > a > div > div:last-child > h2 {
	margin: 0;
	color: black;
}
section.child_page_list > div > div.tools > a > div > div:last-child > p {
	font-weight: normal;
}
section.child_page_list > div > div.tools > a:hover > div {
	border-color: var(--c-secondary);
}
section.contact_section > div > div {
	display: grid;
	grid-template-columns: 4fr 6fr;
	gap: 60px;
}
section.contact_section > div > div > div.contact_details > div,
section.contact_section > div > div > div.contact_form
{
	margin: 40px 0;
	box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.04), inset -1px -1px 2px rgba(0, 0, 0, 0.03);
	border-radius: 20px;
	padding: 20px;
	background-color: #f8f9fa;
}
section.contact_section > div > div > div.contact_details > div.main_contact_details {
	line-height: 2.5em;
}
section.contact_section > div > div > div.contact_details > div.main_contact_details > a > i {
	width: 25px;
	color: black;
}
section.contact_section > div > div > div.contact_details > div.socials > div {
	display: grid;
	gap: 15px;
}
section.contact_section > div > div > div.contact_details > div.socials > div > div > a {
	color: white !important;
}
section.contact_section > div > div > div.contact_details > div.socials > div > div > a:hover {
	text-decoration: none;
	color: var(--c-secondary) !important;
}
section.contact_section > div > div > div.contact_details > div.socials > div > div > a > i {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 100%;
	background-color: var(--c-primary);
}
section.contact_section > div > div > div.contact_details > div.addresses > p {
	margin: 0;
}
@media (max-width: 1600px) {
	section.services_section > div > div.image_text_grid {
		grid-template-columns: auto;
	}
}
@media (min-width: 769px) and (max-width: 1600px) {
	section.services_section > div > div.image_text_grid div.service_cell {
		max-width: 780px;
		margin-left: auto;
		margin-right: auto;
	}
}
@media (max-width: 768px) {
	section.hero {
		min-height: 300px;
	}
	section.hero h1, body.home section.hero h1 {
		font-size: 2.5em;
		line-height: 1.5em;
	}
	section.hero > div > img.hero_title_image {
		max-width: 300px;
	}
	section.content_section h2 {
		font-size: 2.0em;
	}
	section.full_content_section > div > div.image_with_text {
		flex-direction: column;
		gap: 20px;
	}
	section.full_content_section > div > div.image_with_text > img {
		max-width: 100%;
	}
	section.flexi_grid_section > div > div.flexi_grid,
	section.image_text_section > div,
	section.image_text_grid_section > div.grid_layout_unboxed > div.image_text_grid,
	section.image_text_grid_section > div.grid_layout_boxed > div.image_text_grid,
	section.stats_section > div > div.stats_values,
	section.stats_section > div > div.stats_text,
	section.box_grid_section > div > div > div.box_grid,
	section.box_highlight_section > div > div.box_grid,
	section.services_section > div > div.image_text_grid,
	section.services_section > div > div.image_text_grid div.service_cell,
	section.client_brand_section > div > div,
	section.testimonials_section > div > div,
	section.service_section > div > div.service_table,
	section.child_page_list > div > div.case_studies,
	section.contact_section > div > div {
		grid-template-columns: auto !important;
	}
	section.big_list_section > div > div.big_list {
		padding: 10px 20px;
	}
	section.big_list_section > div > div.big_list > div {
		gap: 20px;
	}
	section.big_list_section > div > div.big_list > div > div.list_item_marker {
		width: 50px;
		font-size: 2.0em;
	}
	section.stats_section > div > div.stats_text {
		gap: 0;
		text-align: center;
	}
	section.image_text_section > div > div {
		padding-bottom: 10px;
	}
	section.image_text_section > div > div,
	section.image_text_grid_section > div.grid_layout_unboxed > div.image_text_grid > div {
		padding: 0;
		padding-bottom: 10px;
	}
	section.image_text_grid_section > div.grid_layout_unboxed > div.image_text_grid > div > div {
		padding: 0 10px;
	}
	section.services_section > div > div.image_text_grid div.service_cell {
		border: 0 !important;
	}
	section.services_section > div > div.image_text_grid div.service_cell,
	section.services_section > div > div.image_text_grid div.service_cell > div.grid_image > img {
		border-radius: 0;
	}
	section.services_section > div > div.image_text_grid div.service_cell {
		margin: 10px;
	}
	section.child_page_list > div > div.tools > a > div {
		grid-template-columns: auto;
		border: 0;
	}
	body.home section a {
		text-decoration: none !important;
	}
	body.home section.hero p {
		font-size: 1.2em;
	}
	body.home section.hero button {
		display: block;
		width: 100%;
		margin-right: 0;
	}
}