/*
 * 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: 2.2rem;
    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,
.entry-content .pseudo-header p {
	color: var(--tto-navy-blue);
	font-size: 4.5rem;
	font-weight: 700;
	line-height: 1.03;
    margin: 6rem 0 2.5rem;
}

.entry-content .pseudo-header:first-child p {
    margin-top: 0;
}

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

button.button,
a.button,
.gform_submit_button {
    background-image: linear-gradient(90deg, #07b7e4, #4694e7, #4694e7, #07b7e4);
    background-size: 300% 100%;
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.8rem;
	width: auto;
	height: auto;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	margin-top: 1rem;
    padding: 1.2rem 2.4rem;
    border: none;
    border-radius: 0.8rem;
	box-shadow: none;
	text-decoration: none;
	pointer-events: all;
	cursor: pointer;
	overflow: hidden;
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
    text-transform: uppercase;
    transition: 0.5s ease-in-out color, 0.5s ease-in-out background, 0.5s ease-in-out background-image, 0.5s ease-in-out background-color, 0.5s ease-in-out filter, 0.5s ease-in-out border-color, 0.5s ease-in-out box-shadow, 0.5s ease-in-out text-shadow;
	z-index: 1;
}

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

button.button:hover,
button.button.copied,
a.button:hover,
.gform_submit_button:hover {
	background-position: 100% 0px;
}

button.button svg,
a.button svg,
.gform_submit_button svg {
	filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.1));
}

button.button.white,
a.button.white {
    background-image: linear-gradient(90deg, #fff, #fff, #ebebeb, #ebebeb);
	color: var(--tto-navy-blue);
    text-shadow: none;
}

button.button.white:hover,
button.button.white.copied,
a.button.white:hover,
.gform_submit_button.white:hover {
	color: #000;
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
}

button.button.white svg,
a.button.white svg {
    filter: none;
}

button.button.white:hover svg,
button.button.white.copied svg,
a.button.white:hover svg,
.gform_submit_button.white:hover svg {
    filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.1));
}

button.button.outline,
a.button.outline {
	border: 2px solid var(--tto-sky-blue);
	background-color: transparent;
	color: var(--tto-sky-blue);
}

button.button.outline:hover,
a.button.outline:hover {
	box-shadow: 0px 4px 11px -5px #000;
}

button.button.white.outline,
a.button.white.outline {
    background-image: linear-gradient(90deg, transparent, transparent, #fff, #fff);
	color: #fff;
    border-color: #fff;
}

button.button.white.outline:hover,
a.button.white.outline:hover {
	box-shadow: 0px 4px 11px -5px #fff;
}

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

a.button.inline {
    background-image: none;
    color: #000;
    font-size: 1.9rem;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
	box-shadow: none;
    transform: none;
    text-transform: none;
    text-shadow: none;
    transition: 0.25s ease-in-out color;
}

a.button.inline:hover {
    color: #26b0fd;
}

a.button.inline svg {
    filter: 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;
}

@media (max-width: 767px) {
    button.button,
    a.button,
    .gform_submit_button {
        font-size: 1.4rem;
    }
}

/* ## 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;
}

.wrap.skinny,
.basic-page.skinny .content-sidebar-wrap,
.entry-content > .wp-block-genesis-blocks-gb-columns.skinny > .gb-layout-column-wrap,
.entry-content > .gb-block-container.skinny > .gb-container-inside {
	max-width: 896px;
}

.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.has-moving-copy,
    .entry-content > .gb-block-container.has-moving-copy {
        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) !important;
    }

    .entry-content > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
	.entry-content > .gb-block-container > .gb-container-inside {
		display: flex;
        flex-direction: column;
        gap: 6rem;
	}
}



/* ## 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;
}

#wpadminbar {
    z-index: 9999999;
}

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

.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(60px, 4.5vw);
}

.title-area {
	display: flex;
	align-items: center;
    width: min(25rem, 13.9vw);
    max-width: 250px;
	margin: 0;
	padding: 1.25rem 0;
}

.title-area a {
	position: relative;
	display: flex;
	width: 100%;
	height: auto;
	max-height: 70px;
}

.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(60px, 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(40px, 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);
}

/* .nav-primary .menu > .menu-item:before {
    content: '\f0d7';
    display: none;
    font-weight: 900;
    font-family: 'Font Awesome 6 Pro';
}

.nav-primary .menu > .menu-item > svg[data-fa-pseudo-element="::before"] {
    position: absolute;
    display: block;
    width: 20px;
    height: 20px;
    top: auto;
    bottom: -9px;
    left: -9999px;
    color: #4694e7;
    opacity: 0;
    transition: 0.25s ease-in-out opacity, 0s 0.25s ease-in-out left;
    z-index: 9;
} */

.nav-primary .menu > .menu-item:hover > svg[data-fa-pseudo-element="::before"] {
    left: 0;
    opacity: 1;
    transition: 0.25s ease-in-out opacity, 0s ease-in-out left;
}

.nav-primary .menu > .menu-item:not(.mega-menu):hover > svg[data-fa-pseudo-element="::before"] {
    left: calc(50% - 11px);
}

.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.8rem, 1.25vw);
    font-weight: 500;
	line-height: 2.5rem;
	margin: 0;
    transition: 0.25s ease-in-out color;
}

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

.primary-menu-ctas .gb-layout-column-wrap {
    display: flex;
    align-items: center;
    gap: min(3rem, 2.2vw);
}

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

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

.primary-menu-ctas a.button.inline {
    padding: 0;
    text-shadow: none;
}

.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;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    row-gap: 0.5rem;
    column-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: 6vw;
	--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 ol:last-child,
.entry-content ul:last-child {
    margin-bottom: 0;
}

.entry-content li ol,
.entry-content li ul {
    margin-top: 1.5rem;
}

.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 li ul li:before {
    font-weight: 400;
}

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

.entry-content ol li {
    margin-left: var(--marker-width);
}

.entry-content ol li::marker {
    font-weight: 600;
}

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

.wp-block-image > a {
    display: block;
    width: 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: 1.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;
        display: flex;
        line-height: 1.6;
    }

    .menu > .menu-item > .sub-menu > .menu-item > a {
        font-size: min(1.7rem, 1.3vw);
        font-weight: 500;
    }

    .menu > .menu-item > .sub-menu > .menu-item > a:hover {
        color: #26b0fd;
    }

    .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(40px, 3vw);
        width: var(--theme-wrap-width);
		max-width: 850px;
		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;
    }

    .dual-mega-menu .mega-menu-wrap {
        max-width: 700px;
        margin-left: auto;
        margin-right: 4vw;
    }

    .mega-menu-wrap--menu {
		flex: 1 1 calc(100% - 4rem - 425px);
        position: relative;
		display: flex;
        flex-direction: column;
        gap: 2.5rem;
        width: 100%;
    }

	.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 {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
		margin: 0;
        padding: 3rem 0 0;
	}

    .dual-mega-menu .mega-menu-wrap--menu .sub-menu {
        padding: 0;
    }

    .dual-mega-menu .mega-menu-wrap--menu > .sub-menu {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: min(calc(6rem + 1px), calc(4.5vw + 1px));
    }

    .dual-mega-menu .mega-menu-wrap--menu > .sub-menu:before {
        content: '';
        background-color: #d9d9d9;
        position: absolute;
        width: 1px;
        height: calc(100% + 5rem);
        top: -5rem;
        bottom: calc(46.5px + 2.5rem);
        left: calc(50% - 0.75px);
    }

    .dual-mega-menu .mega-menu-wrap--menu .sub-menu .sub-menu {
        display: block;
        column-count: 2;
        gap: min(1.5rem, 1.2vw);
        margin: 1.5rem 0 0;
    }

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

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

    /* .dual-mega-menu .mega-menu-wrap--menu .sub-menu .menu-item {
        margin-top: 1.5rem;
    } */

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

    .dual-mega-menu .mega-menu-wrap--menu .sub-menu .sub-menu .menu-item a {
        font-size: min(1.7rem, 1.3vw);
        font-weight: 500;
    }

	.mega-menu-wrap--menu .sub-menu .menu-item a:hover {
        color: #26b0fd;
    }

    .dual-mega-menu .mega-menu-wrap--menu .sub-menu .sub-menu .menu-item:not(:first-child) {
        margin-top: 0.5rem;
    }

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

    .dual-mega-menu .mega-menu-wrap--menu .mega-menu-ctas:before {
        content: '';
        background-color: #fff;
        position: absolute;
        width: 100%;
        height: calc(100% + 2.5rem);
        top: -2.5rem;
        left: 0;
        z-index: 2;
    }

	.mega-menu-wrap--menu .mega-menu-cta {
        position: relative;
		display: flex;
		align-items: center;
		gap: min(2rem, 1.5vw);
        z-index: 3;
	}

    .mega-menu-wrap--menu .mega-menu-cta--icon,
    .mega-menu-wrap--menu .mega-menu-cta--icon svg {
        color: #233269;
        width: min(3.2rem, 2.4vw);
        height: min(3.2rem, 2.4vw);
    }

    .mega-menu-wrap--menu .mega-menu-cta--content {
        display: flex;
        flex-direction: column;
    }

	.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--menu .mega-menu-cta--content .cta:hover {
        color: #26b0fd;
    }

    .mega-menu-wrap--cta {
		flex: 1 1 425px;
		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 {
        background-image: none;
        background-color: #ffcd62;
        color: #000;
	}

	.mega-menu.orange .mega-menu-wrap--cta .mega-menu-action a.button:hover {
        filter: brightness(1.03);
	}

	.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.purple .mega-menu-wrap--menu .mega-menu-title p {
		color: #5b32b3;
	}

	.mega-menu.purple .mega-menu-wrap--cta {
		background-color: #f4f1f8;
	}

	.mega-menu.purple .mega-menu-wrap--cta .mega-menu-action a.button {
        background-image:none;
        background-color: #d8cdef;
        color: #000;
	}

	.mega-menu.purple .mega-menu-wrap--cta .mega-menu-action a.button:hover {
		filter: brightness(1.03);
	}

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

@media (min-width: calc(1500px / 0.92)) {
    .dual-mega-menu .mega-menu-wrap {
        margin-right: calc(50vw - 750px);
    }
}

.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(6vw - 6px) 0 6vw;
        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 > svg[data-fa-pseudo-element="::before"] {
        display: none;
    } */

    .nav-primary .menu > .menu-item,
    .nav-primary .menu > .menu-item.mobile-break .mega-menu-wrap--menu > .sub-menu > li {
        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 > p,
    .nav-primary .menu > .menu-item > a,
    .nav-primary .menu > .menu-item.mobile-break .mega-menu-wrap--menu > .sub-menu > .menu-item > p,
    .nav-primary .menu > .menu-item.mobile-break .mega-menu-wrap--menu > .sub-menu > .menu-item > a {
        font-size: 1.8rem;
        font-weight: 600;
    }

    .nav-primary .menu > .menu-item.mobile-break > p,
    .nav-primary .menu > .menu-item.mobile-break > a,
    .nav-primary .menu > .menu-item.mobile-break > .sub-menu-toggle {
        display: none;
    }

    .nav-primary .menu > .menu-item.mobile-break,
    .nav-primary .menu > .menu-item.mobile-break > .mega-menu-container,
    .nav-primary .menu > .menu-item.mobile-break .mega-menu-wrap,
    .nav-primary .menu > .menu-item.mobile-break .mega-menu-wrap--menu,
    .nav-primary .menu > .menu-item.mobile-break .mega-menu-wrap--menu > .sub-menu {
        display: contents;
    }

    .primary-menu-ctas .gb-layout-column-wrap {
        flex-direction: column;
        gap: 2rem;
    }

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

    .nav-primary .menu > .menu-item > .mega-menu-container,
    .nav-primary .menu > .menu-item > .sub-menu,
    .nav-primary .menu > .menu-item.mobile-break .mega-menu-wrap--menu > .sub-menu .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 {
        list-style-type: none;
    }

    .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-ctas,
    .mega-menu-wrap--cta {
        display: none;
    }

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

    .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 {
    background-attachment: fixed;
    background-size: auto;
    background-repeat: repeat;
    position: relative;
	display: flex;
	justify-content: center;
	overflow: hidden;
    z-index: 1;
}

.entry-content > .front-page-1:before {
    background-position: center center;
    opacity: 0.98;
    z-index: 2;
}

.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: #181f3c;
    position: absolute;
    width: 160%;
    height: 100%;
    clip-path: polygon(31.25% 100%, 50% calc(100% - 250px), 100% 100%);
	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: 4rem;
}

.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: 125px;
    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;
}

