/*
 * Theme Name: 321 Base Theme
 * Theme URI: https://www.321webmarketing.com/
 * Author: 321 Web Marketing
 * Author URI: https://www.321webmarketing.com/
 * Description: 321 inspired theme for the Genesis Framework.
 * Version: 1.0.01
 * License: GPL-3.0-or-later
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 * Text Domain: tto-base-theme
 * Domain Path: /languages
 * Template: genesis
 */

@charset 'UTF-8';

/* # Table of Contents

- Elements
- Structural
- Accessibility
- Header
- Footer
- Utility
- Blocks
- Custom CSS

*/

/* ## Elements
--------------------------------------------- */

html {
	line-height: 1.15;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
    box-sizing: border-box;
    max-width: 100vw;
	font-size: 62.5%;
	overflow-x: hidden;
}

body {
    background-color: #ffffff;
    max-width: 100vw;
    color: #242424;
    font-family: 'DM Sans', sans-serif;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: grayscale;
    margin: 0;
    overflow-x: visible;
}

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

pre {
	font-family: monospace, monospace;
	font-size: 1.8rem;
}

*::-moz-selection {
	background-color: #393e4b;
	color: #ffffff;
}

*::selection {
	background-color: #393e4b;
	color: #ffffff;
}

h1 {
	font-size: 5.2rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 2.5rem;
}

@media (max-width: 895px) {
    h1 {
        font-size: 4rem;
    }
}

h2 {
	font-size: 4.1rem;
	font-weight: 900;
	line-height: 1.2;
    margin: 5rem 0 3rem;
}

@media (max-width: 895px) {
    h2 {
        font-size: 3.4rem;
        line-height: 1.2;
    }
}

h3 {
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 1.4;
    margin: 5rem 0 2.5rem;
}

h4 {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.5;
    margin: 5rem 0 2.5rem;
}

h5 {
	font-size: 2.2rem;
	font-weight: 300;
	line-height: 1.4;
    margin: 5rem 0 2.5rem;
}

h6 {
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.5;
    margin: 5rem 0 2.5rem;
	text-transform: uppercase;
}

h1 em {
	position: relative;
	font-style: normal;
}

h1 em:before {
	content: '';
	background-color: var(--roadmap-teal-green);
	position: absolute;
	width: 100%;
	height: 5px;
	top: calc(100% - 5px);
	left: 0;
	border-radius: 50px;
}

p {
	margin: 0 0 2.5rem;
	padding: 0;
}

.wp-block-genesis-blocks-gb-columns .gb-block-layout-column-inner p:not(.entry-tagline--black) {
    text-align: justify;
}

.front-page-2.wp-block-genesis-blocks-gb-columns .gb-block-layout-column-inner .box-copy--tagline p {
    text-align: left;
}

.wp-block-genesis-blocks-gb-columns .gb-block-layout-column-inner .form-cta p {
    text-align: initial; /* or the value you want instead */
  }

p:last-child {
	margin: 0;
}

a {
	color: #000;
	word-wrap: break-word;
	pointer-events: all;
	cursor: pointer;
	text-decoration: none;
	transition: 0.25s ease-in-out all
}

.entry-content a {
    color: var(--roadmap-teal-green);
}

a:hover,
a:focus {
	color: #555;
}

button,
a.button,
input[type='submit'] {
	/* background-color: var(--roadmap-teal-green); */
    background-color: var(--roadmap-teal-green);
	display: inline-block;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 600;
	margin: 0 !important;
	padding: 1.5rem 2rem;
	width: auto;
	height: auto;
	line-height: 1;
	border: none;
	border-radius: 0.8rem;
	box-shadow: none;
	outline: none;
	text-decoration: none;
	transition: 0.25s ease-in-out all;
}

button:hover,
button:focus,
a.button:hover,
a.button:focus,
input[type='submit']:hover,
input[type='submit']:focus {
	filter: brightness(1.1);
}

button.white,
a.button.white {
	background-color: #ffffff;
	color: #049948;
}

button.outline,
a.button.outline {
	border: 1px solid #fff;
	background: transparent;
	color: #fff;
	box-shadow: 0 1rem 2rem -0.5rem rgba(57, 62, 75, 0.1);
}

button.outline:hover,
button.outline:focus,
a.button.outline:hover,
a.button.outline:focus {
	background: var(--roadmap-teal-green);
	color: #fff;
}

button.large,
a.button.large {
	font-size: 18px;
	font-size: 1.8rem;
}

ol,
ul {
	margin: 0 0 4rem 4rem;
	padding: 0;
}

ol ol,
ul ul,
ol ul,
ul ol {
	margin: 0 0 0 4rem;
	padding: 0;
}

ul li {
	list-style-type: disc;
}

li li {
	list-style-type: circle;
}

ol li {
	list-style-type: decimal;
}

ol li li {
	list-style-type: lower-alpha;
}


hr {
	border: 0;
	border-collapse: collapse;
	border-bottom: 1px solid #f0f1f2;
	clear: both;
	padding: 1em 0 0;
	margin: 0 0 2em;
}

b,
strong {
	font-weight: 600;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.5rem;
}

sup {
	top: -1rem;
}

blockquote {

}

table {

}

thead,
tbody {

}

tr,
th {
	
}

img {
	display: block;
	max-width: 100%;
}

*:first-child {
	margin-top: 0;
	padding-top: 0;
}

*:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

/* ## Structural
--------------------------------------------- */

.wrap,
.basic-page .content-sidebar-wrap,
.entry-content > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
.entry-content > .gb-block-container > .gb-container-inside {
	gap: 8rem;
	width: var(--theme-wrap-width);
	max-width: var(--theme-wrap-max-width);
	margin: 0 auto;
}

.entry-content > .wp-block-genesis-blocks-gb-columns,
.entry-content > .gb-block-container {
	padding: var(--theme-section-padding) 0;
}

.entry-content > .wp-block-genesis-blocks-gb-columns.no-padding-top,
.entry-content > .gb-block-container.no-padding-top {
	padding-top: 0 !important;
}

.entry-content > .wp-block-genesis-blocks-gb-columns.no-padding-bottom,
.entry-content > .gb-block-container.no-padding-bottom {
	padding-bottom: 0 !important;
}

.entry-content > .wp-block-genesis-blocks-gb-columns.no-padding,
.entry-content > .gb-block-container.no-padding {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.entry-content > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
}



@media (max-width: 767px) {
	.wrap,
	.basic-page .content-sidebar-wrap,
	.entry-content > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
	.entry-content > .gb-block-container > .gb-container-inside {
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0 var(--theme-wrap-padding-mobile);
	}

	.entry-content > .wp-block-genesis-blocks-gb-columns,
	.entry-content > .gb-block-container {
		padding: var(--theme-section-padding-mobile) 0;
	}
}



/* ## Accessibility
--------------------------------------------- */

.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut,
.wp-custom-logo .site-title,
.wp-custom-logo .site-description {
	position: absolute !important;
	clip: rect(0, 0, 0, 0);
	height: 0.1rem;
	width: 0.1rem;
	background-color: #fff !important;
	color: #000 !important;
	border: 0;
	overflow: hidden;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus {
	clip: auto !important;
	height: auto;
	width: auto;
	display: block;
	padding: 10px 20px;
	padding: 1rem 2rem;
	z-index: 100000;
	text-decoration: none;
	box-shadow: 0 0 0.2rem 0.2rem rgba(57, 62, 75, 0.1);
}

.more-link {
	position: relative;
	font-style: normal;
}

.genesis-skip-link {
	margin: 0;
}

.genesis-skip-link li {
	height: 0;
	width: 0;
	list-style: none;
}



/* ## Header
--------------------------------------------- */

.top-nav-bar {
    background-color: #f5f5f5;
	position: relative;
	display: flex;
	padding: 1.25rem 0;
    border-bottom: 1px solid #dbdbdb;
	z-index: 101;
}

.top-nav-bar > .wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6rem;
}

.top-nav-bar > .wrap.left {
	justify-content: flex-start;
}

.top-nav-bar > .wrap.right {
	justify-content: flex-end;
}

