/**handles:custom-style**/
/*** Breakpoints ---
		Desktop: min-width: 1024px
		Tablet: min-width: 768px and max-width:1023px
		Phone: max-width:767px
***/


/*** ========================================
	Base / Root / Global Variables
======================================== ***/

body {
	--wide-margin: calc((100vw - var(--wp--style--global--wide-size)) / 2);
	-webkit-font-smoothing: antialiased;
}

body:not(.admin-bar) {
	--wp-admin--admin-bar--height: 0px;
}

:root :where(.wp-block-post-terms a) {
	white-space: normal !important;
}

:where(.wp-site-blocks *:focus) {
	outline-width: 0 !important;
	outline-style: solid;
}

[style*="text-decoration: none"] *,
[style*="text-decoration:none"] * {
	text-decoration: none !important;
}

*[style*="margin-top:-"],
*[style*="margin-bottom:-"] {
	z-index: 9;
}

body.mega-open {
	overflow: hidden;
}

span.nowrap {
	white-space: nowrap;
}


/*** ========================================
	Sticky Elements
======================================== ***/

.entry-content .is-position-sticky {
	top: calc(var(--head-ht) + var(--wp-admin--admin-bar--height));
}

main .is-position-sticky {
	top: calc(var(--wp-admin--admin-bar--height) + var(--head-ht) + 25px) !important;
	transition: .4s;
}

.wp-block-cover.is-light.sticky-left {
	align-items: unset;
}

.wp-block-cover.is-light.sticky-left .wp-block-cover__inner-container {
	height: unset !important;
}


/*** ========================================
	Header / Logo / Sticky Header
======================================== ***/

header .is-position-sticky {
	position: fixed;
	left: 0;
	right: 0;
	z-index: 9999;
	/* top: 0; */
	transition: top .4s;
}

body:not(.scrolling) header .is-position-sticky {
	top: var(--wp-admin--admin-bar--height);
}

header .header-float {
	box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1) !important;
	position: relative;
}

.header-float::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	backdrop-filter: saturate(200%) blur(10px);
	z-index: -1;
	border-radius: 50px;
	overflow: hidden;
}

.nav-open .header-float {
	backdrop-filter: none;
}

.first-logo.wp-block-site-logo {
	flex-shrink: 10000;
}

a.custom-logo-link {
	width: 100%;
}


/*** ========================================
	Navigation - Global
======================================== ***/

header .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content,
header .wp-block-navigation ul {
	flex-wrap: nowrap;
}

body .wp-block-navigation__responsive-container-open:not(.always-shown) {
	display: block !important;
}

body .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
	display: none !important;
}


/*** ========================================
	Navigation - Mega Menu / Main Nav
======================================== ***/

.wp-block-navigation.nav-mega-menu.main-nav .has-child.open-on-click .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-container {
	width: 100vw;
	max-width: unset;
	position: fixed;
	left: 0;
	right: 0;
	top: var(--wp-admin--admin-bar--height);
	bottom: 0;
	margin: 0;
	height: calc(100dvh - 100px + var(--wp-admin--admin-bar--height));det
	margin: 0 !important;
}

.wp-block-navigation.nav-mega-menu.main-nav .has-child.open-on-click .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container {
	transform: none;
}

.main-nav .mega-menu-content {
	background: none;
	backdrop-filter: none;
	padding: 0;
	max-height: calc(100dvh - var(--wp-admin--admin-bar--height));
	border-radius: unset;
	border: 0;
	box-shadow: none;
	height: calc(100dvh - var(--wp-admin--admin-bar--height));
}

.main-nav span.wp-block-navigation__submenu-icon {
	display: none;
}

.main-nav button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle {
	padding-right: 0;
}

.mega-open .main-nav button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle {
	color: #fff;
	z-index: 99999;
}

.mega-open div#mix-blend-header {
	mix-blend-mode: unset;
}

.mega-open header figure.wp-block-image.size-large.wp-new-logo img {
	z-index: 99999;
}

@media ( max-width: 767px ) {
	header nav.main-nav span.wp-block-navigation-item__label {
		font-size: 22px;
	}
}
header nav.main-nav nav span.wp-block-navigation-item__label {
	font-size: inherit;
	color: inherit;
}