@keyframes rotateForward {
    0% {
      transform: rotate(45deg);
    }
    50% {
      transform: rotate(225deg);
    }
    100% {
      transform: rotate(405deg);
    }
}

  

.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 6s infinite linear;
    z-index: 3;
}

.animated-infographic--background .logo-container {
    position: absolute;
    display: block;
    width: 14%;
    height: 14%;
    top: 50%;
    left: 0%;
	transform: translate(-50%, -50%);
    z-index: 3;
}

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

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

@keyframes bounce {
    0%, 100% {
        transform: translateY(0.5rem);
    }
    50% {
        transform: translateY(-0.5rem);
    }
}

.animated-infographic--background .logo {
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    animation-name: bounce;
    animation-duration: 8s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-play-state: running;
    transform: translateY(0.5rem);
    box-shadow: 0px 4px 11px -2px rgba(0, 0, 0, 0.37);
}

.animated-infographic--background .logo-container.second .logo {
    animation-delay: 0.5s;
}

.animated-infographic--background .logo-container.third .logo {
    animation-delay: 1s;
}

.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 .wp-block-genesis-blocks-gb-columns[style*="background-color"] .header-tagline p {
    color: #04708b;
}

.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: var(--theme-section-padding);
}

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

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

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

.benefits-box {
    /* background-color: #c8ebff; */
    background-color: #fff;
	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:not(:first-child) {
    border-left: 2px solid var(--tto-sky-blue);
}

.benefits-box--icon {
    display: flex;
    min-height: 80px;
	margin: 0 0 1rem;
}

.benefits-box--icon img,
.benefits-box--icon svg {
    aspect-ratio: 1 / 1;
    object-fit: contain;
    color: #1398e3;
    width: 80px;
    height: auto;
}

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

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

.benefits-box--copy p {
    color: #000;
    line-height: 28px;
    letter-spacing: -0.3px;
}

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

.process-roadmap {
    display: flex;
    flex-direction: column;
    gap: var(--theme-section-padding);
    margin: 4rem 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; */
    display: grid;
    grid-template-columns: 50% 1fr;
    align-items: center;
    gap: 8rem;
    /* max-width: 1152px; */
    /* max-width: 1400px; */
    /* max-width: 1000px; */
    /* margin-left: auto; */
	padding-right: 8rem;
}

.roadmap-item:nth-child(2n) .roadmap-item--inner {
    grid-template-columns: 1fr 50%;
	/* 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: #1C75D4;
    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;
    font-weight: 500;
    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.8rem;
    font-weight: 700;
    line-height: 1.2;
}

.roadmap-item--content-copy p {
    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; */
    background-color: var(--tto-sky-blue);
	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 {
	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;
    height: auto;
	z-index: 2;
}

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

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

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

.menu-square--link {
	background-color: #1398e3;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: auto;
	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;
    background-color: #000;
    background-clip: text;
    flex: 1 1 43%;
    max-width: 43%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem;
}

.menu-square--content-tagline p {
	color: #fff;
    line-height: 1.38;
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.17);
}

.menu-square--content-title h3 {
	color: #fff;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.38;
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.17);
}

.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.3) translateY(15%);
    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,
.gform_wrapper.gform-theme .gform_required_legend {
    display: none;
}

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

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

.gform_wrapper.gravity-theme .gfield .ginput_container_textarea,
.gform_wrapper.gform-theme .gfield .ginput_container_textarea {
    display: flex;
    flex-direction: column;
}

.gform_wrapper.gravity-theme .gfield .ginput_container_textarea textarea,
.gform_wrapper.gform-theme .gfield .ginput_container_textarea textarea {
    max-height: 80px;
}

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

.grecaptcha-badge {
    z-index: 99999;
}

.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gform-theme .gfield_label {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    color: #2d3042;
    font-size: 16px;
    font-weight: 600;
    font-family: 'Onest', sans-serif;
    line-height: 20px;
    margin: 0;
}

.gform_wrapper.gform-theme .gfield_label {
    margin: 0 0 0.5rem;
}

.gform_wrapper.gravity-theme .gfield_required,
.gform_wrapper.gform-theme .gfield_required {
    font-size: inherit !important;
    font-family: inherit !important;
    padding: 0;
}

.gform_wrapper.gravity-theme .gfield_description,
.gform_wrapper.gform-theme .gfield_description {
    color: #000;
    font-size: 1.6rem;
    font-family: 'Onest', sans-serif;
    margin: 0.25rem 0 1.5rem !important;
    padding: 0 !important;
}

.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gform-theme .gfield_validation_message {
    margin: 3rem 0 0 !important;
}

.gform_wrapper.gform-theme .gfield_validation_message {
    color: #c02b0a !important;
}

.gform_wrapper.gravity-theme .gfield input,
.gform_wrapper.gravity-theme .gfield select,
.gform_wrapper.gravity-theme .gfield textarea,
.gform_wrapper.gform-theme .gfield input,
.gform_wrapper.gform-theme .gfield select,
.gform_wrapper.gform-theme .gfield textarea {
    color: #000;
    font-size: 15px;
    line-height: 3.2rem;
    padding: 8px 12px !important;
	border: 1px solid #ccc;
	border-radius: var(--tto-border-radius);
    box-shadow: none;
	outline: none;
	transition: var(--tto-transition);
}

.gform_wrapper.gravity-theme .gfield input,
.gform_wrapper.gravity-theme .gfield select,
.gform_wrapper.gform-theme .gfield input,
.gform_wrapper.gform-theme .gfield select {
    height: auto;
}

.gform_wrapper.gravity-theme .gfield input:focus,
.gform_wrapper.gravity-theme .gfield select:focus,
.gform_wrapper.gravity-theme .gfield textarea:focus,
.gform_wrapper.gform-theme .gfield input:focus,
.gform_wrapper.gform-theme .gfield select:focus,
.gform_wrapper.gform-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,
.gform_wrapper.gform-theme .gfield input::placeholder,
.gform_wrapper.gform-theme .gfield select::placeholder,
.gform_wrapper.gform-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,
.gform_wrapper.gform-theme .gfield input::-webkit-input-placeholder,
.gform_wrapper.gform-theme .gfield select::-webkit-input-placeholder,
.gform_wrapper.gform-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,
.gform_wrapper.gform-theme .gfield input:-ms-input-placeholder,
.gform_wrapper.gform-theme .gfield select:-ms-input-placeholder,
.gform_wrapper.gform-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,
.gform_wrapper.gform-theme .gfield input::-moz-placeholder,
.gform_wrapper.gform-theme .gfield select::-moz-placeholder,
.gform_wrapper.gform-theme .gfield textarea::-moz-placeholder {
	color: #4e4e4e;
	opacity: 0.7;
}

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

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

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

.gform_wrapper.gravity-theme .gfield_header_item,
.gform_wrapper.gravity-theme .gform_fileupload_rules,
.gform_wrapper.gravity-theme .ginput_complex label,
.gform_wrapper.gform-theme .gfield_header_item,
.gform_wrapper.gform-theme .gform_fileupload_rules,
.gform_wrapper.gform-theme .ginput_complex label {
    color: #000;
    font-size: 1.4rem;
    line-height: 1.5;
    margin: 0;
    padding: 0;
}

