/*
 * 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: #4e4e4e;
    font-family: 'Onest', sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
	font-style: normal;
	font-optical-sizing: auto;
    line-height: 3.2rem;
    -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 {
	color: var(--tto-navy-blue);
	font-size: 6.8rem;
	font-weight: 700;
	line-height: 1.03;
	margin: 0 0 3rem;
}

h2 {
	color: var(--tto-navy-blue);
	font-size: 4.5rem;
	font-weight: 700;
	line-height: 1.03;
    margin: 6rem 0 2.5rem;
}

h3 {
	color: var(--tto-navy-blue);
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 1.4;
    margin: 4rem 0 2.5rem;
}

h4 {
	color: var(--tto-navy-blue);
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.5;
    margin: 4rem 0 2.5rem;
}

h5 {
	color: var(--tto-navy-blue);
	font-size: 2.2rem;
	font-weight: 300;
	line-height: 1.4;
    margin: 4rem 0 2.5rem;
}

h6 {
	color: var(--tto-navy-blue);
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.5;
    margin: 4rem 0 2.5rem;
	text-transform: uppercase;
}

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

p:last-child {
	margin: 0;
}

a {
	color: #000;
	word-wrap: break-word;
	pointer-events: all;
	cursor: pointer;
	text-decoration: none;
	transition: var(--tto-transition)
}

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

a.button,
.gform_submit_button {
	background-color: transparent;
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.8rem;
	width: auto;
	height: auto;
	color: #000;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.5;
	margin-top: 1rem;
	padding: 1rem 2.2rem;
	border: 2px solid var(--tto-sky-blue);
	border-radius: var(--tto-border-radius);
	box-shadow: none;
	text-decoration: none;
	pointer-events: all;
	cursor: pointer;
	overflow: hidden;
	transition: 0.35s ease-in-out color, 0.35s ease-in-out box-shadow, 0.35s ease-in-out transform;
	z-index: 1;
}

.gform_submit_button {
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: 1.2rem calc(4.8rem + 1.1em) !important;
}

a.button:before,
.gform_submit_button:before {
	content: '';
	background-color: var(--tto-sky-blue);
    position: absolute;
    width: 100%;
    height: 100%;
	top: 0;
    left: 0;
	z-index: -2;
}

a.button:after,
.gform_submit_button:after {
    content: '';
	background-color: #fff;
    position: absolute;
    width: 0%;
    height: 100%;
	top: 0;
    left: 0;
    transition: 0.35s ease-in-out all;
    z-index: -1;
}

a.button:hover,
.gform_submit_button:hover {
	color: var(--tto-navy-blue);
	box-shadow: 0px 12px 20px -20px var(--tto-navy-blue);
	transform: translateY(-3px);
}

a.button:hover:after,
.gform_submit_button:hover:after {
    width: 100%;
}

a.button:not(:hover):after,
.gform_submit_button:not(:hover):after {
	left: auto;
    right: 0;
}

a.button svg[data-icon*='arrow'],
.gform_submit_button svg[data-icon*='arrow'] {
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--tto-navy-blue);
	width: 12px;
	height: 12px;
	padding: 4px;
	border-radius: 50%;
	transition: 0.35s ease-in-out all;
}

a.button:hover svg[data-icon*='arrow'],
.gform_submit_button:hover svg[data-icon*='arrow'] {
	background-color: var(--tto-sky-blue);
	color: #fff;
}

a.button.white {
	background-color: #fff;
	color: var(--tto-navy-blue);
	border-color: #fff;
}

a.button.white:before,
.gform_submit_button.white:before {
	background-color: #fff;
}

a.button.white:after,
.gform_submit_button.white:after {
	background-color: var(--tto-sky-blue);
}

a.button.white:hover,
.gform_submit_button.white:hover {
	color: #fff;
	box-shadow: 0px 12px 20px -20px #fff;
}

a.button.white:not(.outline) svg {
	background-color: var(--tto-sky-blue);
	color: #fff;
}

a.button.white:hover svg,
.gform_submit_button.white:hover svg {
	background-color: #fff;
	color: var(--tto-navy-blue);
}

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

a.button.white.outline {
	border-color: #fff;
	color: #fff;
}

a.button.white.outline:before,
.gform_submit_button.white.outline:before {
	background-color: transparent;
}

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

a.button.inline {
    margin: 0;
    padding: 0;
    border: none;
	box-shadow: none;
    transform: none;
}

a.button.inline:before,
a.button.inline:after {
    display: none;
}

ol,
ul {
	margin: 0 0 3rem 2.2rem;
	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: 700;
}

li b,
li 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 {
    background-position: center center;
	padding: var(--theme-section-padding) 0;
	overflow: hidden;
}

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

.entry-content > .wp-block-genesis-blocks-gb-columns:last-child,
.entry-content > .gb-block-container:last-child {
    padding-bottom: calc(var(--theme-section-padding) + 8rem) !important;
}

.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;
}

@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;
	}

    .entry-content > .wp-block-genesis-blocks-gb-columns:last-child,
    .entry-content > .gb-block-container:last-child {
        padding-bottom: calc(var(--theme-section-padding-mobile) + 8rem);
    }
}



/* ## 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);
	clip-path: inset(0 0 calc(-1rem - 100vh) 0);
	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;
	gap: min(6rem, 4.5vw);
}

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

.title-area a {
	position: relative;
	display: flex;
	width: 100%;
	height: auto;
	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;
    gap: min(6rem, 4.5vw);
	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(4rem, 3vw);
	width: 100%;
	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: 3rem 0;
	transition: var(--tto-transition);
}

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

.nav-primary .menu > .menu-item.menu-cta {
	padding-left: 2.5rem;
}

.nav-primary .menu > .menu-item > p,
.nav-primary .menu > .menu-item > a {
	color: #000;
    font-size: min(1.7rem, 1.3vw);
    font-weight: 500;
	line-height: 2.5rem;
	margin: 0;
    transition: 0.25s ease-in-out color;
}

.nav-primary .menu > .menu-item > a:hover {
    color: #555;
}

.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;
}

.primary-menu-ctas a.button {
    font-size: min(1.7rem, 1.3vw);
    margin: 0;
    padding: min(1rem, 0.8vw) min(2.2rem, 1.7vw);
}

.primary-menu-ctas > .top-nav-bar {
    display: none;
}

.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;
}

.menu-toggle {
    position: unset;
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
}

.menu-toggle span,
.menu-toggle span:before,
.menu-toggle span:after {
    background-color: #000;
    position: relative;
    width: 26px;
    height: 3px;
    float: none;
    border-radius: 3px;
    transition: 0s 0.2s ease-in-out background-color;
}

.menu-toggle span:before {
    content: '';
    position: absolute;
    display: block;
    top: -0.8rem;
    transition: top 0.2s 0.2s, transform 0.2s 0s, background-color 0.2s 0s;
    transition-timing-function: ease-in-out;
}

.menu-toggle span:after {
    content: '';
    position: absolute;
    display: block;
    bottom: -0.8rem;
    transition: bottom 0.2s 0.2s, transform 0.2s 0s, -webkit-transform 0.2s 0s, background-color 0.2s 0s;
    transition-timing-function: ease-in-out;
}

.menu-toggle.active span {
    background-color: transparent;
    transition: 0.2s 0s ease-in-out background-color;
}

.menu-toggle.active span:before {
    background-color: #fff;
    top: 0;
    transform: rotate(45deg);
    transition: top 0.2s 0s, transform 0.2s 0.2s, background-color 0.2s 0s;
}

.menu-toggle.active span:after {
    background-color: #fff;
    bottom: 0;
    transform: rotate(-45deg);
    transition: bottom 0.2s 0s, transform 0.2s 0.2s, background-color 0.2s 0s;
}

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

@media (max-width: 1023px) {
    .menu-toggle,
	.sub-menu-toggle {
        display: flex;
    }
}

/* ## 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: 2.4rem;
	line-height: 0;
}



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













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

/* Breadcrumbs */

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

.custom-breadcrumbs .breadcrumb span {
    display: flex;
    color: #000;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
    transition: var(--tto-transition);
}

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

.custom-breadcrumbs .breadcrumb span.breadcrumb-separator {
    font-weight: 800;
}

.custom-breadcrumbs .breadcrumb > span:last-child {
    font-weight: 600;
}

.custom-breadcrumbs .breadcrumb svg {
    color: var(--tto-sky-blue);
    transition: var(--tto-transition);
}

.custom-breadcrumbs .breadcrumb .breadcrumb-link:hover svg {
    color: var(--tto-navy-blue);
}

.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;
}

/* 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: var(--tto-transition);
}

.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 .gform_submit_button {
	background-color: transparent;
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
}

.search-widget .gform_submit_button.hidden {
	display: none;
}

/* Socials */

.custom-socials {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    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 color;
}

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

/* Team Members */


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

/* Variables (Edit First!) */

:root {
	--theme-wrap-width: 92%;
	--theme-wrap-max-width: 1500px;
	--theme-wrap-padding-mobile: 4vw;
	--theme-section-padding: 12rem;
	--theme-section-padding-mobile: 8rem;
	--tto-sky-blue: #07c3f2;
	--tto-navy-blue: #0e152e;
    --tto-border-radius: 1.5rem;
    --tto-transition: 0.25s ease-in-out all;
}

@keyframes rotateForward {
    0%, 10% { 
        transform: rotate(225deg); 
    }
    90%, 100% { 
        transform: rotate(45deg); 
    }
}

@keyframes rotateBackward {
    0%, 10% { 
        transform: rotate(45deg); 
    }
    90%, 100% { 
        transform: rotate(225deg);
    }
}

/* General */

.entry-content ol,
.entry-content ul {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin: 0 0 3rem;
}

.entry-content ul li {
    list-style-type: none;
    position: relative;
    padding: 0 0 0 3rem;
}

.entry-content ul li:before {
    content: '\f111';
    display: none;
    font-weight: 900;
    font-family: 'Font Awesome 6 Pro';
}

.entry-content ul li svg {
    position: absolute;
    width: 6px;
    height: 6px;
    top: 11.25px;
    left: 10px;
}

.moving-copy-container {
	height: 100%;
}

/* Header */

.top-nav-bar {
	background-color: #fff;
	border-bottom: none;
	padding: 0;
}

.top-nav-bar > .wrap > .widget {
    min-width: 100%;
    border-bottom: 1px solid #d6d6d6;
    padding: 1.1rem 0;
}

.top-nav-bar > .wrap > .widget > .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap {
    display: flex;
    justify-content: space-between;
}

.top-nav-bar > .wrap > .widget > .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column {
    flex: 0 1 fit-content;
	display: flex;
    align-items: center;
}

.top-nav-bar .custom-socials {
    gap: 2.4rem;
}

.top-nav-bar .custom-social--link svg {
    width: min(1.8rem, 1.4vw);
    height: min(1.8rem, 1.4vw);
}

.top-nav-bar .custom-button a.button {
    font-size: min(1.6rem, 1.2vw);
    font-weight: 500;
    line-height: 1;
	padding: 0.55rem 0;
}

.top-nav-bar .custom-button a.button:hover {
    color: var(--tto-sky-blue);
}

.top-nav-bar .custom-button a.button svg {
    width: min(1.8rem, 1.4vw);
    height: min(1.8rem, 1.4vw);
}

.custom-logo-container {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 2;
}

