/* VARIABLES */

:root {
	--base-unit: 1rem;
	--font-size: var(--base-unit);
	--font-size-smaller: calc(var(--base-unit)*.85);
	--font-size-6: calc(var(--font-size) * 6);
	--font-size-5: calc(var(--font-size) * 5);
	--font-size-4: calc(var(--font-size) * 4);
	--font-size-3: calc(var(--font-size) * 3);
	--font-size-35: calc(var(--font-size) * 3.5);
	--font-size-2: calc(var(--font-size) * 2);
	--font-size-25: calc(var(--font-size) * 2.5);
	--font-size-15: calc(var(--font-size) * 1.5);
	--font-size-125: calc(var(--font-size) * 1.25);
	--small-spacer: calc(var(--base-unit)/2);
	--regular-spacer: var(--base-unit);
	--medium-spacer: calc(var(--base-unit)*2);
	--large-spacer: calc(var(--base-unit)*3);
	--extra-large-spacer: calc(var(--base-unit)*4);
	--super-extra-large-spacer: calc(var(--base-unit)*5);
	--max-section-width: 1440px;
	--transitionparams: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
	--mobilenavtransitionparams: all 0.4s ease-in-out;
	--border-radius: calc(var(--base-unit)/3);
	--font-color: #444;
	--accent-color: #d60511;
	--secondary-color: rgb(39, 41, 42);
	--lighter-background-color: #27292a;
	--filter-accent: brightness(0) saturate(100%) invert(19%) sepia(66%) saturate(5237%) hue-rotate(347deg) brightness(79%) contrast(116%);
	--background-gradient: linear-gradient(45deg, rgba(34, 34, 34, 0.85) 50%, rgba(34, 34, 34, 1) 100%)
}

/* RESETS */
*,
*::before,
*::after {
	box-sizing: border-box;
}

* {
	margin: 0;
	padding: 0;
}

ul[role="list"],
ol[role="list"] {
	list-style: none;
}

html:focus-within {
	scroll-behavior: smooth;
}

a:not([class]) {
	text-decoration-skip-ink: auto;
}

img,
picture,
svg,
video,
canvas {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	font-style: italic;
	background-repeat: no-repeat;
	background-size: cover;
	object-fit: cover
}

input,
button,
textarea,
select {
	font: inherit;
}

address {
	font-style: normal;
	line-height: 1.5
}

@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition: none;
	}
}

body,
html {
	height: auto;
	scroll-behavior: smooth;
	font-size: var(--font-size);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: "Geist", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: var(--font-color);
	interpolate-size: allow-keywords;
}

p {
	text-wrap: pretty;
	line-height: 1.6;
	max-width: 65ch;
	margin-bottom: var(--regular-spacer)
}

p a {
	font-weight: 800;
	color: var(--accent-color);
}

p a:hover {
	color: var(--font-color);
}

p:last-of-type {
	margin-bottom: 0;
}

a {
	transition: all var(--transitionparams);
	cursor: pointer;
	text-decoration: none;
}

a:hover {
	color: var(--accent-color);
}

strong {
	font-weight: 600;
}

.accent {
	color: var(--accent-color);
}

.title-sub-p {
	text-align: center;
	margin: 0 auto;
	text-wrap: balance;
}

/* TITLES */
h1,
h2,
h3,
h4,
.slogan {
	text-wrap: balance;
	font-family: "Red Hat Display", sans-serif;
	line-height: 1;
	font-weight: 800;
	text-transform: uppercase
}

h1, h2 {
	font-size: var(--font-size-4);
	font-weight: 900;
	color: var(--secondary-color);
	max-width: 20ch;
	margin: 0 auto;
	text-align: center
}

h1 .wow,
h2 .wow {
	margin-bottom: var(--regular-spacer)
}

h3 {
	font-size: var(--font-size-2);
}

.title-sub-text {
	text-transform: uppercase;
	margin-bottom: var(--small-spacer);
	font-size: var(--font-size);
	display: block;
	color: var(--accent-color);
	text-align: center
}

.title-desc {
	font-size: var(--font-size-15);
	color: var(--font-color);
	line-height: 1.35;
	text-align: center;
	margin: 0 auto;
	text-wrap: balance;

	& span {
		color: var(--accent-color);
		font-weight: 700
	}
}

.slogan {
	color: var(--accent-color);
	text-transform: uppercase;
	line-height: .9;
	font-size: var(--font-size-5);
	margin-top: auto;
	max-width: 15ch;
}

.smaller-slogan {
	color: white;
	font-size: 50%;
	font-weight: 300;
	max-width: 25ch;
	line-height: 1.2
}

#logo {
	background-image: url(imgs/meta-elite-performance.svg);
	width: 16rem;
	aspect-ratio: 739/357;
	background-repeat: no-repeat;
	background-size: contain;
}

/* REUSABLES */
section {
	width: 100%;
	max-width: var(--max-section-width);
	margin: 0 auto;
	padding: var(--large-spacer) 0
}

.full-width-section {
	width: 100%;
	max-width: 100%;
	padding: var(--large-spacer) 0 var(--large-spacer) var(--large-spacer);

	& .cta-wrapper {
		margin: var(--large-spacer) 0 0 calc((100vw - var(--max-section-width) - var(--super-extra-large-spacer)) / 2);
		background: var(--background-gradient)
	}
}

.floating-title-wrapper {
	width: 100%;
	max-width: var(--max-section-width);
	margin: 0 auto calc(var(--large-spacer) * -.5) auto;
	padding: var(--large-spacer) 0 0;

	& h2,
	h1 {
		color: var(--secondary-color)
	}

	& p {
		font-weight: 600;
		text-wrap: balance;
		margin: var(--regular-spacer) auto var(--regular-spacer);
		text-align: center;
	}

	& .switcher {
		background: var(--background-gradient);
		color: white
	}

}

.flex-wrapper {
	display: flex
}

.flex-wrapper-vert {
	flex-direction: column
}

.grid-wrapper {
	display: grid;
	gap: var(--medium-spacer);
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	margin: 0 auto;
	align-items: start;
}

.scroll-wrapper {
	display: flex;
	flex-direction: row;
	margin: 0 auto;
	gap: var(--medium-spacer);
	align-items: flex-start;
	scroll-snap-align: start;
	overflow-x: auto;
	overflow-y: hidden;
	flex-wrap: nowrap;
	scroll-snap-type: x mandatory;
	will-change: transform;
	transition: var(--transitionparams);
}

#scroll-wrapper::-webkit-scrollbar {
	display: none;
}

.scroll-controls {
	margin: var(--regular-spacer) auto;
	display: flex;
	width: fit-content;
	background: var(--background-gradient);
	backdrop-filter: blur(10px);
	border-radius: 100vw;

	& #scroll-left,
	& #scroll-right {
		padding: var(--small-spacer);
		cursor: pointer;
		transition: var(--transitionparams)
	}

	& #scroll-left:hover,
	& #scroll-right:hover {
		filter: var(--filter-accent)
	}
}

.scroll-arrow.is-disabled {
	opacity: 0.3;
	pointer-events: none;
}

.switcher {
	margin: 0 auto var(--regular-spacer);
	margin-top: var(--large-spacer);
	background: var(--background-gradient);
	backdrop-filter: blur(10px);
	display: flex;
	width: fit-content;
	border-radius: 100vw;
	padding: var(--small-spacer);
	color: var(--accent-color);
	font-weight: 700;
	text-transform: uppercase;
	gap: var(--small-spacer);
	cursor: pointer;
	font-size: var(--font-size-smaller);

	&>div {
		padding: var(--regular-spacer);
		border-radius: 100vw;
		transition: all var(--transitionparams);
		border: 1px solid transparent
	}

	& .current,
	>div:hover {
		background-color: var(--accent-color);
		color: white;
		border: 1px solid rgba(255, 255, 255, 0.5)
	}

	& .current:hover {
		cursor: default;
		pointer-events: none;
	}
}

.hidden {
	opacity: 0;
	visibility: hidden
}

.secondary-background {
	background-image: url(imgs/backgrounds/meta-background-plain.webp);
	background-size: cover;
	background-position: top left;
	background-repeat: no-repeat;
	position: relative;

	& h2, h1 {
		color: white
	}
}

.lighter-background {
	background-color: var(--lighter-background-color)
}

.line-spacer {
	width: 100%;
	height: 1px;
	border-bottom: 1px solid var(--secondary-color);
	margin: var(--extra-large-spacer) auto
}

.vert-line {
	width: 1px;
	height: auto;
	border-right: 1px solid rgba(255, 255, 255, 0.25)
}

.faded-background {
	background: url(imgs/backgrounds/dot-grid-transparent-red.webp), rgba(64, 64, 64, 0.086);
	background-position: center -5px
}

.faded-background-blue {
	background: url(imgs/backgrounds/dot-grid-transparent-red.webp), rgba(0, 194, 255, 0.086);
	background-position: center -5px
}