.gform_wrapper.gravity-theme .gfield input[type="file"],
.gform_wrapper.gform-theme .gfield input[type="file"] {
    width: auto;
    padding: 1rem 0 !important;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.gform_wrapper.gravity-theme .ginput_preview,
.gform_wrapper.gform-theme .ginput_preview {
    display: flex;
    align-items: center;
    gap: 2.4rem;
    color: #000;
    font-size: 1.6rem;
    line-height: 3.2rem;
}

.gform_wrapper.gravity-theme .gform_delete_file,
.gform_wrapper.gform-theme .gform_delete_file {
    display: flex
;
    align-items: center;
    height: 32px;
    padding: 0 0 0.4rem;
}

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

.gform_wrapper.gravity-theme .gform_footer .gform_submit_button--input,
.gform_wrapper.gform-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'],
.gform_wrapper.gform-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,
.gform_wrapper.gform-theme .gform_footer .gform_submit_button--copy {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.gform_wrapper.gravity-theme .gform_footer .gform-loader,
.gform_wrapper.gform-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;
}

.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, #fff, rgba(255, 255, 255, 0.81), rgba(255, 255, 255, 0.71), 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, #fff, rgba(255, 255, 255, 0.81), rgba(255, 255, 255, 0.71), rgba(255, 255, 255, 0.51), transparent);
    left: auto;
    right: 0;
}

@media (min-width: 1500px) {
    .articles-slider--wrapper > .swiper {
        max-width: 2100px;
    }

    .articles-slider--wrapper > .swiper:before,
    .articles-slider--wrapper > .swiper:after {
        width: calc((100% - 160px) / 5);
    }
}

@media (max-width: 991px) {
    .front-page-1 h1 {
        font-size: 5.2rem;
    }

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

    .entry-content .header-tagline p {
        font-size: 2rem;
    }

    .home h2 {
        font-size: 4rem;
    }

    .front-page-2 > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
        gap: 8rem;
    }

    .benefits-boxes {
        display: flex;
        flex-direction: column;
        gap: 8rem;
        border: none;
        border-radius: 0;
    }

    .benefits-box {
        padding: 0;
    }

    /* .benefits-box:not(:last-child):before {
        display: none;
    } */

    .benefits-box:not(:first-child) {
        border-left: none;
    }

    .benefits-box--icon img {
        width: 70px;
    }

    .benefits-box--copy h3 {
        font-size: 2rem;
    }

    .process-roadmap {
        gap: 8rem;
        margin: 8rem 0 0;
    }

    .roadmap-items {
        gap: calc(var(--theme-section-padding) + 12rem);
    }

    .roadmap-item:not(:first-child):before {
        height: calc(var(--theme-section-padding) + 12rem);
    }
    
    .roadmap-item--inner {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

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

    .four-squares-menu--inner {
        display: block;
    }

    .menu-square:not(.first) {
        margin: 4rem 0 0;
    }

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

    .menu-square.second .menu-square--image img {
        max-height: calc(250px / 1.1);
    }

    .articles-slider--wrapper > .swiper:before,
    .articles-slider--wrapper > .swiper:after {
        width: calc((100% - 80px) / 3);
    }
}

@media (max-width: 767px) {
    .front-page-1 h1 {
        font-size: 4.5rem;
    }

    .front-page-1 p {
        font-size: 2rem;
    }

    .animated-infographic {
        max-width: 300px;
        margin: 0 auto;
    }

    .front-page-1 .animated-infographic--foreground p {
        font-size: 1.3rem;
    }

    .front-page-1 .animated-infographic--foreground p .number {
        font-size: 3.5rem;
    }

    .header-elements {
        display: none;
    }

    .home h2 {
        font-size: 3.4rem;
    }

    .benefits-box--icon img {
        width: 60px;
    }

    .roadmap-items {
        gap: var(--theme-section-padding-mobile);
    }

    .roadmap-item:not(:first-child):before {
        display: none;
    }

    .roadmap-item--inner {
        display: block;
        padding: 0 !important;
    }

    .roadmap-item--content-box p {
        font-size: 1.7rem;
    }

    .roadmap-item--content-box p .number {
        font-size: 2.8rem;
    }

    .roadmap-item--content-title h3 {
        font-size: 2.4rem;
    }

    .roadmap-item--image {
        display: none;
    }

    .menu-square--content {
        flex: 1 1 100%;
        width: 100%;
        max-width: 100%;
        padding: 4rem;
    }

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

    .menu-square.third .menu-square--content {
        max-width: 100%;
        padding: 4rem;
    }

    .menu-square--image {
        height: 250px;
    }

    .menu-square.third .menu-square--image {
        position: unset;
        height: 250px;
        transform: none;
    }

    .menu-square--image img {
        position: unset;
    }

    .menu-square.fourth .menu-square--image {
        order: 2;
        padding: 0 3rem 3rem;
        overflow: hidden;
    }

    .menu-square.fourth .menu-square--image img {
        border-radius: 0.8rem;
    }

    .fp5-bottom {
        max-width: 100%;
        margin: 0;
    }

    .fp5-bottom h3 {
        font-size: 2.6rem;
    }

    .heading-with-svg {
        flex-direction: column;
        gap: 4rem;
    }

    .heading-with-svg:before {
        display: none;
    }

    .heading-with-svg--icon {
        margin: 0;
    }

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

    .articles-slider--wrapper > .swiper {
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
        transform: none;
    }

    .articles-slider--wrapper > .swiper:before,
    .articles-slider--wrapper > .swiper:after {
        display: none;
    }
}

/* 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--ctas > .gb-layout-column-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8rem;
}

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

.site-footer--ctas > .gb-layout-column-wrap > .gb-block-layout-column:last-child {
    order: -1;
}

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

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

.site-footer--ctas p {
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.8rem;
    margin: 1rem 0;
}

.site-footer--ctas .custom-button a.button {
    font-size: 1.4rem;
    padding: 1rem 2.2rem;
    border-width: 1.5px;
}

.site-footer--ctas .custom-button a.button:hover {
    color: #000;
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
}

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

.site-footer .footer-awards .wp-block-image {
    display: flex;
    justify-content: center;
    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-toggle {
    display: none;
}

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

.site-footer .menu .menu-item .sub-menu .menu-item a {
    width: fit-content;
	color: #d9d9d9;
    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: #d9d9d9;
    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;
}

@media (max-width: 1095px) {
    .site-footer .menu {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .site-footer--ctas > .gb-layout-column-wrap {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 895px) {
    .site-footer-widgets > .wrap {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 4rem;
    }

    .site-footer-widgets > .wrap > .widget,
    .site-footer-widgets > .wrap > .widget > .widget-wrap,
    .site-footer-widgets > .wrap > .widget > .widget-wrap > .wp-block-genesis-blocks-gb-columns,
    .site-footer-widgets > .wrap > .widget > .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
    .site-footer-widgets > .wrap > .widget > .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column {
        display: contents;
    }

    .site-footer-widgets > .wrap > .widget > .widget-wrap > .site-footer--navigation > .gb-layout-column-wrap > .gb-block-layout-column:last-child {
        display: none;
    }

    .site-footer--ctas > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
        position: absolute;
        width: calc(50vw - 6vw - 2rem);
        left: calc(50% + 2rem);
    }

    .site-footer--navigation > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
        display: contents;
    }

    .site-footer--navigation > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner > div {
        order: -1;
        grid-column: 1;
    }

    .site-footer--ctas > .gb-layout-column-wrap > .gb-block-layout-column:nth-child(2) > .gb-block-layout-column-inner {
        order: 0;
        grid-column: 1 / span 2;
        margin: 2rem 0 -2rem;
    }

    .site-footer--ctas > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
        order: 1;
        grid-column: 1 / span 2;
    }

    .site-footer-credits {
        order: 2;
        grid-column: 1 / span 2;
        margin: 2rem 0 0;
        padding: 4rem 0 0;
        border-top: 1px solid var(--tto-sky-blue);
    }

    .site-footer .footer-awards > .gb-layout-column-wrap {
        display: flex;
        flex-direction: column;
    }

    .site-footer--navigation .custom-button a.button {
        max-width: 250px;
    }
}

@media (max-width: 767px) {
    .site-footer {
        margin-top: 0;
    }

    .site-footer .footer-elements {
        display: none;
    }

    .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) + 0rem) !important;
    }

    .site-footer--navigation > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner > .partner-icon {
        top: calc(var(--theme-section-padding-mobile) + 280px);
    }
}

@media (max-width: 650px) {
    .site-footer-widgets {
        padding-top: var(--theme-section-padding-mobile);
    }

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

    .site-footer--ctas > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner,
    .site-footer--navigation > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner > .partner-icon {
        display: none;
    }
}

/* 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,
body.search .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.search .blog-section .blog-element,
body.portfolio-page .portfolio-section .portfolio-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.search .blog-section .blog-element:before,
body.portfolio-page .portfolio-section .portfolio-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;
}

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%;
    pointer-events: none;
    cursor: default;
}

body:not(.home) .entry-content .gb-block-layout-column-inner > .wp-block-image:not(.not-styled) img {
    /* aspect-ratio: 11 / 10; */
    aspect-ratio: unset !important;
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
    box-shadow: 0px 4px 12px -2px rgba(0, 0, 0, 0.1);
}

body:not(.home) .entry-content .gb-block-layout-column-inner>.wp-block-image:not(.not-styled).screenshot img {
    aspect-ratio: auto;
}

.light-border {
    border: 1px solid hsl(240 17% 90% / 1);
}


.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: #000;
    font-size: 4.4rem;
    line-height: 1.2;
}

.entry-content .mid-content-cta-section p,
.single .entry-content .mid-content-cta-section p {
    color: #000;
}

.entry-content .mid-content-cta-section[style*='background-color:#1a3a71'] h2,
.single .entry-content .mid-content-cta-section[style*='background-color:#1a3a71'] h2,
.entry-content .mid-content-cta-section[style*='background-color:#1a3a71'] p,
.single .entry-content .mid-content-cta-section[style*='background-color:#1a3a71'] p {
    color: #fff;
}