.custom-logo-container[data-type="secondary"] {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

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

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

	.mega-menu-container,
    .menu > .menu-item > .sub-menu {
        background-color: #fff;
        position: absolute;
        display: flex;
        width: auto;
        height: auto;
        top: 100%;
        left: -9999px;
        border: none;
        border-radius: 0;
        box-shadow: none;
        opacity: 0;
        overflow: hidden;
        pointer-events: none;
		transition: 0.25s ease-in-out opacity, 0s 0.25s ease-in-out left;
        z-index: 1;
    }

    .mega-menu-container {
		background-color: transparent;
		width: 100%;
		height: auto;
        max-height: calc(92vh - 150px);
		clip-path: inset(0 0 -2rem 0);
		overflow: visible;
    }

    .menu > .menu-item > .sub-menu {
        flex-direction: column;
        gap: 0.5rem;
        width: 100%;
        min-width: 225px;
        margin: 0;
        padding: 2.5rem 3rem;
        border-top: 1px solid #d6d6d6;
        box-shadow: 0px 8px 19px -4px rgba(0, 0, 0, 0.17);
        clip-path: inset(0 -2rem -2rem -2rem);
        transform: translateX(-50%);
    }

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

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

    .menu > .menu-item > .sub-menu > .menu-item > a {
        font-size: 1.55rem;
        font-weight: 500;
        line-height: 1.2;
    }

    .mega-menu:hover > .mega-menu-container,
    .menu > .menu-item:hover > .sub-menu {
		left: 0;
		opacity: 1;
		pointer-events: all;
		transition: 0.25s ease-in-out opacity, 0s ease-in-out left;
	}

    .menu > .menu-item:hover > .sub-menu {
        left: 50%;
    }

    .mega-menu-wrap {
		background-color: #fff;
        display: flex;
        flex-wrap: wrap;
        gap: min(4rem, 3vw);
        width: var(--theme-wrap-width);
		max-width: var(--theme-wrap-max-width);
		margin: 0 auto;
		padding: min(3rem, 2.3vw);
		border-top: 1px solid #d6d6d6;
		box-shadow: 0px 8px 19px -4px rgba(0, 0, 0, 0.17);
		overflow: scroll;
    }

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

	.mega-menu-wrap--menu .mega-menu-title p {
		color: #05809e;
		font-size: min(1.8rem, 1.4vw);
		font-weight: 700;
	}

	.mega-menu-wrap--menu .sub-menu {
		column-count: 2;
		gap: 3rem;
		margin: 0;
	}

	.mega-menu-wrap--menu .sub-menu .menu-item {
		list-style-type: none;
		margin: 2rem 0 0;
	}

	.mega-menu-wrap--menu .sub-menu .menu-item:first-child {
		margin-top: 0;
	}

	.mega-menu-wrap--menu .sub-menu .menu-item a {
		font-size: min(2.2rem, 1.7vw);
		font-weight: 600;
		line-height: 1.3;
        transition: 0.25s ease-in-out color;
	}

	.mega-menu-wrap--menu .mega-menu-ctas {
		flex: 1;
		display: flex;
		align-items: flex-end;
		gap: min(4rem, 3vw);
	}

	.mega-menu-wrap--menu .mega-menu-cta {
		display: flex;
		align-items: center;
		gap: min(1.5rem, 1.2vw);
	}

    .mega-menu-wrap--menu .mega-menu-cta--icon {
        width: min(2.8rem, 2.1vw);
        height: min(2.8rem, 2.1vw);
    }

	.mega-menu-wrap--menu .mega-menu-cta--content .tagline {
        font-size: min(1.4rem, 1.1vw);
		line-height: 1.5;
		margin: 0;
	}

	.mega-menu-wrap--menu .mega-menu-cta--content .cta {
		font-size: min(1.7rem, 1.3vw);
		font-weight: 700;
		line-height: 1.5;
        transition: 0.25s ease-in-out color;
	}

    .mega-menu-wrap--cta {
		flex: 1 1 470px;
		background-color: #e3eef1;
        position: relative;
		display: flex;
		flex-direction: column;
        gap: 1.5rem;
		padding: 4rem;
		overflow: hidden;
		z-index: 1;
    }

	.mega-menu-wrap--cta > * {
		max-width: 80%;
		z-index: 2;
	}

	.mega-menu-wrap--cta .mega-menu-callout p {
		color: #233269;
		font-size: min(3rem, 2.3vw);
		font-weight: 600;
		line-height: 1.14;
	}

	.mega-menu-wrap--cta .mega-menu-copy p {
		color: #233269;
		font-size: min(1.6rem, 1.2vw);
		font-weight: 500;
		line-height: 1.29;
	}

	.mega-menu-wrap--cta .mega-menu-action {
		display: flex;
	}

	.mega-menu-wrap--cta .mega-menu-action a {
		font-size: min(1.5rem, 1.2vw);
        padding: min(1rem, 0.8vw) min(2.2rem, 1.7vw);
	}

	.mega-menu-wrap--cta .mega-menu-thumbnail {
		position: absolute;
		display: flex;
		justify-content: flex-end;
		align-items: flex-end;
		width: 100%;
		max-width: 100%;
		height: 100%;
		top: auto;
		bottom: 0;
		left: auto;
		right: 0;
		z-index: 0;
	}

	.mega-menu-wrap--cta .mega-menu-thumbnail:before {
		content: '';
		background-image: url('/wp-content/themes/321-web-marketing/assets/images/header/popout.svg');
		background-repeat: no-repeat;
		background-size: contain;
		background-position: right bottom;
		position: absolute;
		width: 70%;
		height: 100%;
		opacity: 0.7;
		z-index: 1;
	}

	.mega-menu-wrap--cta .mega-menu-thumbnail img {
        object-fit: contain;
        width: 60%;
        height: 100%;
        transform: translate(25%, 35%);
        z-index: 2;
	}

	.mega-menu.orange .mega-menu-wrap--menu .mega-menu-title p {
		color: #9e6c00;
	}

	.mega-menu.orange .mega-menu-wrap--cta {
		background-color: #f1ede3;
	}

	.mega-menu.orange .mega-menu-wrap--cta .mega-menu-action a.button {
		border-color: #ffcd62;
	}

	.mega-menu.orange .mega-menu-wrap--cta .mega-menu-action a.button:before {
		background-color: #ffcd62;
	}

	.mega-menu.orange .mega-menu-wrap--cta .mega-menu-thumbnail:before {
		background-image: url('/wp-content/themes/321-web-marketing/assets/images/header/popout-orange.svg');
	}

	.mega-menu.green .mega-menu-wrap--menu .mega-menu-title p {
		color: #4b800a;
	}

	.mega-menu.green .mega-menu-wrap--cta {
		background-color: #ebf1e3;
	}

	.mega-menu.green .mega-menu-wrap--cta .mega-menu-action a.button {
		border-color: #c4f687;
	}

	.mega-menu.green .mega-menu-wrap--cta .mega-menu-action a.button:before {
		background-color: #c4f687;
	}

	.mega-menu.green .mega-menu-wrap--cta .mega-menu-thumbnail:before {
		background-image: url('/wp-content/themes/321-web-marketing/assets/images/header/popout-green.svg');
	}
}

.menu-toggle {
    background-color: transparent;
    border: none;
}

.menu-toggle span,
.menu-toggle span:before,
.menu-toggle span:after {
	background: var(--tto-navy-blue);
	width: 3rem;
	height: 3.5px;
	border-radius: 50px;
}

.menu-toggle span:before {
	top: 0.8rem;
}

.menu-toggle span:after {
	bottom: 0.8rem;
}

.menu-toggle.active span:before,
.menu-toggle.active span:after {
    background: var(--tto-navy-blue);
}

@media (max-width: 1023px) {
    .top-nav-bar {
        display: none;
    }

    .site-header > .wrap {
        align-items: center;
        justify-content: space-between;
        gap: 6rem;
    }

    .title-area {
        width: 22rem;
    }

    .nav-primary {
        background-color: #fff;
        position: absolute;
        width: 100%;
        height: 100vh;
        top: 100%;
        left: -9999px;
        border-top: 1px solid #d6d6d6;
        opacity: 0;
        pointer-events: none;
        overflow: hidden;
        transition: 0.4s ease-in-out opacity, 0s 0.4s ease-in-out left;
    }

    .nav-primary.active {
        left: 0;
        opacity: 1;
        pointer-events: all;
        transition: 0.4s ease-in-out opacity, 0s ease-in-out left;
    }

    .nav-primary > .wrap {
        flex-direction: column;
        gap: 4rem;
        padding: 5rem 0;
        overflow: scroll;
    }

    .nav-primary .menu {
        flex: 0 1 fit-content;
        flex-wrap: nowrap;
        flex-direction: column;
        justify-content: flex-start;
        gap: 2.5rem;
        padding: 0 calc(4vw - 6px) 0 4vw;
        overflow: scroll;
    }

    .nav-primary .menu::-webkit-scrollbar {
        -webkit-appearance: none;
        appearance: none;
        width: 6px;
    }

    .nav-primary .menu::-webkit-scrollbar-thumb {
        border-radius: 6px;
        background-color: rgba(0, 0, 0, 0.3);
        -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
    }

    .nav-primary .menu > .menu-item {
        display: grid;
        grid-template-rows: 1fr auto;
        grid-template-columns: 1fr 36px;
        row-gap: 0;
        column-gap: 3rem;
        width: 100%;
        padding: 0;
        transition: 0s 0.4s order;
    }

    .nav-primary .menu > .menu-item.active {
        order: -1;
        transition: none;
    }

    .nav-primary .menu > .menu-item > p,
    .nav-primary .menu > .menu-item > a {
        font-size: 1.8rem;
        font-weight: 600;
    }

    .mega-menu-wrap--cta .mega-menu-thumbnail {
        display: none;
    }

    .nav-primary .menu > .menu-item > .mega-menu-container,
    .nav-primary .menu > .menu-item > .sub-menu {
        grid-column: 1 / span 2;
        max-height: 0;
        overflow: hidden;
        transition: 0.4s ease-in-out max-height;
    }

    .sub-menu-toggle,
    .sub-menu-toggle:hover,
    .sub-menu-toggle:focus {
        flex: 1 1 36px;
        background-color: transparent;
        position: unset;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        color: var(--tto-navy-blue);
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 6px;
        box-shadow: none;
        transform: none;
        transition: 0.4s ease-in-out all;
    }

	.sub-menu-toggle[aria-expanded="true"] {
        background-color: rgba(0, 0, 0, 0.08);
		transform: rotate(-180deg);
	}

    .sub-menu-toggle svg {
        color: var(--tto-navy-blue);
        width: 18px;
        height: 18px;
    }

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

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

    .nav-primary .menu .sub-menu > .menu-item:first-child {
        padding-top: 1rem;
    }

    .nav-primary .menu .sub-menu > .menu-item:last-child {
        padding-bottom: 2rem;
    }

    .nav-primary .menu .sub-menu > .menu-item > p,
    .nav-primary .menu .sub-menu > .menu-item > a {
        font-size: 1.7rem;
    }

    .mega-menu-wrap--menu .mega-menu-title,
    .mega-menu-wrap--menu .mega-menu-cta,
    .mega-menu-wrap--cta {
        display: none;
    }

    .primary-menu-ctas {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 0 4vw;
    }

    .primary-menu-ctas a.button {
        font-size: 1.7rem;
        padding: 1rem 2.2rem;
    }

    .primary-menu-ctas > .top-nav-bar,
    .primary-menu-ctas > .top-nav-bar > .wrap {
        display: block;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }

    .primary-menu-ctas .top-nav-bar > .wrap > .widget {
        border: none;
        padding: 0;
    }

    .primary-menu-ctas .top-nav-bar > .wrap > .widget > .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap {
        flex-direction: column-reverse;
        align-items: center;
        justify-content: center;
        gap: 1.5rem;
        margin: 0 0 4rem;
    }

    .primary-menu-ctas .top-nav-bar > .wrap > .widget > .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column {
        flex: unset;
        justify-content: center;
    }

    .primary-menu-ctas .top-nav-bar .custom-button a.button {
        font-size: 1.7rem;
    }

    .primary-menu-ctas .top-nav-bar .custom-button a.button svg {
        width: 1.9rem;
        height: 1.9rem;
    }

    .primary-menu-ctas .top-nav-bar .custom-social--link svg {
        width: 2rem;
        height: 2rem;
    }
}

/* Front Page */

.entry-content > .front-page-1 {
    position: relative;
	display: flex;
	justify-content: center;
	overflow: hidden;
    z-index: 1;
}

.entry-content > .front-page-1 > .gb-layout-column-wrap {
    position: relative;
    z-index: 3;
}

.header-elements {
    position: absolute;
	width: 100%;
	max-width: 1500px;
	height: 100%;
	top: 0;
	left: auto;
	margin: 0 auto;
	overflow: visible;
    z-index: 2;
}

.header-elements:before {
	content: '';
    background-color: #1f294f;
    position: absolute;
    width: 160%;
    height: 100%;
    clip-path: polygon(31.25% 100%, 50% calc(100% - 250px), 100% 100%);
	opacity: 0.5;
	overflow: hidden;
	z-index: 1;
}

.header-elements:after {
	content: '';
    background-color: #1f294f;
    position: absolute;
    width: 100%;
    height: 100%;
    clip-path: polygon(42% 100%, 100% calc(100% - 130px), 100% 100%);
	overflow: hidden;
	z-index: 2;
}

.header-elements--inner {
    background-color: rgba(19, 152, 227, 0.5);
    position: absolute;
    width: 120%;
    height: 100%;
    clip-path: polygon(51.7% 100%, 83.3% calc(100% - 187.5px), 100% 100%);
	overflow: hidden;
	z-index: 3;
}

.header-elements--inner:before {
	content: '';
	background-color: #1398e3;
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
    clip-path: polygon(51.7% 100%, 55% calc(100% - 52px), 83.3% calc(100% - 130px), 100% 100%);
	z-index: 4;
}

.front-page-1 .header-elements:before {
	width: 100%;
    clip-path: polygon(0 100%, 37% calc(100% - 469px), 111.5% 100%);
    transform: translateX(-360px) scale(1.1);
}

.front-page-1 .header-elements:after {
	clip-path: polygon(15.8% 100%, 90% calc(100% - 118px), 100% 100%);
}

.front-page-1 .header-elements--inner {
	background-color: #1398e3;
	width: 100%;
    clip-path: polygon(0 100%, 16.4% calc(100% - 91px), 83% 100%);
    transform: translateX(-80px);
}