.wp-block-navigation #menu-container .wp-block-navigation-item {
	transition: .6s;
}

.wp-block-navigation #menu-container .wp-block-navigation-item:hover {
	transform: translateX(15px);
}

div#menu-container {
	min-height: calc(100dvh - var(--wp-admin--admin-bar--height)) !important;
}


/*** ========================================
	Headings
======================================== ***/

h1,
h2,
h3,
h4,
h5,
h6 {
	text-wrap: auto;
}


/*** ========================================
	Utilities / Helper Classes
======================================== ***/

.gradient {
	background: -webkit-linear-gradient(135deg, #e534ad, #bb43b2);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: linear-gradient(135deg, #e534ad, #bb43b2);
	background-clip: text;
}

.gradient-dark,
.gradient-dark > * {
	background: -webkit-linear-gradient(135deg, #e534ad, #bb43b2);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: linear-gradient(135deg, #e534ad, #bb43b2);
	background-clip: text;
}

.blur {
	-webkit-backdrop-filter: saturate(200%) blur(10px);
	backdrop-filter: saturate(200%) blur(10px);
}

.shadow {
	box-shadow: 1px 3px 9px rgba(0, 0, 0, 0.2) !important;
}

.mix-blend-color {
	mix-blend-mode: color-burn;
}

.mix-blend-difference {
	mix-blend-mode: difference;
}

.gcs-pink-highlight,
.gcs-pink-highlight * {
	color: #e534ad;
}


/*** ========================================
	Images / Media / Buttons
======================================== ***/

.wp-block-image,
.wp-block-image a {
	display: flex;
}

.wp-block-image .components-resizable-box__container {
	max-width: 100% !important;
}

li.wp-block-post .wp-block-group[style*="border-radius"] {
	overflow: hidden;
	height: 100%;
}
.wp-block-query li.wp-block-post.has-post-thumbnail figure.wp-block-post-featured-image img {
	transition: .5s;
	/* transition-timing-function: linear; */
}

.wp-block-query li.wp-block-post.has-post-thumbnail:hover figure.wp-block-post-featured-image img {
	/* transform: scale(1.15); */
	border-radius: 20px !important;
}

.wp-block-query li.wp-block-post.has-post-thumbnail .wp-block-post-featured-image {
	max-width: 100%;
	transition: .3s;
}

body:not(.page-id-800) .wp-block-query li.wp-block-post.has-post-thumbnail .wp-block-post-featured-image:hover {
	transform: scale(.95);
}

.float-button .wp-block-button__link {
	border-radius: 100px !important;
	aspect-ratio: 1;
	width: 85px;
	height: 85px;
}

.wp-block-button.float-button {
	position: fixed;
	right: 3rem;
	bottom: 3rem;
	z-index: 99;
}

.wp-block-button a.wp-block-button__link {
	box-shadow: 0 6px 10px #0000000d;
	transition: .35s;
}

.wp-block-button a.wp-block-button__link:hover {
	transform: scale(.97);
}

.is-style-gradient .wp-block-button__link {
	background: linear-gradient(135deg, #b73382, #e534ad) !important;
}

.with-arrow {
	transition: .35s;
}

.with-arrow:hover {
	transform: scale(.97);
}

span.button-arrow {
	margin-left: .5rem;
}

span.gcs-button-icon {
	width: 8px;
	height: 8px;
	background: #fff;
	border-radius: 16px;
	position: relative;
	margin-left: .5rem;
}

.gform-theme-button {
	transition: .4s;
}

.gform-theme-button:hover {
	transform: scale(.97);
}

button.gform_previous_button {
	flex-direction: row-reverse;
}

span.gcs-button-icon::after {
	content: '';
	background: #ffffff9e;
	background: radial-gradient(circle, rgb(255 255 255), rgb(255 255 255 / 0%));
	border-radius: 8px;
	width: 16px;
	height: 16px;
	position: absolute;
	left: -4px;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	animation: pulseScale 3s ease-in-out infinite;
	transform-origin: center;
	will-change: transform;
}


/*** ========================================
	Links / Read More / Lift
======================================== ***/

.lift-off {
	transition: .3s;
}

.lift-off:hover {
	translate: 10px;
}

a.wp-block-post-excerpt__more-link {
	display: flex;
	gap: 5px;
	align-items: center;
	transition: .3s;
	font-size: 20px;
	margin-top: 12px;
}

a.wp-block-post-excerpt__more-link::after {
	content: ' →';
	font-weight: 600;
	color: #e534ad;
}

a.wp-block-post-excerpt__more-link:hover {
	translate: 10px;
}

a.wp-block-read-more {
	display: flex;
	gap: 10px;
}

a:where(:not(.wp-element-button)) {
	transition: .4s;
}


/*** ========================================
	Services
======================================== ***/

.wp-block-group.service-block {
	transition: .3s;
	position: relative;
	overflow: hidden;
}

.wp-block-group.service-block:hover {
	background-color: #eeeeee !important;
}

.service-icon {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
}

.service-icon svg {
    position: absolute;
    width: 320px;
    height: 320px;
    overflow: visible;
    right: -95px;
    bottom: -120px;
}

.service-icon svg path {
    fill: #f6f6f6;
    transition: .4s;
	transition-timing-function: linear;
}

.service-block:hover .service-icon svg path {fill: #f4f4f4;}


.service-block .service-icon svg path.cls-2 {
    transform: translateY(-25px);
}

.service-block .service-icon svg path.cls-1 {
    transform: translateY(25px);
}

.service-block:hover .service-icon svg path.cls-2 {
    transform: translateY(0px);
}

.service-block:hover .service-icon svg path.cls-1 {
    transform: translateY(0px);
}


.service-block > .wp-block-group {
    z-index: 9;
    position: relative;
}

.service-block:hover a.wp-block-button__link.has-accent-4-background-color.has-background.wp-element-button {
    border-radius: 100% !important;
}

.service-block a.wp-block-button__link {
    transition: .5s ease-in-out;
}
.wp-block-group.service-block:hover {
    border-radius: 20px !important;
}


/*** ========================================
	Scroll / Motion Animations
======================================== ***/

body:not(.wp-admin):not(.single-post) .entry-content > *:not(:first-child):not(.no-scroll):not(.has-parallax),
.single-proposal .proposal-columns {
	position: relative;
	transform: translateY(65px);
	transition: transform .9s, opacity 1.2s;
	z-index: 1;
}

.scroll-true {
	transform: translateY(0) !important;
	z-index: 1;
}

@keyframes pulseScale {
	0%, 100% {
		transform: scale(1);
	}
	50% {
		transform: scale(0.59);
	}
}


/*** ========================================
	Home
======================================== ***/
div#about-section video {
    opacity: .08;
}
img.wp-block-cover__image-background.wp-image-89 {
	filter: blur(4px);
}

div#about-section {
    background: linear-gradient(
        135deg,
        #DCDCE8,
        #EEEEF5,
        #F8F8FA,
        #FAFAFA,
        #F8F4F6,
        #F5EEF2,
        #EDE8EE,
        #E4E2EC,
        #DCDCE8
      );
    background-size: 500% 500%;
    animation: colorfield 10s ease-in-out infinite;
}
div#about-section::after {
      content: '';
      position: fixed;
      inset: 0;
      background-image: url("https://thatgoodcode.com/wp-content/uploads/2026/04/static.svg");
      background-size: 256px 256px;
      opacity: .5;
      pointer-events: none;
      z-index: 8;
}

@keyframes colorfield {
      0%   { background-position: 0%   60%; }
      20%  { background-position: 80%  20%; }
      40%  { background-position: 100% 80%; }
      60%  { background-position: 40%  100%; }
      80%  { background-position: 10%  10%; }
      100% { background-position: 0%   60%; }
}

#about-section .wp-block-cover__inner-container {
    z-index: 9;
}