.floating-holder {
	margin: 0 auto;
	width: 100%;
	max-width: var(--max-section-width)
}

.lead-wrapper {
	background: url(imgs/heros/meta-dark-background.webp), url(imgs/heros/meta-elite-performance-diving.webp);
	background-size: 120% auto, cover;
	background-repeat: no-repeat;
	background-position: center left, center;
	border-radius: var(--border-radius);
	margin: var(--extra-large-spacer) auto;
	padding: var(--large-spacer);
	max-width: var(--max-section-width);

	& h3 {
		color: var(--accent-color);
		font-size: var(--font-size-4);
		max-width: 30ch
	}

	& p {
		color: white;
		margin-bottom: var(--large-spacer);
		max-width: 30ch
	}
}

.top-left-border,
.bottom-right-border {
	width: 3rem;
	aspect-ratio: 1;
	border-color: var(--accent-color);
	border-style: solid;
	border-width: 1px 0 0 1px;
	position: absolute;
	top: var(--medium-spacer);
	left: var(--medium-spacer);
	background-color: transparent;
	z-index: 3
}

.bottom-right-border {
	border-width: 0 1px 1px 0;
	top: initial;
	left: initial;
	right: var(--medium-spacer);
	bottom: var(--medium-spacer);
}

.top-left-border:before,
.bottom-right-border:before {
	content: "";
	width: .25rem;
	border-radius: 100vw;
	background-color: white;
	aspect-ratio: 1;
	top: -.125rem;
	left: -.125rem;
	position: absolute;
}

.bottom-right-border:before {
	top: initial;
	left: initial;
	right: -.125rem;
	bottom: -.125rem;
}



/* CTA */
.cta {
	color: white;
	font-weight: 700;
	background-color: var(--accent-color);
	padding: var(--small-spacer) var(--regular-spacer) var(--small-spacer) var(--small-spacer);
	border-radius: 100vw;
	border: 1px solid rgba(255, 255, 255, 0.5);
	display: flex;
	align-items: center;
	text-transform: uppercase;
	cursor: pointer;
	transition: var(--transitionparams)
}

.cta:hover {
	color: var(--secondary-color)
}

.cta:hover .icons {
	transform: rotate(360deg)
}

.cta-wrapper {
	width: fit-content;
	padding: var(--small-spacer);
	border-radius: 100vw;
	background: var(--background-gradient);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.25);
	transition: var(--transitionparams);
}

.cta-wrapper:hover {
	transition: var(--transitionparams);
	border: 1px solid rgba(255, 255, 255, 0.5);
}

.floating-cta {
	margin: var(--medium-spacer) auto 0;
	text-align: center;

	& .cta {
		width: fit-content;
		padding: 0;
		background-color: transparent;
		color: var(--accent-color);
		margin: 0 auto;
		border: 0
	}

	& .cta .icons {
		filter: var(--filter-accent)
	}

	& .cta:hover {
		color: var(--secondary-color)
	}

	& .arrow-right {
		background-image: url(imgs/icons/arrow-right-float.svg);
		margin: 0;
	}
}

/* ANIMATIONS */
.wow {
	visibility: hidden;
	-webkit-backface-visibility: hidden;
	-webkit-transform: translateZ(0) scale(1, 1);
	transform: translateZ(0);
}

.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transform: translateZ(0px);
}

@-webkit-keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

@-webkit-keyframes slideInUp {
	from {
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
		visibility: visible;
	}

	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}

@keyframes slideInUp {
	from {
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
		visibility: visible;
	}

	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.slideInUp {
	-webkit-animation-name: slideInUp;
	animation-name: slideInUp;
}

@-webkit-keyframes slideInDown {
	0% {
		opacity:0;
		-webkit-transform:translateY(-2000px);
		transform:translateY(-2000px);
	}

	100% {
		-webkit-transform:translateY(0);
		transform:translateY(0);
	}
}

@keyframes slideInDown {
	0% {
		opacity:0;
		-webkit-transform:translateY(-2000px);
		-ms-transform:translateY(-2000px);
		transform:translateY(-2000px);
	}

	100% {
		-webkit-transform:translateY(0);
		-ms-transform:translateY(0);
		transform:translateY(0);
	}
}

.slideInDown {
	-webkit-animation-name:slideInDown;
	animation-name:slideInDown;
}

@-webkit-keyframes fadeInLeft {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-20px);
		transform: translateX(-20px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

@keyframes fadeInLeft {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-20px);
		-ms-transform: translateX(-20px);
		transform: translateX(-20px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
	}
}

.fadeInLeft {
	-webkit-animation-name: fadeInLeft;
	animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInRight {
	0% {
		opacity: 0;
		-webkit-transform: translateX(20px);
		transform: translateX(20px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

@keyframes fadeInRight {
	0% {
		opacity: 0;
		-webkit-transform: translateX(20px);
		-ms-transform: translateX(20px);
		transform: translateX(20px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
	}
}

.fadeInRight {
	-webkit-animation-name: fadeInRight;
	animation-name: fadeInRight;
}

@-webkit-keyframes slideInRight {
	0% {
		opacity: 0;
		-webkit-transform: translateX(2000px);
		transform: translateX(2000px);
	}

	100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

@keyframes slideInRight {
	0% {
		opacity: 0;
		-webkit-transform: translateX(2000px);
		-ms-transform: translateX(2000px);
		transform: translateX(2000px);
	}

	100% {
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
	}
}

.slideInRight {
	-webkit-animation-name: slideInRight;
	animation-name: slideInRight;
}

@-webkit-keyframes fadeOutLeft {
	0% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	100% {
		opacity: 0;
		-webkit-transform: translateX(-20px);
		transform: translateX(-20px);
	}
}

@keyframes fadeOutLeft {
	0% {
		opacity: 1;
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
	}

	100% {
		opacity: 0;
		-webkit-transform: translateX(-20px);
		-ms-transform: translateX(-20px);
		transform: translateX(-20px);
	}
}

.fadeOutLeft {
	-webkit-animation-name: fadeOutLeft;
	animation-name: fadeOutLeft;
}

/* HEROS */
header {
	position: relative;
	background-color: black;

	& p {
		color: white;
		margin-top: var(--medium-spacer);
		font-size: 120%;
		max-width: 55ch;
		text-wrap: balance;
	}

	& section {}
}


#index header {
	background: url(imgs/heros/meta-dark-background.webp), url(imgs/heros/meta-elite-performance-diving.webp);
	background-size: 120% auto, cover;
	background-repeat: no-repeat;
	background-position: center left, center 40%;
}

#process header {
	background: url(imgs/heros/meta-dark-background.webp), url(imgs/heros/meta-elite-performance-program-process2.webp);
	background-size: 120% auto, cover;
	background-repeat: no-repeat;
	background-position: center left, right 20%;
}

#bios header {
	background: url(imgs/heros/meta-dark-background.webp), url(imgs/heros/meta-elite-performance-program-pricing.webp);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center left, right 20%;
}

#pricing header {
	background: url(imgs/heros/meta-dark-background.webp), url(imgs/heros/meta-elite-performance-snowboard.webp);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center left, right 50%;
}

#contact header {
	background: url(imgs/heros/meta-dark-background.webp), url(imgs/heros/swim.webp);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center left, 0 20%;
}

#faq header {
	background: url(imgs/heros/meta-dark-background.webp), url(imgs/heros/meta-elite-performance-faq-2.webp);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center left, 100% 20%;
}

#resources header {
	background: url(imgs/heros/meta-dark-background.webp), url(imgs/heros/meta-elite-performance-resources3.webp);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center left, 50% 50%;
}

.header-text-wrapper {
	display: flex;
	flex-direction: column;
	position: relative;
	min-height: 600px;

	.cta-wrapper {
		margin-top: var(--medium-spacer);
		width: fit-content
	}

	span {
		font-weight: 600
	}
}


/* NAVIGATION */
.nav-wrapper {
	width: fit-content;
	padding: var(--small-spacer) var(--small-spacer) var(--small-spacer) calc(var(--small-spacer)*2.5);
	border-radius: 100vw;
	background: var(--background-gradient);
	backdrop-filter: blur(10px);
	position: fixed;
	right: calc(calc(100vw - var(--max-section-width))/2);
	z-index: 50;
	transition: transform 0.3s ease, opacity 0.3s ease;

	.cta {
		margin-top: 0
	}
}

.nav-wrapper::before,
.switcher::before,
.scroll-controls::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 1px;
	/* border thickness */
	background: linear-gradient(to right, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.5));
	border-radius: inherit;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	z-index: -1;
}

.nav-wrapper.hide {
	transform: translateY(-200%);
	opacity: 0
}

.mobile-nav-btn-wrapper.hide {
	transform: translateY(-200%);
	transition: transform 0.3s ease;
	pointer-events: none;
}

nav {
	text-transform: uppercase;
	font-weight: 700;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--regular-spacer)
}

nav a {
	color: white;
	font-size: var(--font-size-smaller);
	font-weight: 700
}

nav a.active {
	color: var(--accent-color)
}