.front-page-1 .header-elements--inner:before {
	display: none;
}

.front-page-1 > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

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

.front-page-1 h1 {
	color: #fff;
	margin: 0 0 1rem;
}

.front-page-1 h1 em {
    color: var(--tto-sky-blue);
    font-style: unset;
}

.front-page-1 p {
    font-size: 22.67px;
    font-weight: 500;
    line-height: 1.38;
	margin: 0;
}

.fp1-awards {
    margin: 5rem 0 0;
}

.fp1-awards > .gb-layout-column-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 3rem;
    max-width: 435px;
}

.fp1-awards > .gb-layout-column-wrap > .gb-block-layout-column {
    flex: 1;
}

.fp1-awards > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
}

.fp1-awards .wp-block-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
	filter: grayscale(1);
    overflow: hidden;
}

.fp1-awards .wp-block-image img {
    object-fit: contain;
    object-position: center center;
    width: 100%;
    height: 100%;
}

.animated-infographic {
    aspect-ratio: 1 / 1;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
    width: 100%;
    max-width: 460px;
    height: auto;
    margin: 0 32.5px 0 auto;
	z-index: 1;
}

.animated-infographic--background {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}

.animated-infographic--background:before {
    content: '';
    background: linear-gradient(180deg, var(--tto-sky-blue), #1c76d7);
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform: rotate(45deg);
    border-radius: 50%;
	animation: rotateForward 1.8s infinite 1.8s ease-in-out alternate,
			   rotateBackward 1.8s infinite 1.8s ease-in-out alternate;
    z-index: 3;
}

.animated-infographic--background .logo {
    background-color: #fff;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14%;
    height: 14%;
    top: 50%;
    left: 0%;
    border-radius: 50%;
	transform: translate(-50%, -50%);
    z-index: 3;
}

.animated-infographic--background .logo.second {
    top: 14.65%;
    left: 85.35%;
}

.animated-infographic--background .logo.third {
    top: 93.3%;
    left: 75%;
}

.animated-infographic--background .logo img {
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center center;
    width: 80%;
    height: auto;
}

.animated-infographic--foreground {
	aspect-ratio: 1 / 1;
	background-color: var(--tto-navy-blue);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 68%;
	height: auto;
	border-radius: 50%;
    overflow: hidden;
	z-index: 5;
}

.front-page-1 .animated-infographic--foreground p {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: min(22px, 1.63vw);
    font-weight: 600;
    line-height: 38px;
    letter-spacing: -0.3px;
}

.front-page-1 .animated-infographic--foreground p .number {
    background: linear-gradient(90deg, var(--tto-sky-blue), #a8eeff);
    background-clip: text;
    color: transparent !important;
    font-size: min(70px, 5.18vw);
    font-weight: 700;
    line-height: 1;
    text-shadow: 0px 1px 4.8px rgba(199, 242, 255, 0.42);
}

.entry-content .header-tagline p {
	color: #05809e;
	font-size: 22.67px;
	font-weight: 500;
	line-height: 1.38;
	margin: 0 0 3rem;
}

.entry-content .header-tagline + h2 {
	margin-top: 0;
}

.front-page-2 > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
	display: flex;
	flex-direction: column;
	gap: 12rem;
    padding: 4rem 0;
}

.fp2-top {
    max-width: 970px;
}

.fp2-top h2 {
    max-width: 760px;
}

.benefits-boxes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-radius: var(--tto-border-radius);
	overflow: hidden;
}

.benefits-box {
    background-color: #c8ebff;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 3rem;
    padding: 6rem 5rem;
}

.benefits-box:nth-child(2n) {
	background-color: #a2ddff;
}

.benefits-box:nth-child(3n) {
	background-color: #26b0fd;
}

.benefits-box:not(:last-child):before {
    content: '';
    background-color: inherit;
    position: absolute;
    width: 30px;
    height: 50px;
    top: calc(9rem + 48px + 1.6rem);
    left: 100%;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    z-index: 9;
}

.benefits-box--icon {
	margin: 0 0 1rem;
}

.benefits-box--icon img {
    aspect-ratio: 1 / 1;
    object-fit: contain;
    width: 48px;
    height: auto;
}

.benefits-box--copy {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.benefits-box--copy h3 {
	flex: 1;
    color: #000;
    font-size: 22.67px;
    font-weight: 700;
    line-height: 1.4;
	margin: 0;
}

.benefits-box--copy p {
	flex: 1;
    color: #000;
    font-size: 1.6rem;
    line-height: 28px;
    letter-spacing: -0.3px;
}

.benefits-box--cta {
    display: flex;
}

.process-roadmap {
    display: flex;
    flex-direction: column;
    gap: calc(var(--theme-section-padding) + 8rem);
    margin: 8rem 0 0;
}

.roadmap-heading {
    display: flex;
    flex-direction: column;
	align-items: center;
    gap: 1rem;
    max-width: 700px;
    margin: 0 auto;
}

.roadmap-heading--title h2 {
    text-align: center;
}

.roadmap-heading--tagline p {
	color: #000;
	text-align: center;
}

.roadmap-items {
    display: flex;
    flex-direction: column;
    gap: calc(var(--theme-section-padding) + 18rem);
}

.roadmap-item {
    position: relative;
    display: flex;
    justify-content: center;
}

.roadmap-item:not(:first-child):before {
	content: '';
	background-image: url('/wp-content/themes/321-web-marketing/assets/images/section/roadmap-ltr.svg');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	width: 100%;
	height: calc(var(--theme-section-padding) + 18rem);
    top: auto;
    bottom: 100%;
	left: 0;
}

.roadmap-item:nth-child(2n):before {
	background-image: url('/wp-content/themes/321-web-marketing/assets/images/section/roadmap-rtl.svg');
}

.roadmap-item--inner {
	display: flex;
	flex-wrap: wrap;
    align-items: center;
    gap: 8rem;
    max-width: 1152px;
    margin-left: auto;
	padding-right: 8rem;
}

.roadmap-item:nth-child(2n) .roadmap-item--inner {
	margin-left: 0;
	margin-right: auto;
	padding-left: 8rem;
	padding-right: 0;
}

.roadmap-item--content {
    flex: 1 1 calc(40% - 4rem);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
	justify-content: center;
    gap: 2.5rem;
	height: 100%;
}

.roadmap-item--content-box {
    background-color: #415eca;
    padding: 1.5rem;
    border-radius: var(--tto-border-radius);
}

.roadmap-item--content-box p {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    color: #fff;
    font-size: 1.9rem;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.roadmap-item--content-box p .number {
    font-size: 3.2rem;
    font-weight: 700;
}

.roadmap-item--content-title h3 {
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 1.2;
}

.roadmap-item--content-copy p {
    font-size: 1.6rem;
    line-height: 1.5;
}

.roadmap-item--image {
    flex: 1 1 calc(60% - 4rem);
	position: relative;
	padding: 0 0 4rem;
	z-index: 1;
}

.roadmap-item:nth-child(2n) .roadmap-item--image {
    order: -1;
}

.roadmap-item--image:before {
	content: '';
	background-color: #ffcd62;
	position: absolute;
	width: calc(100% + 8rem);
	height: 100%;
	top: 0;
	left: 0;
	clip-path: polygon(17% 92%, 31.5% 31%, 97% 5%, 91% 68%);
	z-index: 0;
}

.roadmap-item:nth-child(2) .roadmap-item--image:before {
	background-color: var(--tto-sky-blue);
	left: -8rem;
	clip-path: polygon(8% 15%, 88% 11%, 78.5% 85%, 20% 100%);
}

.roadmap-item:nth-child(3) .roadmap-item--image:before {
    background-color: #c4f687;
    clip-path: polygon(15% 100%, 15% 15%, 84% 15%, 98% 77%);
}

.roadmap-item--image img {
	position: relative;
	z-index: 2;
}

.front-page-4 .four-squares-menu {
    margin: 0 0 8rem;
}

.four-squares-menu--inner {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
}

.menu-square {
    flex: 1 1 calc(50% - 2.9rem);
	position: relative;
    border-radius: var(--tto-border-radius);
	overflow: hidden;
}

.menu-square--link {
	background-color: #1398e3;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
	overflow: hidden;
}

.menu-square--link:hover {
    box-shadow: 0px 5px 13px -3px rgba(0, 0, 0, 0.17);
    filter: brightness(1.1);
    transform: translateY(-2px);
}

.menu-square--image {
    flex: 1 1 57%;
	position: relative;
}

.menu-square--image img {
	position: absolute;
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.menu-square--content {
    order: -1;
    flex: 1 1 43%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem;
}

.menu-square--content-tagline p {
	color: #fff;
    font-weight: 300;
    line-height: 1.38;
}

.menu-square--content-title h3 {
	color: #fff;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.38;
}

.menu-square.second .menu-square--link {
	background-color: var(--tto-sky-blue);
    flex-direction: column;
}

.menu-square.second .menu-square--image {
    flex: 1;
    min-height: 250px;
}

.menu-square.second .menu-square--content {
	flex: 0;
    margin: 3rem 0;
}

.menu-square.second .menu-square--image img {
    object-position: center top;
    transform: scale(1.1);
    filter: brightness(1.2);
}

.menu-square.third .menu-square--link {
	background-color: #3acdf2;
}

.menu-square.third .menu-square--image {
    position: absolute;
    width: 100%;
    height: 100%;
    transform: translateX(35%);
}

.menu-square.third .menu-square--image img {
    height: auto;
    bottom: 0;
}

.menu-square.third .menu-square--content {
    max-width: 35%;
    padding: 15rem 3rem;
}

.menu-square.third .menu-square--content-tagline p,
.menu-square.third .menu-square--content-title h3,
.menu-square.fourth .menu-square--content-tagline p,
.menu-square.fourth .menu-square--content-title h3 {
	color: #000;
}

.menu-square.fourth .menu-square--image {
    order: -1;
    padding: 6rem 2rem 6rem 0;
}

.menu-square.fourth .menu-square--image img {
    position: unset;
    object-position: right center;
}

.heading-with-svg {
    display: flex;
	align-items: center;
    justify-content: center;
    gap: 5rem;
}

.heading-with-svg:before {
    content: '';
    width: 76px;
    height: 76px;
}

.heading-with-svg--content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 500px;
}

.heading-with-svg--content p {
	color: inherit;
    font-size: 2.2rem;
    line-height: 1.03;
    margin: 0;
    text-align: center;
}

.heading-with-svg--content h2 {
    color: inherit;
	margin: 0;
	text-align: center;
}

.heading-with-svg--icon {
    margin-top: calc((2.2rem * 1.03) + 1rem);
    display: flex;
    align-items: center;
}

.front-page-5 > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    display: flex;
    flex-direction: column;
    gap: 6rem;
}

.fp5-bottom {
	position: relative;
    width: 100%;
    max-width: 800px;
    margin: 0 auto 8rem;
	z-index: 1;
}

.fp5-bottom:before {
    content: '';
    position: absolute;
    background-color: var(--tto-navy-blue);
    width: 100vw;
    height: calc(min(25%, 200px) + 20rem);
    top: auto;
    bottom: calc(-1 * 20rem);
	left: calc(-50vw + 50%);
	z-index: 2;
}

.fp5-bottom > .gb-container-inside > .gb-container-content {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding: 6rem;
    border-radius: var(--tto-border-radius);
	z-index: 3;
}

.fp5-bottom h3 {
    font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	margin: 0;
	letter-spacing: -0.3px;
	word-spacing: -0.3px;
}

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

.gform_wrapper.gravity-theme .gform_fields {
    row-gap: 3rem;
    column-gap: 1.6rem;
}

.gform_wrapper.gravity-theme .gfield {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.gform_wrapper.gravity-theme .gfield .ginput_container_textarea {
    display: flex;
}

.gform_wrapper.gravity-theme .gfield.gfield--type-hidden,
.gform_wrapper.gravity-theme .gfield.gfield--type-captcha,
.gform_wrapper.gravity-theme .gfield.gfield--type-honeypot {
    position: absolute;
}

.gform_wrapper.gravity-theme .gfield_label {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    color: #2d3042;
    font-weight: 600;
    line-height: 20px;
    margin: 0;
}

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

.gform_wrapper.gravity-theme .gfield input,
.gform_wrapper.gravity-theme .gfield select,
.gform_wrapper.gravity-theme .gfield textarea {
    color: #000;
    padding: 8px 12px !important;
	border: 1px solid #ccc;
	border-radius: var(--tto-border-radius);
	outline: none;
	transition: var(--tto-transition);
}

.gform_wrapper.gravity-theme .gfield input:focus,
.gform_wrapper.gravity-theme .gfield select:focus,
.gform_wrapper.gravity-theme .gfield textarea:focus {
    border-color: var(--tto-sky-blue);
}

.gform_wrapper.gravity-theme .gfield input::placeholder,
.gform_wrapper.gravity-theme .gfield select::placeholder,
.gform_wrapper.gravity-theme .gfield textarea::placeholder {
	color: #4e4e4e;
	opacity: 0.7;
}

.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: #4e4e4e;
	opacity: 0.7;
}

.gform_wrapper.gravity-theme .gfield input:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gfield select:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gfield textarea:-ms-input-placeholder {
	color: #4e4e4e;
	opacity: 0.7;
}

.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: #4e4e4e;
	opacity: 0.7;
}

