/*
Theme Name: MDS Child
Template: mds
Author: Modern Day Strategy
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 5.7
*/

/*------------------------------------------------
Global Styles
------------------------------------------------*/
:root {
	--wp--preset--font-size--h-3: clamp(
		1.5rem,
		1.6rem + ((1vw - 0.2rem) * 0.653),
		1.9rem
	);
}

body {
	background: var(--bg-gradient) !important;
}
main.wp-block-group {
	background: transparent !important;
}

.full-width-button,
.full-width-button a {
	width: 100%;
}

.two-column {
	display: grid;
	gap: 1.5rem;
}
.two-column-60-40 {
	grid-template-columns: 0.6fr 0.4fr;
}
.two-column-40-60 {
	grid-template-columns: 0.4fr 0.6fr;
}
.two-column-50-50 {
	grid-template-columns: 1fr 1fr;
}
.left-column, .right-column {
	margin: 0;
}
@media screen and (max-width: 900px) {
	.two-column {
		grid-template-columns: 1fr;
	}
}

.vertically-center {
	display: grid;
	align-content: center;
}
.horizontally-center {
	display: grid;
	justify-items: center;
	text-align: center;
}

.limit-width-500 { max-width: 500px; }
.limit-width-700 { max-width: 700px; }
.center-text {
	text-align: center;
	margin-inline: auto;
}

.wp-block-button a {
	--_arrow-width: 10px;
	--_button-padding-x: 1rem;
	--_button-padding-y: 0.6rem;
	--_bg-clr: var(--wp--preset--color--primary);
	--_border-gradient-start: var(--wp--preset--color--background);
	--_border-gradient-end: var(--wp--preset--color--primary);

	border-radius: 5px;
	border: 1px solid transparent;
	background: linear-gradient(
		var(--_bg-clr),
		var(--_bg-clr)
		) padding-box,
	linear-gradient(
		to right,
		var(--_border-gradient-start),
		var(--_border-gradient-end)
		) border-box;
	color: var(--wp--preset--color--background);
	transition: opacity 0.25s ease, border-color 0.3s ease;
	font-family: var(--wp--preset--font-family--heading);
	padding: var(--_button-padding-y) calc(var(--_button-padding-x) + (var(--_arrow-width) * 2.5)) var(--_button-padding-y) var(--_button-padding-x) !important;
	position: relative;
	font-size: var(--wp--preset--font-size--p-2);
}
.wp-block-button.light-blue a {
	--_bg-clr: var(--wp--preset--color--secondary);
}
.wp-block-button a:hover {
	border-color: var(--wp--preset--color--background);
}
.wp-block-button a::after {
	content: "";
	width: var(--_arrow-width);
	height: var(--_arrow-width);
	background-image: linear-gradient(135deg, transparent -15%, transparent calc(50% - 0.5px), white calc(50% - 0.5px), white calc(50% + 0.5px), transparent calc(50% + 0.5px), transparent 118%);
	background-size: calc(var(--_arrow-width) + 3px) calc(var(--_arrow-width) + 3px);
	background-position: center center;
	border: 1px solid transparent;
	border-top-color: white;
	border-right-color: white;
	position: absolute;
	right: var(--_button-padding-x);
	top: calc(50% - var(--_arrow-width) / 2 - 2px);
	rotate: 45deg;
	transition: right 0.15s ease;
}
.wp-block-button a:hover::after {
	right: calc(var(--_button-padding-x) - 4px);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--background) !important;
	border-color: var(--wp--preset--color--background);
	border-width: 1px;
	background-color: transparent !important;
}
.wp-block-button.is-style-outline.dark-outline .wp-block-button__link {
	color: var(--wp--preset--color--primary) !important;
	border-color: var(--wp--preset--color--primary);
	background-color: transparent !important;
}
.wp-block-button.underline-link {
	--_underline-color: var(--wp--preset--color--background);
	--_underline-width: 100%;
}
.wp-block-button.underline-link:hover {
	--_underline-width: 90%;
}
.wp-block-button.underline-link:hover a {
	opacity: 1;
}
.wp-block-button.underline-link a {
	padding: 0;
	background: transparent !important;
}
.wp-block-button.arrow-link .wp-block-button__link {
	padding: 0;
	background-color: transparent;
	color: var(--wp--preset--color--text);
	text-transform: uppercase;
	font-weight: 500;
	white-space: nowrap;
	font-size: var(--wp--preset--font-size--p-2);
}
.wp-block-button.arrow-link .wp-block-button__link::after {
	content: "";
	display: inline-block;
	background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA0aDI1TTIxLjUuNSAyNSA0bC0zLjUgMy41IiBzdHJva2U9IiMwMDNGM0UiLz48L3N2Zz4=");
	background-repeat: no-repeat;
	background-size: contain;
	width: 25px;
	height: 9px;
	margin-left: 7px;
	transition: translate 0.2s ease;
}
.wp-block-button.arrow-link .wp-block-button__link:hover::after {
	translate: 4px 0;
}