/* nav a:first-of-type {
	background-image: url(imgs/meta-elite-performance-word.svg);
	width: 6.5rem;
	aspect-ratio: 259/75;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center left;
	display: flex;
	filter: brightness(0) saturate(100%) invert(100%) sepia(7%) saturate(623%) hue-rotate(243deg) brightness(116%) contrast(100%);
} */


/* MOBILE NAV */
.mobile-nav-btn-wrapper {
	width: fit-content;
	padding: var(--small-spacer);
	border-radius: var(--border-radius);
	background: var(--background-gradient);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	position: fixed;
	right: var(--large-spacer);
	display: none;
	z-index: 50;
	transition: transform 0.4s ease;

	& .menu-icon {
		background-image: url(imgs/icons/menu.svg);
		background-size: contain;
		width: 100%;
		aspect-ratio: 1
	}

	& .icons {
		margin: 0
	}
}

.mobile-nav-wrapper {
	width: 100%;
	height: 100dvh;
	color: white;
	background: var(--background-gradient);
	backdrop-filter: blur(10px);
	display: flex;
	flex-direction: column;
	padding: var(--extra-large-spacer);
	transform: translateY(-120vh);
	position: absolute;
	transition: var(--mobilenavtransitionparams);
	z-index: 52;
	position: fixed;

	& .logo {
		background-image: url(imgs/meta-elite-performance.svg);
		width: 10rem;
		aspect-ratio: 739/357;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center top;
		margin-bottom: var(--extra-large-spacer);
		opacity: 0;
		transform: translateY(-20px);
		transition: var(--transitionparams);
		transition-delay: .3s;
	}

	& a {
		color: white;
		font-weight: 600;
		margin-bottom: var(--regular-spacer);
		opacity: 0;
		transform: translateY(10px);
		transition: var(--mobilenavtransitionparams);
		transition-delay: .35s;
	}

	& a:not(a.cta) {
		font-size: var(--font-size-15)
	}

	& a.active {
		color: var(--accent-color)
	}

	& a.cta {
		margin-bottom: 0
	}

	& .cta-wrapper {
		margin-top: auto;
		opacity: 0;
		transform: translateY(10px);
	}

	& .close-btn {
		position: absolute;
		top: var(--extra-large-spacer);
		right: var(--extra-large-spacer);
		transform: rotate(45deg);
		background-image: url(imgs/icons/read-more.svg);
		width: var(--regular-spacer);
		margin-right: 0
	}
	
	& .close-btn-target {
		width: 25%;
		aspect-ratio: 1;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 51
	}
}

.mobile-nav-wrapper.active {
	transform: translateY(0);

	& a {
		opacity: 1;
		transform: translateY(0)
	}

	& a:nth-of-type(2) {
		transition-delay: .4s
	}

	& a:nth-of-type(3) {
		transition-delay: .45s
	}

	& a:nth-of-type(4) {
		transition-delay: .5s
	}

	& a:nth-of-type(5) {
		transition-delay: .55s
	}
	
	& a:nth-of-type(6) {
		transition-delay: .6s
	}

	& .cta-wrapper {
		transition-delay: .65s;
		transform: translateY(0);
		opacity: 1
	}

	& .logo {
		opacity: 1;
		transform: translateY(0);
	}
}


/* FOOTER */
footer {
	color: white;
	background: url(imgs/backgrounds/meta-background-plain.webp);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top left;
	position: relative;


	& h3 {
		color: var(--accent-color);
		font-size: calc(var(--font-size)*4);
		text-align: center
	}

	& section {
		padding: calc(var(--extra-large-spacer) * 2) 0
	}

	& .flex-wrapper {
		justify-content: space-between;
		gap: var(--large-spacer)
	}

	& .pages-holder .flex-wrapper {
		gap: var(--small-spacer);
	}

	& .vert-line {
		height: 150px
	}

	& .footer-logo {
		background-image: url(imgs/meta-elite-performance.svg);
		width: 15rem;
		aspect-ratio: 739/357;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center top;
	}

	& .logo-holder {
		align-items: center;
		gap: var(--regular-spacer);
	}

	& a {
		color: white;
		font-weight: 500
	}

	& a.active {
		color: var(--accent-color)
	}

	& .bottom-footer {
		border-top: 1px solid rgba(255, 255, 255, 0.25);
		padding-top: var(--large-spacer)
	}

	& .cta-wrapper {
		margin-top: var(--regular-spacer)
	}
}

.footer-blur {
	backdrop-filter: blur(0px);
}

/* ICONS */
.icons {
	display: flex;
	align-items: center;
	padding: var(--small-spacer);
	width: var(--medium-spacer);
	aspect-ratio: 1;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	margin-right: var(--small-spacer);
	transition: var(--transitionparams)
}

.arrow-right {
	background-image: url(imgs/icons/arrow-right.svg);
}

.chevron {
	background-image: url(imgs/icons/chevron.svg);
}

.arrow-left {
	transform: rotate(180deg)
}

.read-more {
	background-image: url(imgs/icons/read-more.svg);
	width: var(--regular-spacer)
}

.view {
	background-image: url(imgs/icons/view.svg);
	width: var(--regular-spacer)
}

.full-width-section {

	& .icons:last-of-type {
		margin: 0
	}

	& .cta {
		padding: var(--small-spacer);
	}

	& .icons {
		width: calc(var(--regular-spacer) * 2.5);
	}
}

/* ATHLETE CARDS */
.athlete-card {
	aspect-ratio: 546 / 700;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: var(--border-radius);
	position: relative;
	overflow: hidden;
	min-width: 500px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	transition: var(--transitionparams);
	user-select: none;
	cursor: pointer;

	& .read-more {
		width: 1.5rem;
		position: absolute;
		right: var(--extra-large-spacer);
		bottom: var(--extra-large-spacer);
		margin-right: 0;
		z-index: 3
	}
}

.read-more-instruct {
	position: absolute;
	right: var(--large-spacer);
	top: var(--large-spacer);
	padding: var(--small-spacer);
	border-radius: var(--border-radius);
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: white;
	background-color: rgba(68, 68, 68, 0.75);
	backdrop-filter: blur(12px) font-weight: 500;
	width: fit-content;
	color: white;
	transition: var(--transitionparams);
	transform: translateX(10px);
	opacity: 0;
	display: flex;
	align-items: center;

	& .icons:last-of-type {
		width: calc(var(--regular-spacer) * 1.25);
		margin-right: var(--small-spacer)
	}
}

.hidden-text-wrapper {
	position: absolute;
	background-color: rgba(0, 0, 0, 0.75);
	backdrop-filter: blur(10px);
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: var(--large-spacer);
	opacity: 0;
	pointer-events: none;
	transition: var(--transitionparams);
	color: white;
	display: flex;
	flex-direction: column;

	& .age {
		position: relative;
		margin-left: auto
	}

	& span {
		margin-bottom: calc(var(--small-spacer)/1.25);
		margin-left: var(--small-spacer);
		display: inline-block;
		text-wrap: pretty;
		position: relative;
		max-width: 25ch;
		opacity: 0;
		transform: translateY(-10px);
		transition: var(--transitionparams)
	}

	& span:before {
		position: absolute;
		content: "•";
		left: -1ch;
		top: 0;
	}
}

.accomplishments {
	padding-bottom: var(--medium-spacer);
	margin-bottom: var(--medium-spacer);
	border-bottom: 1px solid rgba(255, 255, 255, .25);
	text-transform: uppercase;
	color: white;
	font-weight: 700;
	font-size: 120%;
	line-height: 1;
	transition: var(--transitionparams);
	opacity: 0;
	transform: translateY(-10px);

	& span {
		margin-left: 0;
		font-size: var(--font-size);
		display: block;
		color: var(--accent-color);
	}

	& span:before {
		content: "";
	}
}

.athlete-card:hover {
	border: 1px solid rgba(255, 255, 255, 1);

	& .read-more {
		transform: rotate(360deg)
	}

	& .read-more-instruct {
		opacity: 1;
		transform: translateY(0)
	}

	& .athlete-card-text-wrapper {
		border: 1px solid rgba(255, 255, 255, 0.5)
	}
}

.athlete-card.active {

	& .hidden-text-wrapper {
		opacity: 1;
	}

	& .hidden-text-wrapper span,
	.accomplishments {
		opacity: 1;
		transform: translateY(0);
		transition-delay: .15s;
	}

	& .read-more {
		transform: rotate(45deg)
	}

	& .athlete-card-text-wrapper {
		opacity: 0;
		transform: translateY(10px)
	}

}

.athlete-card-spacer {
	min-width: calc(var(--large-spacer) - var(--medium-spacer));
	height: 100%;
	border: 1px solid transparent
}