.nav-top > .wrap {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.nav-top .menu {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 3rem;
	height: 100%;
	pointer-events: all;
	opacity: 1;
	transition: 0.25s ease-in-out opacity;
}

.nav-top .menu.fade-out {
	pointer-events: none;
	opacity: 0;
}

.nav-top .menu > .menu-item {
    display: flex;
    align-items: center;
}

.nav-top .menu > .menu-item > a,
.top-nav-bar p {
    font-size: 1.4rem;
    font-weight: 500;
	line-height: 1.3;
}

.site-header {
	background-color: #fff;
    position: sticky;
    width: 100%;
    top: 0;
    left: 0;
	box-shadow: 0 0 1rem rgba(57, 62, 75, 0.18);
	transition: 0.25s ease-in-out box-shadow;
	z-index: 100;
}

.site-header.shrink {
	box-shadow: 0 0 2rem rgba(57, 62, 75, 0.38);
}

.logged-in.admin-bar .site-header {
	top: 32px;
}

@media (max-width: 782px) {
	.logged-in.admin-bar .site-header {
		top: 46px;
	}
}

@media (max-width: 600px) {
	.logged-in.admin-bar .site-header {
		top: 0;
	}
}

.site-header > .wrap {
	display: flex;
	align-items: stretch;
    justify-content: space-between;
	gap: min(6rem, 4.44vw);
}

.title-area {
	display: flex;
	align-items: center;
	width: min(18rem, 11.1vw);
	padding: 1rem 0;
}

.title-area a {
	position: relative;
	display: flex;
	width: 100%;
	height: fit-content;
	max-height: 60px;
}

.title-area a img {
    object-fit: contain;
    object-position: left center;
    width: 100%;
    height: 100%;
}

.title-area a img.primary {
	opacity: 1;
	transition: 0.25s ease-in-out opacity;
}

.title-area a img.secondary {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	transition: 0.25s ease-in-out opacity;
}

.site-header.shrink .title-area a img.primary {
	opacity: 0;
}

.site-header.shrink .title-area a img.secondary {
	opacity: 1;
}

.nav-primary {
    flex: 1;
	display: flex;
    align-items: center;
	gap: 3rem;
	transition: none;
}

.nav-primary > .wrap {
	display: flex;
    align-items: center;
	justify-content: space-between;
    gap: min(6rem, 4.44vw);
	width: 100%;
	max-width: 100%;
	height: 100%;
	margin: 0;
}

.nav-primary .menu {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: min(3.1rem, 2.3vw);
	height: 100%;
	margin: 0;
	pointer-events: all;
	opacity: 1;
	transition: 0.25s ease-in-out opacity;
}

.nav-primary .menu.fade-out {
	pointer-events: none;
	opacity: 0;
}

.nav-primary .menu > .menu-item {
    display: flex;
    align-items: center;
	gap: 0.5rem;
    padding: 3.75rem 0;
	transition: 0.25s ease-in-out all;
}

.site-header.shrink .nav-primary .menu > .menu-item {
    padding: 2.75rem 0;
}

.nav-primary .menu > .menu-item > p,
.nav-primary .menu > .menu-item > a {
	display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: min(1.5rem, 1.11vw);
    font-weight: 500;
	line-height: 2.5rem;
    margin: 0;
    transition: 0.25s ease-in-out color;
}

.nav-primary .menu > .menu-item.menu-item-has-children > p:after,
.nav-primary .menu > .menu-item.menu-item-has-children > a:after {
	content: '\f107';
	display: none;
	font-weight: 400;
	font-family: 'Font Awesome 6 Pro';
}

.primary-menu-ctas .gb-layout-column-wrap {
    display: flex;
    align-items: center;
    gap: 3rem;
}

.primary-menu-ctas .gb-block-layout-column {
	flex: 1 1 fit-content;
}

.mobile-menu-logo {
	display: none;
}

.site-header .progress-bar-container {
	position: absolute;
	background-color: transparent;
	display: block;
	width: 100%;
	height: 4px;
	top: auto;
	bottom: 0;
	left: 0;
}

.site-header .progress-bar {
	background-color: #000;
    display: block;
    width: 0%;
    height: 100%;
    transition: none;
}

/* ## Footer
--------------------------------------------- */









.site-footer > .wrap {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.site-footer-credits.standalone {
    background-color: #efefef;
    padding: 1.5rem 0;
}

.footer-credits p {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-size: 1.5rem;
    font-weight: 500;
}

.footer-credits p .separator {
	font-size: 2rem;
	line-height: 0;
	margin: 0 0 0.25rem;
}



/* ## Utility
--------------------------------------------- */













/* ## Blocks
--------------------------------------------- */

/* Breadcrumbs */

.custom-breadcrumbs .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem;
    margin: 0 0 6rem;
    padding: 0;
}

.custom-breadcrumbs .breadcrumb > span {
    display: flex;
    color: #000;
    font-size: 1.5rem;
    font-weight: 500;
}

.custom-breadcrumbs .breadcrumb > a {
    display: flex;
}

/* Button */

.custom-button {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: fit-content;
}

.custom-button.align-left {
	align-items: flex-start;
}

.custom-button.align-right {
	align-items: flex-end;
}

.entry-content .custom-button {
    margin: 1rem 0 0;
}

/* Client Logos */

/* Consultation Steps */

/* Custom Image */

/* Home Page Video */

/* Menu Widget */

/* Recent Articles */

/* Search Widget */

.search-widget {
	position: relative;
}

.search-widget[data-search-type="menu"] .search-widget--form {
    position: absolute;
	min-width: 300px;
    right: calc(100% + 3rem);
    pointer-events: none;
	opacity: 0;
    transition: 0.25s ease-in-out opacity;
    z-index: -99;
}

.search-widget[data-search-type="menu"][data-menu-active="true"] .search-widget--form {
	pointer-events: all;
	opacity: 1;
	z-index: 99;
}

.search-widget .search-widget--toggle {
    display: flex;
    width: 30px;
    height: 30px;
}

.search-widget .search-widget--toggle span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 2rem;
	pointer-events: all;
	cursor: pointer;
	opacity: 1;
	transition: 0.25s ease-in-out all;
}

.search-widget .search-widget--toggle span.hide {
	position: absolute;
    top: 0;
    left: 0;
	pointer-events: none;
	cursor: default;
	opacity: 0;
}

.search-widget[data-menu-active="true"] .search-widget--toggle span.show {
	pointer-events: none;
	cursor: default;
	opacity: 0;
}

.search-widget[data-menu-active="true"] .search-widget--toggle span.hide {
	pointer-events: all;
	cursor: pointer;
	opacity: 1;
}

.search-widget .search-form {
    display: flex;
    flex-wrap: wrap;
    row-gap: 1rem;
	width: fit-content;
}

.search-widget .search-form-label {
	flex: 1 1 100%;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
}

.search-widget .submit-container {
    background-color: #000;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
}

.search-widget .submit-container .search-form-cta {
	display: flex;
}

.search-widget .submit-container svg {
    color: #fff;
	width: 1.6rem;
    height: 1.6rem;
}

.search-widget .submit-container input[type='submit'] {
	background-color: transparent;
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
}

.search-widget input[type='submit'].hidden {
	display: none;
}

/* Socials */

.custom-socials {
    display: flex;
    align-items: center;
    justify-content: center;
    /* margin: 0 auto; */
    gap: 2rem;
    width: fit-content;
}

.custom-social--link {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 1;
}

.custom-social--link svg {
    aspect-ratio: 1 / 1;
    color: #222;
    width: 2.4rem;
    height: 2.4rem;
    transition: 0.25s ease-in-out all;
}

.custom-social--link:hover svg {
    color: #555;
}

/* Team Members */


/* ## Custom CSS
--------------------------------------------- */

/* Variables (Edit First!) */

:root {
	--theme-wrap-width: 92%;
	--theme-wrap-max-width: 1280px;
	--theme-wrap-padding-mobile: 4vw;
	--theme-section-padding: 8rem;
	--theme-section-padding-mobile: 9rem;
	/* --roadmap-primary-green: #1e353a;
	--roadmap-teal-green: #3ba99c;
	--roadmap-dark-green: #172c31; */
    --roadmap-primary-green: #000033;
	--roadmap-teal-green: #2E9CCA;
	--roadmap-dark-green: #262626;
    --roadmap-grey: #AFABAB;
}

.image-mosaic .image-mosaic--bottom-center {
    background-color: var(--roadmap-teal-green);
    /* background-color: var(--roadmap-primary-green); */
    opacity: 0.4;
}

.image-mosaic .image-mosaic--bottom-right {
    background-color: var(--roadmap-teal-green);
    /* background-color: var(--roadmap-primary-green); */
    opacity: 0.7;
}

.image-mosaic .image-mosaic--middle {
    background-color: var(--roadmap-teal-green);
    /* background-color: var(--roadmap-primary-green); */
}


/* Header */

.menu-toggle {
	display: none;
}

.sub-menu-toggle {
    display: none;
}