.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 {
    height: 100%;
    margin: 0 !important;
}

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

    .mid-content-cta-section .mid-cta-element img {
        object-fit: cover;
        object-position: left center;
        width: 100%;
    }
}

.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.7rem;
    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.4rem;
    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.95), rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.35));
    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;
    text-shadow: 0px 3px 7px rgba(0, 0, 0, 0.37);
}

.entry-content > .accordion-section + .reviews-section,
.entry-content > .moving-header-section + .reviews-section,
.entry-content > .reviews-section + .portfolio-section {
    padding-top: 0;
}

.reviews-sliders--heading {
    max-width: 760px;
    margin: 0 auto 6rem;
}

.reviews-sliders--heading h2 {
    text-align: center;
}

.reviews-sliders--wrapper {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    width: 155vw;
    max-width: 2100px;
    transform: translateX(-50%);
    margin-left: 50%;
}

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

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

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

/* @keyframes ticker {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-100%, 0, 0);
    }
}

@media (min-width: 768px) {
    .reviews-slider .swiper-wrapper {
        animation-name: ticker;
        animation-duration: 120s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
        animation-play-state: running;
    }

    .reviews-slider.bottom .swiper-wrapper {
        animation-direction: reverse;
    }

    .reviews-sliders.hover .reviews-slider .swiper-wrapper {
        animation-play-state: paused;
    }
} */

@media (min-width: 768px) {
    .reviews-slider .swiper-wrapper {
        transition-timing-function: linear;
    }
}

.reviews-sliders--wrapper .swiper:before,
.reviews-sliders--wrapper .swiper:after {
    content: '';
    position: absolute;
    background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0.81), rgba(255, 255, 255, 0.71), rgba(255, 255, 255, 0.51), transparent);
    width: 50px;
    height: 100%;
    top: 0;
    left: calc(50% - 50vw);
    z-index: 2;
}

.reviews-sliders--wrapper .swiper:after {
    background-image: linear-gradient(to left, #fff, rgba(255, 255, 255, 0.81), rgba(255, 255, 255, 0.71), rgba(255, 255, 255, 0.51), transparent);
    left: auto;
    right: calc(50% - 50vw);
}

@media (min-width: 2100px) {
    .reviews-sliders--wrapper .swiper:before,
    .reviews-sliders--wrapper .swiper:after {
        left: 0;
    }

    .reviews-sliders--wrapper .swiper:after {
        left: auto;
        right: 0;
    }
}

.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 !important;
    font-weight: 600;
    line-height: 1.5;
}

.review-info--client-company p {
    color: #000;
    font-size: 1.6rem !important;
    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;
    height: 18px;
}

.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.6rem !important;
    font-weight: 400;
    line-height: 1.4 !important;
}

.review-content--copy a {
    color: #000 !important;
    font-weight: 600;
    width: fit-content;
    padding: 0 !important;
    border-bottom: none !important;
}

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

.client-reviews {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
}

.client-reviews--wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.client-reviews .review {
    gap: 0;
}

.client-reviews .review-info,
.client-reviews .review-info--client {
    display: contents;
}

.client-reviews .review-info--logo {
    order: 2;
    flex: 1;
    display: flex;
    align-items: flex-end;
    margin: 3rem 0 2rem;
}

.client-reviews .review-info--client-name {
    order: 3;
}

.client-reviews .review-info--client-company {
    order: 4;
}

.client-reviews .review-info--client-stars {
    order: -1;
    margin: 0 0 3rem;
}

.client-reviews .review-content--copy p {
    height: auto;
}

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

.entry-content .portfolio-section .custom-button a.button:not(:hover) {
    color: #1f72d1;
}

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

/* .portfolio-slider .swiper {
    margin: 0 -1.8rem;
    padding: 0 1.8rem;
    clip-path: inset(0 0.9rem 0 0);
} */

.portfolio-item {
    display: flex;
    width: 100%;
    height: 100%;
}