.athlete-card-text-wrapper {
	position: absolute;
	left: var(--medium-spacer);
	bottom: var(--medium-spacer);
	width: calc(100% - calc(var(--medium-spacer)*2));
	height: 22.5%;
	z-index: 2;
	color: white;
	padding: var(--medium-spacer);
	border-radius: var(--border-radius);
	background-color: rgba(0, 0, 0, 0.5);
	background-image: url(imgs/backgrounds/meta-background-red.webp);
	background-size: cover;
	background-position: top left;
	background-repeat: no-repeat;
	border: 1px solid rgba(255, 255, 255, 0.15);
	transition: var(--transitionparams);
	overflow: hidden
}

.light .athlete-card-text-wrapper {
	color: white
}

.age {
	position: absolute;
	top: var(--medium-spacer);
	right: var(--medium-spacer);
}

.age span {
	opacity: 1;
	font-weight: 700;
	color: white
}

.lower-text {
	position: absolute;
	bottom: var(--medium-spacer);
	left: var(--medium-spacer);
	text-wrap: balance;
}

.lastname {
	font-weight: 700;
	font-size: 120%;
	color: var(--accent-color);
}

.lexi {
	background-image: url(imgs/athletes/lexi.webp);
}

.diving {
	background-image: url(imgs/athletes/diving2.webp);
}

.jade {
	background-image: url(imgs/athletes/jade-barbirati.webp);
}

.rugby {
	background-image: url(imgs/athletes/rugby.webp);
}

.jean {
	background-image: url(imgs/athletes/jean-pascal.webp);
}

.jessica {
	background-image: url(imgs/athletes/jessica-di-filippo.webp);
}

.gianni {
	background-image: url(imgs/athletes/gianni-biello.webp);
}

.connor {
	background-image: url(imgs/athletes/connor-rooney.webp);
}

/* ATHLETES SWITCHER */
.all .pro,
.all .amatuer,
.pro .pro,
.amatuers .amateur {
	display: flex
}

.pros .amateur,
.amateurs .pro {
	display: none
}

/* PROGRAM PILLARS */
.pillars-wrapper {
	margin-top: var(--medium-spacer);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	grid-column-gap: var(--medium-spacer);
	grid-row-gap: var(--medium-spacer);
}

.pillar {
	display: flex;
	flex-direction: column
}

.pillar-image {
	aspect-ratio: 4/3.25;
	background-size: cover;
	background-position: center;
	border-radius: var(--border-radius);
	padding: var(--medium-spacer);
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	cursor: pointer;
	transition: var(--transitionparams);
	margin-bottom: var(--regular-spacer);

	& .arrow-right {
		background-image: url(imgs/icons/arrow-right-float.svg);
		margin: 0;
		position: absolute;
		bottom: var(--medium-spacer);
		right: var(--medium-spacer);
		opacity: 0;
		transform: translateX(-10px)
	}

	& :hover .arrow-right {
		opacity: 1;
		transform: translateX(0)
	}
}

.time-space {
	background-image: url(imgs/pillars/meta-creating-time-space-neurotracker.webp);
}

.rehab {
	background-image: url(imgs/pillars/meta-sports-medicine-rehabilitation.webp);
}

.training {
	background-image: url(imgs/pillars/meta-resistance-training3.webp);
}

.mentorship {
	background-image: url(imgs/pillars/meta-mentorship.webp);
}

.pillars-text-wrapper {
	display: flex;
	flex-direction: column;
	z-index: 1;

	& p {
		margin: var(--small-spacer) 0 0;
	}

	& h3 span {
		display: block;
		color: var(--accent-color);
		font-size: var(--font-size);
		margin-bottom: var(--small-spacer);
		font-weight: 900
	}
}

.icon-wrapper {
	padding: var(--small-spacer);
	border-radius: var(--border-radius);
	width: fit-content;
	position: absolute;
	top: var(--regular-spacer);
	left: var(--regular-spacer);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.25);
	backdrop-filter: blur(10px);
	background-color: rgba(255, 255, 255, 0.5);
	z-index: 2
}

.icon-wrapper>div {
	width: 2.5rem;
	aspect-ratio: 1;
	background-repeat: no-repeat;
	background-size: contain;
	filter: var(--filter-accent);
}

.time-space-icon {
	background-image: url(imgs/icons/time-space.svg);
}

.rehab-icon {
	background-image: url(imgs/icons/health.svg);
}

.training-icon {
	background-image: url(imgs/icons/training.svg);
}

.mentorship-icon {
	background-image: url(imgs/icons/mentorship.svg);
}

/* PRICING SECTION */
.pricing-wrapper .grid-wrapper {
	grid-template-columns: repeat(auto-fit, minmax(300px, 500px));
}

.price-wrapper {
	aspect-ratio: 4/6;
	border-radius: var(--font-size-3);
	position: relative;
	padding: var(--base-unit);
	background-image: url(imgs/backgrounds/meta-background-red.webp);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: white;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.price-header {
	width: 100%;
	aspect-ratio: 4/2.25;
	border-radius: calc(var(--font-size-3) - var(--base-unit));
	border: transparent 1px solid;
	background: radial-gradient(circle at 25% 150%, rgba(214, 5, 7, 1), var(--secondary-color)) padding-box,
		linear-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.75)) border-box;
	position: relative;
	z-index: 1;
	padding: var(--medium-spacer);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);
}

.group .price-header {
	background: radial-gradient(circle at 25% 150%, #029EE0, var(--secondary-color)) padding-box,
		linear-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.75)) border-box;
}

.price-tag {
	font-weight: 700;
	text-transform: uppercase;
	z-index: 1;
	font-size: var(--font-size-15)
}

.price {
	font-weight: 700;
	font-size: var(--font-size-5);
	position: relative;
	width: fit-content;
	margin-bottom: -1rem;
	z-index: 1;
	letter-spacing: -.08ch
}

.price:after {
	position: absolute;
	content: "$/HR";
	bottom: .75ch;
	right: -4ch;
	font-size: 40%;
	font-weight: 700;
	letter-spacing: 0
}

.main-price {
	transform: scale(.5);
	opacity: .7;
	margin-top: auto;
	transform-origin: left bottom;
}

.main-price:after {
	content: "";
}

.strike {
	position: absolute;
	border-bottom: 5px solid red;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(-15deg);
	width: 120%;
	height: 5px
}

.price-promo-tag {
	position: absolute;
	top: 40px;
	right: -90px;
	font-size: 70%;
	letter-spacing: 0;
	text-align: center;
	width: 300px;
	padding: calc(var(--small-spacer)/1) var(--extra-large-spacer);
	background-color: var(--accent-color);
	color: white;
	font-weight: 700;
	z-index: 2;
	transform: rotate(45deg);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.price-bottom-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-grow: 1;
	padding-top: var(--medium-spacer);
	z-index: 2;
	position: relative;
	z-index: 1;

	& p {
		margin-left: var(--base-unit);
		font-weight: 500;
		position: relative;
		padding-left: 2ch
	}

	& p:before {
		position: absolute;
		content: "✓";
		left: 0;
	}

	& .cta-wrapper {
		margin-top: auto
	}
}

.individual .price-icon {
	background-image: url(imgs/icons/individual.svg);
}

.group .price-icon {
	background-image: url(imgs/icons/group.svg);
}

.price-icon {
	aspect-ratio: 1;
	width: 25%;
	background-size: contain;
	background-position: right bottom;
	background-repeat: no-repeat;
	z-index: 1;
	position: absolute;
	right: calc(var(--base-unit) * 2);
	bottom: calc(var(--base-unit) * 2);
}

/* PROGRAM BENTO */
.process-wrapper {

	color: white;

	& p:last-of-type {
		margin-bottom: 0
	}

	& h3 {
		margin-bottom: var(--regular-spacer);
		font-size: var(--font-size-2);
	}

	& .process-visual {
		margin: var(--medium-spacer) auto;
		max-width: 30%;
		aspect-ratio: 1;
		flex-shrink: 0
	}

	& a {
		color: var(--accent-color);
		font-weight: inherit
	}

	& a:hover {
		color: white
	}

	& .icon {
		background-repeat: no-repeat;
		background-position: top left;

	}

	& .bento-title-wrapper {
		background-color: transparent;
		padding: 0;
		margin-bottom: var(--medium-spacer)
	}
}

.bento-title-wrapper h2 span,
.bento-title-wrapper h1 span {
		display: block;
		color: var(--accent-color);
		font-size: var(--font-size);
		margin-bottom: var(--small-spacer);
	}

.program-bento-wrapper-time {
	display: flex;
	gap: var(--regular-spacer);
	flex-direction: column;
}

.time-image {
	padding: 0;
	background-image: url(imgs/pillars/meta-creating-time-space-neurotracker.webp);
	background-size: cover;
	width: 100%;
	justify-content: flex-end;
	aspect-ratio: 16/7;
	position: relative;
	border-radius: var(--border-radius);

	& .icon-wrapper {
		position: absolute;
		top: var(--medium-spacer);
		left: var(--medium-spacer);
		background-color: transparent;
		padding: var(--medium-spacer)
	}

	& .icon-wrapper>div {
		background-size: contain;
		background-position: center;
		background-color: transparent;
		padding: 0;
		width: 3.5rem
	}
}