.waves {
	position: relative;
	width: 100%;
	height: 16vh;
	margin-bottom: -7px;
	min-height: 100px;
	max-height: 150px;
}

.waves.waves-sm {
	height: 50px;
	min-height: 50px;
}

.waves.no-animation .moving-waves > use {
	animation: none;
}

.wave-rotate {
	transform: rotate(180deg);
}

.moving-waves > use {
	animation: f 40s cubic-bezier(.55,.5,.45,.5) infinite;
}

.moving-waves > use:first-child {
	animation-delay: -2s;
	animation-duration: 11s;
}

.moving-waves > use:nth-child(2) {
	animation-delay: -4s;
	animation-duration: 13s;
}

.moving-waves > use:nth-child(3) {
	animation-delay: -3s;
	animation-duration: 15s;
}

.moving-waves > use:nth-child(4) {
	animation-delay: -4s;
	animation-duration: 20s;
}

.moving-waves > use:nth-child(5) {
	animation-delay: -4s;
	animation-duration: 25s;
}

.moving-waves > use:nth-child(6) {
	animation-delay: -3s;
	animation-duration: 30s;
}

@keyframes f {
	0% {
		transform: translate3d(-90px, 0, 0);
	}
	to {
		transform: translate3d(85px, 0, 0);
	}
}