.gform_wrapper.gravity-theme .gfield_checkbox {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 1.5rem 0 0;
}

.gform_wrapper.gravity-theme .gfield_checkbox .gchoice {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.gform_wrapper.gravity-theme .gfield_checkbox .gchoice label {
    color: #000;
    line-height: 1.03;
}

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

.gform_wrapper.gravity-theme .gform_footer .gform_submit_button--input {
    position: absolute;
	display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.gform_wrapper.gravity-theme .gform_footer input[type='submit'] {
	background-color: transparent;
	color: transparent;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	box-shadow: none;
}

.gform_wrapper.gravity-theme .gform_footer .gform_submit_button--copy {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.gform_wrapper.gravity-theme .gform_footer .gform-loader {
    position: absolute;
    right: 2.4rem;
	border-block-start-color: #ddd;
    border-inline-end-color: #ddd;
}

.front-page-6 {
    margin: 5rem 0;
}

.front-page-7 > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    display: flex;
    flex-direction: column;
    gap: 6rem;
}

.entry-content .fp7-top p {
    font-size: 1.6rem;
    line-height: 1.5;
    margin: 0 0 2rem;
}

.articles-slider--wrapper > .swiper {
    position: relative;
    width: 124vw;
    max-width: 1672px;
    margin-left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.articles-slider--wrapper > .swiper:before,
.articles-slider--wrapper > .swiper:after {
    content: '';
    position: absolute;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0.71), rgba(255, 255, 255, 0.51), rgba(255, 255, 255, 0.51), rgba(255, 255, 255, 0.51), transparent);
    width: calc((100% - 120px) / 4);
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}

.articles-slider--wrapper > .swiper:after {
    background-image: linear-gradient(to left, rgba(255, 255, 255, 0.71), rgba(255, 255, 255, 0.51), rgba(255, 255, 255, 0.51), rgba(255, 255, 255, 0.51), transparent);
    left: auto;
    right: 0;
}

/* Footer */

.site-footer {
	position: relative;
    margin-top: -8rem;
}

.site-footer .footer-elements {
    background-color: transparent;
	position: relative;
    width: 100%;
    height: 80px;
	z-index: 1;
}

.site-footer .footer-elements:before,
.site-footer .footer-elements:after {
	content: '';
    background-color: var(--tto-navy-blue);
	position: absolute;
    width: 100%;
    height: 100%;
    clip-path: polygon(0 101%, 18.8vw 0%, 100% 101%);
	z-index: 2;
}

.site-footer .footer-elements:after {
    background-color: var(--tto-sky-blue);
    clip-path: polygon(15vw 100%, 100% 50%, 100% 100%);
    z-index: 0;
}

.site-footer-widgets {
	background-color: var(--tto-navy-blue);
    padding: 6rem 0;
}

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

.site-footer--newsletter > .gb-layout-column-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8rem;
}

.site-footer--newsletter > .gb-layout-column-wrap > .gb-block-layout-column {
    flex: 0 1 fit-content;
}

.site-footer--newsletter > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.site-footer--newsletter h3 {
    color: #fff;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 3rem;
    margin: 0;
}

.site-footer--newsletter p {
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.8rem;
}

.site-footer .footer-awards > .gb-layout-column-wrap {
    gap: 4rem;
}

.site-footer .footer-awards .wp-block-image {
    display: flex;
    overflow: hidden;
}

.site-footer .footer-awards .wp-block-image img {
    object-fit: contain;
    object-position: center center;
    width: 100%;
    max-height: 100px;
}

.site-footer--navigation {
    padding-top: 6rem;
    border-top: 1px solid var(--tto-sky-blue);
}

.site-footer--navigation > .gb-layout-column-wrap {
    grid-template-columns: 250px 1fr;
    row-gap: 4rem;
    column-gap: 10rem;
}

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

.site-footer .custom-svg-logo {
    max-width: 220px;
	height: 60px;
}

.site-footer .custom-svg-logo--link {
    display: flex;
    width: 100%;
    height: 100%;
}

.site-footer .custom-svg-logo img {
    object-fit: contain;
}

.site-footer .footer-address p {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.8rem;
}

.site-footer .footer-address p a {
    color: #fff;
    display: inline-flex;
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0.5rem 0 0;
}

.site-footer .footer-address p a:hover {
    color: var(--tto-sky-blue);
}

.site-footer--navigation .custom-button a.button {
    display: flex;
    justify-content: center;
    width: 100%;
	margin: 1rem 0;
}

.site-footer .custom-socials {
    justify-content: space-between;
    column-gap: 2.4rem;
}

.site-footer .custom-social--link svg {
    color: #fff;
    width: 2.6rem;
    height: 2.6rem;
	transition: var(--tto-transition);
}

.site-footer .custom-social--link svg:hover {
	color: var(--tto-sky-blue);
}

.site-footer .partner-icon .wp-block-image,
.site-footer .partner-icon .wp-block-image a {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.site-footer .partner-icon .wp-block-image a:hover {
    filter: brightness(1.25);
}

.site-footer .partner-icon .wp-block-image img {
    object-fit: contain;
    object-position: center center;
    width: 100%;
    max-height: 100px;
}

.site-footer--navigation .menu-widget--items {
    margin: 1.75rem 0 0;
}

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

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

.site-footer .menu .menu-item p,
.site-footer .menu .menu-item a {
    color: #fff;
    font-size: 1.7rem;
    font-weight: 700;
	line-height: 1.5;
    margin: 0;
}

.site-footer .menu .menu-item a:hover {
	color: var(--tto-sky-blue);
}

.site-footer .menu .menu-item .sub-menu {
    background-color: transparent;
    position: unset;
    gap: 1.5rem;
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;
	border: none;
    opacity: 1;
    transform: none;
}

.site-footer .menu .menu-item .sub-menu .menu-item a {
    width: fit-content;
	color: #a0a0a0;
    font-size: 1.5rem;
    font-weight: 400;
}

.site-footer .menu .menu-item .sub-menu .menu-item a:hover {
	color: #fff;
}

.site-footer .footer-credits p,
.site-footer .footer-credits p a {
    color: #a0a0a0;
    font-size: 1.4rem;
    font-weight: 400;
}

.site-footer .footer-credits p a:hover {
	color: #fff;
}

.site-footer .footer-credits p > .credit:first-child a {
    font-weight: 700;
    margin-left: 0.25rem;
}

/* Service Page */

body:not(.home) .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;
	height: 100%;
}

body:not(.home) .entry-content > .wp-block-genesis-blocks-gb-columns:not(.align-normal) > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    justify-content: center;
}

body:not(.home) .header-section {
	display: flex;
    justify-content: center;
	padding: 8rem 0;
	overflow: hidden;
}

body:not(.home) .header-section > .gb-layout-column-wrap {
    position: relative;
    z-index: 3;
}

body:not(.home) .header-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    max-width: 760px;
}

body:not(.home) .header-section .header-flair p {
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.38;
	margin: 0 0 0.5rem;
	text-shadow: 0px 4px 7px rgba(0, 0, 0, 0.1);
}

body:not(.home) .header-section h1 {
    color: #fff;
    font-size: 5.2rem;
	text-shadow: 0px 4px 7px rgba(0, 0, 0, 0.1);
}

body:not(.home) .sub-header-section:not(.simple),
body.blog .blog-section {
	display: flex;
	justify-content: center;
	padding-top: calc(var(--theme-section-padding) + 54px);
}

body:not(.home) .sub-header-section .sub-header-element,
body.blog .blog-section .blog-element,
body.clients-page .clients-section .clients-element {
    content: '';
	background-color: transparent;
    position: absolute;
    display: block;
    width: 100%;
	max-width: 1500px;
    height: 54px;
    top: 0;
	left: auto;
    margin: 0 auto;
    z-index: 9;
}

body:not(.home) .sub-header-section .sub-header-element:before,
body.blog .blog-section .blog-element:before,
body.clients-page .clients-section .clients-element:before {
	content: '';
    background-color: #1398e3;
    position: absolute;
    display: block;
    width: 120%;
    height: 100%;
    top: 0;
    left: -20%;
    clip-path: polygon(0 0, 16.7% 100%, 51.7% 0, 0 0);
    z-index: 1;
}

body:not(.home) .entry-content .gb-block-layout-column-inner > .wp-block-image:not(.not-styled) {
	position: relative;
	display: flex;
	padding: 4.5rem 0 6.7rem;
	overflow: hidden;
}

body:not(.home) .entry-content .gb-block-layout-column-inner > .wp-block-image:not(.not-styled):before {
    content: '';
    background-color: var(--tto-sky-blue);
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    clip-path: polygon(1% 100%, 33% 12%, 98% 0, 82% 85%);
    z-index: -1;
}

body:not(.home) .entry-content .gb-block-layout-column-inner > .wp-block-image:not(.not-styled) a {
    display: flex;
    width: 100%;
    height: 100%;
}

body:not(.home) .entry-content .gb-block-layout-column-inner > .wp-block-image:not(.not-styled) img {
    aspect-ratio: 11 / 10;
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
}

.wp-block-image.not-styled {
    position: relative;
	display: flex;
    border-radius: var(--tto-border-radius);
	overflow: hidden;
}

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

.header-section .custom-breadcrumbs .breadcrumb span {
    color: #fff;
}

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

.sub-header-section.gb-layout-columns-2 > .gb-layout-column-wrap,
.content-section.gb-layout-columns-2 > .gb-layout-column-wrap {
    grid-template-columns: 50% 1fr;
}

.content-section.wrap-reverse.gb-layout-columns-2 > .gb-layout-column-wrap {
	grid-template-columns: 1fr 50%;
}

.entry-content > .mid-content-cta-section:not(:last-child) {
    padding: 7rem 0;
}

.mid-content-cta-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    max-width: 50%;
}

.entry-content .mid-content-cta-section h2,
.single .entry-content .mid-content-cta-section h2 {
    color: #fff;
    font-size: 4.4rem;
    line-height: 1.2;
}

.entry-content .mid-content-cta-section p,
.single .entry-content .mid-content-cta-section p {
    color: #fff;
	font-size: 1.7rem;
	line-height: 3.2rem;
}

.mid-content-cta-section .mid-cta-element {
    position: absolute;
    display: flex;
    justify-content: flex-end;
    width: auto;
	max-width: 100vw;
    height: 100%;
    top: 0;
    left: auto;
    right: 0;
}

.mid-content-cta-section .mid-cta-element img {
    margin: 0 !important;
}

@media (min-width: calc(1500px / 0.92)) {
	.mid-content-cta-section .mid-cta-element {
		right: calc(50vw - 750px);
	}
}

.benefits-section--row,
.benefits-section--row > .gb-layout-column-wrap,
.benefits-section--row > .gb-layout-column-wrap > .gb-block-layout-column {
    display: contents;
}

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

.content-grid-box--link,
.content-grid-box--wrapper {
    background-color: #fff;
    display: block;
    width: 100%;
    height: 100%;
    padding: 3.5rem;
}

.content-grid-box--link:hover {
    transform: translateY(-2px);
    box-shadow: 0px 3px 9px -2px rgba(0, 0, 0, 0.17);
}

@media (min-width: 1196px) {
    .benefits-section.four-columns > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
        grid-template-columns: repeat(4, 1fr);
        gap: 3rem;
    }

    .benefits-section.four-columns .benefits-section--row > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
        padding: 3rem;
    }
}

.entry-content .benefits-section h3 {
    position: relative;
	font-size: 2.9rem;
    font-weight: 700;
    margin: 0 0 2rem;
    padding: 0 0 calc(2rem + 5px);
}

.entry-content .benefits-section.four-columns h3 {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.38;
}

.entry-content .benefits-section h3:before {
    content: '';
    background-color: var(--tto-sky-blue);
    position: absolute;
    width: 100%;
    max-width: 30%;
    height: 5px;
    top: auto;
    bottom: 0;
    left: 0;
    border-radius: 8px;
    transition: 0.25s ease-in-out max-width;
}

.entry-content .benefits-section .content-grid-box--link:hover h3:before {
    max-width: 50%;
}

.entry-content .benefits-section p {
    color: #4e4e4e;
    font-size: 1.5rem;
    line-height: 2.8rem;
}

.entry-content > .moving-header-section {
    overflow: visible;
}

.moving-header-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner,
.moving-header-section .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap {
    gap: 4rem;
}