.rehab-image {
	background-image: url(imgs/pillars/meta-sports-medicine-rehabilitation.webp);
}

.resistance-image {
	background-image: url(imgs/pillars/meta-resistance-training3.webp);
}

.mentorship-image {
	background-image: url(imgs/pillars/meta-mentorship.webp);
}

.time-physical,
.time-visual {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex: 1;
	padding: var(--regular-spacer);
	position: relative;
	border-radius: var(--border-radius);
	padding: var(--large-spacer);
	background-color: var(--secondary-color)
}

.time-visual .pillars-info-holder {
	padding-right: calc(var(--extra-large-spacer)*2);
	z-index: 1
}

.pillars-info-holder.neuromechanics {
	padding-right: 0
}

.pillars-info-holder {
	z-index: 1;
	background-color: transparent;
}


.bento-inner-wrapper {
	display: flex;
	flex-direction: row;
	gap: var(--regular-spacer);
	background-color: transparent;
	padding: 0;

	& p {
		font-weight: 600
	}
}

.medicine-wrapper {
	background-image: none
}

.resistance-background {
	background-color: #2D2D2D
}

.medicine-background {
	background-color: #02c39a
}

.mentorship-background {
	background-color: #029EE0
}

.neuro-image {
	position: absolute;
	height: 90%;
	aspect-ratio: 1;
	background-image: url(imgs/pillars/meta-elite-performance-neurotracker-graph.svg);
	background-size: contain;
	background-position: center right;
	background-repeat: no-repeat;
	z-index: 0;
	background-color: transparent;
	right: 0
}

.physical-image {
	position: absolute;
	width: 80%;
	aspect-ratio: 87/67;
	background-image: url(imgs/pillars/meta-elite-performance-speed-reaction-graph.svg);
	background-size: contain;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-color: transparent;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%)
}

.program-bento-wrapper-time .network-image {
	background-image: url(imgs/pillars/meta-elite-performance-network.svg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.program-bento-wrapper-time .valds {
	background-image: url(imgs/pillars/meta-elite-performance-valds-test.svg);
	background-size: contain;
	background-position: center bottom;
	background-repeat: no-repeat;
}

.program-bento-wrapper-time.mentorship-wrapper {
	flex-direction: row
}


.time-image {
	display: flex;
	padding: var(--large-spacer)
}

.youth-tagline {
	display: flex;
	position: relative;
	color: var(--font-color);
	gap: var(--small-spacer);
	align-items: center;
	color: var(--font-color);
	text-transform: uppercase;
	font-weight: 600;


	& p {
		font-size: var(--font-size-2);
		text-wrap: balance;
		line-height: 1.25;
		margin-right: auto;
		color: var(--accent-color);
		letter-spacing: -1px
	}

	& div {
		display: flex;
		align-items: stretch;
		gap: var(--small-spacer);
		z-index: 1
	}

	& div div {
		border-radius: var(--border-radius);
		background-color: var(--accent-color);
		text-align: center;
		color: white;
		display: flex;
		padding: var(--large-spacer);
		font-size: var(--font-size-125);
		text-wrap: balance;
		position: relative;
		align-items: center
	}


	& div div:first-of-type {
		z-index: 0
	}

	& div div:nth-of-type(2) {
		z-index: -1
	}

	& div div:nth-of-type(3) {
		z-index: -2
	}
}

.youth-tagline div div:before {
	--arrow-size: 3.5rem;
	position: absolute;
	content: "";
	color: var(--accent-color);
	top: 50%;
	right: calc(var(--arrow-size) / -2);
	font-size: var(--font-size-6);
	z-index: 2;
	transform: translateY(-50%);
	background-image: url(imgs/icons/double-arrow.svg);
	width: var(--arrow-size);
	aspect-ratio: 1;
	background-size: 60%;
	background-position: center;
	background-repeat: no-repeat;
	background-color: var(--secondary-color);
	border-radius: 100vw;
	border: 1px solid white
}

.boost:before {
	content: " ";
	display: none
}


/* 25 YEARS */
.experience-wrapper {
	display: flex;
	align-items: center;
	background-color: black;
	color: white;
	overflow: hidden;
	position: relative;

	& section {
		display: flex;
		align-items: center;
		padding: 0;
		position: relative;
		padding: var(--super-extra-large-spacer) 0
	}
}

.experience-wrapper:before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	background-image: url(imgs/heros/meta-dark-background.webp);
	background-size: cover;
	background-position: top left;
	width: 100%;
	aspect-ratio: 80/45;
	z-index: 3
}

.experience-text {
	display: flex;
	flex-direction: column;
	z-index: 4;

	& h3 {
		line-height: 1.35;
		font-size: var(--font-size-25);
		max-width: 25ch
	}

	& strong {
		color: var(--accent-color);
		font-weight: 900
	}
}

.years {
	font-size: calc(var(--font-size-6)*2);
	font-weight: 900;
	min-width: 2.25ch;
	color: var(--accent-color);
	letter-spacing: -.75rem;
	color: transparent;
	background: radial-gradient(circle at 25% 100%, rgba(255, 0, 3, 1), var(--secondary-color));
	background-clip: text
}

.progress-bar-wrapper {
	height: 5px;
	width: 3rem;
	border-radius: 100vw;
	background-color: rgba(255, 255, 255, 0.25);
	margin-top: var(--regular-spacer);
	overflow: hidden
}

.progress-bar {
	background-color: var(--accent-color);
	width: 100%;
	height: 100%;
	border-radius: inherit;
	animation: progressBarAnimation 5s linear infinite;
	transform-origin: 0 0;

}

@keyframes progressBarAnimation {
	0% {
		transform: translateX(-100%);
	}

	100% {
		transform: translateX(0);
	}
}

.experience-slides {
	position: absolute;
	top: 0;
	right: 0;

	& div {
		background-repeat: no-repeat;
		background-position: top right;
		background-size: contain;

	}
}

#slider-container {
	position: relative;
	width: 1130px;
	aspect-ratio: 36/20;
	overflow: hidden;
}

.slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: var(--transitionparams);
	will-change: opacity, transform;
	opacity: 0;
	transform: translateX(20px);
}

.slide.show {
	opacity: 1;
	transform: translateX(0);
	/* slide in */
}

.slide.hide {
	opacity: 0;
	transform: translateX(-20px);
	/* slide out to the left */
}

#slide-element-a {
	z-index: 1;
}

#slide-element-b {
	z-index: 2;
}

.slide:before {
	content: "";
	top: 0;
	left: 0;
	position: absolute;
	height: 100%;
	width: 100%;
	background: linear-gradient(to right, rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 49%, rgba(255, 255, 255, 0) 80%, rgba(0, 0, 0, 1) 100%);

}

.slide:after {
	position: absolute;
	top: var(--large-spacer);
	right: var(--large-spacer);
	color: white;
	font-weight: 700;
	white-space: pre-wrap;
	text-align: right;
}

.jean-slide {
	background-image: linear-gradient(90deg, rgba(39, 41, 42, 1) 0%, rgba(0, 0, 0, 0) 50%), url(imgs/experience/jean-pascal.webp);
}

.jean-slide:after {
	content: "Jean Pascal \A World Champion Boxer";
}

.diver-slide {
	background: linear-gradient(90deg, rgba(39, 41, 42, 1) 0%, rgba(0, 0, 0, 0) 50%), url(imgs/experience/mackenzie-van-houtte-cachero.webp);
}

.diver-slide:after {
	content: "Mackenzie Van Houtte \A Elite Diver";
}

.alexi-slide {
	background: linear-gradient(90deg, rgba(39, 41, 42, 1) 0%, rgba(0, 0, 0, 0) 50%), url(imgs/experience/masse.webp);
}

.alexi-slide:after {
	content: "Alexi Van Houtte \A NCAA Division 1 Hockey Player";
}


/* BIOS PAGE */
.bio-wrapper {
	width: 100%;
	max-width: var(--max-section-width);
	margin: 0 auto;
	padding: var(--extra-large-spacer) 0;

	& h2 {
		font-size: var(--font-size-3);
		max-width: 65ch;
		text-align: left;
		margin: 0 0 var(--large-spacer);
	}

	& .creds {
		font-size: 30%;
		white-space: nowrap;
		display: block;
		margin-top: var(--small-spacer)
	}

	& .cta {
		background-color: transparent;
		padding: 0;
		margin-top: var(--regular-spacer);
		border: 0
	}

	& .cta:hover {
		color: var(--accent-color)
	}
}

.bio-highlights-wrapper {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: var(--large-spacer);
	margin: 0 auto;

	& img {
		border: 1px solid rgba(255, 255, 255, 0.25);
		border-radius: var(--border-radius);
	}
}

.bio-image-wrapper {
	max-width: 300px;
	margin-bottom: var(--regular-spacer)
}