/*** ========================================
	Gravity Forms
======================================== ***/

.gform-page-footer.gform_page_footer.top_label {
	display: flex;
	flex-wrap: nowrap;
}

input.gform_button,
input.gform_next_button,
input.gform_previous_button,
.gform-page-footer button,
.gform-footer button {
	background-image: none !important;
	background-color: transparent !important;
	font-weight: 700 !important;
	letter-spacing: .0025rem;
	box-shadow: none !important;
	color: #fff !important;
	border: 1px solid #e534ae !important;
	border-radius: 0 !important;
	padding: 1rem 2.25rem !important;
	border-radius: 100px !important;
	background: linear-gradient(135deg, #b73382, #e534ad) !important;
	font-size: 18px !important;
}

.gform-body input, .gform-body textarea {
	box-shadow: none !important;
	background: none !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
	border-radius: 0 !important;
	padding: 0 0 5px 0 !important;
	height: auto !important;
	line-height: 1 !important;
	border-color: #b4b4b4 !important;
	transition: border-color .3s !important;
}
.gform-body textarea {
    border-top: 1px solid #b4b4b4 !important;
    border-left: 1px solid #b4b4b4 !important;
    border-right: 1px solid #b4b4b4 !important;
    padding: 1rem !important;
    font-size: 16px !important;
}
.gform-body input[type="checkbox"] {
    border-top: 1px solid !important;
    border-left: 1px solid !important;
    border-right: 1px solid !important;
    padding: 0 !important;
    height: 20px !important;
    line-height: 1 !important;
    border-color: #b4b4b4 !important;
}
.gform-body input:focus,
.gform-body .gfield:hover input, .gform-body textarea:focus,
.gform-body .gfield:hover textarea {
	border-color: #e20bbb !important;
}

p.gform_required_legend {
	display: none;
}

.gform-theme form {
	margin-top: 1.5rem;
}

input.gform_previous_button {
	color: #000 !important;
	background: #fff;
	border: 1px solid #eee !important;
}

.gform-theme--framework .gf_progressbar .percentbar_orange {
	background: #000000;
	background-color: #000000 !important;
}

label.gform-field-label.gform-field-label--type-sub.is-required {
	font-size: 14px;
	color: #585858;
}

label.gfield_label.gform-field-label {
	color: #585858 !important;
}

.gform_fields {
	row-gap: 20px !important;
}


/*** ========================================
	Form Fields - Global
======================================== ***/

input,
textarea,
select {
	font-size: 16px !important;
}

input.wp-block-search__input {
	border-radius: 10px 0 0 10px !important;
}

:root :where(.wp-block-search .wp-element-button, .wp-block-search .wp-block-button__link) {
	margin-left: 0 !important;
}


/*** ========================================
	Page Specific - Home / Proposals / About / Services
======================================== ***/

div#field_1_28 {
	margin-top: -1rem;
	color: #585e69;
}

figure.services-image img {
	object-fit: cover;
}

figure.wp-block-image.about-image {
	height: 100%;
}

figure.wp-block-image.about-image img {
	object-fit: cover;
}

.TermsText {
	font-size: 0.875rem !important;
}

img.wp-image-131 {
	object-fit: cover;
	object-position: left;
	aspect-ratio: 435 / 400;
}

#gform_wrapper_3 textarea {
	height: 100px !important;
	min-block-size: 210px;
}


/*** ========================================
	Blog / Posts / Categories / Archive
======================================== ***/

.blog-hero figure.wp-block-media-text__media {
	border-radius: 12px;
	overflow: hidden;
}

.single-post .entry-content > a[name="0"]:first-child + h2 {
	margin-top: 0;
}