.entry-content .moving-header-section h2 {
    background-image: radial-gradient(100.54% 166.6% at -6.51% -18.39%, #5775b3 0%, var(--tto-sky-blue) 100%);
    background-color: var(--tto-sky-blue);
    background-clip: text;
    color: transparent;
	font-size: 4.6rem;
    line-height: 1.2;
}

.entry-content .moving-header-section h3 {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 1.5rem;
}

.entry-content .moving-header-section p {
    color: #000;
}

.entry-content .moving-header-section p:last-of-type {
    margin-bottom: 0;
}

.background-cta-section:before {
    background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.05));
    background-color: transparent;
    opacity: 1;
}

.background-cta-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    max-width: 50%;
}

.entry-content .background-cta-section h2 {
    color: #fff;
    font-size: 4.4rem;
    line-height: 1.2;
    text-shadow: 0px 3px 7px rgba(0, 0, 0, 0.37);
}

.entry-content .background-cta-section p {
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.5;
    text-shadow: 0px 3px 7px rgba(0, 0, 0, 0.37);
}

.entry-content > .front-page-6 > .gb-layout-column-wrap,
.entry-content > .reviews-section > .gb-layout-column-wrap {
    width: 155vw;
    max-width: 2090px;
}

.reviews-sliders--wrapper {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    transform: translateX(max(-45rem, -33.3vw));
}

@media (min-width: 2090px) {
    .reviews-sliders--wrapper {
        transform: none;
    }
}

.reviews-slider.bottom {
    max-width: calc((100% - 10px) * 3 / 4);
    margin: 0 auto;
}

.reviews-slider.mobile {
    display: none;
}

.review {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    height: 100%;
    padding: 3rem;
    border: 4px solid #dedede;
}

.review-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3rem;
}

.review-info--logo {
    flex: 1 1 calc(37.5% - 1.5rem);
}

.review-info--logo img {
    object-fit: contain;
    object-position: left center;
    width: 100%;
    height: 60px;
}

.review-info--client {
    flex: 1 1 calc(62.5% - 1.5rem);
}

.review-info--client-name p {
    color: #000;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
}

.review-info--client-company p {
    color: #000;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
}

.review-info--client-stars {
    display: flex;
    min-height: 18px;
    margin: 0.5rem 0 0;
}

.review-info--client-stars .stars {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.review-info--client-stars .stars .star {
    display: flex;
}

.review-info--client-stars .stars .star svg {
    color: #edb25e;
    width: 18px;
    height: 18px;
}

.review-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.review-content--copy {
    flex: 1;
}

.review-content--copy p {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.75rem;
    height: 100%;
    color: #000;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.4;
}

.review-content--copy a {
    font-weight: 600;
}

.review-content--copy a:hover {
    color: var(--tto-sky-blue);
}


.entry-content .clients-section h2 {
    font-size: 4.5rem;
    line-height: 1.2;
    margin: 0 0 1.5rem;
}

.clients-slider {
    margin: 7rem 0 0;
}

.client-item {
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.client-item--link {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.client-item--image {
    order: 0;
    display: block;
    border-radius: var(--tto-border-radius);
    transition: var(--tto-transition);
    overflow: hidden;
}

.client-item--link:hover .client-item--image {
    background-color: rgba(45, 72, 91, 0.1);
    filter: brightness(1.1);
}

.client-item img,
.single-client-page .entry-content .client-item img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: auto;
    margin: 0;
    transform: scale(1.05);
}

.client-item--title {
    order: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.client-item--title h3,
.single-client-page .entry-content .client-item--title h3 {
    color: #000;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.38;
    text-align: center;
}

.client-item--type {
    order: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.client-item--type {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1rem 0 2rem;
}

.client-item--type p,
.single-client-page .entry-content .client-item--type p {
    background-color: #e6e6e6;
    color: #000;
    font-size: 1.5rem;
    line-height: 1.38;
    padding: 0.4rem 1rem;
    border-radius: 50px;
    text-align: center;
}

.clients-slider .swiper-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8rem;
    max-width: 92vw;
    margin: 4rem 0 0;
}

.articles-slider .swiper-controls {
    margin: 6rem 0 0;
}

.clients-slider .swiper-pagination {
    position: unset;
    display: flex;
    align-items: center;
    gap: 1rem;
    width: fit-content;
}

.clients-slider .swiper-pagination-bullet-active {
    background-color: #000;
}

.clients-slider .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 !important;
}

.swiper-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
}

.clients-slider .swiper-buttons {
    margin-left: auto;
}

.swiper-button-prev,
.swiper-button-next {
    position: unset;
    display: flex;
    width: fit-content;
    height: fit-content;
    margin: 0;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    display: none;
}

.swiper-button-prev span,
.swiper-button-next span {
    display: flex;
}

.swiper-button-prev svg,
.swiper-button-next svg {
    color: #000;
    width: 1.7rem;
    height: 1.7rem;
    padding: 1.45rem;
    border: 1px solid #000;
    border-radius: 50%;
    transition: var(--tto-transition);
}

.swiper-button-prev svg:hover,
.swiper-button-next svg:hover {
    opacity: 0.6;
}

@media (max-width: 767px) {
    body:not(.home) .sub-header-section,
    body.blog .blog-section {
        padding-top: calc(var(--theme-section-padding-mobile) + 54px);
    }
}

/* Blog Page / Clients Archive */

.clients-page .clients-section {
    display: flex;
    justify-content: center;
}

.blog-archive,
.clients-archive {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.blog-filter,
.clients-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    row-gap: 1.5rem;
    column-gap: 4rem;
}

.clients-filter {
    flex-direction: column;
    gap: 2.5rem;
}

.blog-filter--heading {
    flex: 1 1 calc(64% - 2rem);
    display: flex;
    align-items: center;
}

.clients-filter--heading {
    display: flex;
    align-items: center;
}

.blog-filter--heading p,
.clients-filter--heading p {
    color: #000;
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 1.03;
}

.clients-filter--heading p {
    font-size: 3.1rem;
    text-align: center;
}

.blog-filter--dropdown {
    flex: 1 1 calc(36% - 2rem);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.clients-filter--dropdown {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: calc(((100% + 16rem) / 3));
}

.blog-filter--dropdown select,
.clients-filter--dropdown select {
    appearance: none;
    width: 100%;
    color: #4e4e4e;
    font-size: 1.6rem;
    line-height: 2rem;
    padding: 1.8rem 1.6rem;
    border: 1px solid #ccc;
    border-radius: 0;
    outline: none;
    transition: var(--tto-transition);
}

.blog-filter--dropdown select:focus,
.clients-filter--dropdown select:focus {
    border-color: var(--tto-sky-blue);
}

.blog-filter--dropdown svg,
.clients-filter--dropdown svg {
    position: absolute;
    width: 14px;
    height: 14px;
    top: auto;
    left: auto;
    right: 1.6rem;
}

.tto-articles,
.tto-clients-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 8rem;
    column-gap: 4rem;
}

.tto-article {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    height: 100%;
}

.tto-article--content-link {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    height: 100%;
}

.tto-article--content-image {
    position: relative;
    display: flex;
    margin: 0 0 1rem;
    z-index: 1;
}

.tto-article--content-image-wrapper {
    aspect-ratio: 19 / 9;
    position: relative;
    display: block;
    border-radius: var(--tto-border-radius);
    overflow: hidden;
    z-index: 2;
}

.tto-article--content-image-wrapper img {
    display: block;
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
    transition: 0.7s cubic-bezier(0.23, 0.14, 0.19, 1) transform;
}

.tto-article--content-link:hover .tto-article--content-image img {
    transform: scale3d(1.2, 1.2, 1.2);
}

.tto-article--content-image-copy {
    background-color: #1f72d1;
    position: absolute;
    display: flex;
    top: auto;
    bottom: 0;
    left: auto;
    right: 0.8rem;
    padding: 0.4rem 0.8rem;
    border-radius: 50px;
    transform: translateY(50%);
    z-index: 3;
}

.tto-article--content-image-copy p {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.5;
    margin: 0;
}

.tto-article--content-image-copy p .separator {
    font-size: 2.8rem;
    line-height: 0;
    margin: 0.2rem 0 0;
}

.tto-article--content-title h2,
.tto-article--content-title h3,
.tto-article--content-title h4 {
    color: #000;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: var(--tto-transition);
}

.tto-article--content-link:hover .tto-article--content-title h2,
.tto-article--content-link:hover .tto-article--content-title h3 {
    color: #1f72d1;
}

.tto-article--content-description p {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    color: #4e4e4e;
    font-size: 1.5rem;
    line-height: 1.5;
}

.tto-article--content-description p .more {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: #1f72d1;
    font-size: 1.6rem;
    font-weight: 600;
    transition: var(--tto-transition);
}

.tto-article--content-link:hover .tto-article--content-description p .more {
    gap: 1.5rem;
}

.tto-article--author {
    flex: 1;
    display: flex;
    align-items: flex-end;
}

.tto-article--author-link {
    display: grid;
    grid-template-columns: 4rem auto;
    align-items: center;
    gap: 2rem;
}

.tto-article--author-link:hover {
    filter: brightness(1.1);
}

.tto-article--author-headshot {
    aspect-ratio: 1 / 1;
    display: block;
    border-radius: 50%;
    overflow: hidden;
}

.tto-article--author-headshot img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
}

.tto-article--author-name p {
    color: #000;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.5;
}

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

.pagination ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    width: 100%;
    margin: 0;
}

.pagination ul li {
    list-style-type: none;
    position: unset;
    padding: 0;
}

.pagination ul li:before {
    content: '';
    font-family: unset;
}

.pagination ul li span,
.pagination ul li a {
    list-style-type: none;
    display: flex;
    align-items: center;
    color: #000;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.5;
    padding: 0.6rem 1.3rem;
    border-radius: 0.6rem;
    pointer-events: all;
    cursor: pointer;
    overflow: hidden;
    transition: 0.25s ease-in-out all;
}

.pagination ul li a:hover {
    background-color: #f2f2f2;
}

.pagination ul li span {
    pointer-events: none;
    cursor: default;
}

.pagination ul li span.current {
    background-color: #d9d9d9;
    font-weight: 700;
}

@media (max-width: 991px) {
    .blog-filter--heading,
    .blog-filter--dropdown {
        flex: 1 1 calc(50% - 2rem);
    }

    .tto-articles,
    .tto-clients-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .blog-filter,
    .clients-filter {
        flex-direction: column;
        align-items: center;
        gap: 2.5rem;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }

    .blog-filter--heading,
    .blog-filter--dropdown,
    .clients-filter--heading,
    .clients-filter--dropdown {
        width: 100%;
        justify-content: center;
    }

    .blog-filter--heading p,
    .clients-filter--heading p {
        font-size: 2.4rem;
        text-align: center;
    }

    .tto-articles,
    .tto-clients-grid {
        grid-template-columns: auto;
        gap: 6rem;
        width: 100%;
        max-width: 400px;
        margin: 2rem auto 0;
    }
}

/* Contact Page */

.contact-form-section.gb-layout-columns-2 > .gb-layout-column-wrap,
.consultation-section.gb-layout-columns-2 > .gb-layout-column-wrap {
    grid-template-columns: 1fr 55%;
}

.contact-form-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner,
.consultation-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
    background-color: #fff;
    gap: 3rem;
    padding: 6.1rem 4.8rem;
    border-radius: var(--tto-border-radius);
    box-shadow: 0 12px 32.5px rgba(6, 31, 49, 0.25);
}

.contact-form-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child h3 {
    font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	margin: 0;
	letter-spacing: -0.3px;
	word-spacing: -0.3px;
}

.entry-content .contact-form-section p {
    color: #000;
}

.contact-info-block {
    background-color: #f9f3f3;
    display: flex;
    align-items: center;
    gap: 3rem;
    margin: 2.5rem 0 0;
    padding: 3rem;
    border-radius: var(--tto-border-radius);
}

.contact-info-block--content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contact-info-block--content-heading h3 {
    color: #000;
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 1.4;
}

.contact-info-block--content-copy p {
    color: #000;
    font-size: 1.5rem;
    line-height: 2.8rem;
    letter-spacing: -0.3px;
}

.contact-info-block--content-copy p a {
    font-weight: 500;
}

.contact-info-block--link {
    display: flex;
    margin-left: auto;
}

.contact-info-block--link span {
    display: flex;
}

.contact-info-block--link svg {
    display: block;
    width: 2.8rem;
    height: 2.8rem;
}

/* Team Page */

.entry-content > .sub-header-section.simple {
    display: flex;
    justify-content: center;
    padding: var(--theme-section-padding) 0;
}

.entry-content > .sub-header-section.simple[class*='gb-has-background'] {
    padding: 18rem 0;
}

.sub-header-section.simple[class*='gb-has-background']:before {
    background-color: #0e152e;
    opacity: 0.8;
}

.sub-header-section.simple > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    max-width: 960px;
    margin: 0 auto;
}

.sub-header-section.simple p {
    color: #000;
}

