/*
Theme Name: G2 Group
Theme URI: https://www.steerpoint.com/
Author: SteerPoint
Author URI: https://www.steerpoint.com/
Description: Custom Theme for the G2 Group Website
Version: 1.0
Text Domain: g2group
*/

/* Custom Properties */
:root {
	--spm-color-peach: #f4b183;
	--spm-color-blue: #5e85c2;
	--spm-color-blue-2: #3b5ea8;
	--spm-color-blue-3: #293981;
	--spm-color-teal: #70abaf;
	--spm-color-light-grey: #f2f2f2;
	--spm-color-grey: #818181;
	--spm-color-dark-grey: #272727;
	
	--spm-font-family-body: 'Nunito Sans', Arial, Helvetica, sans-serif;
	
	--spm-header-height: 140px;
	--spm-mobile-footer-height: 40px;
}

/* Overall Formatting */
body {overflow-x: hidden;min-width: 320px;margin: 0;padding: var(--spm-header-height) 0 0;color: var(--spm-color-dark-grey);font: 16px/1.8 var(--spm-font-family-body);background-color: #fff;-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;}

h1 {font-size: 1.5em;} h2 {font-size: 1.5em;} h3 {font-size: 1.3em;} h4 {font-size: 1em;} h5 {font-size: 1em;} h6 {font-size: 0.67em;}
h1, h2, h3, h4, h5, h6 {margin: 0 0 0.7em;}
p {margin: 0 0 1em;}
hr {margin: 0 0 1.5em;height: 2px;background-color: #ccc;border: none;}
a, a:visited {color: var(--spm-color-blue);text-decoration: none;transition: color 0.2s;}
a:hover {text-decoration: underline;}
a img {border: none;}
img {max-width: 100%;height: auto;}
ul, ol {margin: 0 0 1em;padding: 0 0 0 1em;}
ul ul {margin: 0.3em 0;}
li {margin: 0 0 0.2em;}
table {margin: 0 0 1em;}
tr {text-align: left;}
th, td {vertical-align: top;}
th {vertical-align: middle;}
input[type="date"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"],
textarea,
select {width: 100%;padding: 0.7em 1.4em;color: #333;font: 18px var(--spm-font-family-body);background-color: #fff;border: 1px solid #ccc;box-sizing: border-box;appearance: none;-webkit-appearance: none;}
select {margin: 0 5px 5px 0;vertical-align: middle;appearance: menulist;-webkit-appearance: menulist;}
input[type="submit"] {cursor: pointer;padding: 0.6em 1.6em;color: #fff;font: bold 18px/1em var(--spm-font-family-body);border: none;background-color: var(--spm-color-blue-2);border-radius: 18px;appearance: none;-webkit-appearance: none;transition: color 0.2s, background-color 0.2s, border-color 0.2s;}
input[type="submit"]:hover {color: #fff;font-weight: bold;letter-spacing: -0.0175em;background-color: #000;}
textarea {overflow: auto;}

/* Common Styles */
.clearfix:after {display: block;clear: both;content: '';}

.columns {display: flex;flex-wrap: wrap;margin-right: calc(-1 * var(--spm-column-gap));--spm-column-gap: 20px;--spm-row-gap: 20px;}
.columns.rtl {flex-direction: row-reverse;}
.columns.columns-2 {--spm-column-count: 2;}
.columns.columns-3 {--spm-column-count: 3;}
.columns.columns-4 {--spm-column-count: 4;}
.columns.columns-5 {--spm-column-count: 5;}
.columns.columns-6 {--spm-column-count: 6;}
.columns.columns-7 {--spm-column-count: 7;}
.columns.columns-8 {--spm-column-count: 8;}
.columns.columns-9 {--spm-column-count: 9;}
.columns > .column {width: calc(100% / var(--spm-column-count) - var(--spm-column-gap));margin: 0 var(--spm-column-gap) var(--spm-row-gap) 0;}
.columns > .column.column-double {width: calc(200% / var(--spm-column-count) - var(--spm-column-gap));}

.full_coverage_link {position: absolute;overflow: hidden;left: 0;right: 0;top: 0;bottom: 0;text-decoration: none;text-indent: -999em;}
.full_coverage_link:hover {text-decoration: none;}

.video_container {position: relative;padding-top: 56.25%;margin: 0 0 10px;}
.video_container > * {position: absolute;display: block;left: 0;top: 0;width: 100%;height: 100%;max-width: none;}

/* - buttons (.button was already taken by WooCommerce) - */
.spm_button,
.spm_button:visited {position: relative;display: inline-block;padding: 0.6em 1.6em;color: #fff;text-align: center;text-decoration: none;font: 18px/1em var(--spm-font-family-body);background-color: var(--spm-color-grey);border-radius: 18px;transition: color 0.2s, background-color 0.2s;}
.spm_button:hover {color: #fff;text-decoration: none;font-weight: bold;letter-spacing: -0.0175em;background-color:var(--spm-color-blue) !important;}
.spm_button.teal {background-color: var(--spm-color-teal) !important;}
.spm_button.orange {background-color: var(--spm-color-peach) !important;}

/* General Purpose Content Wrapper */
.wrap {max-width: 1090px;margin: 0 auto;padding: 0 20px;}

/* Cookie Notice */
#cookie_notice {position: fixed;z-index: 999;left: 0;right: 0;bottom: 0;color: #ddd;font-size: 15px;line-height: 1.4;background-color: #333;box-shadow: 0 0 10px rgba(0,0,0,0.3);transition: transform 0.3s, left step-end, right step-end;}
#cookie_notice.hidden {display: block;transform: translateY(105%);left: -999em;right: 999em;transition: transform 0.3s, left 0.3s step-end, right 0.3s step-end;}

#cookie_notice .wrap {display: flex;align-items: flex-start;gap: 10px 20px;padding: 20px 20px 15px;}

#cookie_notice p {margin: 0 0 0.5em;}

#cookie_notice a {color: #fff;text-decoration: underline;}

#cookie_notice .spm_button {padding: 0.6em 1.9em;text-decoration: none;}

/* Responsive Menu */
#responsive_menu {position: fixed;z-index: 1000;overflow: auto;left: -999em;top: 0;bottom: 0;width: 100%;color: #fff;font-weight: 600;font-size: 18px;line-height: 1.2em;transition: left 0.3s step-end;}
.admin-bar #responsive_menu {top: var(--wp-admin--admin-bar--height);}
.menu_revealed #responsive_menu {left: 0;transition: none;}

#responsive_menu .overlay {opacity: 0;position: absolute;left: 0;right: 0;top: 0;bottom: 0;background-color: rgba(0,0,0,0.5);transition: opacity 0.3s linear;}
.menu_revealed #responsive_menu .overlay {opacity: 1;}

#responsive_menu .menu_container {position: absolute;overflow-y: scroll;left: 0;top: 0;bottom: 0;width: 250px;height: 100%;padding: 0 20px 80px;background-color: #101a2e;box-sizing: border-box;-webkit-overflow-scrolling: touch;transform: translateX(-100%);transition: transform 0.3s;}
.menu_revealed #responsive_menu .menu_container {transform: translateX(0);}

#responsive_menu .menu a {display: block;color: inherit;text-decoration: none;}
#responsive_menu .menu a:hover {background-color: rgba(255,255,255,0.07);}

#responsive_menu .menu {margin: 0 -20px;padding: 0;list-style: none;}

#responsive_menu .menu > li {margin: 0;}
#responsive_menu .menu > li > a {padding: 10px 20px;text-decoration: none;}
#responsive_menu .menu > li.current-menu-item > a,
#responsive_menu .menu > li.current_page_item > a {color: var(--spm-color-blue);}

#responsive_menu .sub-menu {margin: 0 0 10px;padding: 0;list-style: none;font-size: 14px;line-height: 1.2em;}
#responsive_menu .sub-menu > li {margin: 0;padding: 0;border-bottom: none;}
#responsive_menu .sub-menu > li.current-menu-item > a,
#responsive_menu .sub-menu > li.current-menu-parent > a,
#responsive_menu .sub-menu > li.current_page_item > a {color: var(--spm-color-blue);}
#responsive_menu .sub-menu > li > a {padding: 3px 20px 3px 25px;color: #bbb;}
#responsive_menu .sub-menu > li.menu-item-has-children > a {color: inherit;}
#responsive_menu .sub-menu .sub-menu {margin: 0 0 10px;text-transform: none;}
#responsive_menu .sub-menu .sub-menu > li > a {padding: 3px 20px 3px 35px;}
#responsive_menu .sub-menu .sub-menu .sub-menu li > a {padding: 2px 20px 2px 50px;}

/* Header */
#header {position: fixed;z-index: 998;left: 0;right: 0;top: 0;color: #fff;font-size: 18px;background: var(--spm-color-blue-2) linear-gradient(var(--spm-color-blue-2), var(--spm-color-blue-3));}
.admin-bar #header {top: var(--wp-admin--admin-bar--height);}

#header .wrap {position: relative;height: var(--spm-header-height);transition: height 0.5s;}

#header a {color: inherit;text-decoration: none;}

#header .spm_button {padding: 0.7em 1.6em;font-size: 16px;background-color: var(--spm-color-teal);}
#header .spm_button:hover {background-color: var(--spm-color-peach) !important;}

#header #responsive_menu_button {position: absolute;display: none;left: 10px;top: 10px;padding-left: 32px;text-transform: uppercase;text-decoration: none;font-size: 18px;}
#header #responsive_menu_button i {position: absolute;left: 0;top: 0.12em;font-size: 28px;}

#header .logo {position: absolute;z-index: 998;left: 20px;top: 20px;width: 215px;height: 101px;background: url(images/header-logo.webp) 0 / 100%;image-rendering: -webkit-optimize-contrast;}
#header .logo a {position: relative;display: block;overflow: hidden;height: 100%;text-indent: -999em;}

/* - nav - */
#header .nav {position: absolute;left: 20px;right: 20px;top: 0;bottom: 0;display: flex;justify-content: flex-end;align-items: center;gap: 30px;padding-left: 240px;}

#header .nav .menu {display: flex;justify-content: space-between;width: 100%;max-width: 600px;height: var(--spm-header-height);/* align-self: flex-start; */margin: 0;padding: 0;list-style: none;font-weight: 500;line-height: var(--spm-header-height);transition: height 0.3s, line-height 0.3s;}
#header .nav .menu > li {position: relative;margin: 0;}
#header .nav .menu > li > a {position: relative;z-index: 998;display: block;height: 100%;transition: color 0.2s;}
#header .nav .menu > li:hover > a {font-weight: bold;letter-spacing: -0.01em;}
#header .nav .menu > li > a:after {position: absolute;left: 0;right: 0;top: calc(50% + 1.2em);height: 2px;width: 65px;max-width: 100%;margin: 0 auto;content: '';transition: background-color 0.2s;}
#header .nav .menu > li:hover > a:after {background-color: #fff;}

#header .nav .sub-menu {position: absolute;z-index: 999;opacity: 0;width: 215px;left: -999em;margin: 0;padding: 15px 0;list-style: none;text-align: left;text-transform: none;font-weight: normal;font-size: 15px;line-height: 1.1em;background-color: var(--spm-color-blue);box-sizing: border-box;transform: translateY(10px);transition: transform 0.2s linear, opacity 0.2s linear, left 0.2s step-end, right 0.2s step-end;}
#header .nav .menu > li:hover > .sub-menu {opacity: 1;left: -10px;transform: translateY(0);transition: transform 0.2s linear, opacity 0.2s linear, right step-end;}
#header .nav .menu > li:last-child:hover > .sub-menu {left: auto;right: -10px;}
#header .nav .sub-menu > li {left: auto;margin: 0;padding: 0;background: none;}
#header .nav .sub-menu > li > a {display: block;padding: 6px 20px 7px;text-decoration: none;transition: color 0.05s;}

/* - wide menu - */
#header .nav .menu > li.wide {position: static;}

#header .nav .menu > li.wide .sub-menu {display: flex;gap: 15px;width: 100%;padding: 0 20px 20px;font-weight: 800;font-size: 28px;background-color: var(--spm-color-blue);border-radius: 0 0 36px 36px;}
#header .nav .menu > li.wide:hover .sub-menu {left: 0;right: 0;}
#header .nav .menu > li.wide .sub-menu > li {width: 33.333%;min-height: 160px;padding: 30px 30px 20px;color: var(--spm-color-blue);background-color: #fff;border-radius: 0 0 22px 22px;;box-sizing: border-box;}
#header .nav .menu > li.wide .sub-menu > li:nth-child(3n+2) {color: var(--spm-color-teal);}
#header .nav .menu > li.wide .sub-menu > li:nth-child(3n+3) {color: var(--spm-color-peach);}
#header .nav .menu > li.wide .sub-menu > li > a {padding: 0;}
#header .nav .menu > li.wide .sub-menu > li > a:hover {text-decoration: underline;}

#header .nav .menu > li.wide .sub-menu .sub-menu {position: static;display: block;opacity: 1;width: auto;margin: 20px 0 0;padding: 0;font-weight: 600;font-size: 16px;background: transparent;box-shadow: none;border-radius: 0;transform: none;}
#header .nav .menu > li.wide .sub-menu .sub-menu > li {position: relative;float: none;width: auto;min-height: auto;margin: 0 0 1.5em;padding: 0 0 0 25px;color: var(--spm-color-dark-grey);background-color: transparent;}
#header .nav .menu > li.wide .sub-menu > li.dense .sub-menu > li {margin-bottom: 0.7em;}
#header .nav .menu > li.wide .sub-menu .sub-menu > li:before {position: absolute;left: 0;top: 0.35em;content: '\e901';font: 10px/1 icomoon, sans-serif;}
#header .nav .menu > li.wide .sub-menu .sub-menu > li:hover:before {content: '\e900';}
#header .nav .menu > li.wide .sub-menu .sub-menu > li:hover > a {text-decoration: none;font-weight: bold;letter-spacing: -0.01em;}

/* #header #search_form {display: flex;background-color: #fff;border: 1px solid #ccc;}
#header #search_form input[type="search"] {width: 100px;height: 32px;padding: 0 0.4em;font-size: 12px;background-color: transparent;border: none;outline: none;}
#header #search_form input[type="search"]::placeholder {font-style: italic;}
#header #search_form input[type="submit"] {width: 30px;padding: 0;background: url(images/header-search_form-submit.svg) no-repeat center / 18px auto;border: none;} */

/* Banner (Home) */
#banner {position: relative;overflow: hidden;position: relative;color: #fff;text-align: center;font-weight: 600;font-size: 22px;line-height: 1.5;background-color: var(--spm-color-dark-grey);}
#banner:after {position: absolute;left: 0;right: 0;bottom: 0;height: 13px;content: '';background: url(images/banner-after.webp) no-repeat center / max(1366px,100%) 100%;}

#banner .video_container {position: absolute;left: 0;right: 0;top: 0;bottom: 0;margin: 0;padding-top: 0;}
#banner .video_container video {object-fit: cover;object-position: 50% 25%;}

#banner .background {position: absolute;left: 0;top: 0;width: 100%;height: 100%;object-fit: cover;object-position: top;}

#banner .overlay {position: absolute;left: 0;right: 0;top: 0;bottom: 0;background-color: rgba(0,0,0,0.6);}

#banner .wrap {position: relative;max-width: 540px;padding: 80px 20px 65px;}

#banner .title {font-weight: bold;font-size: 28px;line-height: 1.35em;}

#banner .button_row {display: flex;justify-content: center;flex-wrap: wrap;gap: 15px;}

#banner .spm_button {color: var(--spm-color-dark-grey);background-color: #fff;box-shadow: 1px 1px 2px var(--spm-color-dark-grey);}
#banner .spm_button:hover {color: #fff;background-color: var(--spm-color-blue) !important;}
#banner .spm_button.alternate {color: #fff !important;background-color: var(--spm-color-blue) !important;}
#banner .spm_button.alternate:hover {background-color: var(--spm-color-blue-2) !important;}

/* Banner (Inside Pages) */
#banner_inside_page {overflow: hidden;line-height: 1.6;}
#banner_inside_page .wrap {position: relative;display: flex;flex-direction: column;justify-content: center;margin: 0 auto;padding: 90px 20px 40px;}

#banner_inside_page .columns {--spm-column-gap: 50px;--spm-row-gap: 0px;}
#banner_inside_page .columns.right {flex-direction: row-reverse;}
#banner_inside_page .columns.columns-2 > .column-image .image {display: block;width: 100%;margin: 0 0 1em;min-height: 260px;object-fit: cover;border-radius: 70px;}

#banner_inside_page .page_title {margin: 0 0 0.5em;font-weight: 800;font-size: 36px;line-height: 1.1em;}

#banner_inside_page .secondary_title {font-weight: 600;font-size: 22px;line-height: 1.35em;}

/* #banner_inside_page .content {max-width: 640px;margin: 0 auto 30px;} */

#banner_inside_page .button_row {display: flex;flex-wrap: wrap;gap: 10px;}

#banner_inside_page .spm_button {background-color: var(--spm-color-blue-2);}
#banner_inside_page .spm_button:hover {background-color: var(--spm-color-blue-3) !important;}
#banner_inside_page .spm_button.alternate {background-color: var(--spm-color-grey) !important;}
#banner_inside_page .spm_button.alternate:hover {background-color: var(--spm-color-blue) !important;}

#banner_inside_page.larger_text {font-weight: 600;font-size: 20px;}
#banner_inside_page.larger_text .page_title {color: var(--spm-color-teal);font-size: 48px;line-height: 1em;}

#banner_inside_page.multiple_images {text-align: center;}

#banner_inside_page.multiple_images .page_title {color: var(--spm-color-blue-3);}

#banner_inside_page.multiple_images .secondary_title {font-size: 18px;}

#banner_inside_page.multiple_images .images {display: flex;justify-content: center;gap: 10px;margin: 20px 0 40px;}
#banner_inside_page.multiple_images .images img {width: 33.333%;border-radius: 70px;object-fit: cover;}

#banner_inside_page.multiple_images .button_row {justify-content: center;}

/* Main Page Container */
#main .wrap {position: relative;padding: 60px 20px 40px;}

/* Content */
#content {float: left;width: 73%;margin: 0 0 40px;}
#content.full_width {float: none;width: auto;}

#content .page_title {font-weight: 800;font-size: 32px;line-height: 1.1em;}

#content .post {margin: 0 0 60px;}

#content .postmetadata {color: #888;font-size: 14px;}
#content .postmetadata a {color: inherit;}

#content .title {margin: 0 0 0.5em;font-weight: 800;font-weight: bold;font-size: 26px;line-height: 1.1em;}
#content .title a {color: inherit;}

/* - blog index - */
#content .columns-blog_posts {--spm-column-gap: 60px;line-height: 1.4;}

#content .columns-blog_posts > .column .image_container {position: relative;margin: 0 0 30px;padding-top: 56.25%;}
#content .columns-blog_posts > .column .image_container .wp-post-image {position: absolute;lefT: 0;top: 0;width: 100%;height: 100%;object-fit: cover;}

/* - clients - */
.post-type-archive-spm_client #content,
.tax-spm_client_category #content {float: right;}

.post-type-archive-spm_client #sidebar,
.tax-spm_client_category #sidebar {float: left;}

#content .spm_client {margin: 0 0 30px;padding: 20px 20px 10px;font-size: 14px;line-height: 1.6;background-color: var(--spm-color-light-grey);border-radius: 12px;}

#content .spm_client .spm_button {font-size: 14px;line-height: 1;}

#content .spm_client .header {font-size: 15px;line-height: 1.3;}
#content .spm_client .header a {color: inherit;}
#content .spm_client .header span {color: var(--spm-color-blue);font-weight: 600;}
#content .spm_client .header p {margin: 0 0 0.3em;}

#content .spm_client .header .image_container {float: left;width: 200px;margin: 0 20px 15px 0;position: relative;background-color: #fff;}
#content .spm_client .header .image_container > .layer_2 {padding-top: 100%;}
#content .spm_client .header .image_container img {position: absolute;left: 0;top: 0;width: 100%;height: 100%;object-fit: contain;border: 15px solid transparent;box-sizing: border-box;}

#content .spm_client .header .columns.client_columns {justify-content: space-between;--spm-row-gap: 10px;}
#content .spm_client .header .columns.client_columns > .column.column-primary {width: calc(60% - var(--spm-column-gap));font-size: 15px;line-height: 1.3;}
#content .spm_client .header .columns.client_columns > .column.column-primary p {margin: 0 0 0.3em;}

#content .spm_client .header .columns.client_columns {display: flex;margin-right: calc(-1 * var(--spm-column-gap));}
#content .spm_client .header .columns.client_columns > .column {margin: 0 var(--spm-column-gap) var(--spm-row-gap) 0;}
#content .spm_client .header .columns.client_columns > .column.column-contact_information {display: flex;flex-direction: column;align-content: center;flex-wrap: wrap;width: calc(40% - var(--spm-column-gap));font-size: 14px;line-height: 1.3;text-wrap: nowrap;}
#content .spm_client .header .columns.client_columns > .column.column-contact_information p {margin: 0 0 0.5em;}
#content .spm_client .header .columns.client_columns > .column.column-contact_information i {margin-right: 0.3em;vertical-align: middle;font-size: 1.2em;}

#content .spm_client .header .button_row {margin-top: 20px !important;}
#content .spm_client .header .spm_button {color: #fff;background-color: var(--spm-color-blue);}
#content .spm_client .header .spm_button:hover {background-color: var(--spm-color-blue-2) !important;}

.post-type-archive-spm_client #content .spm_client .description {float: right;width: calc(100% - 220px);}

/* Owner introduction styling */
.modal .owner-intro {display: flex; gap: 20px; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #eee;}
.modal .owner-photo {flex: 0 0 80px;}
.modal .owner-photo .owner-image {width: 80px; height: 80px; border-radius: 50%; object-fit: cover; border: 2px solid var(--spm-color-blue-2);}
.modal .owner-info {flex: 1; min-width: 0;}
.modal .owner-info h3 {margin-top: 0; margin-bottom: 10px; color: var(--spm-color-blue-3);}
.modal .owner-contact {display: flex; flex-direction: column; font-size: 14px; line-height: 1.4; margin-bottom: 10px;}
.modal .owner-contact i {color: var(--spm-color-blue); margin-right: 5px;}
.modal .intro-message {font-style: italic; margin: 0; color: var(--spm-color-dark-grey); font-weight: 600;}

/* Sidebar */
#sidebar {float: right;width: 24%;}

#sidebar .widget {margin: 0 0 40px;}

#sidebar .widgettitle,
#sidebar .wp-block-heading {margin: 0 0 1.3em;color: var(--spm-color-blue-2);font-size: 18px;line-height: 1.1em;}

/* - taxonomy term widget - */
#sidebar .widget.widget_taxonomy_term_widget {margin: 0 0 30px;padding: 20px 20px 5px;background-color: var(--spm-color-light-grey);font-size: 14px;border-radius: 12px;}

#sidebar .widget.widget_taxonomy_term_widget .widgettitle {margin: 0 0 0.5em;color: inherit;}

#sidebar .widget.widget_taxonomy_term_widget ul {padding: 0;list-style: none;}
#sidebar .widget.widget_taxonomy_term_widget ul li.current-cat a {color: var(--spm-color-dark-grey);font-weight: 600;}

/* Layout Blocks */
.layout_block {position: relative;overflow: hidden;}

.layout_block.centered {text-align: center;}

.layout_block.more_padding {padding: 60px 0 90px !important;}
.layout_block.more_padding_top {padding-top: 60px !important;}
.layout_block.more_padding_bottom {padding-bottom: 90px !important;}

.layout_block.larger_text {font-weight: 600;font-size: 22px;line-height: 1.6;}

.layout_block.hexagons {padding-top: 130px;}
.layout_block.hexagons:before {position: absolute;left: 20px;right: 20px;top: 95px;max-width: 205px;height: 96px;margin: 0 auto;content: '';background: url(images/layout_block-hexagons.webp) no-repeat center top / 100% auto;}
.layout_block.less_padding.hexagons:before,
.layout_block.less_padding_top.hexagons:before {top: 35px;}

.layout_block .wrap {position: relative;padding: 80px 20px 65px;}

.layout_block.has_top_divider .wrap:before,
.layout_block.has_bottom_divider .wrap:after {position: absolute;left: 20px;right: 20px;max-width: 536px;height: 10px;margin: 0 auto;content: '';background: url(images/layout_block-has_bottom_divider-wrap-after.webp) no-repeat center bottom / 100% auto;}
.layout_block.has_top_divider .wrap:before {top: 0;}
.layout_block.has_bottom_divider .wrap:after {bottom: 0;}

.layout_block.curved_edge_top:before,
.layout_block.curved_edge_bottom:after {position: absolute;left: 0;right: 0;top: 0;height: 13px;content: '';background-repeat: no-repeat;background-position: center;background-size: max(1366px,100%) 100%;}
.layout_block.curved_edge_top:before {background-image: url(images/layout_block-curved_edge_top-before.webp);}
.layout_block.curved_edge_bottom:after {z-index: 1;top: auto;bottom: 0;background-image: url(images/layout_block-curved_edge_bottom-after.webp);}

.layout_block.less_padding .wrap {padding-top: 20px !important;padding-bottom: 25px !important;}
.layout_block.less_padding_top .wrap {padding-top: 20px !important;}
.layout_block.less_padding_bottom .wrap {padding-bottom: 25px !important;}

.layout_block .section_title {margin: 0 0 0.5em;font-weight: bold;font-size: 28px;line-height: 1.1em;}

.layout_block .secondary_title {margin: 0 0 0.5em;font-weight: bold;font-size: 20px;line-height: 1.1em;}

.layout_block h3 {color: var(--spm-color-blue-2);font-weight: 600;font-size: 22px;line-height: 1.35em;}

.layout_block.intro {text-align: center;line-height: 1.5;}
.layout_block.intro .wrap {max-width: 860px;padding: 40px 20px 25px;}
.layout_block.hexagons.intro .wrap {padding-top: 80px;}
.layout_block.intro .section_title {margin: 0 0 0.8em;font-weight: 800;font-size: 36px;}
.layout_block.intro .content {max-width: 600px;margin: 0 auto;}

.layout_block.blue_background {color: #fff;background: var(--spm-color-blue-3) linear-gradient(var(--spm-color-blue),var(--spm-color-blue-3));}

.layout_block .map_marker_legend {display: flex;flex-direction: column;flex-wrap: wrap;margin: 2em 0 1em;padding: 0;list-style: none;text-align: left;}
.layout_block .map_marker_legend li {position: relative;margin: 0 0 1em;padding-left: 30px;}
.layout_block .map_marker_legend li:before {position: absolute;left: 0;top: 0.3em;width: 16px;height: 16px;content: '';background-color: var(--spm-color-blue-3);border-radius: 50%;}
.layout_block .map_marker_legend li.peach:before {background-color: var(--spm-color-peach);}

.layout_block ul.two_column,
.layout_block ul.three_column,
.layout_block ul.four_column {column-gap: 30px;} 
.layout_block ul.two_column {column-count: 2;}
.layout_block ul.three_column {column-count: 3;}
.layout_block ul.four_column {column-count: 4;}
/* .layout_block ul.two_column li,
.layout_block ul.three_column li,
.layout_block ul.four_column li {display: inline-block;} */

/* - content editor - */
.layout_block.content_editor .content {margin: 0 auto;}

.layout_block.content_editor.two_column .content_editor_list {column-count: 2;}
.layout_block.content_editor.three_column .content_editor_list {column-count: 3;}
.layout_block.content_editor.four_column .content_editor_list {column-count: 4;}

/* - content w/image & content w/video - */
.layout_block.content_with_image {position: relative;line-height: 1.375;}

.layout_block.content_with_image .section_title {margin: 0 0 1em;text-align: center;}

.layout_block.content_with_image .columns.content_with_image_columns {align-items: center;--spm-column-gap: 60px;}
.layout_block.content_with_image .columns.content_with_image_columns.right {flex-direction: row-reverse;}
.layout_block.content_with_image.column_split_40_60 .columns.content_with_image_columns > .column.column-1 {width: calc(40% - var(--spm-column-gap));}
.layout_block.content_with_image.column_split_40_60 .columns.content_with_image_columns > .column.column-2 {width: calc(60% - var(--spm-column-gap));}

.layout_block.content_with_image .columns.content_with_image_columns > .column-image {text-align: center;}
.layout_block.content_with_image .columns.content_with_image_columns > .column-image .image {display: block;margin: 0 auto 1em;border-radius: 70px;}
.layout_block.content_with_image.no_rounded_image_corners .columns.content_with_image_columns > .column-image .image {border-radius: 0;}
.layout_block.content_with_image.circular_image .columns.content_with_image_columns > .column-image .image {border-radius: 50%;}

.layout_block.content_with_image .columns.content_with_image_columns .section_title {margin: 0 0 0.5em;text-align: inherit;}
.layout_block.content_with_image.hexagons_before_title .columns.content_with_image_columns .section_title {padding-top: 115px;background: url(images/layout_block-hexagons.webp) no-repeat left top / 205px 96px;}
.layout_block.content_with_image.larger_title .columns.content_with_image_columns .section_title {font-size: 42px;}
.layout_block.content_with_image.blue_title .columns.content_with_image_columns .section_title {color: var(--spm-color-blue-3);}
.layout_block.content_with_image.teal_title .columns.content_with_image_columns .section_title {color: var(--spm-color-teal);}

/* - content w/image (alternate) - */
.layout_block.content_with_image_alternate {text-align: center;font-weight: 600;font-size: 18px;line-height: 1.33;}
.layout_block.content_with_image_alternate .wrap {max-width: none;padding: 80px 0 130px;}
.layout_block.content_with_image_alternate .wrap > .layer_2 {max-width: 1090px;padding: 0 20px;margin: 0 auto;}

.layout_block.content_with_image_alternate .section_title {color: var(--spm-color-blue-3);font-weight: 800;font-size: 36px;line-height: 1.35em;}

.layout_block.content_with_image_alternate .content {max-width: 640px;margin: 0 auto 75px;}

.layout_block.content_with_image_alternate .image {display: block;width: 100%;margin: 0 auto;}
.layout_block.content_with_image_alternate.limit_image_width .image {max-width: 1440px;}

/* - multi-column - */
.layout_block.multi_column .section_title {margin: 0 auto 1.5em;text-align: center;font-size: 36px;}

.layout_block.multi_column .columns {justify-content: center;line-height: 1.33;--spm-column-gap: 40px;}

.layout_block.multi_column .image {display: block;}

.layout_block.multi_column .columns .title {margin: 0 0 0.5em;font-weight: 800;font-size: 22px;line-height: 1.1em;}

/* boxed columns */
.layout_block.multi_column.boxed_columns .section_title {max-width: 600px;margin: 0 auto 2em;font-size: 28px;}

.layout_block.multi_column.boxed_columns .columns {font-size: 15px;--spm-column-gap: 25px;}

.layout_block.multi_column.boxed_columns .columns > .column {padding: 45px 25px 30px;color: var(--spm-color-dark-grey);background-color: #fff;border: 6px solid var(--spm-color-blue);border-radius: 22px;box-sizing: border-box;}
.layout_block.multi_column.boxed_columns .columns > .column:nth-child(3n+2) {border-color: var(--spm-color-teal);}
.layout_block.multi_column.boxed_columns .columns > .column:nth-child(3n+3) {border-color: var(--spm-color-peach);}

.layout_block.multi_column.boxed_columns .columns > .column .title {color: var(--spm-color-blue);}
.layout_block.multi_column.boxed_columns .columns > .column:nth-child(3n+2) .title {color: var(--spm-color-teal);}
.layout_block.multi_column.boxed_columns .columns > .column:nth-child(3n+3) .title {color: var(--spm-color-peach);}

/* boxed columns (alternate) */
.layout_block.multi_column.boxed_columns_alternate .columns {line-height: 1.375;--spm-column-gap: 16px;}

.layout_block.multi_column.boxed_columns_alternate .columns > .column {padding: 40px 40px 25px;color: var(--spm-color-dark-grey);background-image: linear-gradient(-45deg, #fff, #f2f2f2);border: 1px solid var(--spm-color-blue);border-radius: 22px;box-sizing: border-box;}
.layout_block.multi_column.boxed_columns_alternate .columns > .column:nth-child(3n+2) {border-color: var(--spm-color-teal);}
.layout_block.multi_column.boxed_columns_alternate .columns > .column:nth-child(3n+3) {border-color: var(--spm-color-peach);}

.layout_block.multi_column.boxed_columns_alternate .columns > .column .title {color: var(--spm-color-blue);text-transform: uppercase;font-weight: 900;}
.layout_block.multi_column.boxed_columns_alternate .columns > .column:nth-child(3n+2) .title {color: var(--spm-color-teal);}
.layout_block.multi_column.boxed_columns_alternate .columns > .column:nth-child(3n+3) .title {color: var(--spm-color-peach);}

.layout_block.multi_column.boxed_columns_alternate h3 {margin: 0 0 0.5em;color: inherit;font-weight: bold;font-size: 28px;line-height: 1.15em;}

/* - client engagements - */
.layout_block.client_engagements {text-align: center;font-size: 18px;line-height: 1.5;}
.layout_block.client_engagements .wrap {padding: 120px 20px 95px;}

.layout_block.client_engagements .statistics_wrapper {max-width: 750px;margin: 0 auto;}

.layout_block.client_engagements .statistics {justify-content: space-between;margin-bottom: 30px;font-size: 15px;line-height: 1.1;}
.layout_block.client_engagements .statistics > .column {max-width: 200px;background: url(images/layout_block-client_engagements-statistics-column.webp) no-repeat 0 / contain;}
.layout_block.client_engagements .statistics > .column:nth-child(3n+2) {background-image: url(images/layout_block-client_engagements-statistics-column-teal.webp)}
.layout_block.client_engagements .statistics > .column:nth-child(3n+3) {background-image: url(images/layout_block-client_engagements-statistics-column-peach.webp)}
.layout_block.client_engagements .statistics > .column > .layer_2 {position: relative;padding-top: 115.12%;}
.layout_block.client_engagements .statistics > .column > .layer_2 > .layer_3 {position: absolute;left: 0;right: 0;top: 0;bottom: 0;display: flex;flex-direction: column;justify-content: center;padding: 0 20px;}

.layout_block.client_engagements .statistics  .title {margin: 0;color: var(--spm-color-blue);font-weight: 800;font-size: 44px;line-height: 1.1em;}
.layout_block.client_engagements .statistics > .column:nth-child(3n+2) .title {color: var(--spm-color-teal);}
.layout_block.client_engagements .statistics > .column:nth-child(3n+3) .title {color: var(--spm-color-peach);}

.layout_block.client_engagements .section_title {margin: 0 0 1.2em;font-size: bold;font-size: 28px;line-height: 1.1em;}

.layout_block.client_engagements .content {max-width: 540px;margin: 0 auto;}

.layout_block.client_engagements .logos_marquee {margin-top: 50px;}

.layout_block.client_engagements .logos_marquee {position: relative;overflow: hidden;}
.layout_block.client_engagements .logos_marquee:before,
.layout_block.client_engagements .logos_marquee:after {position: absolute;z-index: 1;top: 0;bottom: 0;width: 10px;content: '';}
.layout_block.client_engagements .logos_marquee:before {left: 0;background-image: linear-gradient(90deg, #fff, transparent);}
.layout_block.client_engagements .logos_marquee:after {right: 0;background-image: linear-gradient(270deg, #fff, transparent);}
.layout_block.client_engagements .logos_marquee .marquee-inner {display: flex;gap: 40px;align-items: center;}
.layout_block.client_engagements .logos_marquee .marquee-inner img {max-height: 60px;object-fit: contain;}

/* - partners marquee - */
.layout_block.partners_marquee .marquee {position: relative;overflow: hidden;}
.layout_block.partners_marquee .marquee:before,
.layout_block.partners_marquee .marquee:after {position: absolute;z-index: 1;top: 0;bottom: 0;width: 10px;content: '';}
.layout_block.partners_marquee .marquee:before {left: 0;background-image: linear-gradient(90deg, #fff, transparent);}
.layout_block.partners_marquee .marquee:after {right: 0;background-image: linear-gradient(270deg, #fff, transparent);}
.layout_block.partners_marquee .marquee .marquee-inner {display: flex;gap: 40px;align-items: center;}
.layout_block.partners_marquee .marquee .marquee-inner img {max-width: 100px;max-height: 60px;object-fit: contain;}

/* - services tabs - */
.layout_block.services_tabs {position: relative;overflow: visible;text-align: center;background: linear-gradient(#fff 50%, #dad8d7);}
.layout_block.services_tabs:after {position: absolute;left: 0;right: 0;bottom: 0;height: 13px;content: '';background-image: url(images/layout_block-curved_edge_bottom-after.webp);background-repeat: no-repeat;background-position: center;background-size: max(1366px,100%) 100%;}

.layout_block.services_tabs .wrap {padding: 100px 20px 65px;}

.layout_block.services_tabs .section_title {margin: 0 0 1.3em;}

.layout_block.services_tabs .nav_container .ui-tabs-nav {display: flex;max-width: 940px;margin: 0 auto 25px;padding: 0;list-style: none;text-align: center;}
.layout_block.services_tabs .nav_container .ui-tabs-nav li {display: flex;flex-direction: column;justify-content: center;position: relative;width: 33.333%;margin: 0;padding: 40px 30px 25px;color: #fff;font-weight: 800;font-size: 20px;line-height: 1.2;transform: scale(0.8);transition: transform 0.2s;background-color: var(--spm-color-blue);text-shadow: 1px 1px 4px rgba(39,39,39.36);border-radius: 20px;}
.layout_block.services_tabs .nav_container .ui-tabs-nav li.ui-tabs-active {transform: scale(1);}
.layout_block.services_tabs .nav_container .ui-tabs-nav li:nth-child(3n+2) {background-color: var(--spm-color-teal);}
.layout_block.services_tabs .nav_container .ui-tabs-nav li:nth-child(3n+3) {background-color: var(--spm-color-peach);}

.layout_block.services_tabs .dots {display: flex;justify-content: center;gap: 6px;margin: 0 0 35px;}
.layout_block.services_tabs .dots a {width: 4px;height: 4px;border: 1px solid var(--spm-color-dark-grey);border-radius: 50%;}
.layout_block.services_tabs .dots a.active {background-color: var(--spm-color-dark-grey)}

.layout_block.services_tabs .ui-tabs-panel {margin: 0 auto;}

.layout_block.services_tabs .ui-tabs-panel .content {max-width: 440px;margin: 0 auto 40px;font-weight: 600;line-height: 1.25;}

.layout_block.services_tabs .ui-tabs-panel .services_carousel {width: auto;margin: 0 40px 30px;line-height: 1.125;transition: opacity 0.2s;transition-delay: 0.4s;}
.layout_block.services_tabs .ui-tabs-panel[aria-hidden="true"] .services_carousel {opacity: 0;}

.layout_block.services_tabs .ui-tabs-panel .services_carousel .owl-stage {display: flex;line-height: 1.125;}

.layout_block.services_tabs .ui-tabs-panel .services_carousel .service {height: 100%;padding: 20px 10px 15px;background-color: #fff;border: 1px solid var(--spm-color-blue);border-radius: 20px;box-sizing: border-box;}
.layout_block.services_tabs .ui-tabs-panel:nth-child(3n+2) .services_carousel .service {border-color: var(--spm-color-teal);}
.layout_block.services_tabs .ui-tabs-panel:nth-child(3n+3) .services_carousel .service {border-color: var(--spm-color-peach);}
.layout_block.services_tabs .ui-tabs-panel .services_carousel .service img {display: inline;width: revert-layer;}

.layout_block.services_tabs .ui-tabs-panel .services_carousel .service p {margin: 0 0 0.3em;}

.layout_block.services_tabs .ui-tabs-panel .services_carousel .owl-nav {position: absolute;left: 0;right: 0;top: calc(50% - 0.5em);color: var(--spm-color-blue);font-size: 24px;line-height: 1;}
.layout_block.services_tabs .ui-tabs-panel:nth-child(3n+2) .services_carousel .owl-nav {color: var(--spm-color-teal);}
.layout_block.services_tabs .ui-tabs-panel:nth-child(3n+3) .services_carousel .owl-nav {color: var(--spm-color-peach);}
.layout_block.services_tabs .ui-tabs-panel .services_carousel .owl-nav .owl-prev,
.layout_block.services_tabs .ui-tabs-panel .services_carousel .owl-nav .owl-next {position: absolute;}
.layout_block.services_tabs .ui-tabs-panel .services_carousel .owl-nav .owl-prev {left: -40px;}
.layout_block.services_tabs .ui-tabs-panel .services_carousel .owl-nav .owl-next {right: -40px;}

.layout_block.services_tabs .ui-tabs-panel .bottom_button_container {position: absolute;z-index: 1;left: 20px;right: 20px;bottom: -5px;text-align: center;}
.layout_block.services_tabs .ui-tabs-panel .bottom_button_container .spm_button {background-color: var(--spm-color-blue);}
.layout_block.services_tabs .ui-tabs-panel:nth-child(3n+2) .bottom_button_container .spm_button {background-color: var(--spm-color-teal);}
.layout_block.services_tabs .ui-tabs-panel:nth-child(3n+3) .bottom_button_container .spm_button {background-color: var(--spm-color-peach);}
.layout_block.services_tabs .ui-tabs-panel .bottom_button_container .spm_button:hover {background-color: var(--spm-color-blue-3) !important;}

/* - services columns - */
.layout_block.services_columns {line-height: 1.2;}
.layout_block.services_columns .wrap {padding: 120px 20px 85px;}

.layout_block.services_columns .section_title {margin: 0 auto 1.5em;text-align: center;font-size: 36px;}

.layout_block.services_columns .columns {text-align: center;justify-content: center;--spm-column-gap: 40px;--spm-row-gap: 40px;}
.layout_block.services_columns .columns > .column {/* display: grid;grid-template-rows: 5fr minmax(0,4fr); */display: flex;flex-direction: column;align-items: center;}

.layout_block.services_columns .icon_container {width: min(180px,100%);min-height: 150px;margin: 0 auto;padding: 20px 10px 5px;text-align: center;background-image: linear-gradient(-45deg, #f2f2f2, #fff);border: 1px solid var(--spm-color-blue);border-radius: 22px;box-sizing: border-box;}
.layout_block.services_columns.teal .icon_container {border-color: var(--spm-color-teal);}
.layout_block.services_columns.peach .icon_container {border-color: var(--spm-color-peach);}
.layout_block.services_columns .icon_container .image {display: block;}

.layout_block.services_columns .icon_container:hover .title {font-weight: bold;letter-spacing: -0.02em;}

.layout_block.services_columns .columns .content {margin-top: 30px;}

.layout_block.services_columns .columns .button_row {margin-top: auto;}

.layout_block.services_columns .columns .spm_button {background-color: var(--spm-color-blue);}
.layout_block.services_columns.teal .columns .spm_button {background-color: var(--spm-color-teal);}
.layout_block.services_columns.peach .columns .spm_button {background-color: var(--spm-color-peach);}
.layout_block.services_columns .columns .spm_button:hover {background-color: var(--spm-color-blue-3) !important;}

/* - challenge / results - */
.layout_block.challenge_results .wrap {padding: 80px 40px 125px;}
.layout_block.challenge_results.less_padding_top .wrap {padding-top: 0 !important;}

.layout_block.challenge_results .content_box {position: relative;padding: 25px 40px 15px 70px;font-size: 18px;line-height: 1.5;--spm-background-color: var(--spm-color-blue-3);border: 2px solid var(--spm-background-color);}
.layout_block.challenge_results .content_box.box_1 {border-bottom: none;}
.layout_block.challenge_results .content_box.box_2 {color: #fff;font-size: 19px;background-color: var(--spm-background-color);}
.layout_block.challenge_results .content_box.box_3 {border-top: none;}
.layout_block.challenge_results .content_box:after {position: absolute;z-index: 1;left: 60px;top: 100%;content: '';border: 12px solid transparent;border-top-color: #fff;border-bottom: none;}
.layout_block.challenge_results .content_box.box_2:after {border-top-color: var(--spm-background-color);}
.layout_block.challenge_results .content_box:last-child:after {display: none;}

.layout_block.challenge_results .content_box .tag {position: absolute;left: 0;top: 50%;color: #fff;padding: 30px 0;text-transform: uppercase;font-weight: bold;font-size: 20px;line-height: 1.1;background-color: var(--spm-background-color);transform: translate(-50%,-50%) rotate(-90deg);}
.layout_block.challenge_results .content_box .tag:before,
.layout_block.challenge_results .content_box .tag:after {position: absolute;top: 0;bottom: 0;width: 60px;content: '';background-color: var(--spm-background-color);transform-origin: bottom;}
.layout_block.challenge_results .content_box .tag:before {left: 0;transform: skewX(35deg);}
.layout_block.challenge_results .content_box .tag:after {right: 0;transform: skewX(-35deg);}
.layout_block.challenge_results .content_box .tag span {position: relative;z-index: 1;}

.layout_block.challenge_results .content_box .title {margin: 0 0 0.5em;font-weight: bold;font-size: 24px;line-height: 1.1;}

.layout_block.challenge_results .content_box ul,
.layout_block.challenge_results .content_box ol {line-height: 1.3;}
.layout_block.challenge_results .content_box ul li,
.layout_block.challenge_results .content_box ol li {margin: 0 0 0.7em;}
.layout_block.challenge_results .content_box ol li::marker {font-weight: bold;}

.layout_block.challenge_results .content_box.box_2 ul {padding: 0;list-style: none;}
.layout_block.challenge_results .content_box.box_2 ul li {position: relative;padding: 0 0 0 25px;list-style: none;}
.layout_block.challenge_results .content_box.box_2 ul li:before {position: absolute;left: 0;top: 0.3em;content: '\e907';font: 16px/1 icomoon;}

/* pink & cyan color scheme */
.layout_block.challenge_results.pink_and_cyan .content_box.box_1,
.layout_block.challenge_results.pink_and_cyan .content_box.box_2 {--spm-background-color: #fd4a98;}
.layout_block.challenge_results.pink_and_cyan .content_box.box_3 {--spm-background-color: #218dac;}

/* - staff - */
.layout_block.staff .section_title {margin: 0 auto 1.5em;text-align: center;font-size: 36px;}

.layout_block.staff .columns {justify-content: center;line-height: 1.1;--spm-row-gap: 40px;}
.layout_block.staff .columns > .column {position: relative;display: flex;flex-direction: column;}

.layout_block.staff .columns p {margin: 0 0 0.3em;}

.layout_block.staff .columns .image {width: 100%;margin: 0 0 30px;display: block;}

.layout_block.staff .columns .content {margin: 0 0 1em;}

.layout_block.staff .columns .name {font-weight: bold;font-size: 20px;}
.layout_block.staff .columns .position {font-size: 18px;}
.layout_block.staff .columns .contact_information {font-style: italic;}

.layout_block.staff .columns .social_media {display: flex;align-items: center;gap: 1em;flex-wrap: wrap;margin: 0.7em 0 0;font-size: 22px;}
.layout_block.staff .columns .social_media a {color: var(--spm-color-blue-2);}
.layout_block.staff .columns .social_media a:hover {text-decoration: none;color: var(--spm-color-dark-grey);}

.layout_block.staff .columns .button_row {margin: auto 0 0;}
.layout_block.staff .columns .button_row .spm_button {font-size: 15px;background-color: var(--spm-color-blue);}
.layout_block.staff .columns .button_row .spm_button:hover {background-color: var(--spm-color-blue-2) !important;}

.modal.staff .image {float: left;max-width: 50%;margin: 0 20px 5px 0;}

.modal.staff .heading {margin: 0 0 1em;}
.modal.staff .name {margin: 0;color: var(--spm-color-blue-3);font-weight: bold;font-size: 24px;line-height: 1.2;}
.modal.staff .position {margin: 0;font-size: 18px;}
.modal.staff .contact_information {font-style: italic;}
.modal.staff .social_media {display: flex;align-items: center;gap: 1em;flex-wrap: wrap;font-size: 22px;}

/* Contact Information */
#contact_information {position: relative;color: #fff;text-align: center;background-color: var(--spm-color-grey);}
#contact_information:before,
#contact_information:after {position: absolute;left: 0;right: 0;top: 0;height: 13px;content: '';background-repeat: no-repeat;background-position: center;background-size: max(1366px,100%) 100%;}
#contact_information:before {background-image: url(images/layout_block-curved_edge_top-before.webp);}
#contact_information:after {z-index: 1;top: auto;bottom: 0;background-image: url(images/layout_block-curved_edge_bottom-after.webp);}

#contact_information .wrap {padding: 65px 20px 45px;}

#contact_information .section_title {font-weight: 600;font-size: 28px;line-height: 1.1em;}

#contact_information .button_row {display: flex;justify-content: center;flex-wrap: wrap;gap: 24px;}

#contact_information .spm_button {background-color: var(--spm-color-blue-2);}
#contact_information .spm_button:hover {color: var(--spm-color-blue-3);background-color: #fff !important;}

/* Footer */
#footer {text-align: center;}
#footer .wrap {padding: 20px 20px 45px;}

/* Sub-Footer */
#sub_footer {position: relative;text-align: center;color: #fff;font-weight: 600;font-size: 12px;line-height: 1.4;background: var(--spm-color-blue-3) linear-gradient(var(--spm-color-blue-2),var(--spm-color-blue-3));}
#sub_footer:before {position: absolute;left: 0;right: 0;top: 0;height: 13px;content: '';background: url(images/layout_block-curved_edge_top-before.webp) no-repeat center / max(1366px,100%) 100%;}

#sub_footer .wrap {position: relative;padding: 85px 20px 10px;}

#sub_footer p {margin: 0 0 0.3em;}

#sub_footer a {color: inherit;text-decoration: none;}
#sub_footer a:hover {text-decoration: underline;}

#sub_footer .certified_wbenc {position: absolute;left: 0;right: 0;top: -30px;margin: 0 auto;}

#sub_footer .social_media {display: flex;justify-content: center;flex-wrap: wrap;gap: 0.8em;margin: 0 0 0.8em;padding: 0;list-style: none;font-size: 24px;}
#sub_footer .social_media li {margin: 0;}
#sub_footer .social_media li a {text-decoration: none;}

/* Footer (Mobile) */
#mobile_footer {display: none;position: fixed;z-index: 999;left: 0;right: 0;bottom: 0;min-width: 320px;color: #fff;text-align: center;text-transform: uppercase;font-weight: 600;font-size: 16px;line-height: var(--spm-mobile-footer-height);box-shadow: 0 0px 10px rgba(0,0,0,0.4);}

#mobile_footer ul {display: flex;margin: 0;padding: 0;list-style: none;}
#mobile_footer ul li {width: 50%;margin: 0;}

#mobile_footer ul li a {display: block;color: inherit;text-decoration: none;transition: color 0.2s;background-color: var(--spm-color-blue);}
#mobile_footer ul li a.alternate {background-color: var(--spm-color-teal);}
#mobile_footer ul li i {margin: 0 0.2em 0 0;}

/* WordPress */

/* - editor formatting - */
.alignleft {float: left;}
.alignright {float: right;text-align: right;}
.aligncenter {margin-left: auto;margin-right: auto;text-align: center;}
.hidden {display: none;}
.cleared {clear: both;}

img.alignleft {display: inline;margin: 0 1.5em 0.8em 0;max-width: 39%;}
img.aligncenter {display: block;margin: 0 auto;}
img.alignright {display: inline;margin: 0 0 0.8em 2.5em;max-width: 39%;}

.wp-caption.alignleft {margin: 0 1.5em 3em 0;}
.wp-caption.aligncenter {margin: 0 auto;}
.wp-caption.alignright {margin: 0 0 3em 2.5em;text-align: left;}

/* - galleries - */
.gallery {margin: 0 -5% 0 0;}
.gallery:after {display: block;clear: both;content: '';}

.gallery-item {float: left;margin: 0 5% 5% 0;}
.gallery-columns-1 .gallery-item {width: 95%;}
.gallery-columns-2 .gallery-item {width: 45%;}
.gallery-columns-3 .gallery-item {width: 28.333%;}
.gallery-columns-4 .gallery-item {width: 20%;}

.gallery-item img {display: block;width: 100%;box-shadow: 0 2px 18px -7px #fff;}

.gallery-item .wp-caption-text {display: none;}

/* - comments - */
.navigation {overflow: hidden;margin: 0 0 20px;}
.comment-navigation {overflow: hidden;}
.navigation ul,
.comment-navigation ul {float: right;list-style: none;}
.navigation li,
.comment-navigation li {float: left;margin-left: 5px;}
.navigation a,
.navigation span,
.comment-navigation a,
.comment-navigation span {display: block;padding: 0 10px;color: #5d3128;text-decoration: none;text-transform: lowercase;line-height: 24px;background-color: #cfcfc6;}
.navigation a:hover,
.comment-navigation a:hover {background-position: left -20px;}
.navigation span,
.comment-navigation span {color: #fff;}

/* - page and comment navigation - */
.navigation {overflow: hidden;margin: 0 0 20px;}
.comment-navigation {overflow: hidden;}
.navigation ul,
.comment-navigation ul {float: right;margin: 0 0 5px;list-style: none;}
.navigation li,
.comment-navigation li {float: left;margin: 0 0 5px 5px;}
.navigation a,
.navigation span,
.comment-navigation a,
.comment-navigation span {display: block;padding: 0 0.7em;color: #fff;text-decoration: none;line-height: 2em;background-color: #38434f;}
.navigation span,
.comment-navigation span {color: #fff;}

/* Comments */
#comments-section {padding-top: 20px;}

/*#comments {width: 600px;color: #888;}*/

#comments .comment-reply-title {color: #000;font: bold 18px/1.1em var(--spm-font-family-body);}

#comments .commentlist {margin: 0 0 20px;padding: 0;list-style: none;}
#comments .commentlist li {margin: 0 0 10px;padding: 10px 15px 0;background-color: #f8f8f8;border-top: 1px solid #ccc;border-bottom: 1px solid #ccc;}
#comments .commentlist li.odd {background-color: #eee;}

#comments textarea {width: 98%;}

.vcard {font-weight: bold;}
.vcard img {margin: 0 7px 0 0;vertical-align: middle;border: 2px solid #ccd0dd;}

.comment-date {float: right;font-size: 10px;font-weight: normal;}

/* jQuery Modal */
.blocker {z-index: 1000;}

.modal {max-width: 800px;padding: 60px 40px;line-height: 1.4;border-radius: 8px;box-shadow: 0 4px 12px rgba(0,0,0,0.2);}

.modal h3 {color: var(--spm-color-blue-3);margin: 0 0 0.5em;font-weight: bold;font-size: 28px;line-height: 1.2;}

.modal a.close-modal {top: 10px; right: 10px;}

.modal .do_not_show_again_container {position: absolute;right: 25px;bottom: 20px;}

.modal .gform_wrapper {margin: 0;}

.modal .form-container {margin-top: 20px;}

/* WOW.js */
.wow {visibility: hidden;}
.animated {-webkit-animation-duration: .5s;animation-duration: .5s;-webkit-animation-fill-mode: both;animation-fill-mode: both;}

/* Styles from animate.css */
@-webkit-keyframes fadeIn {
	from {opacity: 0;}
}
@keyframes fadeIn {
	from {opacity: 0;}
}
.fadeIn {-webkit-animation-name: fadeIn;animation-name: fadeIn;}

@-webkit-keyframes fadeInUpSmall {
	from {opacity: 0;-webkit-transform: translateY(20px);}
}
@keyframes fadeInUpSmall {
	from {opacity: 0;transform: translateY(20px);}
}
.fadeInUpSmall {-webkit-animation-name: fadeInUpSmall;animation-name: fadeInUpSmall;}

@-webkit-keyframes fadeInLeftSmall {
	from {opacity: 0;-webkit-transform: translateX(-20px);}
}
@keyframes fadeInLeftSmall {
	from {opacity: 0;transform: translateX(-20px);}
}
.fadeInLeftSmall {-webkit-animation-name: fadeInLeftSmall;animation-name: fadeInLeftSmall;}

@-webkit-keyframes fadeInRightSmall {
	from {opacity: 0;-webkit-transform: translateX(20px);}
}
@keyframes fadeInRightSmall {
	from {opacity: 0;transform: translateX(20px);}
}
.fadeInRightSmall {-webkit-animation-name: fadeInRightSmall;animation-name: fadeInRightSmall;}

@-webkit-keyframes fadeOutDownSmall {
	from {opacity: 1;}
	to {opacity: 0;-webkit-transform: translateY(20px);}
}
@keyframes fadeOutDownSmall {
	from {opacity: 1;}
	to {opacity: 0;transform: translateY(20px);}
}
.fadeOutDownSmall {-webkit-animation-name: fadeOutDownSmall;animation-name: fadeOutDownSmall;}

@-webkit-keyframes zoomIn {
	from {opacity: 0;-webkit-transform: scale(.3);}
}
@keyframes zoomIn {
	from {opacity: 0;transform: scale(.3);}
}
.zoomIn {-webkit-animation-name: zoomIn;animation-name: zoomIn;}

@-webkit-keyframes extendLeft {
	from {-webkit-transform: scaleX(0);}
}
@keyframes extendLeft {
	from {transform: scaleX(0);}
}
.extendLeft {-webkit-animation-name: extendLeft;animation-name: extendLeft;-webkit-transform-origin: 100%;transform-origin: 100%;}

@-webkit-keyframes extendRight {
	from {-webkit-transform: scaleX(0);}
}
@keyframes extendRight {
	from {transform: scaleX(0);}
}
.extendRight {-webkit-animation-name: extendRight;animation-name: extendRight;-webkit-transform-origin: 0;transform-origin: 0;}

/* Gravity Forms */
.gform_wrapper .gform_title {text-align: center;font-size: 36px;line-height: 1.1em;}

.gform_wrapper .gform_fields {grid-column-gap: 20px;grid-row-gap: 20px;}

.gform_wrapper input:not([type="submit"]),
.gform_wrapper select,
.gform_wrapper textarea {padding: 15px !important;}

.gform_wrapper .gform_ajax_spinner {margin-left: 10px;}

/* Responsive Design */
@media only screen and (max-width: 1023px) {
	#content .spm_client .header .columns.client_columns > .column {width: 100% !important;}
  	#content .spm_client .header .columns.client_columns > .column.column-contact_information {align-content: flex-start;}
}

@media only screen and (max-width: 959px) {
	body {padding-top: 0;}
	
	#header {position: static;}
	#header .wrap {height: auto;padding: 25px 20px 1px;}
	#header #responsive_menu_button {display: block;}
	#header .logo {position: static;margin: 0 auto 20px;}
	#header .nav {display: none;}
	
	.layout_block .map_marker_legend {align-content: center;}
	
	.layout_block.content_with_image {text-align: center;}
	.layout_block.content_with_image .columns.content_with_image_columns {display: block;margin: 0;}
	.layout_block.content_with_image .columns.content_with_image_columns > .column {width: auto !important;margin: 0 auto 40px;}
	.layout_block.content_with_image.column_split_40_60 .columns.content_with_image_columns > .column-image {max-width: 400px;}
	.layout_block.content_with_image.hexagons_before_title .columns.content_with_image_columns .section_title {background-position: center top;}
}

@media only screen and (max-width: 767px) {
	body {padding-bottom: var(--spm-mobile-footer-height);}
	
	#cookie_notice {bottom: var(--spm-mobile-footer-height);text-align: center;font-size: 13px;}
	#cookie_notice .wrap {flex-direction: column;align-items: center;}
	#cookie_notice .spm_button {font-size: 15px;}
	
	#banner_inside_page .wrap {padding: 30px 20px 10px;}
	#banner_inside_page .columns {display: block;margin: 0;}
	#banner_inside_page .columns > .column {width: auto !important;margin: 0 0 30px;}
	#banner_inside_page .button_row {justify-content: center;}
	
	#banner_inside_page.multiple_images .images {flex-wrap: wrap;}
	#banner_inside_page.multiple_images .images img {width: calc(50% - 5px);}
	
	#content {float: none !important;width: auto !important;}
	
	#content .columns.columns-2,
	#content .columns.columns-3 {display: block;margin: 0;}
	#content .columns.columns-2 > .column,
	#content .columns.columns-3 > .column {width: auto;margin: 0 0 40px;}
	
	#content .columns.columns-4 {--spm-column-count: 2;}
	
	.post-type-archive-spm_client #content .spm_client .description {float: none;width: auto;}
	
	#sidebar {display: flex;flex-direction: column;align-content: center;flex-wrap: wrap;float: none !important;width: auto !important;}
	
	.layout_block ul.two_column,
	.layout_block.content_editor.two_column .content_editor_list {display: flex;flex-direction: column;flex-wrap: wrap;align-content: center;/* align-items: center; */column-count: auto;}
	.layout_block ul.three_column,
	.layout_block ul.four_column,
	.layout_block.content_editor.three_column .content_editor_list,
	.layout_block.content_editor.four_column .content_editor_list {column-count: 2;}
	
	.layout_block.multi_column .columns.columns-2,
	.layout_block.multi_column .columns.columns-3 {display: block;margin: 0;}
	.layout_block.multi_column .columns.columns-2 > .column,
	.layout_block.multi_column .columns.columns-3 > .column {width: auto;margin: 0 0 40px;}
	.layout_block.multi_column .columns.columns-4,
	.layout_block.multi_column .columns.columns-5 {--spm-column-count: 2;}
	
	.layout_block.services_tabs .ui-tabs-panel .columns.services {--spm-column-count: 2;}
	
	.layout_block.services_columns .columns.columns-3,
	.layout_block.services_columns .columns.columns-4 {--spm-column-count: 2;--spm-row-gap: 30px;}
	
	.layout_block.staff .columns.columns-3,
	.layout_block.staff .columns.columns-4 {--spm-column-count: 2;}
	
	#mobile_footer {display: block;}
}

@media only screen and (max-width: 567px) {
	.layout_block ul.three_column,
	.layout_block ul.four_column,
	.layout_block.content_editor.three_column .content_editor_list,
	.layout_block.content_editor.four_column .content_editor_list {column-count: 1;}
	
	.layout_block.client_engagements .statistics {display: block;max-width: 280px;margin: 0 auto;}
	.layout_block.client_engagements .statistics > .column {width: auto;max-width: none;margin: 0 0 30px;}
	
	.layout_block.services_tabs .nav_container .ui-tabs-nav {display: block;}
	.layout_block.services_tabs .nav_container .ui-tabs-nav li {width: auto;padding: 25px 30px 5px;}
	
	.layout_block.challenge_results .wrap {padding-left: 20px;padding-right: 20px;}
	.layout_block.challenge_results .content_box {padding: 40px 40px 20px;}
	.layout_block.challenge_results .content_box .tag {position: relative;margin: 0 30px 20px;padding: 20px 0;text-align: center;transform: none;}
	.layout_block.challenge_results .content_box:after {left: calc(50% - 12px);}
}

@media only screen and (max-width: 479px) {
	#header .wrap {padding-top: 55px;}
	
	#content .columns.columns-4 {display: block;margin: 0;}
	#content .columns.columns-4 > .column {width: auto;margin: 0 0 40px;}
	
	#content .spm_client .header .image_container {float: none;margin: 0 auto 20px;}
	
	.layout_block.multi_column .columns.columns-5 {display: block;margin: 0 auto;}
	.layout_block.multi_column .columns.columns-5 > .column {width: auto;margin: 0 0 40px;}
	
	.layout_block.services_columns .columns.columns-3,
	.layout_block.services_columns .columns.columns-4,
	.layout_block.services_columns .columns.columns-5 {display: block;margin: 0 auto;}
	.layout_block.services_columns .columns.columns-3 > .column,
	.layout_block.services_columns .columns.columns-4 > .column,
	.layout_block.services_columns .columns.columns-5 > .column {display: block;width: auto;margin: 0 0 60px;}
	.layout_block.services_columns .columns .icon_container {min-height: auto;}
	
	.layout_block.staff .columns.columns-3,
	.layout_block.staff .columns.columns-4 {display: block;margin: 0;}
	.layout_block.staff .columns.columns-3 > .column,
	.layout_block.staff .columns.columns-4 > .column {width: auto;margin: 0 0 30px;}
	
	.modal.staff .image {float: none;width: 100%;max-width: none;}
}