.single-post header + .wp-block-cover .wp-block-cover__inner-container {
	mix-blend-mode: difference;
}

.single-post header + .wp-block-cover span.wp-block-cover__background.has-background-dim-0.has-background-dim {
	background: linear-gradient(28deg, rgb(0 0 0) 0%, rgb(0 0 0 / 19%) 100% 100%);
	opacity: 1 !important;
}

#meta-row {
	row-gap: 10px;
}

.taxonomy-post_tag.wp-block-post-terms a {
	color: #434343;
	display: inline-block;
	line-height: 1;
	padding: 10px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	border-color: #c3c3c3;
}

.taxonomy-post_tag.wp-block-post-terms {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0;
}

.taxonomy-post_tag.wp-block-post-terms a:hover {
	color: #e534ad;
}

span.page-numbers.current {
	text-decoration: underline;
}

.wp-block-post-excerpt p {
	margin: 0;
}

.has-text-align-center.wp-block-term-description p {
	margin-bottom: 12px;
}

ul.wp-block-categories-list.search-buttons.wp-block-categories {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	gap: 1rem;
	justify-content: flex-start;
	padding: 0;
}

ul.wp-block-categories-list.search-buttons.wp-block-categories li {
	color: #000;
	padding: 1rem 2.25rem;
	border: 1px solid #e534ad;
	transition: .4s;
}

ul.wp-block-categories-list.search-buttons.wp-block-categories li:hover {
	color: #fff;
	background: linear-gradient(135deg, rgb(227,7,187) 0%, rgb(187,67,178) 100%);
}

ul.wp-block-categories-list.search-buttons.wp-block-categories li a {
	text-decoration: none;
}

ul.wp-block-categories-list.insight-list.wp-block-categories {
	list-style: none;
	padding: 0;
	margin-top: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

ul.wp-block-categories-list.insight-list.wp-block-categories li.cat-item {
	font-size: 14px;
	background: #eee;
	border: 1px solid #d9d9d9;
	padding: 7px 16px;
	border-radius: 60px;
	transition: .3s;
}

ul.wp-block-categories-list.insight-list.wp-block-categories li.cat-item:hover {
	background-color: #e1e0e0;
}

.paged div#blog-intro {
    display: none;
}

.paged div#blog-query {
    padding-top: 100px;
}


/*** ========================================
	Work
======================================== ***/

.wp-block-group.video-group {
	overflow: hidden;
}

figure.wp-block-video.alignfull.work-video video {
	object-fit: contain;
	aspect-ratio: auto !important;
}

figure.wp-block-video.alignfull.work-video {
	border-radius: 16px;
	overflow: hidden;
}

.wp-block-query li.work img.wp-post-image {
	object-position: top;
}

.wp-block-group.more-posts {
	z-index: 1 !important;
	width: max-content;
	margin-left: 0 !important;
}

.more-posts {
	z-index: -1;
}


/*** ========================================
	New Site / Video / Carousel / Footer
======================================== ***/

div#video-home {
	overflow: hidden;
}

figure#home_video_1 {
	position: fixed;
	top: var(--wp-admin--admin-bar--height);
	width: 100%;
	aspect-ratio: 1470 / 568;
}

div#video-home video {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

div#mix-blend-header {
	mix-blend-mode: difference;
}

footer.wp-block-template-part {
	margin: 0;
}

.page-template-wp-custom-template-new-template header nav {
	position: relative !important;
}

.page-template-wp-custom-template-new-template header span.wp-block-navigation-item__label {
	color: #fff;
}