@media (min-width: 1024px) {
    .nav-primary .menu > .menu-item {
        position: relative;
    }

    .nav-primary .menu > .menu-item.mega-menu {
        position: initial;
    }

	.nav-primary .primary-menu-ctas a.button {
		background-color: var(--roadmap-primary-green);
        font-size: min(1.5rem, 1.11vw);
		font-weight: 700;
		padding: min(1.25rem, 0.93vw) min(2rem, 1.48vw);
        transition: 0.25s ease-in-out filter;
	}

    	.nav-primary .primary-menu-ctas a.button:hover {
		background-color: var(--roadmap-teal-green);
	}

	.nav-primary .mega-menu-container,
    .nav-primary .menu > .menu-item > .sub-menu {
        background-color: #fff;
        position: absolute;
        display: flex;
        width: auto;
        height: auto;
        top: 100%;
        left: -9999px;
        border: solid 1px #fff;
        border-top: 1px solid #dbdbdb;
        border-radius: 0;
        box-shadow: 0px 8px 19px -4px rgba(0, 0, 0, 0.17);
		clip-path: inset(0 -2rem -2rem -2rem);
        opacity: 0;
        overflow: hidden;
        pointer-events: none;
		transition: 0.25s ease-in-out opacity, 0s 0.25s ease-in-out left;
        z-index: 1;
    }

    .nav-primary .mega-menu-container {
		background-color: #fff;
		/* width: 100%; */
        width: 1000px;
        transform: translateX(-50%);
		height: auto;
        /* max-height: calc(92vh - 150px); */
        /* max-height: calc(92vh - 118px); */
        max-height: calc(92vh - 95px);
        clip-path: inset(0 0 -2rem 0);
		overflow: scroll;
    }

    .nav-primary .menu > .menu-item > .sub-menu {
        flex-direction: column;
        gap: 1.5rem;
        width: 100%;
        min-width: 225px;
        margin: 0;
        padding: 2.5rem 3rem;
    }

    .nav-primary .menu > .menu-item > .sub-menu:after {
        position: absolute;
    }

    .nav-primary .menu > .menu-item > .sub-menu > .menu-item {
        list-style: none;
    }

    .nav-primary .menu > .menu-item > .sub-menu > .menu-item > a {
        width: fit-content;
        font-size: 1.4rem;
        font-weight: 500;
    }

    .nav-primary .mega-menu:hover > .mega-menu-container,
    .nav-primary .menu > .menu-item:hover > .sub-menu {
		/* left: 0; */
        left: 50%;
		opacity: 1;
        /* box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; */
		pointer-events: all;
		transition: 0.25s ease-in-out opacity, 0s ease-in-out left;
	}

    .nav-primary .menu > .menu-item:hover > .sub-menu {
        left: 0%;
    }

    .nav-primary .mega-menu-wrap {
        display: flex;
        flex-wrap: wrap;
        width: var(--theme-wrap-width);
        max-width: var(--theme-wrap-max-width);
        margin: 0 auto;
    }

    .nav-primary .mega-menu-wrap--menu {
		flex: 1 1 calc(100% - 400px - 4rem);
        position: relative;
		display: flex;
        flex-direction: column;
        gap: 2.5rem;
        width: 100%;
        min-height: 320px;
        height: 100%;
        padding: 4rem 4rem 4rem 0;
		overflow: hidden;
    }

	.nav-primary .mega-menu-wrap--menu > .sub-menu {
        /* display: flex; */
        display: grid;        
        grid-template-columns: repeat(2, 1fr);
		gap: 4rem;
        margin: 0;
	}

	.nav-primary .mega-menu-wrap--menu > .sub-menu > .menu-item {
		list-style-type: none;
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
	}

	.nav-primary .mega-menu-wrap--menu > .sub-menu > .menu-item > a {
        width: fit-content;
        /* color: var(--roadmap-teal-green); */
        color: #000;
		font-size: 1.5rem;
		font-weight: 600;
		line-height: 1.3;
	}

    .nav-primary .mega-menu-wrap--menu > .sub-menu > .menu-item > a > span {
        position: relative;
    }

    .nav-primary .mega-menu-wrap--menu > .sub-menu > .menu-item > a > span::before {
        content: '';
        background-color: var(--roadmap-teal-green);
        position: absolute;
        width: 40%;
        min-width: 6rem;
        height: 3px;
        top: calc(100% - -10px);
        left: 0;
        border-radius: 50px;
    }

    .nav-primary .mega-menu-wrap--menu > .sub-menu > .menu-item > a:hover {
        filter: brightness(1.1);
    }

    .nav-primary .mega-menu-wrap--menu .sub-menu .sub-menu {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        margin: 0;
    }

    .nav-primary .mega-menu-wrap--menu .sub-menu .sub-menu .menu-item {
        list-style-type: none;
    }

    .nav-primary .mega-menu-wrap--menu .sub-menu .sub-menu .menu-item a {
        font-size: 1.4rem;
        font-weight: 500;
    }

    .nav-primary .menu > .menu-item.current-menu-item > a {
        color: var(--roadmap-teal-green);
        pointer-events: none;
        cursor: default;
    }

    .nav-primary .mega-menu-wrap--article {
        flex: 1 1 calc(400px + 4rem);
    }

    .nav-primary .menu-article {
        width: calc(100% + 4vw);
        height: 100%;
    }

    .nav-primary .menu-article--link {
        background-color: var(--roadmap-primary-green);
        display: block;
        width: 100%;
        height: 100%;
    }

    .nav-primary .menu-article--link:hover {
        /* background-color: #2c4c54; */
        /* background-color: var(--roadmap-grey); */
        opacity: 0.9;
    }

    .nav-primary .menu-article--inner {
        display: flex;
        flex-wrap: wrap;
        gap: 2.5rem;
        width: 100%;
        max-width: 440px;
        padding: 4rem 0 4rem 4rem;
    }

    .nav-primary .menu-article--heading {
        flex: 1 1 100%;
    }

    .nav-primary .menu-article--heading p {
        color: var(--roadmap-teal-green);
        font-size: 1.5rem;
        font-weight: 600;
        line-height: 1.3;
    }

    .nav-primary .menu-article--image {
        flex: 1 1 calc(40% - 1.25rem);
        display: block;
        overflow: hidden;
    }

    .menu-article--image img {
        aspect-ratio: 3 / 2;
        display: block;
        object-fit: contain;
        object-position: top left;
        width: 100%;
        height: auto;
    }

    .nav-primary .menu-article--content {
        flex: 1 1 calc(60% - 1.25rem);
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
    }

    .nav-primary .menu-article--content-title p {
        color: #fff;
        font-size: 1.5rem;
        font-weight: 600;
    }

    .nav-primary .menu-article--content-description p {
        color: #fff;
        font-size: 1.3rem;
        opacity: 0.7;
    }

    .nav-primary .menu-article--cta p {
        display: flex;
        align-items: center;
        gap: 1.5rem;
        color: #fff;
        font-size: 1.5rem;
        font-weight: 700;
        transition: 0.25s ease-in-out all;
    }

    .nav-primary .menu-article--link:hover .menu-article--cta p {
        gap: 2rem;
    }
}

@media (min-width: calc(1280px / 0.9)) {
    .nav-primary .menu-article {
        width: calc(100% + (50vw - 640px));
    }
}


/* Home Page */

/* .front-page-1 > .gb-layout-column-wrap {
    grid-template-columns: 1fr 47.5%;
}

.front-page-1 > .gb-layout-column-wrap > .gb-block-layout-column:first-child {
    padding: 5rem 0 0;
}

.front-page-1 > .gb-layout-column-wrap > .gb-block-layout-column:last-child {
    position: relative;
}

.front-page-1 > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
    position: absolute;
    width: calc(100% + 4vw);
    height: calc(100% + (var(--theme-section-padding) * 2));
    top: calc(var(--theme-section-padding) * -1);
    left: 0;
}

.entry-content .front-page-1 p {
	font-size: 1.9rem;
}

@media (min-width: calc(1280px / 0.9)) {
	.front-page-1 > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
		width: calc(100% + calc(50vw - 640px));
	}
}

@media (min-width: 1800px) {
	.front-page-1 > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
		width: 100%;
	}
} */

.front-page-1 .wp-block-cover .wp-block-cover__inner-container {
    width: 50%;
    margin-right: auto;
    padding: 6rem;
}

.entry-content > .front-page-1.wp-block-genesis-blocks-gb-columns {
    padding: unset;
}

.entry-content > .front-page-1.wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap {
    width: unset;
    max-width: unset;
    margin: unset;
}


.image-mosaic {
	position: relative;
    display: flex;
    flex-direction: column;
	justify-content: flex-end;
    height: 100%;
	min-height: 600px;
}

.image-mosaic--top {
    position: absolute;
    display: flex;
	width: 87%;
	height: calc(100% - 280px);
	top: 0;
	left: auto;
	right: 0;
}

.image-mosaic--top img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
}

.image-mosaic--middle {
	background-color: var(--mosaic-bg-color);
	height: 140px;
}

.image-mosaic--bottom {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	height: 140px;
}

.image-mosaic--bottom-left {
	background-color: #fff
}

.image-mosaic--bottom-center {
	background-color: var(--mosaic-bg-color);
	opacity: 0.4;
}

.image-mosaic--bottom-right {
	background-color: var(--mosaic-bg-color);
	opacity: 0.7;
}

.two-part-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    gap: 6rem;
}

/* .two-part-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner > .gb-block-container:first-child {
	max-width: 600px;
	margin: 0;
} */

.two-part-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner > .gb-block-container:first-child {
	max-width: 600px;
	margin: 0 auto;
    text-align: center;
}

.two-part-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner > .gb-block-container:first-child p {
    text-align: center;
}

.two-part-section.centered > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner > .gb-block-container:first-child {
	margin: 0 auto;
}

.two-part-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner > .gb-block-container:first-child p {
	/* line-height: 1.2; */
    line-height: 1.5;
    margin-top: 0;
}

.icon-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.icon-card {
    display: grid;
    grid-template-rows: repeat(2, 1fr);
}

.icon-card .box {
    background-color: #fff;
	display: flex;
	flex-wrap: wrap;
    align-items: center;
	row-gap: 1.5rem;
    column-gap: 2.5rem;
	height: 100%;
    padding: 4.5rem 3rem;
    box-shadow: 0px 19px 37.2px 0px rgba(0, 0, 0, 0.03);
}

.icon-card .box-icon {
    flex: 1 1 40px;
	display: flex;
}

.icon-card .box-icon i,
.icon-card .box-icon svg {
    color: var(--roadmap-teal-green);
    width: 40px;
    height: 40px;
}

.icon-card .box-copy {
    flex: 1 1 calc(100% - 2.5rem - 40px);
}

.icon-card .box-copy--number p {
    color: #000;
    font-size: 6rem;
    font-weight: 700;
    line-height: 1.4;
}

.icon-card .box-copy--tagline p {
    color: #000;
    font-weight: 500;
    font-size: 2rem;
}

.icon-card:nth-child(2n) .box {
    /* background-color: var(--roadmap-teal-green); */
    background-color: var(--roadmap-primary-green);/* WCAG Compliance */
}

.icon-card:nth-child(2n) .box-icon i,
.icon-card:nth-child(2n) .box-icon svg,
.icon-card:nth-child(2n) .box-copy--number p,
.icon-card:nth-child(2n) .box-copy--tagline p {
	color: #fff;
}

.icon-card:nth-child(2n) .box-icon svg {
    color: var(--roadmap-teal-green);
}

.service-boxes {
    display: grid;
    grid-template-rows: repeat(2, 1fr);
    grid-template-columns: repeat(3, 1fr);
	gap: 4rem;
}