.sub-header-section.simple[class*='gb-has-background'] h2,
.sub-header-section.simple[class*='gb-has-background'] p {
    color: #fff;
    text-shadow: 0 3px 7px rgba(0, 0, 0, 0.27);
}

.sub-header-section.simple[class*='gb-has-background'] .bold-tagline p strong {
    color: var(--tto-sky-blue);
    font-size: 3.4rem;
    font-weight: 700;
    line-height: 1.03;
}

.bold-tagline {
    margin: -0.5rem 0 2rem;
}

.bold-tagline p strong {
    color: #05809e;
    font-size: 2.3rem;
    line-height: 1.4;
}

.bold-tagline.black p strong {
    color: #000;
    font-weight: 500;
}

.team-member-archive {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    row-gap: 6rem;
    column-gap: 4rem;
}

.team-member--link {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.team-member--headshot {
    aspect-ratio: 14 / 15;
    background-color: var(--tto-sky-blue);
    display: flex;
    border-radius: var(--tto-border-radius) var(--tto-border-radius) 0 0;
    overflow: hidden;
}

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

.team-member--link:hover .team-member--headshot img {
    transform: scale3d(1.2, 1.2, 1.2);
}

.team-member--name {
    margin: 1.5rem 0 0;
}

.team-member--name h3 {
    color: #000;
    font-size: 2.3rem;
    font-weight: 500;
    line-height: 1.38;
    text-align: center;
    transition: var(--tto-transition);
}

.team-member--link:hover .team-member--name h3 {
    color: var(--tto-sky-blue);
}

.team-member--role p {
    color: #000;
    font-size: 1.7rem;
    line-height: 1.38;
    text-align: center;
}

.team-member--socials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin: 2rem 0 0;
}

.team-member--social {
    display: flex;
}

.team-member--social svg {
    color: #1b447a;
    width: 2.4rem;
    height: 2.4rem;
    transition: var(--tto-transition)
}

.team-member--social:hover svg {
    color: var(--tto-sky-blue);
}

.team-member-archive.headshots-only {
    grid-template-columns: repeat(6, 1fr);
    gap: 0.5rem;
    margin: 6rem 0 0;
}

.team-member-archive.headshots-only .team-member.placeholder {
    pointer-events: none;
    visibility: hidden;
    cursor: default;
}

.team-member-archive.headshots-only .team-member--headshot {
    aspect-ratio: 1 / 1;
    filter: grayscale(1);
    border-radius: 0;
    transition: 0.7s cubic-bezier(0.23, 0.14, 0.19, 1) filter;
}

.team-member-archive.headshots-only .team-member--link:hover .team-member--headshot {
    filter: none;
}

.team-member-archive.headshots-only .team-member--link:hover .team-member--headshot img {
    transform: none;
}

@media (max-width: 1195px) {
    .team-member-archive {
        grid-template-columns: repeat(3, 1fr);
    }

    .team-member-archive.headshots-only {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (max-width: 1095px) {
    .team-member-archive.headshots-only {
        grid-template-columns: repeat(4, 1fr);
    }

    .team-member-archive.headshots-only .team-member.placeholder {
        display: none;
    }
}

@media (max-width: 895px) {
    .team-member-archive {
        grid-template-columns: repeat(2, 1fr);
    }

    .team-member {
        width: 100%;
        max-width: 350px;
        margin: 0 auto;
    }

    .team-member-archive.headshots-only {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .team-member-archive {
        grid-template-columns: auto;
    }

    .team-member-archive.headshots-only {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 450px) {
    .team-member-archive.headshots-only {
        grid-template-columns: auto;
        gap: 6rem;
    }
}

/* Careers Page */

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

.careers-list {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.career {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    row-gap: 2rem;
    column-gap: 8rem;
}

.career:not(:first-child) {
    padding: 4rem 0 0;
    border-top: 1px solid #aeaeae;
}

.career-content--tagline p {
    color: #05809e;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 3.2rem;
}

.career-content--title h3 {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.38;
}

.career-content {
    flex: 1 1 calc(100% - 8rem - 250px);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.career-content--info {
    margin: 1.5rem 0 0;
}

.career-content--info p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    row-gap: 0.25rem;
    column-gap: 1.25rem;
}

.career-content--info p .career-content--info-separator {
    color: #d9d9d9;
    font-size: 5.8rem;
    line-height: 0;
    margin: 0.3rem 0 0;
}

.career-cta {
    flex: 1 1 250px;
    display: flex;
    justify-content: flex-end;
}

.career-cta .custom-button {
    width: auto;
}

@media (max-width: 767px) {
    .career {
        display: block;
    }

    .career-cta {
        justify-content: flex-start;
        margin: 2rem 0 0;
    }
}

/* Process Page */

.process-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    background-color: #f8f8fa;
}

.process-section--top:before {
    content: '';
    background-color: #fff;
    position: absolute;
    width: 100%;
    height: 50%;
    top: 0;
    left: 0;
}

.process-section--top > .gb-container-inside > .gb-container-content {
    background-color: #fff;
    width: 70%;
    max-width: 960px;
    padding: 5rem;
    box-shadow: 0px 3px 13px -2px rgba(0, 0, 0, 0.17);
}

.process-section--top h2 {
    font-size: 3.6rem;
}

.process-section--top p {
    color: #000;
}

.process-section-steps {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(var(--theme-section-padding) + 4rem);
    padding: var(--theme-section-padding) 4rem;
    z-index: 1;
}

.process-section-steps:before {
    content: '';
    background-color: var(--tto-sky-blue);
    position: absolute;
    display: block;
    width: 150px;
    height: 100%;
    top: 0;
    left: auto;
}

.process-step {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    row-gap: 6rem;
    column-gap: 4rem;
    z-index: 3;
}

.process-step--number {
    order: -2;
    flex: 1 1 100%;
    display: flex;
    justify-content: center;
}

.process-step--number p {
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8rem;
    height: 8rem;
    color: #05809e;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 50%;
}

.process-step--content,
.process-step--image {
    flex: 1 1 calc(50% - 2rem);
}

.process-step--image {
    aspect-ratio: 12 / 7;
    display: flex;
    overflow: hidden;
}

@media (min-width: 992px) {
    .process-step:nth-child(2n) .process-step--image {
        order: -1;
    }
}

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

.process-step--content {
    background-color: #fff;
    padding: 3rem;
    box-shadow: 0px 2px 9px -1px rgba(0, 0, 0, 0.12);
}

.process-step--content-copy p {
    color: #000;
    font-size: 1.6rem;
    line-height: 1.5;
}

.process-step--content-heading h3 {
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 2.5rem;
}

body:not(.home) .entry-content > .split-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    justify-content: flex-start;
}

.split-section h2 {
    font-size: 3.4rem;
    margin-top: 0;
}

.split-section svg {
    display: flex;
    width: 4.2rem;
    height: 4.2rem;
    color: var(--tto-sky-blue);
    margin: 0 0 2.5rem;
}

.gb-block-layout-column-inner > p + ul {
    margin-top: -2rem;
}

.community-collage {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: flex-end;
    gap: 4.8rem;
    max-width: 1125px;
    margin: 0 auto;
}

.community-collage--item {
    display: flex;
    width: 100%;
    height: 320px;
    border-radius: var(--tto-border-radius);
    overflow: hidden;
}

@media (min-width: 992px) {
    .community-collage--item.two {
        height: 460px;
    }
}

.community-collage--item.four {
    grid-column: 1 / span 2;
}

.community-collage--item img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
}

.community-cta h2 {
    font-size: 3.4rem;
    line-height: 1.03;
}

.community-cta p {
    color: #000;
}

.community-image {
    position: relative;
    display: flex;
    overflow: hidden;
    z-index: 1;
}

.community-image--item {
    aspect-ratio: 23 / 21;
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    padding: 4rem;
    overflow: hidden;
    z-index: 2;
}

.community-image--item.two,
.community-image--item.three {
    aspect-ratio: 1 / 1;
    position: absolute;
    width: 29%;
    height: auto;
    top: 0;
    left: auto;
    right: 0;
    padding: 0;
    border-radius: var(--tto-border-radius);
    z-index: 3;
}

.community-image--item.three {
    top: auto;
    bottom: 0;
    left: 0;
}

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

@media (max-width: 991px) {
    .community-collage--item {
        height: 250px;
    }
}

@media (max-width: 767px) {
    .community-collage {
        grid-template-columns: repeat(2, 1fr);
        gap: 4vw;
    }

    .community-collage--item {
        aspect-ratio: 1 / 1;
        height: auto;
    }

    .community-collage--item.four {
        grid-column: unset;
    }
}

/* Awards Page */

.entry-content > .awards-section > .gb-layout-column-wrap {
    width: 109vw;
    max-width: var(--theme-wrap-max-width);
    margin-left: 50%;
    transform: translate(-50%);
}

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

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

.awards-section h2,
.timeline-section h2 {
    font-size: 3.4rem;
    margin: 0;
}

.awards-section h2,
.awards-slider .swiper-controls {
    width: calc(100vw * 0.92);
    max-width: var(--theme-wrap-max-width);
    margin: 0 auto;
}

.awards-slider .swiper-controls {
    margin-top: 6rem;
}

.awards-slider .award {
    aspect-ratio: 1 / 1;
    display: flex;
    overflow: hidden;
}

.awards-slider .award a {
    display: flex;
    width: 100%;
    height: 100%;
}

.awards-slider .award img {
    object-fit: contain;
    object-position: center center;
    width: 100%;
    height: 100%;
}

.events-timeline {
    position: relative;
    display: flex;
    gap: min(6rem, 4.5vw);
    z-index: 1;
}

.timeline-event {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.timeline-event:before,
.timeline-event:after {
    content: '';
    background-color: #dedede;
    position: absolute;
    width: max(calc(50% - 15px), calc(50% - 1.1vw));
    height: 3px;
    top: min(13.5px, calc(1.1vw - 1.5px));
    left: 0;
}

.timeline-event:not(:first-child):before {
    width: min(calc(50% - 15px + 6rem + 0px), calc(50% - 1.1vw + 4.5vw));
    left: max(-6rem, -4.5vw);
}

.timeline-event:after {
    left: auto;
    right: 0;
}

.timeline-event--bullet {
    background-color: transparent;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(30px, 2.2vw);
    height: min(30px, 2.2vw);
    overflow: hidden;
    border-radius: 50%;
}

.timeline-event--bullet:before {
    content: '';
    background-color: var(--tto-sky-blue);
    position: absolute;
    display: block;
    width: min(15px, 1.1vw);
    height: min(15px, 1.1vw);
    border-radius: 50%;
}

.timeline-event--year p {
    color: #05809e;
    font-size: min(3.4rem, 2.5vw);
    font-weight: 700;
    line-height: 1.03;
    text-align: center;
}

.timeline-event--heading p {
    color: #000;
    font-size: min(2.2rem, 1.7vw);
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

.timeline-event--description p {
    color: #000;
    font-size: min(1.7rem, 1.3vw);
    line-height: 1.7;
    margin: min(1rem, 0.8vw) 0 0;
    text-align: center;
}

/* Success / 404 Pages */

.svg-header-section .header-svg {
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 250px;
    overflow: hidden;
}

.not-found-page .svg-header-section .header-svg {
    max-height: 320px;
}

.svg-header-section .header-svg img {
    object-fit: contain;
    object-position: center center;
    width: 100%;
    height: 100%;
}

.svg-header-section .gb-block-layout-column-inner,
.next-steps-section .gb-block-layout-column-inner {
    max-width: 896px;
    gap: 4rem;
    margin: 0 auto;
}

.next-steps-section .gb-block-layout-column-inner {
    gap: 0;
}

.svg-header-section h1 {
    font-size: 4.5rem;
}

.svg-header-section p {
    color: #000;
}

.next-steps-section h2 {
    color: #fff;
    font-size: 3.4rem;
}

.next-steps-section ul {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    margin: 0;
}

.next-steps-section ul li {
    list-style-type: none;
    font-size: 1.9rem;
}

.inline-cta {
    background-color: #f0f0f0;
    max-width: 760px;
    margin: 6rem auto 0;
    padding: 4rem;
    border-radius: var(--tto-border-radius);
    overflow: hidden;
}

.inline-cta--heading .gb-container-content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    row-gap: 1rem;
    column-gap: 2rem;
    margin: 0 auto 2rem;
}

.entry-content .inline-cta--heading .gb-container-content > *:last-child {
    color: #000;
    font-size: 2.7rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
}

.inline-cta--heading svg {
    color: var(--tto-sky-blue);
    font-size: 2.7rem;
}

.entry-content .inline-cta p {
    color: #000;
    margin: 0 0 2rem;
}

/* About Page */

@media (min-width: 768px) {
    .differentiator-section > .gb-layout-column-wrap {
        grid-template-columns: 1fr 50%;
    }

    .differentiator-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
        padding: 8rem 0;
    }

    .differentiator-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child .wp-block-image {
        position: absolute;
        display: flex;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }

    .differentiator-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child .wp-block-image a {
        display: block;
        width: 100%;
        height: 100%;
    }

    .differentiator-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child .wp-block-image img {
        object-fit: cover;
        object-position: center center;
        width: 100%;
        height: 100%;
    }

    .entry-content > .multi-image-section > .gb-layout-column-wrap {
        grid-template-columns: 60% 40%;
        gap: 2rem;
    }

    .multi-image-section .wp-block-image {
        height: 375px;
    }
}

.differentiator-section h2 {
    font-size: 3.4rem;
}

.entry-content > .multi-image-section {
    padding: 0 0 6rem;
}

.multi-image-section .wp-block-image img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
}

.entry-content > .why-us-section {
    padding-top: 8rem;
}

.why-us-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    gap: 10rem;
}