.wp-block-cover {
	margin-top: 0;
}

.wp-block-cover .wp-block-cover__background {
	background-color: #090d1d !important;
}

.heading-secondary {
	font-family: "Bebas Neue";
	text-transform: uppercase;
}
.centered-image {
	display: flex;
	justify-content: center;
	align-items: center;
}

/*------------------------------------------------
404
------------------------------------------------*/
.section-404 {
	height: 100svh;
}
.section-404 :is(figure, img) {
	height: 100%;
	object-fit: cover;
}

/*------------------------------------------------
accordions
------------------------------------------------*/
.wp-block-tn-accordions {
	--_padding-inline: 0;
	--_padding-block: 1.5rem;
	--_border-radius: 0px;
	--_accordion-spacing: 0;
	--_outer-divider-color: #1e244633;
}
.wp-block-tn-accordion {
	border: none;
}

.post-filter .wp-block-tn-accordion .content {
	padding-top: 0;
	display: grid;
	grid-template-columns: auto 1fr;
}

.wp-block-tn-accordion h3 {
	font-size: var(--wp--preset--font-size--h-5);
	padding-top: 4px;
}

/*------------------------------------------------
header
------------------------------------------------*/
header .wp-block-button a {
	padding: 5px 14px 4px;
}
.wp-block-group.header-wrapper {
	top: calc(0px + var(--wp-admin--admin-bar--position-offset, 0px));
	left: var(--page-padding);
	right: var(--page-padding);
	background: var(--wp--preset--color--primary) !important;
}

/*------------------------------------------------
Navigation Links
------------------------------------------------*/
.wp-block-navigation-item,
.underline-link {
	--_underline-height: 1px;
	--_underline-width: 0%;
	--_underline-color: currentColor;

	width: fit-content;
	background-image: linear-gradient(
		90deg,
		var(--_underline-color),
		var(--_underline-color)
	);
	background-size: var(--_underline-width) var(--_underline-height);
	background-repeat: no-repeat;
	background-position: center bottom;
	cursor: pointer;
	transition: background-size 0.25s ease, color 0.25s ease;
}

.wp-block-navigation__container
	> .wp-block-navigation-item:has(button[aria-expanded="true"]),
.wp-block-navigation__container > .wp-block-navigation-item:hover,
.wp-block-navigation__container > .current-menu-item,
.underline-link:hover,
.underline-link[data-selected="true"] {
	--_underline-width: 100%;
}

.wp-block-navigation__submenu-container > .wp-block-navigation-item,
.underline-link:hover {
	color: var(--wp--preset--color--text-alt);
}
.wp-block-navigation__submenu-container > .wp-block-navigation-item:hover,
.underline-link:hover {
	color: var(--wp--preset--color--text);
}

/*------------------------------------------------
Contact Form 7
------------------------------------------------*/
.wpcf7 {
	--_input-inline-padding: 0.8rem;
	--_input-block-padding: 0.7rem;
	--_select-arrow-size: 8px;
}
.wpcf7 label {
	font-size: var(--wp--preset--font-size--p-2);
}
.wpcf7 form p:first-of-type {
	margin-top: 0;
}
.wpcf7 form p:last-of-type {
	margin-bottom: 0;
}
.wpcf7 :is(input, textarea, select) {
	font-size: var(--wp--preset--font-size--p-2);
	letter-spacing: 2px;
	box-sizing: border-box;
	border-radius: var(--border-radius);
	background-color: var(--wp--preset--color--background);
}
.wpcf7 :is(input, textarea, select)::placeholder {
	letter-spacing: 1px;
	font-family: var(--wp--preset--font-family--body);
}
.wpcf7-form-control {
	padding: var(--_input-block-padding) var(--_input-inline-padding);
	border: 1px solid #003f3e33;
	color: var(--wp--preset--color--text);
	width: 100%;
}
.wpcf7-select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	position: relative;
}
.wpcf7-form-control-wrap:has(.wpcf7-select)::after {
	content: "";
	position: absolute;
	inset: calc(50% - 1px) var(--_input-inline-padding) auto auto;
	translate: 0 -50%;
	rotate: 45deg;
	width: var(--_select-arrow-size);
	height: var(--_select-arrow-size);
	aspect-ratio: 1;
	border: 0px solid #003f3e33;
	border-bottom-width: 1px;
	border-right-width: 1px;
}
.wpcf7-textarea::placeholder,
.wpcf7-text::placeholder,
.wpcf7-list-item-label,
.wpcf7-date {
	color: hsl(0, 0%, 70%);
}
.wpcf7-list-item {
	margin: 0;
}
.wpcf7-not-valid-tip {
	font-size: var(--wp--preset--font-size--p-2);
	margin-top: 0.5rem;
	color: #ae2424;
}
input.wpcf7-submit {
	width: 100%;
	padding: calc(0.667em + 2px) calc(1.333em + 2px);
	background-color: var(--wp--preset--color--text);
	color: var(--wp--preset--color--background);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--p-1);
	line-height: 1.6;
	text-decoration: none;
	text-transform: uppercase;
	border-radius: 5px;
	border: 1px solid var(--wp--preset--color--text);
	transition: opacity 0.25s ease;
	cursor: pointer;
}
input.wpcf7-submit:hover {
	opacity: 0.75;
}
.wpcf7-spinner {
	display: none;
}
.wpcf7 form.wpcf7-form .wpcf7-response-output {
	border: 1px solid hsl(0, 0%, 60%);
	margin: 0;
	color: hsl(0, 0%, 70%);
}
.wpcf7-form-control.wpcf7-checkbox {
	display: flex;
	flex-direction: column;
}