.wp-block-query.carousel-query ul.wp-block-post-template {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	max-width: 100%;
	overflow: auto;
	scroll-snap-type: x mandatory !important;
	flex-shrink: 0;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.wp-block-query.carousel-query ul.wp-block-post-template::-webkit-scrollbar {
	display: none;
}

.wp-block-query.carousel-query ul.wp-block-post-template > li {
	width: 30rem !important;
	max-width: 73vw !important;
	flex: 0 0 auto;
	width: 20rem;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.gcs-carousel-nav {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 20px;
	position: absolute;
	right: 0;
	z-index: 9999;
}

.gcs-carousel-btn {
	border: none;
	border-radius: 999px;
	padding: 8px 14px;
	cursor: pointer;
	background: rgba(0,0,0,0.05);
	transition: opacity .2s ease, background .2s ease;
}

.gcs-carousel-btn:hover {
	background: rgba(0,0,0,0.1);
}

div#footer-nav {
	row-gap: 20px;
}

figure.large-gcs-footer + p {
	flex-grow: 1;
}

figure.wp-block-image.large-gcs-footer {
	flex-grow: 1;
}

.large-gcs-footer img {
	max-width: 100%;
}

.gcs-lottie {
	width: 95px;
	height: 95px;
	margin-left: 0 !important;
}

.footer-menu-item a:hover {
	transform: translate(6px);
}

.footer-menu-item a {
	transition: .35s;
	display: block;
}

/*** ========================================
	Details Block
======================================== ***/
.wp-block-details {
	border-bottom: 1px solid;
	border-color: #e6e6e7;
}
.wp-block-details:last-child {
	border-bottom: 0;
}
.wp-block-details .summary {
	position: relative;
	display: flex;
	gap: .5rem;
	/* FIX: Force cursor pointer and optimize touch action */
	cursor: pointer !important;
	touch-action: manipulation;
	padding-bottom: 23px;
	padding-top: 23px;
}
.wp-block-details .summary-wrap {
	padding-left: 29px;
}
.wp-block-details:first-child .summary {
	padding-top: 0;
}
.wp-block-details:last-child.open {
	padding-bottom: 23px;
}
body .summary ~ * {
	display: none;
}
.summary-wrap {
	margin: -23px 0 0;
}
.open .summary-wrap {
	padding-bottom: 10px;
}
.open:last-child .summary-wrap {
	padding-bottom: 0;
}
.toggle-details {
	margin-top: .12rem;
}
.toggle-details svg {
	width: 1.25rem;
	height: 1.25rem;
	transition: .4s;
}
.toggle-details svg path {
	fill: currentColor;
	fill: #e307bb;
}
.wp-block-details.open > .summary > .toggle-details svg {
	transform: rotate(90deg);
}


/*** ========================================
	Problems Section Home / Details
======================================== ***/

#problem-columns .wp-block-details:first-child .summary {
	padding-top: 23px;
}

#problem-columns .wp-block-details {
	border-color: #454545;
	transition: .4s;
	margin: 0 !important;
}

#problem-columns .wp-block-details:hover {
	transform: scale3d(1.025, 1.025, 1.025);
}

#problem-columns.wp-block-group.wp-block-group-is-layout-grid {
	gap: 0 35px;
}

#problem-columns .summary-wrap {
	padding-left: 26px;
}


/*** ========================================
	Misc Specific Selectors
======================================== ***/

img.wp-image-574 {
	object-fit: cover;
}

body.postid-732 h1 {
	--fs: 5.75vw !important;
}


/*** ========================================
	Responsive - Min Width
======================================== ***/

@media (min-width: 782px) {
	main .is-position-sticky.sticky-top,
	main .sticky-top .is-position-sticky {
		top: calc(20px + var(--wp-admin--admin-bar--height)) !important;
	}

	body.postid-732 h1 {
		font-size: 5.75vw !important;
	}
}

@media (min-width: 1045px) {
	body .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none !important;
	}

	body .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: block !important;
	}
}

@media (min-width: 1469px) {
	.entry-content h1 {
		font-size: 78px !important;
	}

	h2.wp-block-heading.home-header {
		font-size: 78px !important;
	}
	h3.home-sub {
		font-size: 42px !important;
	}
	p.home-intro {
		font-size: 39px !important;
	}

	h1#projects-header {
		font-size: 79px !important;
	}

	h2.maintenance-header {
		font-size: 78px !important;
	}

	h1#insights-header {
		font-size: 78px !important;
	}

	h1#contact-header {
		font-size: 79px !important;
	}

	.service-template-default h1,
	body.postid-732 h1, .page-template-landing-page h1 {
		font-size: 75px !important;
	}
}


/*** ========================================
	Responsive - Max Width
======================================== ***/

@media (max-width: 1284px) {
	body {
		--wide-margin: var(--wp--style--root--padding-left);
	}
}