.tag-holder {
	gap: var(--small-spacer);
	flex-wrap: wrap;
	margin: var(--regular-spacer) 0;
	padding: calc(var(--extra-large-spacer)*2.25) var(--medium-spacer) var(--medium-spacer) var(--medium-spacer);
	color: white;
	background: url(imgs/backgrounds/meta-background-plain.webp);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top left;
	border-radius: var(--border-radius);
	max-width: 65ch;
	position: relative;

	& h4 {
		position: absolute;
		top: var(--medium-spacer);
		right: var(--medium-spacer);
		color: var(--accent-color)
	}
}

.tag {
	padding: var(--small-spacer) var(--regular-spacer);
	text-align: center;
	background-color: var(--secondary-color);
	color: white;
	font-size: var(--font-size-smaller);
	border-radius: .25rem;
	border: 1px solid rgba(255, 255, 255, 0.25);
	font-weight: 900;
	white-space: nowrap;
	text-transform: uppercase;
	display: flex;
	align-items: center
}

.bio-years {
	display: flex;
	align-items: flex-start;
	font-weight: 600;
	position: absolute;
	top: var(--small-spacer);
	left: var(--medium-spacer);
	flex-direction: column;

	& span {
		width: 2ch;
		font-size: var(--font-size-4);
		display: block;
		margin-bottom: -.25rem;
		color: var(--accent-color)
	}
}

.bio-title-wrapper {
	display: flex;
	flex-direction: column-reverse
}

/* META INTRO */
.meta-intro {
	& .cta-wrapper {
		margin: var(--large-spacer) auto 0
	}

	& p {
		margin: var(--regular-spacer) auto
	}
}

.meta-logo-intro {
	background-image: url(imgs/meta-elite-performance-word.svg);
	width: 21rem;
	aspect-ratio: 746/230;
	background-repeat: no-repeat;
	background-size: contain;
	margin: var(--medium-spacer) auto var(--small-spacer)
}

.meta-logo-wrapper {
	margin: 0 auto var(--medium-spacer);
	font-size: var(--font-size-smaller);
	font-weight: 700;
	text-align: center
}

.meta-words {
	display: flex;
	gap: 10px;
	margin: 0 auto;
	justify-content: center;
}

.meta-word {
	opacity: 0;
	transform: translateY(10px);
	animation: fadeSlideIn 4s infinite;
}

.meta-word:nth-child(1) {
	animation-delay: 0s;
}

.meta-word:nth-child(2) {
	animation-delay: 1s;
}

.meta-word:nth-child(3) {
	animation-delay: 2s;
}

.meta-word:nth-child(4) {
	animation-delay: 3s;
}

@keyframes fadeSlideIn {
	0% {
		opacity: 0;
		transform: translateY(10px);
	}

	10% {
		opacity: 1;
		transform: translateY(0);
	}

	25% {
		opacity: 1;
		transform: translateY(0);
	}

	35% {
		opacity: 0;
		transform: translateY(-10px);
	}

	100% {
		opacity: 0;
		transform: translateY(-10px);
	}
}

.stats-holder {
	width: 100%;
	max-width: var(--max-section-width);
	border-radius: var(--border-radius);
	margin: var(--large-spacer) auto;
	background-color: black;
	gap: var(--large-spacer);
	padding: var(--large-spacer);
	color: white;
	justify-content: space-evenly;
	position: relative;
	background-color: rgba(0, 0, 0, 0.5);
	background-image: url(imgs/backgrounds/meta-background-plain.webp);
	background-size: cover;
	background-position: top left;
	background-repeat: no-repeat;
}

.stat {
	flex-direction: column;
	align-items: center
}

.stat-number {
	font-weight: 900;
	font-size: var(--font-size-5);
	color: var(--accent-color);
	position: relative;
	letter-spacing: -.25rem
}

.stat-number:before {
	content: "+";
	position: absolute;
	right: -1ch;
	top: 50%;
	transform: translateY(-50%);
	font-size: 50%;
	color: white;
}

.stat-text {
	text-align: center;
	text-wrap: balance;
}

.stat-wrapper {
	flex: 1
}

/* SPORTS MARQUEE */
.sports-outer-wrapper {
	padding: var(--large-spacer);

	& .title-sub-text {
		color: var(--secondary-color)
	}

	& h2 {
		color: var(--accent-color)
	}

	& .title-desc:last-of-type {
		font-size: var(--font-size-3)
	}

	& .title-desc span {
		color: var(--accent-color);
		font-weight: 700
	}
}

.sports-wrapper {

	margin: var(--large-spacer) auto;
	gap: var(--regular-spacer);
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));


	& .sport {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		padding: var(--regular-spacer);
		position: relative;
		border-radius: var(--small-spacer);
		aspect-ratio: 1;
		padding: var(--medium-spacer);
		flex-basis: 0;
		text-align: center;
		font-weight: 700;
		border: 1px solid rgba(0, 0, 0, 0.25);
		background-color: rgba(255, 255, 255, 1)
	}

	& .sports-icon {
		width: 50%;
		aspect-ratio: 1;
		margin-bottom: var(--regular-spacer);
		background-size: 75%;
		background-repeat: no-repeat;
		background-position: center;
		border-radius: 100vw;
		background-color: var(--lighter-background-color);
		position: relative
	}

	& .sports-icon:after {
		position: absolute;
		border-radius: 100vw;
		border: 4px solid var(--lighter-background-color);
		width: 122.5%;
		aspect-ratio: 1;
		content: "";
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%)
	}
}

.sports-icon[data-icon="Hockey"] {
	background-image: url(imgs/icons/sports/hockey.svg);
}

.sports-icon[data-icon="Diving"] {
	background-image: url(imgs/icons/sports/diving.svg);
}

.sports-icon[data-icon="Soccer"] {
	background-image: url(imgs/icons/sports/soccer.svg);
}

.sports-icon[data-icon="Skiing"] {
	background-image: url(imgs/icons/sports/skiing.svg);
}

.sports-icon[data-icon="Football"] {
	background-image: url(imgs/icons/sports/football.svg);
}

.sports-icon[data-icon="Basketball"] {
	background-image: url(imgs/icons/sports/basketball.svg);
}

.sports-icon[data-icon="Baseball"] {
	background-image: url(imgs/icons/sports/baseball.svg);
}

.sports-icon[data-icon="Track & Field"] {
	background-image: url(imgs/icons/sports/track.svg);
}

.sports-icon[data-icon="Tennis"] {
	background-image: url(imgs/icons/sports/tennis.svg);
}

.sports-icon[data-icon="Martial Arts"] {
	background-image: url(imgs/icons/sports/martial-arts.svg);
}

.sports-icon[data-icon="Swimming"] {
	background-image: url(imgs/icons/sports/swimming.svg);
}

.sports-icon[data-icon="Gymnastics"] {
	background-image: url(imgs/icons/sports/gymnastics.svg);
}

.sports-icon[data-icon="Wrestling"] {
	background-image: url(imgs/icons/sports/wrestling.svg);
}

.sports-icon[data-icon="Volleyball"] {
	background-image: url(imgs/icons/sports/volleyball.svg);
}

.sports-icon[data-icon="Rugby"] {
	background-image: url(imgs/icons/sports/rugby.svg);
}

.sports-icon[data-icon="Figure Skating"] {
	background-image: url(imgs/icons/sports/figure-skating.svg);
}

.sports-icon[data-icon="Boxing"] {
	background-image: url(imgs/icons/sports/boxing.svg);
}

.sports-icon[data-icon="More"] {
	background-image: url(imgs/icons/sports/plus.svg);
}


/* FAQS */
.faq-section {
	padding: var(--large-spacer) 0 var(--regular-spacer);
}

.faq {
	margin: 0 auto;
	width: 100%;
	max-width: var(--max-section-width);
	display: flex;
	justify-content: space-between;
	
	& h3 {
		margin-bottom: var(--regular-spacer);
		font-size: var(--font-size-4);
		position: relative;
		color: var(--accent-color);
		max-width: 10ch
	}
}


.faq-answer {
	overflow: hidden;
	opacity: 0;
	will-change: transform, opacity;
	transition: var(--transitionparams);
	transition-delay: 0.15s;
	transform: translateY(20px);
}

.faq-item.active .faq-answer {
	opacity: 1;
	transform: translate(0);
	margin-top: var(--regular-spacer)
}

.faq-item.active .faq-question .icons {
	transform: rotate(-90deg);
	filter: var(--filter-accent)
}

.faq-item.active .faq-question {
	color: var(--accent-color);
}

.faq-item {
	border-bottom: 1px solid rgba(68, 68, 68, 0.25);
	transition: var(--transitionparams);
	cursor: pointer;
	margin: 0 0 var(--regular-spacer);
	max-width: 80ch;
	display: grid;
	grid-template-rows: calc(var(--large-spacer) / 1.25) 0fr;
	padding: var(--regular-spacer) 0;

	& .faq-question:hover {
		color: var(--accent-color)
	}

	& .faq-question:hover .icons {
		filter: var(--filter-accent)
	}
}

.faq-item:last-of-type {
	border: 0;
	margin-bottom: 0
}