@media screen and (min-width: 781px) {
	.contact-form form.wpcf7-form {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}
	.contact-form form.wpcf7-form p {
		margin-top: 0;
	}
	.contact-form form.wpcf7-form p:nth-child(n + 6) {
		grid-column: 1/3;
	}
}

.wpcf7 label {
	font-weight: 600;
}
.wpcf7 .standard-label {
	font-weight: 400;
}

/* pages */
header > .wp-block-group {
	min-height: var(--header-height);
}

.light-blue-text {
	color: var(--wp--preset--color--primary-alt);
}
.bold-heading {
	font-weight: 600;
}

@media screen and (min-width: 901px) {
	.hide-desktop {
		display: none !important;
	}
}
@media screen and (max-width: 900px) {
	.hide-mobile {
		display: none !important;
	}
}

.hero {
	border-radius: 0 0 var(--section-border-radius) var(--section-border-radius);
	min-height: calc(100vh - var(--header-height));
}
@media screen and (max-width: 600px) {
	.hero {
		min-height: 0px;
	}
}
.hero {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.hero > .wp-block-group {
	backdrop-filter: blur(10px);
	padding: 4rem 2rem;
	border: 1px solid var(--wp--preset--color--background-alt);
	border-radius: var(--border-radius);
	background: #FEFEFE38;
}
.wp-block-media-text img {
	border-radius: var(--border-radius);
}

.highlight-scroll {
	--_transition-duration: 0.25s;
	--_deselect-opacity: 0.5;
	display: grid;
	grid-template-columns: 0.4fr 0.6fr;
}
.highlight-scroll * {
	margin: 0;
}
.highlight-scroll .right-column {
	display: grid;
	gap: 2rem;
}
.scroll-content-item {
	display: grid;
	grid-template-columns: 150px auto;
	gap: 1rem;
	opacity: var(--_deselect-opacity);
	transition: opacity var(--_transition-duration) ease;
}
.scroll-content-item.selected {
	opacity: 1;
}
.scroll-content-item  > * {
	grid-column: 1/3;
}
.highlight-scroll .number {
	font-size: 4rem;
	font-weight: 500;
	font-family: "Red Hat Display", serif;
	text-align: right;
	grid-column: 2/3;
	line-height: 1;
	background-clip: text;
	background: linear-gradient(180deg, #032967, #447CD7);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.highlight-scroll figure {
	grid-column: 1/2;
}
.highlight-scroll .left-column {
	position: sticky;
	top: calc(var(--header-height) + 70px);
	height: fit-content;
}
.highlight-scroll .left-column h2 {
	margin-bottom: 1.5rem;
}
.scroll-nav {
	display: grid;
	gap: 0.3rem;
	margin-bottom: 1.5rem;
}
.scroll-nav-item {
	opacity: var(--_deselect-opacity);
	transition: opacity var(--_transition-duration) ease, font-weight var(--_transition-duration) ease;
}
.scroll-nav-item.selected {
	opacity: 1;
	font-weight: 600;
}
@media screen and (max-width: 700px) {
	.highlight-scroll {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
	.highlight-scroll .left-column {
		position: static;
		display: none;
	}
	.scroll-content-item {
		grid-template-columns: 100px auto;
	}
}

.gradient-card {
	background: linear-gradient(45deg, var(--wp--preset--color--primary), var(--wp--preset--color--background));
	aspect-ratio: 1;
	border-radius: var(--border-radius);
	padding: 1.5rem;
	display: grid;
	align-content: space-between;
}
.gradient-card > figure {
	max-width: 75px;
}

.key-benefits-section {
	border-radius: var(--section-border-radius);
}
.key-benefits-section .gradient-card {
	background: #FEFEFE18;
	backdrop-filter: blur(10px);
	border: 1px solid #FEFEFE70;
}

.cta {
	border-radius: var(--border-radius);
	display: grid;
	justify-items: center;
	padding: 2.5rem 2rem;
}
.cta > * {
	max-width: 600px;
}

.team-card {
	aspect-ratio: 1;
	padding: 1.5rem;
	display: grid;
	align-content: flex-end;
	border-radius: var(--border-radius);
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.team-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, #021430, transparent 50%);
	z-index: -1;
}
.team-showcase-section .team-card {
	aspect-ratio: 0.9;
}
@media screen and (max-width: 900px) {
	.team-showcase-section .limit-width-500 {
		max-width: 100%;
	}
}
.wp-block-tn-accordion {
	--_padding-block: 1rem;
}

.faq-section .left-column {
	display: grid;
	align-content: space-between;
}

.footer {
	border-radius: var(--section-border-radius) var(--section-border-radius) 0 0;
}
footer .content-column {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-end;
}
.footer-nav-wrapper {
	justify-content: flex-end;
}
@media screen and (max-width: 850px) {
	.footer > .wp-block-columns {
		flex-direction: column;
	}
	.footer .wp-block-safe-svg-svg-icon {
		display: flex;
		justify-content: center;
	}
	footer .content-column {
		align-items: center;
	}
	footer .content-column * {
		flex-direction: column;
	}
	footer .copyright {
		margin-top: 2.5rem;
	}
}

.team-profiles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
.team-profile {
	margin: 0;
}
.team-profile .name {
	color: #03296780 !important;
}
.team-profile :is(.job-title, .address) {
	margin-top: 4px;
}
.team-profile .country {
	font-weight: 600;
}
@media screen and (max-width: 550px) {
	.team-profiles {
		grid-template-columns: 1fr;
	}
}

.contact-section .right-column {
	isolation: isolate;
	position: relative;
}
.contact-section .right-column::before {
	content: "";
	position: absolute;
	inset: 0 calc(var(--page-padding) * -1);
	background: var(--wp--preset--color--secondary-alt);
	z-index: -1;
}
body:has(.contact-section) footer {
	background: var(--wp--preset--color--secondary-alt);
}
@media screen and (min-width: 1200px) {

	.contact-section {
		isolation: isolate;
	}
	.contact-section .left-column {
		padding-right: 1.5rem;
	}
	.contact-section .right-column {
		padding-left: 1.5rem;
		position: static;
	}
	.contact-section .right-column::before {
		inset: 0 0 0 50%;
	}

	body:has(.contact-section) footer {
		background: conic-gradient(from 180deg at 50% 50%, var(--clr-bg-gradient), var(--clr-bg-gradient), var(--wp--preset--color--secondary-alt), var(--wp--preset--color--secondary-alt));
	}
}

.our-process-section {
	background: linear-gradient(0deg, #E2E9F6, #EAEFF8);
}
.our-process-section :is(h2, p) {
	max-width: 550px;
	margin-inline: auto;
}
.our-process-section .wp-block-contact-form-7-contact-form-selector {
	margin-inline: auto;
}

.client-logo-slider {
	--_logo-height: 75px;
	position: relative;
	height: calc(var(--_logo-height) + 25px);
	overflow-x: hidden;
}
.client-logo-slider figure {
	right: auto;
}
.client-logo-slider img {
	height: var(--_logo-height);
	width: fit-content;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--primary);
}
.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close {
	--_bg-clr: var(--wp--preset--color--secondary);
	--_border-gradient-start: var(--wp--preset--color--background);
	--_border-gradient-end: var(--wp--preset--color--primary);

	border-radius: 5px;
	border: 1px solid transparent;
	background: linear-gradient(
		var(--_bg-clr),
		var(--_bg-clr)
		) padding-box,
	linear-gradient(
		to right,
		var(--_border-gradient-start),
		var(--_border-gradient-end)
		) border-box;
}
.is-menu-open.wp-block-navigation__responsive-container {
	height: fit-content;
	padding-bottom: 2rem;
	border-radius: 0 0 var(--border-radius) var(--border-radius);
}
.is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: "";
	background-image: url(/wp-content/uploads/2025/02/logo.svg);
	position: absolute;
	top: 0;
	left: 0;
	height: 50px;
	width: 150px;
	background-size: contain;
	background-position: top left;
	background-repeat: no-repeat;
}
.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 70px !important;
}

.our-experience-section {
	border-radius: var(--section-border-radius);
}

.wp-block-media-text__content > * {
	margin-left: 0;
}