.service-box {
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.service-box--link {
    background-color: var(--roadmap-primary-green);
	position: relative;
	display: flex;
    flex-direction: column;
    gap: 2rem;
	width: 100%;
    height: 100%;
    padding: 18rem 3rem 3rem;
}

.service-box--link:before {
	content: '';
	/* background-image: url('/wp-content/themes/roadmap-advisors/assets/images/svg/rectangles.svg'); */
    background-image: url('/wp-content/themes/roadmap-advisors/assets/images/svg/rectangles-blue.svg');
	background-position: top right;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	display: block;
	width: 100%;
	height: 150px;
	top: 0;
	left: 0;
	transition: 0.25s ease-in-out all;
}

.service-box--link:hover {
    /* background-color: #2c4c54; */
    /* background-color: var(--roadmap-grey); */
    opacity: 0.9;
}

.service-box--link:hover:before {
	height: 170px;
}

.service-box--title h3 {
	color: #fff;
    font-size: 2.2rem;
}

.service-box--description p {
	color: #fff;
}

.service-box--cta p {
    display: flex;
    align-items: center;
    gap: 1rem;
	color: #fff;
    font-weight: 600;
	transition: 0.25s ease-in-out all;
}

.service-box--link:hover .service-box--cta p {
    gap: 1.5rem;
}

.industry-panels {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.industry-panel {
    aspect-ratio: 1 / 1;
    display: flex;
    overflow: hidden;
}

.industry-panel--link {
    background-color: #fff;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
	width: 100%;
    height: 100%;
	padding: 0 3.5rem 2rem 0;
	z-index: 1;
}

.industry-panel--image {
    position: absolute;
    display: flex;
    width: 100%;
    height: 100%;
	top: 0;
    left: 0;
    overflow: hidden;
    z-index: 2;
}

.industry-panel--image:before {
    content: '';
    background-color: #000;
	position: absolute;
	display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.2;
	transition: 0.25s ease-in-out all;
    z-index: 1;
}

.industry-panel--link:hover .industry-panel--image:before {
    opacity: 0.02;
}

.industry-panel--image img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
}

.industry-panel--title {
    background-color: var(--roadmap-primary-green);
    position: relative;
	display: flex;
    align-items: center;
    padding: 1.5rem 2.5rem;
    z-index: 3;
}

.industry-panel--title h3 {
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.2;
}

.industry-panels.large .industry-panel {
    aspect-ratio: 3 / 5;
}

.industry-panels.large .industry-panel--link {
	padding: 0 4rem 3.5rem 0;
}

.industry-panels.large .industry-panel--title h3 {
    font-size: 2.2rem;
}

.dynamic-content-box {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 4rem;
}

.dynamic-content-box--select ul {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin: 0;
}

.dynamic-content-box--select ul li {
    list-style: none;
    background-color: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 3rem;
    border-radius: 0.8rem;
	pointer-events: all;
	cursor: pointer;
    text-align: center;
	transition: 0.25s ease-in-out all;
}

.dynamic-content-box--select ul li:not(.active):hover {
	background-color: #f9f9f9;
}

.dynamic-content-box--select ul li.active {
	background-color: var(--roadmap-primary-green);
	color: #fff;
	pointer-events: none;
	cursor: default;
}

.dynamic-content-box--area {
    background-color: #fff;
    display: grid;
    padding: 0 4rem;
}

.dcb-section {
    grid-row: 1;
    grid-column: 1;
	display: flex;
    flex-direction: column;
    gap: 4rem;
	opacity: 0;
	transition: 0.25s ease-in-out opacity;
	z-index: 0;
}

.dcb-section.active {
	opacity: 1;
	z-index: 1;
}

.dcb-section--title {
    position: absolute;
}

.dcb-section--image {
    display: flex;
    width: 100%;
    height: 200px;
}

.dcb-section--image img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
    border-radius: 0.8rem;
}

.entry-content .dcb-section--copy p {
    font-size: 1.9rem;
    line-height: 1.2;
}

.entry-content > .front-page-6 > .gb-layout-column-wrap {
    background-color: #fff;
    gap: 5rem;
    /* padding: 4rem 3rem; */
    padding: 0 3rem;
    /* padding: 0 3rem 0 0; */
    border-radius: 0.9rem;
    overflow: hidden;
}

@media (max-width: 895px) {
    .entry-content > .front-page-6 > .gb-layout-column-wrap {
        padding: 3rem;
    }
}

.front-page-6 > .gb-layout-column-wrap > .gb-block-layout-column:last-child {
	padding: 4rem 0;
}

.front-page-6 .google-map-embed,
.front-page-6 .google-map-embed--wrapper {
    height: 100%;
}

.front-page-6 .google-map-embed iframe {
    display: block;
    width: 100%;
    height: 100%;
    /* border: 1px solid #dbdbdb !important; */
    /* border-radius: 0.8rem;
    box-shadow: 0px 3px 9px -2px rgba(0, 0, 0, 0.22); */
}

.front-page-6 h2 {
	font-size: 4.5rem;
}

.gform_wrapper.gravity-theme .gform_heading {
    display: none;
}

.gform_wrapper.gravity-theme .gform_fields,
.gform_wrapper.gravity-theme .gfield .ginput_container {
    row-gap: 2.5rem;
    column-gap: 1.75rem;
}

.gform_wrapper.gravity-theme .gfield .ginput_container > span {
    padding: 0 !important;
}

.gform_wrapper.gravity-theme .gfield .ginput_container > span:last-child {
    margin: 0;
}

.gform_wrapper.gravity-theme .gfield_label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
	color: #242424;
    font-size: 1.5rem;
    font-weight: 600;
}

.gform_wrapper.gravity-theme .gfield_label .gfield_required {
    font-size: inherit;
    line-height: inherit;
    padding: 0;
}

.gform_wrapper.gravity-theme .gfield input,
.gform_wrapper.gravity-theme .gfield select,
.gform_wrapper.gravity-theme .gfield textarea {
	height: auto;
	color: #000;
	font-size: 1.5rem;
	line-height: 1;
	padding: 12px !important;
	border: 1px solid #c8c8c8;
	border-radius: 0.8rem;
	outline: none;
	transition: 0.25s ease-in-out border-color;
}

.gform_wrapper.gravity-theme .gfield input::placeholder,
.gform_wrapper.gravity-theme .gfield select::placeholder,
.gform_wrapper.gravity-theme .gfield textarea::placeholder {
	color: #6a6a6a;
}

.gform_wrapper.gravity-theme .gfield input:-moz-placeholder,
.gform_wrapper.gravity-theme .gfield select:-moz-placeholder,
.gform_wrapper.gravity-theme .gfield textarea:-moz-placeholder {
	color: #6a6a6a;
}

.gform_wrapper.gravity-theme .gfield input:-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gfield select:-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gfield textarea:-webkit-input-placeholder {
	color: #6a6a6a;
}

.gform_wrapper.gravity-theme .gfield input:focus,
.gform_wrapper.gravity-theme .gfield select:focus,
.gform_wrapper.gravity-theme .gfield textarea:focus {
	border-color: var(--roadmap-teal-green);
}

.gform_wrapper.gravity-theme .gfield textarea.small {
    height: 120px;
}

.gform_wrapper.gravity-theme .gform_footer {
    margin: 3rem 0 0;
    padding: 0;
}

.front-page-6 .gform_wrapper.gravity-theme .gform_footer input[type='submit'] {
    padding: 1.6rem 5.5rem;
}

.site-footer-widgets {
    /* background-color: #172c31; */
    background-color: var(--roadmap-primary-green);
	padding: 8rem 0;
}

.site-footer-widgets > .wrap {
    display: flex;
    flex-direction: column;
}

.site-footer-widgets .wp-block-genesis-blocks-gb-columns.gb-has-custom-background-color {
    background-color: transparent !important;
}

.site-footer-widgets > .wrap > .widget .gb-layout-column-wrap {
    grid-template-columns: 350px 1fr;
    gap: 6rem;
}

.site-footer-widgets > .wrap > .widget .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.site-footer-widgets .wp-block-image {
	display: flex;
	max-width: 200px;
	margin: 0;
}

.site-footer-widgets .footer-address p a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #fff;
    font-weight: 500;
    margin: 0.5rem 0 0;
}

.site-footer-widgets .footer-address p a:before {
    content: '\f095';
    display: none;
    font-weight: 900;
    font-family: 'Font Awesome 6 Pro';
}

.site-footer .custom-social--link svg {
    color: #fff;
}

.site-footer-widgets .footer-disclaimer p {
    font-size: 1.3rem;
	margin: 0;
}

.site-footer-widgets .footer-disclaimer p a {
    color: #fff;
    font-weight: 500;
    text-decoration: underline;
}

.site-footer .menu {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem;
    margin: 0;
}

.site-footer .menu > .menu-item {
    list-style-type: none;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.site-footer .menu > .menu-item > p,
.site-footer .menu > .menu-item > a {
    color: var(--roadmap-teal-green);
    font-weight: 600;
	margin: 0;
}

.site-footer .menu > .menu-item > .sub-menu {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 0;
}

.site-footer .menu > .menu-item > .sub-menu > .menu-item {
    list-style-type: none;
}

.site-footer .menu > .menu-item > .sub-menu > .menu-item.menu-cta {
	display: flex;
    margin: 2rem 0 0;
}

.site-footer .menu > .menu-item > .sub-menu > .menu-item > a {
    color: #fff;
    font-size: 1.5rem;
}

.site-footer .menu > .menu-item > .sub-menu > .menu-item.menu-cta > a {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    padding: 1.25rem 2rem;
    border: 1.5px solid #fff;
    border-radius: 0.8rem;
}

.site-footer .menu > .menu-item > .sub-menu > .menu-item.menu-cta > a:hover {
    background-color: rgba(255, 255, 255, 0.05);
}

.site-footer .footer-credits {
    border-top: 2.5px solid var(--roadmap-teal-green);
    padding: 3rem 0 0;
}

.site-footer .footer-credits p {
	flex-wrap: wrap;
	justify-content: flex-start;
	row-gap: 1.5rem;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 400;
}

.site-footer .footer-credits p a {
    color: #fff;
    font-weight: 600;
}

@media (min-width: 896px) {
	.site-footer .footer-credits p {
		justify-content: center;
		column-gap: 3rem;
	}

	.site-footer .footer-credits .separator {
		display: none;
	}

	.site-footer .footer-credits .credit:nth-child(3) {
		margin-right: auto;
	}
}

/* Single Page */

.entry-content > .header-section {
    background-position: center center;
    padding: 8rem 0;
}

.header-section:before {
    opacity: 0.7;
}

.header-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    gap: 3.5rem;
}

.header-section h1 {
    margin: 0;
}

.header-section .custom-breadcrumbs .breadcrumb {
    margin: 0;
}

.header-section .custom-breadcrumbs .breadcrumb {
    gap: 1rem;
    margin: 0;
}

.header-section .custom-breadcrumbs .breadcrumb span {
    color: #fff;
    font-weight: 400;
    line-height: 1;
    transition: 0.25s ease-in-out all;
}

.header-section .custom-breadcrumbs .breadcrumb span.breadcrumb-separator {
    font-weight: 700;
}

.header-section .custom-breadcrumbs .breadcrumb .breadcrumb-link:hover span {
    opacity: 0.9;
}

.header-section .custom-breadcrumbs .breadcrumb svg {
    color: var(--roadmap-teal-green);
    transition: 0.25s ease-in-out all;
}

.header-section .custom-breadcrumbs .breadcrumb .breadcrumb-link:hover svg {
    color: #fff;
}