.faq-item.active {
	grid-template-rows: auto 1fr;
}

.faq-question {
	background: none;
	border: none;
	font-weight: bold;
	width: 100%;
	text-align: left;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;

	& .icons {
		filter: brightness(0) saturate(100%) invert(18%) sepia(83%) saturate(0%) hue-rotate(232deg) brightness(105%) contrast(84%);
		transform: rotate(90deg);
	}
}


/* RESOURCES */
.resources-switcher {
  margin: 0;
  color: white;
}

.resources-wrapper {
	display: grid;
	gap: var(--medium-spacer);
	grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));

	
	& > div {
		border-radius: var(--border-radius);
		overflow: hidden;
		background-color: rgba(0, 0, 0, 0.5);
		background-image: url(imgs/backgrounds/meta-background-red.webp);
		background-size: cover;
		background-position: bottom left;
		background-repeat: no-repeat;
		color: white;
		position: relative;
		
		& video {
			border-bottom: 1px solid rgba(255, 255, 255, 0.5)
		}
		
		
		& h4 {
			padding: var(--medium-spacer);
			display: flex;
			text-transform: none;
			align-items: center;
			line-height: 1.3;
			justify-content: space-between;
			
			& span {
				margin-left: var(--medium-spacer);
				border-radius: var(--border-radius);
				padding: calc(var(--small-spacer)/1.25) var(--small-spacer);
				font-size: 85%;
				line-height: 1;
				position: relative;
				background-color: white;
				color: black;
				font-weight: 900
			}
		}
	}
}

.resources-wrapper > div::before {
	position: absolute;
	content: attr(data-vid-name);
	top: var(--medium-spacer);
	left: var(--medium-spacer);
	font-size: 85%;
	line-height: 1;
	font-weight: 700;
	text-transform: uppercase
}

.all .video {
	display: block
}

.stretches .video.stretches,
.exercises .video.exercises {
	display: block
}

.exercises .video.stretches,
.stretches .video.exercises {
	display: none
}

#protected-content {
  display: none;
}

.centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.resources-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--medium-spacer)
}

.logout {
	background-color: orange;
	padding: calc(var(--small-spacer)/2) var(--regular-spacer) calc(var(--small-spacer)/2) calc(var(--small-spacer)/2);
	border-radius: 100vw;
	font-weight: 700;
	color: white;
	display: flex;
	align-items: center
}

#access-code {
	border-radius: 100vw;
	padding: var(--regular-spacer);
	border: 1px solid var(--font-color);
	text-align: center;
	font-size: 16px;
}

#auth-container button {
	margin-top: var(--medium-spacer);
	padding: var(--small-spacer) var(--regular-spacer);
	border-radius: 100vw;
	background-color: white;
	border: 0;
	color: var(--accent-color);
	font-weight: 700;
	text-transform: uppercase
}

.logout-icon {
	background-image: url(imgs/icons/close.svg);
	margin-right: calc(var(--small-spacer)/2)
}

.login-wrapper {
	padding: var(--large-spacer);
	border-radius: var(--border-radius);
	display: flex;
	flex-direction: column;
	background-color: rgba(0, 0, 0, 0.5);
	background-image: url(imgs/backgrounds/meta-background-red.webp);
	background-size: cover;
	background-position: top left;
	background-repeat: no-repeat;
	border: 1px solid rgba(255, 255, 255, 0.15);
	align-items: center;
	
	& h2 {
		color: white;
		margin-bottom: var(--regular-spacer);
		max-width: 15ch
	}
}

#error-msg {
	margin-top: var(--regular-spacer)
}

.login-message {
	margin-top: var(--medium-spacer);
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	padding: var(--medium-spacer) 0 0;
	color: white
}
/* RESPONSIVE BREAKPOINTS */

@media (hover: none) {
	.scroll-wrapper {
		scroll-behavior: smooth
	}

	.read-more-instruct,
	.scroll-controls {
		display: none
	}
}


@media screen and (min-width: 1800px) {

	.sports-wrapper,
	.stats-holder {
		width: 80%
	}

}

@media screen and (max-width: 1440px) {

	section,
	footer section,
	.bio-wrapper {
		padding: var(--large-spacer)
	}

	.nav-wrapper {
		right: var(--large-spacer)
	}

	.floating-holder {
		margin: 0 var(--large-spacer);
	}

	.athlete-card {
		scroll-snap-align: start
	}

	.full-width-section .cta-wrapper {
		margin-left: 0
	}

	.switcher {
		margin: var(--large-spacer) auto var(--regular-spacer);
	}
	
	.resources-switcher {
		margin: 0;
	}

	.experience-text {
		margin-left: var(--large-spacer)
	}
	
	.faq-section {
		padding: var(--large-spacer) var(--large-spacer) var(--regular-spacer);
	}
}

@media screen and (max-width: 1280px) {

	footer h3 {
		font-size: var(--font-size-3);
	}

	footer h4 {
		font-size: var(--font-size-2);
	}

	.youth-tagline {
		flex-direction: column;
		padding: var(--small-spacer) 0 0;

		& p {
			text-align: center;
			margin: 0 auto
		}
	}

	.youth-tagline div {
		margin-top: var(--small-spacer);
	}
	
	.faq {
		display: block;
		max-width: 100%
	}
	
	.faq-item {
		max-width: 100%
	}
}

@media screen and (max-width: 1024px) {
	.experience-slides div {
		background-size: cover
	}

	.experience-slides div.jean-slide {
		background-position: -200% 0;
	}

	.experience-slides div.alexi-slide {
		background-position: -250% 0;
	}

	.pricing-wrapper .grid-wrapper {
		grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	}
	
	#process header {
		background-position: center left, 40% 20%;
	}
}


@media screen and (max-width: 800px) {
	:root {
		--base-unit: .9rem;
		--font-size: .875rem;
	}

	p {
		font-size: 1rem
	}

	.nav-wrapper {
		display: none
	}

	.mobile-nav-btn-wrapper {
		display: flex
	}

	#index .header-text-wrapper {
		min-height: 400px
	}

	#contact .header-text-wrapper {
		min-height: 320px
	}

	.header-text-wrapper {
		min-height: 400px
	}

	#logo {
		width: 14rem;
	}

	.slogan {
		font-size: var(--font-size-4);
	}

	#index header {
		background-position: center left, 70% center;
		background-size: cover
	}

	#contact header {
		background-position: center left, -50% 20%;
	}

	.athlete-card {
		min-width: 310px
	}

	.athlete-card-spacer {
		min-width: calc(var(--large-spacer)/3);
	}

	.athlete-card-text-wrapper {
		height: 30%;
		left: var(--small-spacer);
		bottom: var(--small-spacer);
		width: calc(100% - calc(var(--small-spacer) * 2));
	}

	.athlete-card:hover {}

	.full-width-section .cta-wrapper {
		display: none
	}

	.athlete-card {
		aspect-ratio: 3/4.5
	}

	.lead-wrapper {
		& h3 {
			font-size: var(--font-size-3);
		}
	}

	#slider-container {
		width: 870px;
	}

	.meta-logo-intro {
		width: 19rem
	}

	.stat-number {
		font-size: var(--font-size-4)
	}

	.athlete-card .read-more {
		right: calc(var(--medium-spacer)/.725);
		bottom: calc(var(--medium-spacer)/.725);
		width: 1rem;
		padding: 0
	}

	.sports-wrapper {
		grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	}
}