@media (max-width: 1044px) {
	ul.wp-block-navigation__submenu-container.wp-block-navigation-submenu.mega-menu {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.wp-block-group.header-float {
		justify-content: center;
		position: relative;
	}

	header nav:not(.main-nav) {
		position: absolute !important;
	}

	header nav:not(.main-nav) span.wp-block-navigation-item__label {
		font-size: 20px;
		font-weight: 800;
		font-family: var(--wp--preset--font-family--poppins);
		color: #151854;
	}

	header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		align-items: flex-start;
		width: 100%;
	}

	header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
		align-items: flex-start;
		flex-direction: row;
		flex-wrap: wrap;
	}

	header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
		background: #f3f3f3;
		animation-fill-mode: none;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		display: block;
		margin: 0 0 0 -36px;
		height: 20px;
		width: 20px;
		transition: .4s;
	}

	.wp-block-navigation__responsive-container-close svg,
	.wp-block-navigation__responsive-container-open svg {
		fill: currentColor;
		display: block;
		height: 50px;
		pointer-events: none;
		width: 50px;
		padding: 1rem;
	}

	button.wp-block-navigation__responsive-container-open,
	button.wp-block-navigation__responsive-container-close {
		position: fixed;
		bottom: 15px;
		right: 15px;
		top: auto;
		background: #e035ac;
		color: #fff;
		border-radius: 100%;
		z-index: 99999;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
		padding-right: 3rem;
	}

	.wp-block-navigation.nav-mega-menu .has-child.open-on-click .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-icon {
		rotate: 90deg;
	}

	header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: flex-start;
		padding-top: 12px;
	}

	header .wp-block-navigation-item .wp-block-site-logo {
		padding-bottom: 2rem;
	}

	header .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-container {
		display: none !important;
	}

	header .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		display: block !important;
		transform: none !important;
	}

	ul.wp-block-navigation__submenu-container.wp-block-navigation-submenu {
		width: 100% !important;
		max-width: unset !important;
	}

	.wp-block-button.float-button {
		bottom: 114px;
		right: 15px;
		z-index: 9;
	}

	.float-button .wp-block-button__link {
		width: 82px;
		height: 82px;
	}
}

@media (max-width: 981px) {
	#meta-row p.sep.sep2 {
		display: none;
	}

	#meta-row .taxonomy-category.wp-block-post-terms {
		width: 100%;
		text-align: center;
	}
}

@media (max-width: 970px) {
	.wp-block-group-is-layout-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.wp-block-group-is-layout-grid > :last-child:nth-child(odd) {
		/* grid-column: span 2; */
	}
}

@media (max-width: 860px) {
	*[style*="margin-top:190px"] {
		margin-top: 22vw !important;
	}

	.wp-block-spacer[style*="height:75px"] {
		height: 45px !important;
	}
}