.entry-content > .header-section.with-form {
	padding: 0;
}

.header-section.with-form > .gb-layout-column-wrap > .gb-block-layout-column:first-child {
    padding: 12rem 0;
}

@media (max-width: 895px) {
    .header-section.with-form > .gb-layout-column-wrap > .gb-block-layout-column:first-child {
        padding: 8rem 0;
    }

        .header-section.with-form > .gb-layout-column-wrap {
        gap: 2rem;
    }
}

.header-section.with-form > .gb-layout-column-wrap > .gb-block-layout-column:last-child {
    position: relative;
}

.header-section.with-form > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
    background-color: #fff;
	justify-content: center;
	/* height: calc(100% - 3.2rem); */
    height: 100%;
    position: relative;
	margin: 3.2rem 0 0;
    padding: 4rem 3rem;
    border-radius: 0.9rem;
    box-shadow: 0px 4px 58.5px 0px rgba(0, 0, 0, 0.2);
	/* transform: translateY(3rem); */
}

.candidate-application.header-section.with-form > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
    box-shadow: unset;
    background-color: unset;
}

.entry-content .header-section .form-cta p {
    color: #242424;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.2;
}

.header-section .gform_wrapper.gravity-theme .gform_fields .gfield.gfield--type-captcha {
	min-height: 78px;
    margin: 1rem 0 0;
}

.entry-content > .header-section.with-form + .wp-block-genesis-blocks-gb-columns {
	margin: 8rem 0 0;
}

.entry-content > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner > .wp-block-image:only-child img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
    border-radius: 0.8rem;
}

.benefits-boxes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.5rem;
}

.no-heading-top-section .benefits-boxes {
    grid-template-columns: repeat(4, 1fr);
}

.benefits-box {
    background-color: #f4f4f4;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    padding: 4rem;
    border-radius: 0.8rem;
}

.benefits-box--heading h3 {
    font-size: 2rem;
    line-height: 1.2;
    text-align: center;
}

.benefits-box--icon {
    order: -1;
	display: flex;
    justify-content: center;
    height: 50px;
    padding: 3rem 0;
    box-sizing: content-box;
}

.benefits-box--icon svg {
    color: var(--roadmap-teal-green);
    height: 50px;
}

.benefits-box--copy p {
    line-height: 1.32;
    text-align: center;
}

.single-blog-loop {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 4rem;
    column-gap: 2.5rem;
}

.single-blog--link {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.single-blog--image {
    aspect-ratio: 19 / 11;
    display: flex;
    border-radius: 0.8rem;
    overflow: hidden;
}

.single-blog--image img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
    transition: 0.7s cubic-bezier(0.23, 0.14, 0.19, 1) transform;
}

.single-blog--link:hover .single-blog--image img {
    transform: scale3d(1.2, 1.2, 1.2);
}

.single-blog--topic {
    margin: 1.5rem 0 0.5rem;
}

.single-blog--topic p {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    color: #000;
    font-size: 1.4rem;
    font-weight: 600;
}

.single-blog--topic p span {
    display: flex;
}

.single-blog--topic p svg {
    width: 3.2rem;
    height: 3.2rem;
    color: var(--roadmap-teal-green);
    padding: 0.65rem;
    border: 1.5px solid;
    border-radius: 50%;
    box-sizing: border-box !important;
}

.single-blog--title {
    margin: 1.5rem 0 0;
}

.single-blog--topic + .single-blog--title {
    margin: 0;
}

.single-blog--title h2,
.single-blog--title h3 {
    color: #000;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
    transition: 0.25s ease-in-out color;
}

.single-blog--link:hover .single-blog--title h2,
.single-blog--link:hover .single-blog--title h3 {
    color: var(--roadmap-teal-green);
}

.single-blog--description p {
    color: #000;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.single-blog--description p .read-more {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--roadmap-teal-green);
    font-size: 1.7rem;
    font-weight: 700;
    transition: 0.25s ease-in-out all;
}

.single-blog--link:hover .single-blog--description p .read-more {
    filter: brightness(1.1);
    gap: 1.25rem;
}

.entry-content .cta-section h2 {
    font-size: 4.5rem;
}

.entry-content .cta-section p {
    font-size: 1.7rem;
}

.entry-content .cta-section .custom-button a.button {
    padding: 1.5rem 3.2rem;
}

.cta-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child {
    position: relative;
}

.cta-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
    position: absolute;
    display: flex;
    width: calc(100% + 4vw - 4rem);
    height: calc(100% + var(--theme-section-padding) + 4rem);
    top: calc(var(--theme-section-padding) * -1);
    left: 0;
    margin-left: 4rem;
    border-bottom-left-radius: 4.9rem;
    overflow: hidden;
}

.cta-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child .wp-block-image {
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.cta-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child .wp-block-image img {
    border-radius: 0 !important;
}

@media (min-width: calc(1280px / 0.9)) {
	.cta-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
		width: calc(100% + calc(50vw - 640px));
	}
}

@media (min-width: 1800px) {
	.cta-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
		width: 100%;
	}
}

.cta-section {
    background-color: #262626 !important;
}

/* Blog Archive Page */

.blog-archive {
    display: flex;
    flex-direction: column;
    gap: 6rem;
}

.blog-archive--pagination {
    margin: 4rem 0 0;
}

.blog-filter--dropdown ul,
.blog-archive--pagination ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    width: 100%;
    margin: 0;
}

.blog-archive--pagination ul li {
    list-style-type: none;
}

.blog-filter--dropdown ul li,
.blog-archive--pagination ul li span,
.blog-archive--pagination ul li a {
    list-style-type: none;
    color: #000;
    font-weight: 500;
    padding: 0.8rem 1.6rem;
    border-radius: 0.6rem;
    pointer-events: all;
    cursor: pointer;
    overflow: hidden;
    transition: 0.25s ease-in-out all;
}

.blog-filter--dropdown ul li:not([data-selected='true']):hover,
.blog-archive--pagination ul li a:hover {
    background-color: #f2f2f2;
}

.blog-filter--dropdown ul li[data-selected='true'],
.blog-archive--pagination ul li span {
    background-color: var(--roadmap-teal-green);
    color: #fff;
    font-weight: 700;
    pointer-events: none;
    cursor: default;
}











/* ## Menu Toggle
--------------------------------------------- */
@media (max-width: 1024px) {

.menu-toggle {
	padding: 1em 0.5em;
	margin-right: -0.5em;
	cursor: pointer;
	background: transparent;
	-webkit-box-shadow: none;
	box-shadow: none;
	display: block;
	height: auto;
	position: relative;
	color: #2a3139;
	z-index: 9999;
}

.menu-toggle:hover,
.menu-toggle:focus {
	background: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	color: #2a3139;
}

.menu-toggle.active,
.shrink .menu-toggle {
	color: #2a3139;
}

.menu-toggle.active span,
.shrink .menu-toggle span {
	background: #2a3139;
}

.menu-toggle.active span:before,
.menu-toggle.active span:after,
.shrink .menu-toggle span:before,
.shrink .menu-toggle span:after {
	background: #2a3139;
}

.menu-toggle span {
	display: block;
	float: right;
	position: relative;
	height: 2px;
	background: #2a3139;
	width: 20px;
	width: 2rem;
	border-radius: 3px;
	font-size: 0;
}

.menu-toggle span::before,
.menu-toggle span::after {
	position: absolute;
	display: block;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #2a3139;
	border-radius: 3px;
	content: ' ';
}

.menu-toggle span::before {
	top: -5px;
	top: -0.5rem;
	-webkit-transition: top 0.2s 0.2s, -webkit-transform 0.2s 0s;
	transition: top 0.2s 0.2s, -webkit-transform 0.2s 0s;
	-o-transition: top 0.2s 0.2s, transform 0.2s 0s;
	transition: top 0.2s 0.2s, transform 0.2s 0s;
	transition: top 0.2s 0.2s, transform 0.2s 0s, -webkit-transform 0.2s 0s;
}

.menu-toggle span::after {
	bottom: -5px;
	bottom: -0.5rem;
	-webkit-transition: bottom 0.2s 0.2s, -webkit-transform 0.2s 0s;
	transition: bottom 0.2s 0.2s, -webkit-transform 0.2s 0s;
	-o-transition: bottom 0.2s 0.2s, transform 0.2s 0s;
	transition: bottom 0.2s 0.2s, transform 0.2s 0s;
	transition: bottom 0.2s 0.2s, transform 0.2s 0s, -webkit-transform 0.2s 0s;
}

.menu-toggle.active span {
	background: none;
}

.menu-toggle.active span::before {
	top: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: top 0.2s 0s, -webkit-transform 0.2s 0.2s;
	transition: top 0.2s 0s, -webkit-transform 0.2s 0.2s;
	-o-transition: top 0.2s 0s, transform 0.2s 0.2s;
	transition: top 0.2s 0s, transform 0.2s 0.2s;
	transition: top 0.2s 0s, transform 0.2s 0.2s, -webkit-transform 0.2s 0.2s;
}

.menu-toggle.active span::after {
	bottom: 0;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition: bottom 0.2s 0s, -webkit-transform 0.2s 0.2s;
	transition: bottom 0.2s 0s, -webkit-transform 0.2s 0.2s;
	-o-transition: bottom 0.2s 0s, transform 0.2s 0.2s;
	transition: bottom 0.2s 0s, transform 0.2s 0.2s;
	transition: bottom 0.2s 0s, transform 0.2s 0.2s, -webkit-transform 0.2s 0.2s;
}
}