.portfolio-item--link {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.portfolio-item--image {
    order: 0;
    display: block;
    border: 1px solid #eee;
    box-shadow: 0px 6px 13px -2px rgba(0, 0, 0, 0.17);
    transition: var(--tto-transition);
    overflow: hidden;
}

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

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

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

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

.portfolio-item--type {
    order: 1;
    /* position: absolute; */
    display: flex;
    align-items: center;
    justify-content: center;
    /* top: 1.5rem; */
    /* left: -1.5rem; */
}

.portfolio-item--type p,
.single-portfolio-page .entry-content .portfolio-item--type p {
    background-color: #e6e6e6;
    color: #000;
    font-size: 1.5rem;
    line-height: 1.38;
    margin: 3rem 0 2rem;
    padding: 0.4rem 1rem;
    border-radius: 50px;
    /* box-shadow: 0px 2px 5px -1px rgba(0, 0, 0, 0.27); */
    text-align: center;
}

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

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

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

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

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

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

/* .faq-accordion-items .accordion {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
}

.faq-accordion-items .faq-accordion-items--column {
    display: flex;
    flex-direction: column;
    gap: 4rem;
} */

.faq-accordion-items .accordion {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 4rem 0;
}

.faq-accordion-items .accordion-item {
	background-color: #fff;
    width: 100%;
    border: none;
}

.faq-accordion-items .accordion-item .accordion-header {
	margin: 0;
    padding: 0;
}

.faq-accordion-items .accordion-item .accordion-header .accordion-button {
    background-image: none;
	background-color: #1b447a;
    display: flex;
    justify-content: space-between;
    gap: 3rem;
    height: 100%;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
	padding: 1.8rem 3rem;
    border: none;
    border-radius: var(--tto-border-radius);
    box-shadow: none;
    white-space: pre-wrap;
    overflow: hidden;
    transition: 0.25s ease-in-out all;
    z-index: 1;
}

.faq-accordion-items .accordion-item .accordion-header .accordion-button:after {
    display: none;
}

.faq-accordion-items .accordion-item .accordion-header .accordion-button span {
    display: flex;
}

.faq-accordion-items .accordion-item .accordion-header .accordion-button svg {
    width: 1.8rem;
    height: 1.8rem;
    transition: 0.25s ease-in-out all;
}

.faq-accordion-items .accordion-item .accordion-header .accordion-button:not(.collapsed) svg {
    transform: rotate(-90deg);
}

.faq-accordion-items .accordion-item .accordion-body {
    padding: 4rem;
}

.faq-accordion-items .accordion-item .accordion-body p,
.faq-accordion-items .accordion-item .accordion-body ul li,
.faq-accordion-items .accordion-item .accordion-body a {
    color: #000;
	font-size: 1.8rem;
}

@media (max-width: 991px) {
    body:not(.home) .header-section h1 {
        font-size: 4.6rem;
    }

    .sub-header-section.gb-layout-columns-2 > .gb-layout-column-wrap,
    .content-section.gb-layout-columns-2 > .gb-layout-column-wrap {
        display: flex;
        flex-direction: column;
        gap: 6rem;
    }

    .content-section.wrap-reverse.gb-layout-columns-2 > .gb-layout-column-wrap > .gb-block-layout-column:last-child {
        order: -1;
    }

    body:not(.home) .entry-content .gb-block-layout-column-inner > .wp-block-image:not(.not-styled) {
        max-width: 450px;
        margin: 0 auto;
    }

    body:not(.home) .entry-content .gb-block-layout-column-inner > .wp-block-image:not(.not-styled) img {
        aspect-ratio: unset;
    }

    h2,
    .entry-content .pseudo-header p {
        font-size: 3.8rem;
        line-height: 1.2;
    }

    h3 {
        font-size: 2.6rem;
        line-height: 1.2;
    }

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

    .entry-content .mid-content-cta-section h2,
    .single .entry-content .mid-content-cta-section h2,
    .entry-content .background-cta-section h2,
    .entry-content .portfolio-section h2,
    .entry-content .accordion-section h2,
    .entry-content .moving-header-section h2 {
        font-size: 3.8rem;
        line-height: 1.2;
    }

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

    .entry-content .benefits-section h3,
    .entry-content .moving-header-section h3 {
        font-size: 2.6rem;
        line-height: 1.2;
    }

    .client-reviews--wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    body {
        color: #000;
        font-size: 1.9rem;
    }

    body:not(.home) .header-section h1 {
        font-size: 4.2rem;
    }
    
    body:not(.home) .sub-header-section,
    body.blog .blog-section,
    body.search .blog-section {
        padding-top: calc(var(--theme-section-padding-mobile) + 54px);
    }

    .entry-content > .front-page-6 > .gb-layout-column-wrap,
    .entry-content > .reviews-section > .gb-layout-column-wrap {
        width: 100%;
        max-width: 100%;
    }

    body:not(.home) .sub-header-section:not(.simple),
    body.blog .blog-section,
    body.search .blog-section {
        padding-top: var(--theme-section-padding-mobile);
    }

    body:not(.home) .sub-header-section .sub-header-element,
    body.blog .blog-section .blog-element,
    body.search .blog-section .blog-element,
    body.portfolio-page .portfolio-section .portfolio-element {
        display: none;
    }

    .sub-header-section.gb-layout-columns-2 > .gb-layout-column-wrap,
    .content-section.gb-layout-columns-2 > .gb-layout-column-wrap {
        display: block;
    }

    .sub-header-section.gb-layout-columns-2 > .gb-layout-column-wrap > .gb-block-layout-column:not(:first-child) > .gb-block-layout-column-inner > *:first-child,
    .content-section:not(.wrap-reverse).gb-layout-columns-2 > .gb-layout-column-wrap > .gb-block-layout-column:not(:first-child) > .gb-block-layout-column-inner > *:first-child,
    .content-section.wrap-reverse.gb-layout-columns-2 > .gb-layout-column-wrap > .gb-block-layout-column:not(:last-child) > .gb-block-layout-column-inner > *:first-child {
        margin-top: 6rem;
    }

    .wp-block-genesis-blocks-gb-columns.wrap-reverse > .gb-layout-column-wrap > .gb-block-layout-column:last-child {
        order: -1;
    }

    .google-algorithm-updates .entry-content > .wp-block-genesis-blocks-gb-columns:first-child .wp-block-image img {
        max-height: 300px;
        object-fit: contain;
    }

    body:not(.home) .entry-content .gb-block-layout-column-inner > .wp-block-image:not(.not-styled) {
        display: none;
    }

    h2,
    .entry-content .pseudo-header p {
        font-size: 3.1rem
    }

    h3 {
        font-size: 2.4rem;
    }

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

    .entry-content > .mid-content-cta-section:not(:last-child) {
        padding: var(--theme-section-padding-mobile) 0;
    }

    .entry-content > .mid-content-cta-section:before {
        content: '';
        background-color: inherit;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        opacity: 0.8;
        z-index: 1;
    }

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

    .entry-content .mid-content-cta-section h2,
    .single .entry-content .mid-content-cta-section h2,
    .entry-content .background-cta-section h2,
    .entry-content .portfolio-section h2,
    .entry-content .accordion-section h2,
    .entry-content .moving-header-section h2 {
        font-size: 3.1rem;
    }

    .content-grid-boxes {
        display: flex;
        flex-direction: column;
    }

    .entry-content .benefits-section h3,
    .entry-content .moving-header-section h3 {
        font-size: 2.4rem;
    }

    .background-cta-section:before {
        background-image: none;
        background-color: #000;
        opacity: 0.8;
    }

    .moving-header-section .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap {
        display: flex;
        flex-direction: column;
    }

    .reviews-slider.top,
    .reviews-slider.bottom {
        display: none;
    }

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

    .reviews-sliders--wrapper {
        width: 100%;
        transform: none;
        margin: 0;
    }

    .reviews-sliders--wrapper .swiper:before,
    .reviews-sliders--wrapper .swiper:after {
        display: none;
    }

    .client-reviews--wrapper {
        grid-template-columns: auto;
    }

    .faq-accordion-items .faq-accordion-items--column {
        flex: fit-content;
    }
}

/* Blog Page / Portfolio Archive */

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

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

.portfolio-archive {
    gap: 8rem;
}

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

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

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

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

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

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

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

.blog-filter--dropdown select,
.portfolio-filter--dropdown select {
    appearance: none;
    background-color: #fff;
    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,
.portfolio-filter--dropdown select:focus {
    border-color: var(--tto-sky-blue);
}

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

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

.tto-portfolio-grid {
    grid-template-columns: repeat(4, 1fr);
}

.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 {
    position: relative;
    display: block;
    width: 100%;
    border: 1.5px solid #dbdbdb;
    border-radius: var(--tto-border-radius);
    overflow: hidden;
    z-index: 2;
}

.tto-article--content-image-wrapper img {
    aspect-ratio: 19 / 9;
    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,
.tto-article--content-link:hover .tto-article--content-title h4 {
    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;
    transition: 0.25s ease-in-out all;
}

.blog-archive--pagination,
.portfolio-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: 1195px) {
    .tto-portfolio-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

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

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

    .portfolio-archive {
        gap: 6rem;
    }
}

@media (max-width: 767px) {
    .portfolio-archive {
        gap: 4rem;
    }

    .blog-filter,
    .portfolio-filter {
        flex-direction: column;
        align-items: center;
        gap: 2.5rem;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }

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

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

    .tto-articles,
    .tto-portfolio-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 > .gb-block-layout-column-inner > .conversational-form {
    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);
    overflow: hidden;
}

.consultation-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner > .conversational-form {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 0;
}

.consultation-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner > .conversational-form > .gb-container-inside > .gb-container-content {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.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 !important;
	letter-spacing: -0.3px;
	word-spacing: -0.3px;
}

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

.contact-info-block {
    background-color: #f9f3f3;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    row-gap: 1.5rem;
    column-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.7rem;
    line-height: 2.8rem;
    letter-spacing: -0.3px;
}

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

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

@media (max-width: 767px) {
    .contact-form-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
        margin: var(--theme-section-padding-mobile) 0 0;
        padding: 0;
        border-radius: 0;
        box-shadow: none;
    }
}

/* 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: 991px) {
    .sub-header-section.simple[class*='gb-has-background'] .bold-tagline p strong {
        font-size: 2.6rem;
    }
}

@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: 767px) {
    .entry-content > .sub-header-section.simple,
    .entry-content > .sub-header-section.simple[class*='gb-has-background'] {
        padding: var(--theme-section-padding-mobile) 0;
    }

    .sub-header-section.simple[class*='gb-has-background']:before {
        opacity: 0.92;
    }

    .sub-header-section.simple[class*='gb-has-background'] .bold-tagline p strong {
        font-size: 2.2rem;
    }
}

@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 {
    background-color: #000;
    background-clip: text;
    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.8rem;
    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;
    }

    .process-section--top > .gb-container-inside > .gb-container-content {
        width: 90%;
        max-width: 100%;
        padding: 4rem;
    }

    .process-step--content-heading h3,
    .process-step--content-copy p {
        text-align: center;
    }

    .process-step--image {
        display: none;
    }
}

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

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

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

    .entry-content > .process-section > .gb-layout-column-wrap {
        padding: 0;
    }

    .process-section--top > .gb-container-inside > .gb-container-content {
        width: 92%;
        margin: 0 var(--theme-wrap-padding-mobile);
    }

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

    .process-section-steps {
        gap: calc(var(--theme-section-padding-mobile) + 4rem);
        padding: var(--theme-section-padding-mobile) 6vw;
    }

    .process-step--number p {
        width: 7.2rem;
        height: 7.2rem;
        font-size: 3.2rem;
    }

    .process-step--content-heading h3 {
        font-size: 2.4rem;
    }
}

/* 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;
}

@media (max-width: 767px) {
    .awards-section h2,
    .timeline-section h2 {
        font-size: 3.1rem;
    }
}

@media (max-width: 600px) {
    .timeline-section h2 {
        text-align: left;
    }

    .events-timeline {
        flex-direction: column;
        gap: 4rem;
    }

    .timeline-event {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.5rem;
    }

    .timeline-event:before,
    .timeline-event:after,
    .timeline-event--bullet {
        display: none;
    }

    .timeline-event--year p {
        font-size: 2.4rem;
        text-align: left;
    }

    .timeline-event--heading p {
        font-size: 1.9rem;
        text-align: left;
    }

    .timeline-event--description p {
        font-size: 1.7rem;
        text-align: left;
    }
}

/* Success / 404 Pages */

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

.svg-header-section .header-svg img {
    max-height: 250px;
}

@media (min-width: 768px) {
    .not-found-page .svg-header-section .header-svg img {
        max-height: 320px;
    }
}

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

.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;
    line-height: 1.2;
}

.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;
    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 */

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

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

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

.multi-image-section .wp-block-image a {
    display: block;
    width: 100%;
    height: 100%;
}

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

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

.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: 0 auto var(--theme-section-padding);
    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);
}

@media (max-width: 991px) {
    .entry-content > .differentiator-section > .gb-layout-column-wrap {
        display: flex;
        flex-direction: column;
        gap: 6rem;
    }

    .differentiator-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child .wp-block-image img {
        max-height: 300px;
    }

    .why-us-box {
        gap: 4rem;
    }

    .entry-content > .cta-box-section {
        margin: 0 auto var(--theme-section-padding-mobile);
    }

    .entry-content > .cta-box-section > .gb-layout-column-wrap {
        padding: 6rem;
        gap: 2.5rem;
    }

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

    .entry-content .cta-box-section p {
        line-height: 3.2rem;
    }
}

@media (max-width: 767px) {
    .split-section h2,
    .why-us-section h2 {
        font-size: 3.1rem;
    }

    .split-section svg {
        width: 3.8rem;
        height: 3.8rem;
    }

    .entry-content > .split-section + .split-section {
        margin-top: -2rem;
    }

    .multi-image-section .wp-block-image img {
        max-height: 300px;
    }
    
    .why-us-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
        gap: 4rem;
    }

    .why-us-boxes {
        display: flex;
        flex-direction: column;
    }
}

/* Consultation Page */

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

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

.single.single-conversational_form .entry-content .consultation-section .consultation-tagline p {
    color: #000;
    font-size: 3.5rem;
    line-height: 1.03;
    margin: 0;
    padding: 6.1rem 4.8rem 0;
}

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

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

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

.single.single-conversational_form .consultation-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem;
    margin: var(--theme-section-padding) 0 0;
}

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

.single.single-conversational_form .consultation-step--icon img,
.single.single-conversational_form .consultation-step--icon svg {
    color: var(--tto-sky-blue);
    width: 40px;
    height: 40px;
}

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

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

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

.single.single-conversational_form .timeline-section {
    background-attachment: fixed;
    background-size: auto;
    background-repeat: repeat;
}

.single.single-conversational_form .timeline-section:before {
    opacity: 0.98;
}

.single.single-conversational_form .timeline-event:before,
.single.single-conversational_form .timeline-event:after {
    background-color: #fff;
}

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

.single.single-conversational_form .timeline-event--year p {
    display: none;
}

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

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

.single.single-conversational_form .gform-conversational.gform-theme--framework {
    background-color: inherit;
    min-block-size: unset;
    max-block-size: unset;
}

.single.single-conversational_form .gform-conversational.gform-theme--framework .gform-conversational__form-nav {
    position: absolute;
}