@media screen and (max-width: 650px) {

	h1,
	h2,
	.title-desc,
	.title-sub-text {
		text-align: left;
	}
	
	.login-wrapper h2,
	.login-wrapper .title-sub-text {
		text-align: center
	}

	.sports-outer-wrapper .title-desc:last-of-type {
		text-align: center
	}

	h2 span.wow.title-sub-text,
	h1 span.wow.title-sub-text {
		margin-bottom: calc(var(--small-spacer)/2)
	}

	.floating-cta .cta {
		margin: 0
	}

	.floating-title-wrapper {
		width: 100%;
		padding: var(--large-spacer) var(--large-spacer) 0;

		& p {
			text-align: left
		}
	}

	.title-sub-p {
		text-align: left
	}

	footer .title-sub-p {
		text-align: center
	}

	.switcher {
		margin: var(--large-spacer) var(--large-spacer) var(--regular-spacer) 0
	}

	.resources-switcher {
		margin: 0;
	}

	.program-bento-wrapper-time.mentorship-wrapper {
		flex-direction: column;
	}

	.program-bento-wrapper-time .bento-inner-wrapper {
		flex-direction: column
	}

	.program-bento-wrapper-time .time-image {
		min-height: 225px
	}

	.bento-inner-wrapper .time-physical,
	.bento-inner-wrapper .time-visual {
		min-height: auto;
		background-color: transparent;
		padding: var(--regular-spacer) 0 0;
		background-image: none
	}

	.bento-inner-wrapper .time-physical {
		margin-bottom: calc(var(--regular-spacer) * -1)
	}

	.program-bento-wrapper-time .physical-image,
	.program-bento-wrapper-time .neuro-image {
		background-image: none
	}

	.process-wrapper .title-desc {
		font-size: var(--font-size-125);
		line-height: 1.3
	}

	.bento-title-wrapper h2 {
		font-size: var(--font-size-25);
	}

	.bento-inner-wrapper div {
		padding: var(--small-spacer) 0 var(--small-spacer)
	}

	.program-bento-wrapper-time .pillars-info-holder {
		color: var(--font-color)
	}

	.program-bento-wrapper-time .bento-inner-wrapper,
	.program-bento-wrapper-time {
		gap: 0
	}

	.program-bento-wrapper-time .time-visual .pillars-info-holder {
		padding-right: 0
	}

	footer .flex-wrapper {
		flex-direction: column;
		gap: var(--medium-spacer);

		& .pages-holder {
			border-bottom: 1px solid rgba(255, 255, 255, 0.25);
			padding-bottom: var(--medium-spacer)
		}
	}

	.bio-years {
		font-size: var(--font-size-125)
	}

	.bio-highlights-wrapper {
		flex-direction: column;
		width: 100%
	}

	.tag {
		padding: var(--small-spacer)
	}

	.bio-wrapper h2 {
		max-width: 100%;
		margin: 0
	}

	.tag-holder {
		max-width: 100%;
		padding: calc(var(--extra-large-spacer)*2.5) var(--medium-spacer) var(--medium-spacer);
	}

	.stat-number {
		font-size: var(--font-size-3)
	}

	#contact header {
		background-position: center left, -10% 20%;
	}

	#pricing header {
		background-position: center left, 80% 50%;
	}
	
	#resources header {
		background-position: center left, 50% 50%;
	}

	.sports-outer-wrapper .title-desc:last-of-type {
		font-size: var(--font-size-2)
	}
	
	.resources-wrapper {
		grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	}
}

@media screen and (max-width: 500px) {
	:root {
		--base-unit: .8rem;
		--small-spacer: var(--base-unit);
		--regular-spacer: calc(var(--base-unit)*1.5);
		--large-spacer: calc(var(--base-unit)*2);
		--border-radius: var(--base-unit);
	}

	#logo {
		width: 10rem
	}

	h2,
	h1 {
		font-size: var(--font-size-35);
	}

	.slogan {
		font-size: var(--font-size-3);
	}

	.price-holder {
		padding: var(--extra-large-spacer);
	}

	.switcher {
		padding: calc(var(--small-spacer)/2);
		gap: calc(var(--small-spacer)/2);
		font-size: var(--font-size)
	}

	.switcher>div {
		padding: calc(var(--small-spacer)/1.5) var(--small-spacer);
	}

	.hidden-text-wrapper {
		padding: calc(var(--base-unit)*3);
	}

	.lower-text {
		max-width: 25ch
	}

	.athlete-card-text-wrapper {
		height: 27%
	}

	.accomplishments span {
		margin-bottom: calc(var(--small-spacer)/2);
	}

	.accomplishments {
		padding-bottom: var(--small-spacer);
		margin-bottom: var(--small-spacer);
	}

	.pillar-image {
		aspect-ratio: 4/2.5
	}

	.pillars-text-wrapper p {
		margin-top: calc(var(--small-spacer)/2)
	}

	.header-text-wrapper,
	#index .header-text-wrapper {
		min-height: 320px
	}

	#contact .header-text-wrapper {
		min-height: 230px
	}

	.cta-wrapper {
		padding: calc(var(--base-unit) * .5)
	}

	.program-bento-wrapper-time .icon-wrapper {
		padding: calc(var(--small-spacer)/1.5);
		top: var(--small-spacer);
		left: var(--small-spacer)
	}

	.program-bento-wrapper-time .icon-wrapper>div {
		width: 2.5rem
	}

	.process-wrapper h3 {
		margin-bottom: calc(var(--small-spacer)/2)
	}

	.lead-wrapper {
		& h3 {
			font-size: var(--font-size-25);
		}
	}

	footer .logo-holder {
		gap: var(--small-spacer)
	}

	.icon-wrapper {
		padding: calc(var(--small-spacer)/1.5);
		top: var(--small-spacer);
		left: var(--small-spacer)
	}

	.youth-tagline p {
		font-size: var(--font-size);
		line-height: 1.25;
		margin-top: var(--regular-spacer)
	}

	.youth-tagline div {
		margin-top: 0;
		flex: 1;
		gap: calc(var(--small-spacer)/2)
	}

	.youth-tagline div div {
		font-size: var(--font-size-smaller);
		padding: var(--small-spacer);
	}

	.youth-tagline div div:before {
		--arrow-size: 2rem;
		right: calc(var(--arrow-size) / -1.5);
	}

	.top-left-border,
	.bottom-right-border {
		width: 1.5rem;
		top: var(--small-spacer);
		left: var(--small-spacer);
	}

	.bottom-right-border {
		top: initial;
		left: initial;
		bottom: var(--small-spacer);
		right: var(--small-spacer);
	}

	.experience-wrapper:before {
		aspect-ratio: 1
	}

	.years {
		font-size: calc(var(--font-size-6) * 1.25);
	}

	.experience-text h3 {
		font-size: var(--font-size-125);
	}

	#slider-container {
		width: 610px
	}

	.experience-slides div.jean-slide {
		background-position: -410% 0;
	}

	.experience-slides div.alexi-slide {
		background-position: -450% 0;
	}

	.slide:after {
		font-size: var(--font-size-smaller);
		max-width: 15ch;
		opacity: .8
	}

	.progress-bar-wrapper,
	.progress-bar {
		height: 3px
	}

	.bio-title-wrapper {
		flex-direction: column;
		align-items: flex-start;
	}

	.bio-image-wrapper {
		width: 100%;
		max-width: 100%;
		margin-top: var(--medium-spacer);
		margin-bottom: 0
	}

	.bio-wrapper {
		padding: var(--large-spacer) var(--medium-spacer)
	}

	.tag {
		padding: calc(var(--small-spacer)/2) var(--small-spacer);
	}

	.meta-logo-intro {
		width: 17rem
	}

	.stats-holder {
		flex-wrap: wrap
	}

	.stats-holder .vert-line {
		display: none
	}

	.stat-wrapper {
		flex: none;
		width: 44%
	}

	.stat-wrapper.last {
		width: 100%
	}

	.price-header {
		aspect-ratio: 4/1.5
	}

	.price-promo-tag {
		top: 30px;
		right: -100px;
	}

	.athlete-card .read-more {
		right: calc(var(--medium-spacer)/.625);
		bottom: calc(var(--medium-spacer)/.625);
	}

	.sports-wrapper {
		grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
	}
	
	.faq-item {
		grid-template-rows: calc(var(--extra-large-spacer) / 1.5) 0fr;
		padding: calc(var(--small-spacer) / 2) 0;
	}
	
	.faq-item.active .faq-answer {
		margin-bottom: var(--regular-spacer)
	}
	
	.faq-question {
		margin-top: -.15rem;
	}
	
	.faq h3 {
		font-size: var(--font-size-3)
	}
	
	.video h4 span {
		padding: var(--small-spacer)
	}
	
	.faq-section {
		padding: var(--large-spacer)  var(--large-spacer) var(--regular-spacer);
	}
}

@media screen and (max-width: 400px) {
	:root {
		--base-unit: .8rem;
		--font-size: .9rem;
		--cta-padding: .45rem .75rem .45rem .45rem
	}

	footer .footer-logo {
		width: 10rem
	}

	.cta {
		padding: var(--cta-padding);

		& .icons {
			margin-right: .45rem
		}
	}

	#index header {
		background: url(imgs/heros/meta-dark-background.webp), url(imgs/heros/meta-elite-performance-diving-mobile.webp);
		background-position: center left, -22% 50%;
		background-size: cover, 120%
	}

	#contact header {
		background-position: center left, 15% 20%;
	}
	
	#resources header {
		background-position: center left, 57% 50%;
	}
	
	#process header {
		background-position: center left, 50% 20%;
	}

	h2,
	h1 {
		font-size: var(--font-size-3);
	}

	.price-wrapper {
		aspect-ratio: 4/6.5
	}

	.sports-wrapper {
		grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
		gap: var(--small-spacer);

		& .sport {
			padding: var(--small-spacer);
			aspect-ratio: unset;
			flex-direction: row;
			justify-content: flex-start;
			text-align: left;
		}

		& .sports-icon {
			width: 22%;
			margin-bottom: 0;
			margin-right: var(--small-spacer)
		}

		& .sports-icon:after {
			width: 132.5%;
			border-width: 3px
		}

		& p {
			font-size: .95rem
		}
	}

	.sports-outer-wrapper .title-desc:last-of-type {
		font-size: var(--font-size-15)
	}
	
	.resources-header {
		flex-wrap: wrap-reverse;
		
		& .logout {
			margin: 0 0 var(--regular-spacer)
		}
	}
}