.site-topbar {
	background-color: #f6f8fa;
	border-bottom: 1px solid rgba(198, 202, 206, 0.3);
	border-top: 1px solid rgba(198, 202, 206, 0.3);
	position: relative;
	color: #3f454c;
	height: 40px;
	height: 4rem;
	font-size: 12px;
	font-size: 1.2rem;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.no-js .site-topbar {
	padding-top: 10px;
	padding-top: 1rem;
	padding-bottom: 10px;
	padding-bottom: 1rem;
	height: auto;
}

.nav-primary {
	transition: none;
}

.mobile-menu-ctas {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	width: 100%;
	margin: 36px 0 0;
	padding: 36px 0 7.5em;
	background-color: transparent;
	border-top: 1px solid rgba(198, 202, 206, 0.3);
	clear: both;
}

.menu-item.mobile-only {
	display: none;
}

@media (min-width: 1024px) {
	.mobile-menu-ctas {
		display: none;
	}
}

@media (max-width: 1024px) {
	.site-topbar {
		display: none;
	}

	.nav-primary {
		display: none;
		transition: 0.3s ease-in-out right;
	}

	.nav-primary .menu {
		padding: 5em 0 0;
	}
	
	.menu-item.mobile-only {
		display: block;
	}

    .nav-primary.active,
	.nav-secondary.active {
		display: block;
		left: auto;
		-webkit-box-shadow: 0 0 4rem rgba(42, 49, 57, 0.2);
		box-shadow: 0 0 4rem rgba(42, 49, 57, 0.2);
	}
}

@media (max-width: 767px) {
	.nav-primary.active,
	.nav-secondary.active {
		right: 0;
	}
}

@media (max-width: 1024px) {

	.nav-primary {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		background: #FFFFFF;
		width: 100vw;
		height: 100%;
		overflow-y: auto;
		z-index: 1000;
		padding: 10rem 16rem 4rem;
		flex-direction: column;
		align-items: flex-start;
		transition: all 0.3s ease-in-out;
	}

	.nav-primary.active {
		display: flex;
	}

	.nav-primary .menu {
		display: flex;
		flex-direction: column;
		width: 100%;
		gap: 2rem;
		padding: 0;
		margin: 0;
	}

	.nav-primary .menu > .menu-item {
		padding: 1rem 0;
		border-bottom: 1px solid rgba(0,0,0,0.07);
		width: 100%;
	}

	.nav-primary .menu > .menu-item > a {
		/* color: #2C4C54; */
        color: var(--roadmap-grey);
		font-size: 1.6rem;
		font-weight: 600;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		text-decoration: none;
	}

	header .sub-menu-toggle {
        display: block;
		font-size: 1.4rem;
		cursor: pointer;
		color: #fff;
	}

	.sub-menu-toggle .icon {
		display: inline-block;
		transition: transform 0.3s ease;
		font-size: 2rem;
		line-height: 1;
	}

	.sub-menu-toggle.active .icon {
		transform: rotate(45deg);
	}

    .sub-menu-toggle:before {
        content: '\f078';
        display: none;
        width: 17px;
        height: 17px;
        /* color: #2C4C54; */
        color: var(--roadmap-grey);
        font-size: 17px;
        font-weight: 900;
        font-family: 'Font Awesome 6 Pro';
        line-height: 1;
        margin: 0;
        border: none;
        transition: 0.2s ease-in-out transform;
    }

    .menu-item-has-children a svg,
    .menu-item-has-children p svg {
        display: none;
    }


    .nav-primary .sub-menu {
		display: none;
		flex-direction: column;
		padding: 1rem 0 1rem 1.2rem;
		margin-top: 1rem;
		gap: 1.2rem;
		background: #fafafa;
	}

	.nav-primary .sub-menu.active {
		display: flex;
	}

	.nav-primary .sub-menu .menu-item > a {
		font-size: 1.4rem;
		font-weight: 400;
		color: #444;
		text-decoration: none;
	}

	.mobile-menu-ctas {
		display: flex;
		flex-direction: column;
		gap: 2rem;
		margin-top: 3rem;
		padding-top: 2rem;
		border-top: 1px solid #ddd;
	}

	.mobile-menu-ctas a.button {
		width: 100%;
		padding: 1.2rem 2rem;
		text-align: center;
		font-size: 1.4rem;
		font-weight: 700;
	}

    .menu-article--inner {
        display: none;
    }

    .nav-primary > .wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-direction: column;
        gap: min(6rem, 4.44vw);
        width: 100%;
        max-width: 100%;
        height: fit-content;
        margin: 0;
    }


@media (max-width: 1024px) {
    header .menu-item-has-children {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }

  header .menu-item-has-children > a,
  header .menu-item-has-children > .sub-menu-toggle {
    display: inline-block;
    flex-shrink: 0;
  }

  header .menu-item-has-children > a {
    flex: 1;
  }

  .menu-item-has-children .sub-menu:not(footer .sub-menu) {
    display: none;
    width: 100%;
    margin-top: 0.5rem;
    position: relative !important;
    left: 0 !important;
    top: auto !important;
    background: #fff;
    padding: 0.5rem 1rem;
  }

  .menu-item-has-children.active .sub-menu,
  .menu-item-has-children .sub-menu.active {
    display: block !important;
  }
}
    .mega-menu-container.active ul.sub-menu {
            display: block;
            margin: 0 0 0 1rem;
    }
}

@media (max-width: 1024px) {
  .mega-menu-container {
    display: none;
    width: 100%;
  }

  .mega-menu-container.active {
    display: block !important;
    width: 100% !important;
    margin-top: 1rem;
  }

  .mega-menu-container.active .mega-menu-wrap--menu {
    display: block !important;
    position: relative !important;
    width: 100%;
    left: 0 !important;
    top: auto !important;
    margin-top: 0.5rem;
  }

  .menu-item.mega-menu {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .menu-item.mega-menu > a {
    flex-grow: 1;
  }

  .menu-item.mega-menu > .sub-menu-toggle {
    flex-shrink: 0;
    margin-left: 10px;
  }
}

@media (max-width: 1024px) {
  .mega-menu-wrap--menu li.menu-item-has-children > ul.sub-menu {
    display: none;
  }

  .mega-menu-wrap--menu li.menu-item-has-children > .sub-menu-toggle.active + ul.sub-menu {
    display: block;
    padding-left: 1rem;
    margin-top: 0.5rem;
  }

  .mega-menu-wrap--menu li.menu-item-has-children {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 1rem;
  }

  .mega-menu-wrap--menu li.menu-item-has-children > a {
    flex-grow: 1;
  }

  .mega-menu-wrap--menu li.menu-item-has-children > .sub-menu-toggle {
    margin-left: 10px;
    flex-shrink: 0;
  }

    .title-area a img {
        position: relative;
        z-index: 9999;
    }

    .site-header .wrap .title-area {
        /* width: min(15rem, 14.1vw); */
        width: 15rem;
    }

    .nav-primary .menu > .menu-item > p {
        /* color: #2C4C54; */
        color: var(--roadmap-grey);
        font-size: 1.6rem;
        font-weight: 600;
    }


    .nav-primary button.sub-menu-toggle[aria-expanded="true"] {
        transform: rotate(180deg);
    }

    .nav-primary button.sub-menu-toggle[aria-expanded="false"] {
        transform: rotate(0deg);
    }

}

@media (max-width: 1024px) {
  ul.sub-menu li {
    list-style: none;
  }

  ul.sub-menu li::marker {
    display: none;
  }

}

@media (max-width: 700px) {
    .nav-primary {
        padding: 10rem 8rem 4rem;
    }
}


.wp-block-image.format-images img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
}

.format-tall-images img {
    aspect-ratio: 5 / 5;
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
}


.image-overlay-block {
    position: absolute;
    left: 50%;
    bottom: -9.5rem;
    transform: translateX(-50%);
    max-width: 90%;
    width: 90%;
    background: #ffffff;
    color: #000000;
    padding: 2rem;
    z-index: 10;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    font-family: inherit;
    text-align: left;
}

.image-overlay-block p {
    text-align: center;
    margin-top: 2rem;
}

.wp-block-genesis-blocks-gb-columns.three-column-block.gb-layout-columns-3.gb-3-col-equal {
    padding-bottom: 20rem;
}

@media only screen and (max-width: 896px) {
    .gb-layout-columns-3>.gb-layout-column-wrap.gb-is-responsive-column {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        grid-template-areas:
        "col1"
        "col2"
        "col3";
    }

    .image-overlay-block {
        bottom: -3.5rem;
    }

    .wp-block-genesis-blocks-gb-columns.three-column-block.gb-layout-columns-3.gb-3-col-equal {
        padding-bottom: 10rem;
    }
}

/* === SINGLE POST TEMPLATE STYLES === */
body.single-post-template {
    font-family: 'DM Sans', sans-serif;
}

/* --- HERO SECTION --- */
.single-post-template__hero {
    background-size: cover;
    background-position: center;
    padding: 180px 20px 100px;
    position: relative;
    color: white;
}

.single-post-template__hero-overlay {
    padding: 60px 30px;
    position: relative;
    text-align: center;
    z-index: 1;
}

.single-post-template__hero-content {
    max-width: 800px;
    margin: 0 auto;
}

.single-post-template__hero .category-label {
    color: #fff;
    margin-bottom: 12px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.single-post-template__hero h1 {
    font-weight: 700;
    margin-bottom: 30px;
    line-height: 1.2;
}

.single-post-template__hero .author-info {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 15px;
}

.single-post-template__hero .author-info img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
}

.single-post-template__hero .author-info .text p {
    margin: 2px 0;
}

/* --- CONTENT --- */
.single-post-template .entry {
    max-width: 750px;
    margin: 0 auto;
    padding: 60px 20px;
    font-size: 1.05rem;
    line-height: 1.8;
    color: #222;
}

.single-post-template .entry h2, 
.single-post-template .entry h3, 
.single-post-template .entry h4 {
    margin-top: 2em;
    margin-bottom: 1em;
    font-weight: 600;
}

.single-post-template .entry img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    margin: 20px 0;
}

/* --- TAGS + SHARE SECTION --- */
.single-post-template .entry-footer-section {
    max-width: 750px;
    margin: 60px auto 40px;
    border-top: 1px solid #eee;
    padding-top: 30px;
}

.single-post-template .post-tags {
    margin-bottom: 20px;
}

.single-post-template .post-tags .tag {
    display: inline-block;
    background: #f0f0f0;
    margin-right: 6px;
    margin-bottom: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    color: #333;
}

.single-post-template .share-title {
    margin-bottom: 10px;
    font-weight: 600;
}