@media (max-width: 781px) {
	.wp-block-group-is-layout-grid > :last-child:nth-child(odd) {
		grid-column: span 1;
	}

	.wp-block-group-is-layout-grid {
		grid-template-columns: 1fr !important;
	}

	.page-template-default main {
		margin-top: 7rem !important;
	}

	.single-proposal main,
	.service-template-default main {
		margin-top: 5rem !important;
	}

	[style*="padding-top: 220px"],
	[style*="padding-top:220px"],
	[style*="padding-top: 200px"],
	[style*="padding-top:200px"] {
		padding-top: 150px !important;
	}

	.blog-content {
		margin-top: 0 !important;
	}

	div#video-home {
		aspect-ratio: 1470 / 670;
	}

	.page-template-wp-custom-template-new-template header span.wp-block-navigation-item__label {
		font-size: 16px;
	}

	div#video-home figure {
		height: 100%;
	}

	div#video-home figure video {
		height: 100%;
		object-fit: cover;
		aspect-ratio: 1470 / 670;
	}

	div#video-home figure {
		aspect-ratio: 1470 / 670;
	}

	body {
		--wp--style--root--padding-right: 15px;
		--wp--style--root--padding-left: 15px;
	}

	#about-hero {
		display: flex;
		flex-direction: column-reverse;
	}

	#about-hero #hero-gcs {
		width: 100%;
		margin-top: 66px !important;
	}

	#about-hero #about-intro {
		margin-top: 30px !important;
	}

	h1.has-vw-fs {
		font-size: calc(var(--fs) * 2) !important;
	}

	h1 {
		font-size: 35px;
		letter-spacing: -2px;
	}

	h1#home-header {
		font-size: 10vw !important;
	}

	h2 {
		font-size: 36px;
	}

	h3 {
		font-size: 26px;
	}

	h4 {
		font-size: 22px;
	}

	h5 {
		font-size: 20px;
	}

	h6 {
		font-size: 18px;
	}

	body,
	p {
		font-size: 16px;
	}

	h2[style*="--fs"],
	h3[style*="--fs"],
	h4[style*="--fs"],
	h5[style*="--fs"],
	h6[style*="--fs"],
	body[style*="--fs"],
	p[style*="--fs"] {
/* 		font-size: var(--fs) !important; */
	}
	h2.about-home {
		font-size: 39px !important;
	}
	.entry-content > *:first-child[style*="margin-top:95px"] {
		margin-top: 68px !important;
	}

	div#post-cover {
		margin-top: 77px !important;
	}

	div#post-cover h1 {
		font-size: 37px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: unset;
		margin-bottom: 20px !important;
		line-height: 1.1 !important;
	}

	div#hero-gcs p {
		font-size: 45px !important;
	}

	.wp-block-group.mobile-border {
		border-bottom: 1px solid #0000001a !important;
		border-left-style: none;
		border-left-width: 0;
		padding-bottom: 48px;
	}

	#pricing {
		padding: 0 15px 15px !important;
	}

	#pricing > .wp-block-group > .wp-block-group.is-vertical {
		padding: 24px 20px !important;
	}

	.single nav.wp-block-group {
		flex-direction: column;
	}

	.single .post-navigation-link-next.has-text-align-right.wp-block-post-navigation-link {
		text-align: left;
	}

	div#video-home {
		margin-top: 77px !important;
	}

	#how-we-build .wp-block-group.is-vertical {
		padding-bottom: 1rem !important;
		margin-bottom: 1rem !important;
	}

	div#how-we-build {
		gap: 0rem;
	}

	#how-we-build .wp-block-group.is-vertical:last-child {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	#smart-strategy {
		min-height: 78vw !important;
	}

	#how-we-build .wp-block-group.is-vertical p:first-child {
		font-size: 24px !important;
	}

	#smart-strategy p {
		font-size: 11vw !important;
	}

	div#hero-gcs p {
		font-size: 11vw !important;
	}

	h2.maintenance-header {
		font-size: min(11.5vw, 78px) !important;
	}

	h1.services-header,
	h1.about-header {
		font-size: min(10.95vw, 78px) !important;
	}

	h2.home-header {
		font-size: min(11vw, 86px) !important;
	}
	h3.home-sub {
		font-size: 6vw !important;
	}
	p.home-intro {
		font-size: 32px !important;
	}
	.wp-block-group.big-footer-row,
	.wp-block-roup.footer-row-bottom {
		margin-top: 50px !important;
	}

	.wp-block-spacer[style*="height:120px"] {
		height: 75px !important;
	}
	h3.wp-block-heading.home-intro {
		font-size: 26px !important;
	}
}

@media (max-width: 745px) {
	div#footer-nav > .wp-block-group {
		width: 45%;
	}

	div#footer-nav > .wp-block-group:last-child {
		flex-direction: column-reverse;
	}
}

@media (max-width: 650px) {
	div#footer-nav > .wp-block-group {
		width: 100%;
	}

	.wp-block-group.new-nav-row {
		padding-top: 10px !important;
	}

	figure.wp-block-image.wp-new-logo img {
		width: 40vw;
	}
}

@media (max-width: 640px) {
	div#footer-nav {
		justify-content: flex-start;
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 600px) {
	body.scrolling {
		--wp-admin--admin-bar--height: 0px;
	}

	.blog-hero .wp-block-media-text__content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

@media (max-width: 585px) {
	#meta-row {
		flex-direction: column;
	}

	#meta-row .sep {
		display: none;
	}

	#menu-container .wp-block-navigation-item {
		font-size: 6.5vh !important;
	}

	#menu-container .wp-block-navigation.is-vertical {
		gap: 1vh;
	}
}

@media (max-width: 510px) {
	.wp-block-group.header-float {
		justify-content: center;
		border-radius: 67px !important;
	}
}