.why-us-section h2 {
    font-size: 3.4rem;
    margin: 0;
}

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

.why-us-box {
    background-color: #e8e8e8;
    display: grid;
    grid-template-columns: 50px 1fr;
    align-items: center;
    gap: 5rem;
    padding: 6rem 4rem;
    border-radius: var(--tto-border-radius);
    overflow: hidden;
}

.why-us-box--copy p {
    color: #000;
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1.38;
}

.experts-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    max-width: 1040px;
    margin: 0 auto;
}

.experts-section h2 {
    font-size: 3.4rem;
}

.entry-content > .cta-box-section {
    width: var(--theme-wrap-width);
    max-width: var(--theme-wrap-max-width);
    margin: 4rem auto calc(var(--theme-section-padding) + 4rem);
    padding: 0;
    border-radius: var(--tto-border-radius);
    overflow: hidden;
}

.entry-content > .cta-box-section > .gb-layout-column-wrap {
    grid-template-columns: 1fr 50%;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 10rem 6rem;
}

.entry-content .cta-box-section h2 {
    color: #fff;
    font-size: 3.4rem;
    text-shadow: 0 3px 7px rgba(0, 0, 0, 0.27);
}

.entry-content .cta-box-section p {
    color: #fff;
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1.38;
    text-shadow: 0 3px 7px rgba(0, 0, 0, 0.27);
}

/* Consultation Page */

.consultation-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child {
    grid-column: 2;
}

.consultation-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child {
    grid-column: 1;
}

.consultation-section h1 {
    color: #000;
    font-size: 3.5rem;
    margin: 0;
}

.consultation-section .bold-tagline p strong {
    color: #000;
    font-size: 2.7rem;
}

.entry-content .consultation-section h2 {
    color: #000;
    margin: 2rem 0 4rem;
}

.entry-content .consultation-section h2 + p {
    color: #000;
}

.consultation-steps {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    margin: 3rem 0 0;
}

.consultation-step {
    background-color: #1a3a71;
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    gap: 3rem;
    padding: 2rem;
    border-radius: var(--tto-border-radius);
    overflow: hidden;
}

.consultation-step--content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.consultation-step--content-heading h3 {
    color: #fff;
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1.38;
}

.consultation-step--content-copy p {
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.34;
}

.consultation-page .timeline-section:before {
    opacity: 0.85;
}

.consultation-page .timeline-event:before,
.consultation-page .timeline-event:after {
    background-color: #fff;
}

.consultation-page .timeline-section h2,
.consultation-page .timeline-event--heading p,
.consultation-page .timeline-event--description p {
    color: #fff;
    text-shadow: 0 3px 7px rgba(0, 0, 0, 0.27);
}

.consultation-page .mid-content-cta-section h2,
.consultation-page .mid-content-cta-section p {
    color: #000;
}

a.button-ctas > .gb-layout-column-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    row-gap: 2rem;
    column-gap: 4rem;
}

a.button-ctas > .gb-layout-column-wrap > .gb-block-layout-column {
	flex: 0 1 fit-content;
}

/* Case Studies Page */

.entry-content > .case-studies-section {
    padding-top: 2rem;
}

.case-studies-archive {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8rem;
    margin: 0 0 8rem;
}

.case-study {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.case-study--image {
    aspect-ratio: 2 / 1;
    display: flex;
    border-radius: var(--tto-border-radius);
    margin: 0 0 1rem;
    overflow: hidden;
}

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

.case-study--title h3 {
    font-size: 2.2rem;
    font-weight: 500;
}

.case-study--description p {
    color: #000;
    font-size: 1.7rem;
    line-height: 1.5;
}

.case-study--cta {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}

.case-study--cta .custom-button {
    height: auto;
}

@media (max-width: 991px) {
    .case-studies-archive {
        grid-template-columns: repeat(2, 1fr);
        gap: 6rem;
        margin: 0 0 6rem;
    }
}

@media (max-width: 767px) {
    .case-studies-archive {
        grid-template-columns: auto;
        width: 100%;
        max-width: 450px;
        margin: 0 auto 4rem;
    }
}

/* Single Post */

.single-post .content-sidebar-wrap > .content {
    padding: var(--theme-section-padding) 0;
}

.single-post .content-sidebar-wrap > .content > .entry {
    display: flex;
    flex-direction: column;
    gap: 8rem;
    width: var(--theme-wrap-width);
    max-width: 896px;
    margin: 0 auto;
}

.single-post .custom-breadcrumbs .breadcrumb {
    justify-content: center;
    margin: 0 0 3rem;
}

.single-post .custom-breadcrumbs .breadcrumb-separator:nth-last-child(2),
.single-post .custom-breadcrumbs .breadcrumb-item:last-child {
    display: none;
}

.single-post .custom-breadcrumbs .breadcrumb-link:nth-last-child(3) span {
    font-weight: 600;
}

.single-post .custom-breadcrumbs .breadcrumb .breadcrumb-link:hover span {
    color: #555;
    opacity: 1;
}

.single-post-header--title h1 {
    color: #000;
    font-size: 4.6rem;
    text-align: center;
}

.single-post-header--info {
    display: flex;
    justify-content: center;
    margin: 3rem 0;
}

.single-post-related {
    background-color: #f8f8fa;
    padding: var(--theme-section-padding) 0 calc(var(--theme-section-padding) + 8rem);
}

.single-post-related--wrap {
    width: var(--theme-wrap-width);
    max-width: var(--theme-wrap-max-width);
    margin: 0 auto;
}

.single-post-related--heading {
    display: flex;
    justify-content: center;
    max-width: 760px;
    margin: 0 auto 4rem;
}

.single-post-related--heading h3 {
    color: #000;
    font-size: 3.4rem;
    font-weight: 700;
    line-height: 1.03;
    text-align: center;
}

.single-post-header--info p {
    background-color: #1f72d1;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.5;
    margin: 0;
    padding: 0.4rem 0.8rem;
}

.single-post-header--info p .separator {
    font-size: 2.8rem;
    line-height: 0;
    margin: 0.2rem 0 0;
}

.single-post-header--author .tto-article--author {
    justify-content: center;
    margin: 0 0 7rem;
}

.single-post-header--author .tto-article--author-link {
    grid-template-columns: 4.6rem auto;
}

.single-post-header--image {
    aspect-ratio: 41 / 25;
    display: flex;
    max-width: 760px;
    margin: 0 auto;
    border-radius: var(--tto-border-radius);
    overflow: hidden;
}

.single-post-header--image img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
}

.single .entry-content p,
.single .entry-content li {
    color: #000;
    font-size: 1.9rem;
    line-height: 1.5;
}

.single .entry-content p a:not(.button),
.single .entry-content li a:not(.button) {
    color: #05809e;
    font-weight: 600;
    padding: 0 0 0.15rem;
    border-bottom: 1.5px solid;
}

.single .entry-content p a:not(.button):hover,
.single .entry-content li a:not(.button):hover {
    color: var(--tto-sky-blue);
}

.single .entry-content img {
    margin: 0 0 4rem;
    border-radius: var(--tto-border-radius);
}

.single .entry-content img.alignright {
    display: inline-block;
    float: right;
    margin: 0 0 4rem 4rem;
}

.single .entry-content h2 {
    font-size: 3.6rem;
    line-height: 1.5;
}

.single .entry-content h3 {
    font-size: 2.6rem;
    line-height: 1.5;
}

.single .entry-content h4 {
    font-size: 2.2rem;
    line-height: 1.5;
}

.single .entry-content table {
    background-color: #f8f8fa;
    width: 100%;
    border-radius: var(--tto-border-radius);
    overflow: hidden;
}

.single .entry-content table thead,
.single .entry-content table tbody {
    display: block;
    padding: 4rem;
	border: none;
	overflow: visible;
}

.single .entry-content table thead {
    padding-bottom: 0;
}

.single .entry-content table thead + tbody {
    padding-top: 0;
}

.single .entry-content table tr {
	position: relative;
	display: flex;
	z-index: 2;
}

.single .entry-content table tr th,
.single .entry-content table tr td {
    flex: 1;
	position: relative;
	font-size: 1.5rem;
    text-align: center;
	padding: 2rem 0;
	border: none;
	z-index: 3;
}

.single .entry-content table tr th:first-child,
.single .entry-content table tr td:first-child {
    flex: 22%;
    max-width: 22%;
	font-weight: 500;
	text-align: left;
}

.single .entry-content table tr th {
	font-weight: 600;
}

.single .entry-content table tbody tr:nth-of-type(2n + 1):before {
	content: '';
	background-color: #fff;
	position: absolute;
	width: calc(100% + 2rem);
	height: 100%;
	top: 0;
	left: -1rem;
	border-radius: var(--tto-border-radius);
	z-index: 2;
}

.single .entry-content table thead tr td,
.single .entry-content table thead tr td p,
.single .entry-content table thead tr td strong {
    color: #000;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.2;
}


.single .entry-content table tbody tr td,
.single .entry-content table tbody tr td p,
.single .entry-content table tbody tr td strong {
    color: #000;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.2;
}

.single .entry-content table tbody tr td:first-child,
.single .entry-content table tbody tr td:first-child p,
.single .entry-content table tbody tr td:first-child strong {
    font-weight: 600;
}