.single.single-conversational_form .gform-conversational.gform-theme--framework .gform-conversational__form-nav .gform-conversational__progress-bar-label {
    font-family: 'Onest', sans-serif;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__screens {
    display: block;
    inline-size: unset;
    width: 100%;
    min-height: 300px;
    overflow: hidden;
    padding: 0 4.8rem 13.6rem;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__screen--welcome {
    position: absolute;
    max-height: 300px;
    top: -3rem;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__screen--welcome h1 {
    font-size: 2.8rem;
    font-family: 'Onest', sans-serif;
    font-weight: 600;
    line-height: 1.03;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__screen--welcome p {
    font-size: 2.2rem;
    font-weight: 400;
    font-family: 'Onest', sans-serif;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__screen-content {
    padding: 0;
}

.single.single-conversational_form .gform_wrapper.gform-theme .gform_fields {
    display: block;
}

.single.single-conversational_form .gform-conversational.gform-theme--framework .gform-conversational__field-header {
    margin: 0;
}

.single.single-conversational_form .gform-theme--framework.gform-conversational .gfield:not(.form_saved_message_emailform .gfield) {
    position: unset;
    transform: none !important;
}

.single.single-conversational_form .gform_wrapper.gform-theme .gfield_checkbox {
    display: inline-grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 4rem;
}

.single.single-conversational_form .gform_wrapper.gform-theme .gfield_checkbox input {
    width: 20px;
    height: 20px;
    padding: 0 !important;
    border-radius: 2px !important;
}

.single.single-conversational_form .gform_wrapper.gform-theme .gfield_checkbox input:before {
    font-size: 15px;
}

.single.single-conversational_form .gform_wrapper.gform-theme .gfield_checkbox label {
    font-family: 'Onest', sans-serif;
    margin: 0;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__field-footer,
.single.single-conversational_form .gform-conversational.gform-theme--foundation .gfield_validation_message {
    padding-bottom: 0 !important;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__field-footer {
    padding: 2rem 0;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__field-footer .gform_footer {
    margin: 1rem 0 0;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__field-footer .gform_footer .gform-loader {
    order: 3;
    position: unset;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__screen--welcome button,
.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__field-footer .gform-button,
.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__field-footer .gform_button,
.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__form-nav .gform-button {
    background-image: linear-gradient(90deg, #07b7e4, #4694e7, #4694e7, #07b7e4);
    background-size: 300% 100%;
    font-family: 'Onest', sans-serif;
    transition: 0.5s ease-in-out background, 0.5s ease-in-out background-image;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__screen--welcome button {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    line-height: 1;
    min-height: 0;
    padding: 1rem 2.325rem;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__screen--welcome button:hover,
.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__field-footer .gform-button:hover,
.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__field-footer .gform_button:hover,
.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__form-nav .gform-button:hover {
    background-position: 100% 0px;
}

.single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__field-footer .gform-conversational__field-nav-helper-text {
    font-family: 'Onest', sans-serif;
}

@media (max-width: 1095px) {
    .single.single-conversational_form .consultation-steps {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .single.single-conversational_form .consultation-section.gb-layout-columns-2 > .gb-layout-column-wrap {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .single.single-conversational_form .consultation-section > .gb-layout-column-wrap {
        gap: 8rem;
    }

    .single.single-conversational_form .consultation-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child,
    .single.single-conversational_form .consultation-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
        display: contents !important;
    }
    
    .single.single-conversational_form .consultation-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner > .conversational-form {
        width: calc(100% + 12vw);
        max-width: 100vw;
        margin: calc(var(--theme-section-padding-mobile) * -1) 0 0 -6vw;
        padding: var(--theme-section-padding-mobile) 0 0;
        border-radius: 0;
        box-shadow: none;
    }

    .single.single-conversational_form .consultation-section .bold-tagline p strong {
        font-size: 2rem;
        font-weight: 500;
    }

    .single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__screens {
        padding: 0 6vw 15.5rem;
    }

    .single.single-conversational_form .entry-content .consultation-section .consultation-tagline p {
        padding: 0 6vw;
    }

    .single.single-conversational_form .entry-content .consultation-section h2 {
        margin: 0 0 2.5rem;
    }

    .single.single-conversational_form .entry-content .consultation-section h2 + p {
        margin: 0;
    }

    .single.single-conversational_form .consultation-steps {
        grid-template-columns: auto;
        margin: 0;
    }

    .single.single-conversational_form .mid-content-cta-section .mid-cta-element {
        opacity: 0.2;
    }

    .single.single-conversational_form .gform-conversational.gform-theme--foundation .gform-conversational__field-footer .gform-conversational__field-nav-helper-text {
        display: none;
    }
}

/* Case Studies Page */

.case-studies-archive {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6rem;
}

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

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

.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: 7rem auto 0;
    border-radius: var(--tto-border-radius);
    overflow: hidden;
}

.single-post-header--image:empty {
    aspect-ratio: unset;
    position: absolute;
    margin: 0;
}

.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 blockquote {
    position: relative;
    margin: 6rem 0;
    padding: 0 0 0 calc(4rem + 3px);
}

.single .entry-content blockquote:before {
    content: '';
    background-color: var(--tto-sky-blue);
    position: absolute;
    width: 3px;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 50px;
}

.single .entry-content blockquote p {
    font-style: italic;
}

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

.single .entry-content img:not(:only-child) {
    margin-bottom: 0;
}

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

.single .wp-block-image figcaption {
    flex-direction: column;
    color: #000;
    font-size: 1.5rem;
    margin: 0;
    text-align: center;
}

.single-post .wp-block-image figcaption {
    margin: 1.5rem 0 0;
}

.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 hr {
    height: 2px;
    margin: 4rem 0;
    padding: 0;
}

.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;
    border: none;
	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: 600;
	text-align: left;
}

.single .entry-content table tr th,
.single .entry-content table thead tr th:first-child {
	font-weight: 700;
}

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

.share-post-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

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

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

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

.share-ctas .share-cta,
.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;
}

.share-ctas .share-cta .share-cta--icon,
.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;
}

.share-ctas .share-cta .cta-tooltip,
.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;
}

.share-ctas .share-cta .cta-tooltip: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;
}

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

.share-ctas .share-cta .cta-tooltip > span,
.share-ctas .sharrre .hidden > span {
	background-color: #555;
	color: #fff;
}

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

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

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

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

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

.share-ctas .share-cta:hover svg,
.share-ctas .sharrre:hover .box svg {
    color: var(--tto-sky-blue);
}

.share-ctas .sharrre .count,
.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% + 12vw);
        max-width: 100vw;
        height: calc(100% + (var(--theme-section-padding-mobile) * 2));
        top: calc(var(--theme-section-padding-mobile) * -1);
        left: -6vw;
        margin: 0;
        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--image:empty:after {
        background-color: var(--tto-navy-blue);
        opacity: 1;
    }

    .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-post .entry-content img.alignright {
        display: flex;
        justify-content: center;
        float: none;
        margin: 0 auto 4rem;
    }

    .single-post-related {
        padding: var(--theme-section-padding-mobile) 0;
    }
}

@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,
    .single .entry-content table thead tr th:first-child {
        margin: 0 auto;
        padding: 0;
    }

    .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-portfolio-header {
    margin: 0 0 6rem;
    padding: var(--theme-section-padding) 0 0;
}

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

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

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

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

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

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

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

.single-team-header--cta,
.single-portfolio-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-portfolio-header--ctas .custom-button:first-child a.button {
    background-image: none;
    background-color: #1a3a71;
    margin: 0 0 0 auto;
}

.single-team-header--cta .custom-button a.button:hover,
.single-portfolio-header--ctas .custom-button:first-child a.button:hover {
    filter: brightness(1.4);
}

.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-portfolio-page .single-portfolio-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-portfolio-page .single-portfolio-copy p,
.single-portfolio-page .single-portfolio-copy li {
    font-size: 1.8rem;
    line-height: 3.2rem;
}

.single-team-page .single-team-content ul,
.single-portfolio-page .single-portfolio-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%;
}

.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-portfolio-header {
        padding: var(--theme-section-padding-mobile) 0 0;
    }

    .single-team-header--wrapper,
    .single-team-member--wrapper,
    .single-portfolio-header--wrapper,
    .single-portfolio--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-portfolio {
        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 Portfolio */

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

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

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

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

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

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

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

body.single-portfolio-page .entry-content .website-screenshots .gb-block-layout-column-inner > .wp-block-image img {
    aspect-ratio: unset;
    border-radius: var(--tto-border-radius);
}

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

.single-portfolio--info {
    grid-row: 1;
    grid-column: 1;
}

.single-portfolio--info .moving-copy {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.single-portfolio-snapshot {
    aspect-ratio: 1283 / 816;
    background-color: #eaedef;
    display: flex;
    border-radius: var(--tto-border-radius);
}

.single-portfolio-page .entry-content .single-portfolio-snapshot img {
    width: 100%;
    height: 100%;
}

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

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

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

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

.single-portfolio-page .entry-content .info-widget--copy p,
.single-portfolio-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-portfolio .info-widget--copy .platforms,
.single-case-study-header .info-widget--copy .platforms {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.single-portfolio .info-widget--copy .platforms .platform img,
.single-case-study-header .info-widget--copy .platforms .platform img {
    object-fit: contain;
    height: 40px;
}

@media (max-width: 991px) {
    .single-portfolio-header--wrapper {
        display: flex;
        flex-direction: column;
    }

    .single-portfolio-header--ctas {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .single-portfolio--wrapper {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .single-portfolio--content {
        display: contents;
    }

    .single-portfolio-snapshot {
        order: 0;
    }

    .single-portfolio-copy {
        order: 2;
    }

    .single-portfolio-copy > *:first-child {
        margin-top: 0 !important;
    }

    .single-portfolio--info {
        order: 1;
        margin: 6rem 0 0;
    }
}

@media (max-width: 767px) {
    .single-portfolio .website-screenshots > .gb-layout-column-wrap {
        display: flex;
        flex-direction: column;
        gap: 4rem;
        max-width: 250px;
        margin: 0 auto;
    }

    .single-portfolio .website-screenshots .wp-block-image {
        display: block !important;
    }
}

/* 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),
body.single-case-study-page .entry-content .case-study-section .gb-block-layout-column-inner > .wp-block-image:not(.not-styled),
body.single-case-study-page .entry-content .case-study-images .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,
body.single-case-study-page .entry-content .case-study-section .gb-block-layout-column-inner > .wp-block-image:not(.not-styled),
body.single-case-study-page .entry-content .case-study-images .gb-block-layout-column-inner > .wp-block-image:not(.not-styled):before {
    display: none;
}

.case-study-section .wp-block-image,
.case-study-section img {
    width: 100%;
}

.case-study-section img + strong {
    display: block;
    color: #000;
    font-size: 1.5rem;
    text-align: center;
    margin: 1.5rem 0 3rem;
}

.case-study-images > .gb-layout-column-wrap {
    gap: 3rem;
}

.case-study-images .wp-block-image {
    aspect-ratio: 9 / 11;
    display: flex;
    border-radius: var(--tto-border-radius);
    overflow: hidden;
}

@media (min-width: 768px) {
    .case-study-images {
        padding: 4rem 0 0;
    }

    .case-study-images .gb-block-layout-column:last-child .wp-block-image {
        margin-top: 15rem;
    }
}

.single-case-study-page .image-grid > .gb-layout-column-wrap {
    grid-template-columns: calc(62.5% - 1rem) auto;
    gap: 2rem;
}

.single-case-study-page .image-grid .wp-block-image {
    display: flex;
    height: 300px;
}

.entry-content > .image-grid + .case-study-section,
.entry-content > .case-study-section:not(.gb-has-custom-background-color) + .case-study-section:not(.gb-has-custom-background-color) {
    padding-top: 0;
}

.entry-content > .case-study-section > .gb-layout-column-wrap {
    max-width: 896px;
}

.case-study-factors > .gb-layout-column-wrap {
    row-gap: 3rem;
    column-gap: 6rem;
}

.entry-content .case-study-factors p {
    font-size: 1.7rem;
}

.case-study-summary {
    border-top: 1.5px solid #e1e1e1;
}

.case-study-summary > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    gap: 8rem;
}

.case-study-summary--top {
    max-width: 896px;
    margin: 0 auto;
}

.modal-button {
    display: inline-flex;
    margin-left: 0.75rem;
}

.modal-button--icon svg {
    width: 1.8rem;
    height: 1.8rem;
    vertical-align: -0.35rem;
    pointer-events: all;
    cursor: pointer;
}

.modal-button--icon svg .fa-primary {
    fill: #fff;
}

.modal-button--icon svg .fa-secondary {
    fill: var(--tto-sky-blue);
    opacity: 1;
}

.modal-button--title,
.modal-button--content {
    display: none;
}

body .modal[id="modalButtonPopup"] {
	z-index: 9999999999;
}

body .modal-backdrop {
	background: rgba(0, 0, 0, 0.8);
}

body .modal-backdrop.show {
	opacity: 0.8;
}

body .modal[id="modalButtonPopup"] .modal-dialog {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	max-width: 85vw;
	height: 100%;
	margin: 0 auto;
	transform: none;
	overflow: hidden;
}

body .modal[id="modalButtonPopup"] .modal-content {
	background: transparent;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 2.5rem;
	width: 100%;
	max-width: 960px;
	height: auto;
	max-height: 550px;
	margin: 0 auto;
    border: none;
    transform: translateY(-5rem);
}

body .modal[id="modalButtonPopup"] .modal-header {
	justify-content: flex-end;
	width: 100%;
	height: auto;
	padding: 0;
    border-bottom: 0;
}

body .modal[id="modalButtonPopup"] .modal-header .btn-close {
	background: none;
	position: relative;
	display: block;
	height: fit-content;
	width: 25px;
	height: 25px;
	margin: 0;
	padding: 0;
    box-shadow: none;
	pointer-events: all;
	cursor: pointer;
    opacity: 1;
	outline: none;
	z-index: 2;
}

body .modal[id="modalButtonPopup"] .modal-header .btn-close:before {
	content: '\f00d';
	display: none;
	font-weight: 900;
	font-family: 'Font Awesome 6 Pro';
}

body .modal[id="modalButtonPopup"] .modal-header .btn-close svg {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	color: #fff;
	opacity: 0.6;
	transition: 0.25s ease-in-out opacity;
}

body .modal[id="modalButtonPopup"] .modal-header .btn-close:hover svg {
	opacity: 1;
}

body .modal[id="modalButtonPopup"] .modal-body {
	background-color: #fff;
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	width: 100%;
    height: 100%;
	padding: 6rem 5rem;
	overflow-y: scroll;
}

body .modal[id="modalButtonPopup"] .modal-body::-webkit-scrollbar {
	-webkit-appearance: none;
	appearance: none;
	width: 7px;
}

body .modal[id="modalButtonPopup"] .modal-body::-webkit-scrollbar-thumb {
	border-radius: 5px;
	background-color: rgba(0, 0, 0, .4);
	-webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .4);
	box-shadow: 0 0 1px rgba(255, 255, 255, .4);
}

.modal-body--title p {
    color: #000;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.2;
}

.modal-body--content p {
    font-size: 1.7rem;
    line-height: 1.618;
}

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

    .single-case-study-header--title h1 {
        font-size: 3.6rem;
        line-height: 1.2;
    }

    .single-case-study-header--image {
        max-width: 100%;
        margin: 6rem 0;
    }

    .single-case-study-header--info {
        display: flex;
        flex-direction: column;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    .single-case-study-page .image-grid > .gb-layout-column-wrap {
        display: flex;
        flex-direction: column;
        gap: 4rem;
    }
}

/* ROAS Page */

.roas-calculator {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 6rem;
}

.roas-calculator-page .entry-content > .calculator-section {
    overflow: visible;
    z-index: 3;
}

.roas-calculator--sliders .sliders {
    gap: 6rem;
}

.roas-calculator--sliders .slider {
    background-color: #fff;
    display: grid;
    grid-template-columns: 1fr 150px;
    gap: 4rem;
    padding: 6rem;
}

.roas-calculator--sliders .slider > svg[data-fa-pseudo-element="::before"],
.roas-calculator--results .results .result > svg[data-fa-pseudo-element="::before"] {
    display: none;
}

.roas-calculator--sliders .slider-content {
    grid-row: 1;
    grid-column: 1;
}

.roas-calculator--sliders .slider-content--name p {
    color: #000;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 2rem;
}

.roas-calculator--sliders .slider-content--heading p {
    color: #000;
    font-size: 2rem;
    font-weight: 500;
    margin: 0 0 0.5rem;
}

.roas-calculator--sliders .slider-content--copy p {
    color: #000;
    font-size: 1.7rem;
}

.roas-calculator--sliders .slider-input {
    grid-row: 2;
    grid-column: 1 / span 2;
    display: grid;
    justify-content: space-between;
    row-gap: 1.5rem;
    column-gap: 4rem;
}

.roas-calculator--sliders .slider-input--min {
    grid-row: 2;
    grid-column: 1;
}

.roas-calculator--sliders .slider-input--min p,
.roas-calculator--sliders .slider-input--max p {
    color: #000;
    font-size: 1.8rem;
    line-height: 1.2;
}

.roas-calculator--sliders .slider-input--range {
    grid-row: 1;
    grid-column: 1 / span 2;
    display: flex;
}

.roas-calculator--sliders .slider-input--range input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 4px;
    background: #e6e6e6;
    outline: none;
    margin: 15px 0;
    cursor: pointer;
}

.roas-calculator--sliders .slider-input--range input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--tto-sky-blue);
    cursor: pointer;
    border: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.roas-calculator--sliders .slider-input--range input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--tto-sky-blue);
    cursor: pointer;
    border: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.roas-calculator--sliders .slider-input--range input[type="range"]::-ms-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--tto-sky-blue);
    cursor: pointer;
    border: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.roas-calculator--sliders .slider-input--range input[type="range"]::-moz-range-track {
    height: 4px;
    background: #e6e6e6;
    border: none;
}

.roas-calculator--sliders .slider-input--range input[type="range"]::-ms-track {
    width: 100%;
    height: 4px;
    background: transparent; 
    border-color: transparent;
    color: transparent;
}

.roas-calculator--sliders .slider-input--range input[type="range"]::-ms-fill-lower {
    background: #e6e6e6;
}

.roas-calculator--sliders .slider-input--range input[type="range"]::-ms-fill-upper {
    background: #e6e6e6;
}

.roas-calculator--sliders .slider-input--max {
    grid-row: 2;
    grid-column: 2;
}

.roas-calculator--sliders .slider-output {
    grid-row: 1;
    grid-column: 2;
}

.roas-calculator--sliders .slider-output p {
    display: flex;
    justify-content: flex-end;
    gap: 3rem;
    color: #000;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.4;
    word-break: break-all;
}

.roas-calculator--sliders .slider-output p .prefix,
.roas-calculator--sliders .slider-output p .suffix {
    font-weight: 600;
}

.roas-calculator--results .moving-copy {
    background-color: #fff;
    border: 1px solid #eee;
    border-radius: var(--tto-border-radius);
    box-shadow: 0px 4px 12px -2px rgb(0 0 0 / 10%);
    overflow: hidden;
}

.roas-calculator--results .results-heading p {
    color: #000;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 2.5rem;
    border-bottom: 1px solid #d9d9d9;
    text-align: center;
}

.roas-calculator--results .results {
    display: block;
}

.roas-calculator--results .results .result {
    border-bottom: 1px solid #d9d9d9;
    padding: 0;
}

.roas-calculator--results .results .result:last-child {
    border-bottom: none;
}

.roas-calculator--results .results .result-inner,
.roas-calculator--results .results .result-clone {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 2rem;
}

.roas-calculator--results .results .result-clone {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.roas-calculator--results .results .result:last-child .result-inner,
.roas-calculator--results .results .result:last-child .result-clone {
    background-image: linear-gradient(90deg, #07b7e4, #4694e7, #4694e7, #07b7e4);
    background-size: 300% 100%;
    padding: 2.5rem;
}

.roas-calculator--results .result-heading p {
    color: #000;
    font-size: 1.6rem;
    line-height: 1.2;
    text-align: center;
}

.roas-calculator--results .result:last-child .result-heading p {
    color: #fff;
    font-weight: 600;
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
}

.roas-calculator--results .result-copy p {
    color: #000;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
}

.roas-calculator--results .result:last-child .result-copy p {
    color: #fff;
    font-weight: 700;
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
}

.copy-url-button .success {
    display: none;
    align-items: center;
    gap: 1rem;
}

.copy-url-button .button.copied .message {
    display: none;
}

.copy-url-button .button.copied .success {
    display: flex;
}

@media (max-width: 991px) {
    .roas-calculator--sliders .slider {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 6rem var(--theme-wrap-padding-mobile);
    }

    .roas-calculator--sliders .slider-content {
        display: contents;
    }

    .roas-calculator--sliders .slider-content--name {
        order: -2;
    }

    .roas-calculator--sliders .slider-output {
        order: -1;
    }

    .roas-calculator--sliders .slider-output p {
        justify-content: flex-start;
        gap: 1.5rem;
        margin: 0 0 2rem;
    }

    .roas-calculator--sliders .slider-input {
        margin: 3rem 0 0;
    }
}

@media (max-width: 767px) {
    .roas-calculator {
        display: flex;
        flex-direction: column;
        gap: 6rem;
    }

    .roas-calculator--sliders .slider-content--name p,
    .roas-calculator--sliders .slider-output p {
        font-size: 2.3rem;
    }

    .calculator-section .roas-calculator--results .results .result:last-child .result-clone {
        position: fixed;
        width: 100%;
        height: auto;
        top: auto;
        bottom: 0;
        left: 0;
        z-index: 9;
    }

    .calculator-section.fixed .roas-calculator--results .results .result:last-child .result-clone {
        opacity: 1;
    }
}

/* Algorithm Updates Page */

.entry-content > .algorithm-updates-section {
    overflow: visible;
}

.algorithm-updates {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    row-gap: 4rem;
    column-gap: 6rem;
    margin: 5rem 0 8rem;
    padding: 8rem 0;
    border-top: 2px dashed #d9d9d9;
    border-bottom: 2px dashed #d9d9d9;
}

.algorithm-updates--wrapper {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}

.algorithm-updates--group {
    display: flex;
    flex-direction: column;
    gap: 6rem;
    outline: none !important;
}

.algorithm-updates--group:not(:first-child) {
    padding: 8rem 0 0;
    border-top: 2px dashed #d9d9d9;
}

.algorithm-updates--group h3 {
    margin: 0;
}

.algorithm-update--info p {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #05809e;
    font-size: 1.7rem;
    font-weight: 600;
}

.algorithm-update--info p .separator {
    font-size: 2.2rem;
    line-height: 0;
}

.algorithm-update--name h4 {
    font-size: 2.2rem;
    font-weight: 700;
}

.entry-content .algorithm-update--content ul {
    margin: 1.5rem 0 0;
}

.entry-content .algorithm-update--content ul li {
    color: #000;
    font-size: 2rem;
}

.entry-content .algorithm-update--content ul li svg {
    position: absolute;
    width: 5px;
    height: 5px;
    top: 12px;
    left: 10px;
}

.algorithm-updates--toc {
    background-color: #fff;
    display: block;
    max-width: 450px;
    padding: 3rem;
    margin: 0 auto;
    border: 1px solid #d6d6d6;
    border-radius: var(--tto-border-radius);
    box-shadow: 0px 2px 5px -1px rgba(0, 0, 0, 0.17);
}

.entry-content .algorithm-updates--toc ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 3.5rem;
    column-gap: 2rem;
}

.entry-content .algorithm-updates--toc ul li {
    display: flex;
    justify-content: center;
    font-size: 1.6rem;
    line-height: 1;
    padding: 0;
}

.entry-content .algorithm-updates--toc ul li svg {
    display: none;
}

.entry-content .algorithm-updates--toc ul li a:hover {
    color: #000;
}

.entry-content .algorithm-updates--toc ul li:not(.active) a:hover {
    color: #05809e;
}

.entry-content .algorithm-updates--toc ul li.active a {
    color: #1c75d4;
    pointer-events: none;
    cursor: default;
}

.algorithm-articles .gb-block-layout-column-inner {
    gap: 3.5rem;
}

.algorithm-updates-cta {
    margin: 3.5rem 0 0;
}

.algorithm-updates-cta > .gb-layout-column-wrap {
    row-gap: 6rem;
    column-gap: 8rem;
}

.algorithm-updates-cta .gb-block-layout-column-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.algorithm-updates-cta iframe {
    width: 100%;
    height: 100%;
}

@media (max-width: 767px) {
    .algorithm-updates {
        display: flex;
        flex-direction: column-reverse;
        gap: 8rem;
        margin: 0 0 8rem;
        padding: 3rem 0 8rem;
        border-top: none;
    }

    .algorithm-updates--sidebar {
        padding: 0 0 8rem;
        border-bottom: 2px dashed #d9d9d9;
    }

    .algorithm-articles .gb-block-layout-column-inner {
        gap: 1.5rem;
    }

    .algorithm-updates-cta {
        margin: 0;
    }

    .algorithm-updates-cta > .gb-layout-column-wrap {
        display: flex;
        flex-direction: column;
    }

    .algorithm-updates-cta iframe {
        height: 350px;
    }
}

/* Edits */

.sub-header-section.skinny .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner,
.gb-block-container.skinny > .gb-container-inside {
    display: block !important;
}

.sub-header-section.skinny p,
.gb-block-container.skinny p,
.sub-header-section.skinny li,
.gb-block-container.skinny li {
    color: #000;
    font-size: 1.9rem;
}

.sub-header-section.skinny ul li svg,
.gb-block-container.skinny ul li svg {
    top: 13px;
}

.wp-block-genesis-blocks-gb-columns.skinny .wp-block-image {
    margin: 0 0 6rem;
}

/* .wp-block-image.inverted img {
    filter: invert(1);
} */

img.framed,
.framed img,
.wp-block-image.framed img {
    box-shadow: 0px 4px 8px -3px rgba(0, 0, 0, 0.6) !important;
    border: 2px solid #61a6ea;
}

img.no-shadow,
.no-shadow img,
.wp-block-image.no-shadow img {
    box-shadow: none !important;
}

.entry-content > .accordion-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    max-width: 896px;
    margin: 0 auto;
}

.entry-content .accordion-section h2 {
    font-size: 3.8rem;
}

.accordion-section .faq-accordion-items .accordion {
    margin: 3.5rem 0 0;
}

.accordion-section .faq-accordion-items .accordion-item .accordion-header .accordion-button {
    background-color: #efefef;
    color: #000;
    font-size: 1.9rem;
    font-weight: 600;
}

.accordion-section .faq-accordion-items .accordion-item .accordion-header .accordion-button svg {
    width: 1.7rem;
    height: 1.7rem;
}

.not-found-page .entry-content {
    display: flex;
    flex-direction: column;
    gap: 6rem;
}

.not-found-page .entry-content p {
    color: #000;
}

.single-post .entry-content .wp-block-image,
.single-post .entry-content figure,
.single-post .entry-content img {
    max-width: 100%;
}

iframe {
    aspect-ratio: 16 / 9 !important;
    width: 100%;
    max-width: 100%;
    height: calc(100% * (16 / 9));
}

@media (max-width: 767px) {
    .single-case-study-page .image-grid .wp-block-image {
        display: block !important;
    }
}

/* Temp */

.background-cta-section[style*="Gray-Background.jpg"],
.background-cta-section[style*="Gray-Background.jpg"]:before {
    background-image: none !important;
    background-color: #1d273f;
}




/*** Blog table of contents ***/
.post-content-flex-wrapper {
    display: grid;
    grid-template-columns: 250px 1fr; 
    grid-template-rows: auto;
    column-gap: 40px;
    row-gap: 0px;
    align-items: start;
}

.post-content-flex-wrapper .tto-toc-container {
    display: none;
}

.post-content-flex-wrapper .tto-toc-sticky {
    position: sticky;
    top: 100px;
}

.post-content-flex-wrapper .tto-toc-container .toc-title {
    font-weight: bold;
    margin-bottom: 15px;
    font-size: 18px;
    text-transform: uppercase;
}

.post-content-flex-wrapper .tto-toc-container ol {
    margin: 0;
}

.post-content-flex-wrapper .tto-toc-container ol li {
    margin-bottom: 10px;
    line-height: 1.4;
    list-style-type: none;
    margin-left: unset;
    color: #000;
}

.post-content-flex-wrapper .tto-toc-container ol li a {
    text-decoration: none;
    color: inherit;
    transition: color 0.2s ease;
    border-bottom: unset !important;
}

.post-content-flex-wrapper .tto-toc-container ol li a:hover {
    color: #0073e6;
}

.post-content-flex-wrapper .post-content-body {
    min-width: 0;
}

.single .single-post-header .single-post-header--image {
    margin: 0rem auto 4rem;
}

.single ol.wp-block-list li {
    list-style-type: inherit;
}

.single ol.wp-block-list {
    display: block; 
    padding-left: 40px; 
    text-align: left;
}


@media (max-width: 1024px) {
    .post-content-flex-wrapper {
        grid-template-columns: 1fr;
        column-gap: 0px;
    }
    
    .post-content-flex-wrapper .tto-toc-container {
        display: none; 
    }
}

@media (min-width: 1025px) {
    .post-content-flex-wrapper .tto-toc-container {
        display: block;
    }
}


/*** Blog Single | 12/08/2025  ***/

@media (min-width: 1600px) {
    .post-content-flex-wrapper {
        grid-template-columns: 250px 100%;
        transform: translateX(-290px);
    }
}