.single-post-template .share-icons i {
    font-size: 1.2rem;
    margin-right: 10px;
    cursor: pointer;
}

.single-post-template__hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 0;
    pointer-events: none;
}

/* === Top row layout inside hero === */
.single-post-template__hero-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1200px;
	margin: 0 auto 40px;
	padding: 0 20px;
	position: relative;
	z-index: 2;
}

.single-post-template__top-row {
	display: flex;
	justify-content: space-between;
	align-items: normal;
    margin: 6rem auto 0;
    padding: 0 6rem;
    max-width: 1200px;
}

.single-post-template__top-row .breadcrumbs,
.single-post-template__top-row .socials {
	font-size: 0.9rem;
}

.single-post-template__top-row .breadcrumbs * {
	/* color: #000; */
    font-size: 1.4rem;
}

.single-post-template__top-row .socials *:not(svg) {
	color: #000;
}

.single .breadcrumbs svg {
    color: var(--roadmap-teal-green);
}

.single .inner-section {
    max-width: 1200px;
    padding: 0 6rem;
    margin: 0 auto;
    width: 100%;
}

.single-post-template__footer {
	max-width: 850px;
	margin: 10rem auto;
	padding-top: 30px;
	border-top: 1px solid #eee;
	text-align: center;
}

.single-post-template__share-title {
	font-weight: 600;
	margin-bottom: 15px;
}

.single-post-template__socials {
	margin-bottom: 20px;
}

.single-post-template__topics {
	margin-top: 10px;
}

.single-post-template__topic {
	display: inline-block;
	background: #f1f1f1;
	color: #000;
	padding: 6px 12px;
	margin: 4px 6px;
	text-decoration: none;
	transition: 0.2s ease;
}

.single-post-template__topic:hover {
	background: var(--roadmap-primary-green);
	color: #fff;
}


.single-post-template__socials {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 20px;
}

.single-post-template__socials > * {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
}

/* Team page modal */
.ra-team-card .ra-img-shadow {
  /* box-shadow: 0 5px 10px rgba(0,0,0,0.1); */
}

.ra-team-card {
    padding-bottom: 3rem;
}

.ra-fa-icon {
  font-size: 28px;
  color: #333;
}

.ra-modal .modal-content {
  border-radius: 12px;
  max-width: 500px;
}

body .modal-backdrop {
    z-index: 999 !important;
}

.ra-team-photo {
    background: var(--roadmap-teal-green);
    position: relative;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    margin: 0 auto;
    position: relative;
}

.ra-team-photo a.position-absolute {
  z-index: 5;
}

.ra-team-photo {
    position: relative;
    display: flex;
    align-items: flex-end;
    z-index: 1;
}

.ra-team-photo a.position-absolute {
  z-index: 5;
}

.ra-team-photo a.position-absolute {
  z-index: 10;
  width: 48px;
  height: 48px;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ra-team-photo img {
    width: 110%;
    height: 110%;
    object-fit: cover;
    border-bottom-left-radius: 75px;
    border-bottom-right-radius: 75px;
}



.ra-fallback-icon {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #f0f0f0;
  overflow: visible;
  position: relative; 
}

.ra-fallback-icon i.fas.fa-user-circle {
  font-size: 64px;
  color: #888;
}

.ra-team-card .fa-4x {
    font-size: 9em;
}

.modal .fa-3x {
    font-size: 6em;
}

.modal img {
    margin: 0 auto;
}

.ra-fallback-icon {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f0f0f0;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
}

.ra-team-photo a.position-absolute i {
  font-size: 16px;
}

.ra-leadership p.mb-3 {
    margin-bottom: 6rem !important;
}

.team-section--copy {
    padding-bottom: 6rem;
}

/* Team Member Single Template Styles */
.single-team_member .ra-single-team {
/* padding: 6rem !important; */
}

.single-team_member .ra-single-photo {
    background: var(--roadmap-teal-green);
    display: flex;
    align-items: flex-end;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    margin: 0 auto;
}

.single-team_member .ra-single-photo img {
    width: 110%;
    height: 110%;
    object-fit: cover;
    border-bottom-left-radius: 75px;
    border-bottom-right-radius: 75px;
}

.single-team_member .ra-fallback-icon {
  width: 150px;
  height: 150px;
  background-color: #eee;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.single-team_member .ra-icon-link {
  display: inline-block;
  color: var(--roadmap-primary-green);
  margin: 0 0.5rem;
}

.single-team_member .ra-icon-link:hover {
  color: var(--roadmap-primary-green);
}

.single-team_member .ra-bio {
  line-height: 1.6;
  margin-top: 1.5rem;
}

.single-team_member .fa-5x {
    font-size: 9em;
}

.ra-team-archive.container.my-5 {
    padding: 6rem;
    max-width: 1300px;
    margin: 0 auto;
}

.ra-team-archive h2 {
    padding-bottom: 3rem;
}

.single-team-member-name {
    font-size: 4rem;
    margin-bottom: -2rem;
}

/* Insights Subscribe*/
.insights-subscribe-block {
  background-color: #1E353A;
  position: relative;
  overflow: hidden;
  padding: 10rem 0 !important;
}

.insights-subscribe-inner {
  max-width: 850px;
  margin: auto;
  position: relative;
  z-index: 2;
}

.insights-subscribe-block h2,
.insights-subscribe-block p {
  color: #ffffff;
}

.insights-subscribe-block .subscribe-title {
    color: #fff;
    font-size: 3.6rem;
    font-weight: 700;
}


.insights-subscribe-block .subscribe-terms a {
    color: #fff;
    text-decoration: underline;
}

.insights-subscribe-svg {
  position: absolute;
  top: 0;
  z-index: 1;
}

.insights-subscribe-svg--left {
  left: 0;
  transform: translate(-150%, 50%);
}

.insights-subscribe-svg--right {
  right: 0;
  transform: translate(150%, 50%);
}

/* Gravity Form Styling */
.subscribe-form-wrapper form {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

.subscribe-form-wrapper input[type="email"],
.subscribe-form-wrapper input[type="text"] {
  padding: 0.75rem 1rem;
  border-radius: 4px;
  border: none;
  flex: 1;
  min-width: 220px;
  max-width: 300px;
}

.subscribe-form-wrapper input[type="submit"] {
  padding: 0.75rem 2rem;
  border-radius: 4px;
  background-color: white;
  color: #000;
  border: none;
  font-weight: bold;
  cursor: pointer;
}

/* Mobile stack */
@media (max-width: 1024px) {
  .subscribe-form-wrapper form {
    flex-direction: column;
    align-items: stretch;
  }

  .subscribe-form-wrapper input[type="submit"] {
    width: 100%;
    margin-top: 10px;
  }

  .insights-subscribe-svg--left {
    display: none;
  }

  .insights-subscribe-svg--right {
    display: none;
  }
}


.insights-subscribe-block .gform_wrapper.gravity-theme .gfield_label {
    display: none;
}

.insights-subscribe-block .gform_wrapper.gravity-theme .gfield input {
    background: transparent;
    color: #fff;
}

.schedule-consultation-before-footer-block .benefits-boxes {
    grid-template-columns: repeat(4, 1fr);
}

.schedule-consultation-before-footer-block .benefits-box {
    background-color: unset;
}

#gform_fields_5 .gfield_label {
    /* color: #fff; */
    color: #000;
}

.wp-block-genesis-blocks-gb-container.schedule-consultation-form-container.gb-block-container
 {
    width: 100%;
    padding: 6rem;
    background-color: #fff;
    border-radius: 0.8rem;
}


.features {
  max-width: 600px;
  margin: 80px auto;
  padding: 0 20px;
}

.features .feature-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 40px;
}

.features .icon {
  font-size: 24px;
  margin-right: 16px;
  color: #fff;
  flex-shrink: 0;
  margin-top: 6px;
}

.features .text strong {
  margin: 0 0 8px;
  color: #fff;
}

.features .text p {
    color: #fff;
}

.features-block.gb-layout-columns-2.gb-2-col-equal.gb-background-cover.gb-background-no-repeat {
    padding: unset;
    /* background-color: #3BA99C; */
    background-color: #2E9CCA;
    background-image: unset !important;
}


.features-block::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* background-color: #3BA99C; */
  /* background-color: #2E9CCA; */
  background-color: var(--roadmap-primary-green);
  opacity: 0.9;
  z-index: 1;
  pointer-events: none;
}

.features-block-grey::before {
    background-color: #f6f6f6;
}


.features-block-grey .features .icon {
  font-size: 24px;
  margin-right: 16px;
  color: #000;
  flex-shrink: 0;
  margin-top: 6px;
}

.features-block-grey .features .text strong {
  margin: 0 0 8px;
  color: #000;
}

.features-block-grey .features .text p {
    color: #000;
}

.features-block-grey.gb-layout-columns-2.gb-2-col-equal.gb-background-cover.gb-background-no-repeat {
    background-color: unset;
}



/* careers */
.career-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 40px 0;
}

.career-card {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 20px;
    background: #fff;
    transition: box-shadow 0.3s ease;
}

.career-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.career-title {
    margin: 0 0 10px;
    color: #000;
    font-weight: 600;
    font-size: 1.8rem;
}

.career-meta {
    color: #000;
    margin-bottom: 15px;
}

.career-button {
    display: inline-block;
    padding: 8px 16px;
    background: transparent;
    border: 1px solid var(--roadmap-teal-green);
    color: var(--roadmap-teal-green);    
    border-radius: 10px;
    text-decoration: none;
    font-weight: 500;
}

.career-button:hover {
    background: var(--roadmap-teal-green);
    color: #fff;
    border: 1px solid transparent;
}

.career-single-wrapper {
    max-width: 800px;
    margin: 40px auto;
    padding: 20px;
}

.career-single-title {
    font-size: 2rem;
    margin-bottom: 15px;
}

.career-description {
    margin: 20px 0;
    line-height: 1.6;
}


.entry-content > .features-block.wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    justify-content: flex-start;
}

.entry-content > .features-block.wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner > .wp-block-heading {
    padding-top: 80px;
}