.single .entry-after {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.single .entry-after .share-heading p {
    color: #000;
    font-weight: 600;
	line-height: 1.5;
    text-align: center;
}

.single .entry-after .share-ctas {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.single .entry-after .share-ctas > div[class*="share-gss"] {
    display: contents;
}

.single .entry-after .share-ctas .share-cta,
.single .entry-after .share-ctas .sharrre {
    background-color: #eee;
	position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    border-radius: 50%;
	pointer-events: all;
	cursor: pointer;
	overflow: visible;
	transition: 0.25s ease-in-out all;
}

.single .entry-after .share-ctas .share-cta .share-cta--icon,
.single .entry-after .share-ctas .sharrre .count {
	background-color: transparent !important;
	position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 0;
    border: none;
}

.single .entry-after .share-ctas .share-cta .cta-tooltip,
.single .entry-after .share-ctas .sharrre .hidden {
	background-color: #555;
	position: absolute;
	display: block;
	width: 140px;
	top: auto;
	bottom: 150%;
	left: -9999px;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
	margin-left: -70px;
	border-radius: 6px;
	padding: 5px;
	pointer-events: none;
	opacity: 0;
	transition: 0.25s ease-in-out opacity, 0s 0.25s ease-in-out left;
	z-index: 1;
}

.single .entry-after .share-ctas .share-cta .cta-tooltip:after,
.single .entry-after .share-ctas .sharrre .hidden:after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: #555 transparent transparent transparent;
}

.single .entry-after .share-ctas .share-cta:hover .cta-tooltip,
.single .entry-after .share-ctas .sharrre:hover .hidden {
	left: 50%;
	pointer-events: all;
	opacity: 1;
	transition: 0.25s ease-in-out opacity, 0s ease-in-out left;
}

.single .entry-after .share-ctas .sharrre .box {
    display: contents;
}

.single .entry-after .share-ctas .sharrre .box:before {
    content: '\f09a';
	display: none;
	font-weight: 900;
	font-family: 'Font Awesome 6 Brands';
}

.single .entry-after .share-ctas .sharrre.twitter .box:before {
	content: '\e61b';
}

.single .entry-after .share-ctas .sharrre.linkedin .box:before {
	content: '\f08c';
}

.single .entry-after .share-ctas .share-cta svg,
.single .entry-after .share-ctas .sharrre .box svg {
    color: #1d273f;
	width: 20px;
	height: 20px;
	transition: 0.25s ease-in-out all;
}

.single .entry-after .share-ctas .share-cta:hover svg,
.single .entry-after .share-ctas .sharrre:hover .box svg {
    color: var(--cloudqix-blue);
}

.single .entry-after .share-ctas .sharrre .share {
    display: none;
}

@media (max-width: 767px) {
    .single-post .content-sidebar-wrap > .content {
        padding: var(--theme-section-padding-mobile) 0;
    }

    .single-post .content-sidebar-wrap > .content > .entry {
        gap: 6rem;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0 var(--theme-wrap-padding-mobile);
    }

    .single-post-header {
        position: relative;
    }

    .single-post-header--image {
        aspect-ratio: unset;
        position: absolute;
        width: calc(100% + 8vw);
        height: calc(100% + (var(--theme-section-padding-mobile) * 2));
        top: calc(var(--theme-section-padding-mobile) * -1);
        left: -4vw;
        border-radius: 0;
        z-index: -1;
    }

    .single-post-header--image:before,
    .single-post-header--image:after {
        content: '';
        background-color: var(--tto-sky-blue);
        mix-blend-mode: hard-light;
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        opacity: 0.5;
    }

    .single-post-header--image:after {
        background-color: #000;
        mix-blend-mode: normal;
        opacity: 0.7;
    }

    .single-post-header--title h1 {
        color: #fff;
        font-size: 3.6rem;
        line-height: 1.2;
        text-shadow: 0px 3px 7px rgba(0, 0, 0, 0.37);
    }
    
    .single-post-header .custom-breadcrumbs .breadcrumb span,
    .single-post-header .tto-article--author-name p {
        color: #fff;
        text-shadow: 0px 3px 7px rgba(0, 0, 0, 0.37);
    }

    .single-post-header--author .tto-article--author {
        margin: 0;
    }

    .single-post .entry-content {
        margin: 2rem 0 0;
        padding: var(--theme-section-padding-mobile) 0 0;
    }

    .single .entry-content h2 {
        font-size: 3.2rem;
        line-height: 1.2;
    }

    .single .entry-content h3 {
        font-size: 2.4rem;
        line-height: 1.2;
    }

    .single .entry-content h4 {
        font-size: 2rem;
        line-height: 1.2;
    }

    .single .entry-content p,
    .single .entry-content li {
        color: #000;
        font-size: 1.8rem;
        line-height: 1.618;
    }

    .single .entry-content ul li svg {
        top: 11.56px;
    }

    .single .entry-content img.alignright {
        display: flex;
        justify-content: center;
        float: none;
        margin: 0 auto 4rem;
    }
}

@media (max-width: 650px) {
    .single .entry-content table thead,
    .single .entry-content table tbody {
        padding: 3rem;
    }

    .single .entry-content table tbody {
		display: flex;
		flex-direction: column;
		gap: 3rem;
	}

    .single .entry-content table tr {
        flex-direction: column;
        gap: 1rem;
    }

    .single .entry-content table tr td {
		position: relative;
		display: flex;
		flex-direction: column;
		gap: 1rem;
		font-size: 1.5rem;
		padding: 0 3rem;
		border-radius: 1rem;
		overflow: hidden;
	}

    .single .entry-content table tr th:first-child,
    .single .entry-content table tr td:first-child {
        max-width: 100%;
    }

    .single .entry-content table tbody tr:nth-of-type(2n + 1) {
        padding: 3rem 0;
    }
}

/* Single Team Member */

.single-team-header,
.single-client-header {
    margin: 0 0 6rem;
    padding: var(--theme-section-padding) 0 0;
}

.single-team-member,
.single-client {
    padding: 0 0 var(--theme-section-padding);
}

.single-team-header--wrapper,
.single-team-member--wrapper,
.single-client-header--wrapper,
.single-client--wrapper {
    width: var(--theme-wrap-width);
    max-width: var(--theme-wrap-max-width);
    margin: 0 auto;
}

.single-team-header--wrapper,
.single-client-header--wrapper {
    display: grid;
    row-gap: 3rem;
    column-gap: 6rem;
}

.single-team-header--breadcrumbs,
.single-client-header--breadcrumbs {
    grid-row: 1;
    grid-column: 1;
}

.single-team-page .custom-breadcrumbs .breadcrumb,
.single-client-page .custom-breadcrumbs .breadcrumb {
    margin: 0;
}

.single-team-header--title,
.single-client-header--title {
    grid-row: 2;
    grid-column: 1;
}

.single-team-header--title h1,
.single-client-header--title h1 {
    font-size: 4.6rem;
}

.single-team-header--cta,
.single-client-header--ctas {
    grid-row: 1 / span 2;
    grid-column: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.single-team-header--cta .custom-button a.button,
.single-client-header--ctas .custom-button:first-child a.button {
    color: #fff;
    margin: 0 0 0 auto;
    border-color: #1a3a71;
}

.single-team-header--cta .custom-button a.button:before,
.single-client-header--ctas .custom-button:first-child a.button:before {
    background-color: #1a3a71;
}

.single-team-header--cta .custom-button a.button:hover,
.single-client-header--ctas .custom-button:first-child a.button:hover {
    color: #000;
}

.single-team-member--wrapper {
    display: grid;
    grid-template-columns: 450px 1fr;
    grid-template-rows: calc(450px * (25 / 23)) 1fr;
    row-gap: 4rem;
    column-gap: 6rem;
}

.single-team-member--headshot {
    grid-row: 1;
    grid-column: 1;
    aspect-ratio: 23 / 25;
    background-color: var(--tto-sky-blue);
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    overflow: hidden;
}

.single-team-page .single-team-member--headshot img {
    object-fit: contain;
    object-position: left bottom;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
}

.single-team-page .single-team-role p {
    color: #05809e;
    font-size: 3.4rem;
    font-weight: 700;
    line-height: 1.03;
}

.single-team-member--content {
    grid-row: 1 / span 2;
    grid-column: 2;
}

.single-team-page .single-team-content h2,
.single-client-page .single-client-copy h2 {
    font-size: 2.4rem;
    line-height: 1.38;
    margin: 3rem 0 1.5rem;
}

.single-team-page .single-team-content p,
.single-team-page .single-team-content li,
.single-client-page .single-client-copy p,
.single-client-page .single-client-copy li {
    font-size: 1.8rem;
    line-height: 3.2rem;
}

.single-team-page .single-team-content ul,
.single-client-page .single-client-copy ul {
    gap: 0;
}

.single-team-collage {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    margin: 4rem 0 0;
}

.single-team-collage--item {
    aspect-ratio: 1 / 1;
    display: flex;
    overflow: hidden;
}

.single-team-page .single-team-collage--item img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
}

.single-team-member--info {
    grid-row: 2;
    grid-column: 1;
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.single-team-page .single-team-member--info h3 {
    color: #1b447a;
    font-size: 1.8rem;
    font-weight: 400;
    margin: 0 0 1.5rem;
}

.single-team-socials .custom-social--link svg {
    color: #1B447A;
    width: 3.6rem;
    height: 3.6rem;
}

.team-articles {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.team-article--link {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.single-team-page .team-article--title h4 {
    color: #000;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
}

.single-team-page .team-article--copy p {
    color: #4e4e4e;
    font-size: 1.4rem;
}

.team-article.read-more a {
    color: #05809e;
    font-weight: 700;
}

.team-article.read-more a:hover {
    color: var(--tto-sky-blue);
}

@media (max-width: 1095px) {
    .single-team-member--wrapper {
        grid-template-columns: 350px 1fr;
        grid-template-rows: calc(350px * (25 / 23)) 1fr;
    }
}

@media (max-width: 895px) {
    .single-team-member--wrapper {
        display: flex;
        flex-direction: column;
    }

    .single-team-member--headshot {
        max-width: 250px;
    }
}

@media (max-width: 767px) {
    .single-team-header,
    .single-client-header {
        padding: var(--theme-section-padding-mobile) 0 0;
    }

    .single-team-header--wrapper,
    .single-team-member--wrapper,
    .single-client-header--wrapper,
    .single-client--wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0 var(--theme-wrap-padding-mobile);
    }

    .single-team-header--cta .custom-button a.button {
        margin: 0;
    }

    .single-team-member,
    .single-client {
        padding: 0 0 var(--theme-section-padding-mobile);
    }
}

@media (max-width: 512px) {
    .single-team-collage {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 350px) {
    .single-team-collage {
        grid-template-columns: auto;
    }
}

/* Single Client */

.single-client-header--ctas {
    align-items: center;
    justify-content: flex-end;
    gap: 2rem;
}

.single-client-header--ctas .custom-button {
    flex: 0 1 fit-content;
}

.single-client-header--ctas .custom-button a.button {
    margin-top: 0;
}

.single-client--wrapper {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 6rem;
}

.single-client .website-screenshots {
    margin: 4rem 0 0;
}

body.single-client-page .entry-content .website-screenshots .gb-block-layout-column-inner > .wp-block-image {
    padding: 0;
}

body.single-client-page .entry-content .website-screenshots .gb-block-layout-column-inner > .wp-block-image:before {
    display: none;
}

body.single-client-page .entry-content .website-screenshots .gb-block-layout-column-inner > .wp-block-image img {
    aspect-ratio: unset;
    margin: 0;
}

.single-client--content {
    grid-row: 1;
    grid-column: 2;
}

.single-client--info {
    grid-row: 1;
    grid-column: 1;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.single-client-snapshot {
    aspect-ratio: 16 / 9;
    background-color: #eaedef;
    display: flex;
    border-radius: var(--tto-border-radius);
}

.single-client-page .entry-content .single-client-snapshot img {
    width: 100%;
    margin: 0;
    border-radius: 0;
}

.single-client-copy {
    margin: 6rem 0 0;
}

.single-client-page .related-clients-section h2 {
    font-size: 3.4rem;
    text-align: center;
}

.single-client .info-widget,
.single-case-study-header .info-widget {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.single-client .info-widget--title p,
.single-case-study-header .info-widget--title p {
    color: #4e4e4e;
    font-size: 1.5rem;
}

.single-client-page .entry-content .info-widget--copy p,
.single-client-page .entry-content .info-widget--copy a:not(.button),
.single-case-study-page .entry-content .info-widget--copy p,
.single-case-study-page .entry-content .info-widget--copy a:not(.button) {
    color: #000;
    font-size: 1.5rem;
    font-weight: 700;
    border: none;
}

.single-client .info-widget--copy .platforms,
.single-case-study-header .info-widget--copy .platforms {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.single-client .info-widget--copy .platforms .platform img,
.single-case-study-header .info-widget--copy .platforms .platform img {
    object-fit: contain;
    height: 40px;
    margin: 0;
}

@media (max-width: 991px) {
    .single-client-header--wrapper {
        display: flex;
        flex-direction: column;
    }

    .single-client-header--ctas {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .single-client--wrapper {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .single-client--content {
        display: contents;
    }

    .single-client-snapshot {
        order: 0;
    }

    .single-client-copy {
        order: 2;
    }

    .single-client-copy > *:first-child {
        margin-top: 0 !important;
    }

    .single-client--info {
        order: 1;
        margin: 6rem 0 0;
    }
}

@media (max-width: 767px) {
    .single-client .website-screenshots > .gb-layout-column-wrap {
        display: flex;
        flex-direction: column;
        gap: 4rem;
        max-width: 250px;
        margin: 0 auto;
    }
}

/* Single Case Study */

.single-case-study-header {
    padding: var(--theme-section-padding) 0 0;
}

.single-case-study-header--wrapper {
    display: flex;
    flex-direction: column;
    width: var(--theme-wrap-width);
    max-width: 896px;
    margin: 0 auto;
}

.single-case-study-header .custom-breadcrumbs .breadcrumb {
    justify-content: center;
    margin: 0 0 3rem;
}

.single-case-study-header--title h1 {
    color: #000;
    font-size: 4.6rem;
    margin: 0;
    text-align: center;
}

.single-case-study-header--image {
    aspect-ratio: 41 / 25;
    display: flex;
    max-width: 760px;
    margin: 7rem auto;
    border-radius: var(--tto-border-radius);
    overflow: hidden;
}

.single-case-study-header--image img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
}

.single-case-study-header--info {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 2.5rem;
    column-gap: 4rem;
    max-width: 760px;
    margin: 0 auto;
    padding: 0 3rem;
}

.single-case-study-header--info .info-widget {
    grid-column: 1;
}

.single-case-study-header--info .info-widget.services {
    grid-row: 1 / span 5;
    grid-column: 2;
}

.single-case-study-page .entry-content .info-widget--copy ul {
    gap: 0.75rem;
    margin: 0;
}

.single-case-study-page .entry-content .info-widget--copy li {
    color: #000;
    font-size: 1.5rem;
    font-weight: 700;
}

.single-case-study-page .entry-content .info-widget--copy li svg {
    width: 5px;
    height: 5px;
    top: 8.75px;
}

body.single-case-study-page .entry-content .image-grid .gb-block-layout-column-inner > .wp-block-image:not(.not-styled) {
    padding: 0;
}

body.single-case-study-page .entry-content .image-grid .gb-block-layout-column-inner > .wp-block-image:not(.not-styled):before {
    display: none;
}

.single-case-study-page .image-grid > .gb-layout-column-wrap {
    gap: 2rem;
}

.single-case-study-page .image-grid .wp-block-image {
    display: flex;
    height: 300px;
}

.single-case-study-page .image-grid .wp-block-image img {
    margin: 0;
}