@media (max-width: 1067px) {
    .industry-panels,
    .service-boxes {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1067px) {
    .front-page-1.gb-layout-columns-2>.gb-layout-column-wrap.gb-is-responsive-column {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        grid-template-areas:
        "col1"
        "col2";
    }

    .entry-content > .front-page-1.wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap {
        gap: 36rem;
    }

    .site-footer .menu {
        grid-template-columns: repeat(1, 1fr);
    }

    .schedule-consultation-before-footer-block .benefits-boxes,
    .single-blog-loop,
    .benefits-boxes,
    .icon-cards {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 895px) {

    .header-section.with-form.gb-layout-columns-2 > .gb-layout-column-wrap {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        grid-template-areas:
        "col1"
        "col2";
    }
}

@media (max-width: 767px) {

    .site-footer-widgets > .wrap > .widget .gb-layout-column-wrap {
        grid-template-columns: 1fr;
    }

    .single-blog-loop,
    .benefits-boxes,
    .icon-cards {
        grid-template-columns: repeat(1, 1fr);
    }

    .cta-section.gb-layout-columns-2 > .gb-layout-column-wrap {
        grid-template-columns: 1fr;
        grid-template-areas: "col1";
        grid-gap: 0 0;
    }

    .dynamic-content-box,
    .service-boxes {
        grid-template-columns: repeat(1, 1fr);
    }

    .schedule-consultation-before-footer-block .benefits-boxes,
    .career-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .cta-section img,
    .icon-card .spacer {
        display: none;
    }

    .icon-card {
        grid-template-rows: repeat(1, 1fr);
    }

    .dynamic-content-box--area {
        padding: 0 0;
    }
}

@media (max-width: 600px) {
    .industry-panels {
        grid-template-columns: repeat(1, 1fr);
    }

    .entry-content > .front-page-6 > .gb-layout-column-wrap {
        background-color: #f2f2f2;
    }
}

@media (max-width: 1024px) {
    header .menu-item-has-children > button.sub-menu-toggle {
        padding: 0.5rem;
    }
}

.footer-credit-policies .gb-container-content p {
    display: flex;
    gap: 3rem;
    padding: 1rem 0;
}

.footer-credit-policies .gb-container-content p a {
    color: #fff;
    font-weight: 600;
    font-size: 1.3rem;
    font-family: 'DM Sans', sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

@media (max-width: 1067px) { 
    /* .entry-content > .front-page-2.wp-block-genesis-blocks-gb-columns{
        padding-top: 26rem;
    } */

    .home .front-page-1 > .gb-layout-column-wrap > .gb-block-layout-column:first-child {
        padding: 0;
    }
}

@media (max-width: 895px) { 
    .entry-content > .front-page-2.wp-block-genesis-blocks-gb-columns{
        padding-top: 8rem;
    }
}

.front-page-2 .fp2-bottom.gb-block-container {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

@media (min-width: 1800px) {
  .front-page-2 .fp2-bottom.gb-block-container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
  }
}

#gform_10 .gfield--type-captcha,
#gform_1 .gfield--type-captcha,
#gform_3 .gfield--type-captcha {
    position: absolute;
}

.custom-image-class img {
    aspect-ratio: 4 / 2.29;
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
    border-radius: 0.8rem;
}

@media (max-width: 896px) {
    .image-mosaic--middle,
    .image-mosaic--bottom {
        display: none;
    }

    .front-page-1 > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
        width: 100%;
    }

    .image-mosaic--top {
        width: 100%;
    }
}

.site-footer .menu > .menu-item > .sub-menu > .menu-item > a:hover {
    color: var(--roadmap-teal-green);
}

#gform_6 .gform-page-footer input {
    background-color: var(--roadmap-teal-green);
    color: #fff;
}

.gform-theme--framework #gform_6 .gf_progressbar .percentbar_blue {
    background-color: var(--roadmap-teal-green);
}

#gform_6 .gfield p,
#gform_6 .gfield h3 {
    color: #000;
}

.entry-tagline {
    font-size: 4.1rem;
    font-weight: 900;
    line-height: 1.2;
    margin: 5rem 0 3rem;
}

.entry-tagline--black {
    font-size: 4.1rem;
    color: #000;
    font-weight: 900;
    line-height: 1.2;
    margin: 5rem 0 3rem;
}

.entry-tagline--white {
    font-size: 4.1rem;
    color: #fff;
    font-weight: 900;
    line-height: 1.2;
    margin: 5rem 0 3rem;
}

.entry-tagline--h4 {
	font-size: 2.4rem;
    color: #000;
	font-weight: 500;
	line-height: 1.5;
    margin: 5rem 0 2.5rem;
}

div.remove-bottom-padding {
    padding-bottom: unset !important;
}

@media (min-width: 1024px) {
    .nav-primary .mega-menu-wrap--menu .sub-menu .sub-menu .menu-item {
        list-style-type: none;
        line-height: 1;
    }
}



.buyers-sellers-grid {
    /* background-color: #c3ccd6; */
    padding: 2rem;
}

.buyers-sellers-grid__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
}

.buyers-sellers-grid__column {
    background: #fff;
    padding: 2rem;
    /* border-radius: 8px; */
    flex: 1 1 calc(25% - 2rem);
    box-sizing: border-box;
    text-align: center;
    min-width: 250px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}

/* .buyers-sellers-grid__title {
    font-size: 1rem;
    font-weight: 600;
    color: #102a43;
    margin-bottom: 1rem;
} */

.buyers-sellers-grid__image {
    max-width: 100%;
    height: auto;
    margin: 0 auto 1rem auto;
    object-fit: contain;
    aspect-ratio: 2 / 1;
    display: block;
}

/* Responsive breakpoints */
@media screen and (max-width: 1024px) {
    .buyers-sellers-grid__column {
        flex: 1 1 calc(50% - 2rem);
    }
}

@media screen and (max-width: 700px) {
    .buyers-sellers-grid__column {
        flex: 1 1 100%;
    }
}

.team-member {
    position: relative;
}

/* .team-member--linkedin {
    position: absolute;
    width: 100%;
    display: flex;
    justify-content: center;
    top: 100px;
    left: 0;
    z-index: 10;
} */

.team-member--linkedin-wrap {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    max-width: 150px;
}

.team-member--linkedin-wrap a {
    background-color: #fff;
    /* display: flex;
    align-items: center;
    justify-content: center; */
    /* width: 48px;
    height: 48px; */
    font-size: 24px;
    margin: 0 5px 0 0;
    /* border-radius: 50%;
    border: 1px solid #000; */
}

.team-member-socials--container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}


.service-box--icon svg {
    color: #fff;
    font-size: 4rem;
}

/* .home .entry-content .front-page-1.wp-block-genesis-blocks-gb-columns {
    padding: 10rem 0;
} */

@media (max-width: 1040px) {
    .three-column-block.gb-layout-columns-3>.gb-layout-column-wrap.gb-is-responsive-column {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        grid-template-areas:
        "col1"
        "col2"
        "col3";
    }

    .wp-block-genesis-blocks-gb-columns.three-column-block.gb-layout-columns-3.gb-3-col-equal {
        padding-bottom: 10rem;
    }
}


.header-section.gb-has-background-dim.gb-has-custom-background-color::before {
    background-color: var(--roadmap-primary-green);
}


.schedule-consultation-form-container {
    height: -webkit-fill-available;
}

.entry-content > .no-heading-top-section.wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    gap: 0;
}

/* .entry-content > .make-columns-not-center-aligned.wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap {
    align-items: flex-start;
} */

.entry-content > .make-columns-not-center-aligned.wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    justify-content: unset;
}


.fix-header-spacing.header-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    gap: 1.5rem;
}

.fix-header-spacing.header-section p,
.fix-header-spacing.header-section h3 {
    margin: unset;
}

/* .features-block .gb-layout-column-wrap.gb-block-layout-column-gap-2.gb-is-responsive-column {
    padding: 6rem 0;
} */

.features-block-padding .gb-layout-column-wrap.gb-block-layout-column-gap-2.gb-is-responsive-column {
    padding: 6rem 0;
}




.underline-text {
    position: relative;
    display: inline-block;
  }
  
  .underline-text::before {
    content: '';
    position: absolute;
    bottom: -5px; /* places underline just below the text */
    left: 0;
    width: 100%;
    height: 3px;
    background-color: var(--roadmap-teal-green); /* or any solid color like #00ffee */
    border-radius: 50px;
  }

  .front-page-1 p,
  .front-page-1 .wp-block-heading {
    color: #fff;
  }

  /* LEFT ALIGN TEXT BLOCK */
  .front-page-1 .wp-block-cover .wp-block-cover__inner-container {
    /* width: 100%;
    max-width: 700px;
    margin-left: 5%;
    margin-right: auto;
    text-align: left;
    padding: 6rem 2rem; */
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
  }

  .front-page-1 .gb-container-content {
    width: 100%;
    max-width: 700px;
    margin-left: 5%;
    margin-right: auto;
    text-align: left;
    padding: 6rem 2rem;
}

  .front-page-1 .wp-block-cover {
    min-height: 630px;
  }
  
  /* RESPONSIVE TWEAKS */
  @media (max-width: 768px) {
    .front-page-1 .gb-container-content {
        width: 100%;
        max-width: 700px;
        margin-right: auto;
        text-align: left;
        padding: 3rem 2rem;
    }

    .entry-content > .front-page-1.wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap {
        padding: unset;
    }
  }

  .core-values svg {
    height: 65px;
}


.post-template-whitepaper-post-template .content-sidebar-wrap {
    padding: 6rem 0;
}





.custom-404-page {
    text-align: center;
    padding: 6rem 0 !important;
    max-width: 700px;
    margin: 0 auto;
}


/* Confirmation block */

.confirmation-block {
    text-align: center;
    margin: 0 auto;
}

.confirmation-block svg {
    font-size: 15rem;
    color: #008000;
}

.confirmation-page .custom-socials {
    margin: 0 auto !important;
    padding: 3rem;
}

.custom-social svg {
    padding-bottom: 1rem;
}

p.confirmation-text {
    padding: 2rem 0;
}

.success-block .custom-socials {
    margin: 0 auto;
}