/*--------------------------------------------------------------
# Theme Variable Overrides
--------------------------------------------------------------*/
:root {
	--st_theme_dark: #2F3B66;
	--st_theme_dark_text: #fff;
	--st_theme_med: #9285CA;
	--st_theme_light: #E8E6F2;
	--st_theme_accent: #72d8a2;
	--st_theme_accent_light: #c6f8d0;
	--st_theme_accent_lighter: #f0faf2;
	--st_theme_accent_hover: #36b873;
	--st_theme_highlight: #2aede0;

	--members_header_bg: var(--st_theme_dark);
	--members_header_link: var(--st_theme_dark_text);
	--members_header_link_hover: var(--st_theme_dark_text);
	--members_header_link_bg_hover: #252d4c;
	--members_header_profile_bg: var(--st_theme_light);
	--members_header_profile_link_hover: var(--st_theme_med);

	--members_accent: var(--st_theme_accent);
	--members_accent_hover: var(--st_theme_accent_hover);

	--members_loader_image : url(../images/loader-st_green.svg);
}

body a {
	color: var(--st_theme_med);
}

.listtitle,
h2.withBL {
	--members_accent: #f0f0f3;
}

.box-gradient {
	background: #28E6D2; /* Old browsers */
    background: -moz-linear-gradient(-45deg, #28E6D2 0%, #9285CA 76%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, #28E6D2 0%,#9285CA 76%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, #28E6D2 0%,#9285CA 76%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#28E6D2', endColorstr='#9285CA',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

body .members-mobile .mm-listview > li > a .lnr,
body .members-mobile .mm-listview > li > span .lnr {
	color: var(--st_theme_med);
	transition: color .15s ease-in-out;
}

h3 {
	color: #253540;
}

body .members-page-menu {
	background: var(--st_theme_accent_lighter);
}

body .button.bg-gray:hover {
	background: var(--st_theme_med);
}

/*--------------------------------------------------------------
# Members Menu Header (Sidebar)
--------------------------------------------------------------*/

#members-menu .st-return {
	margin-top: 30px;
	font-size: 90%;
}

#mobile-menu .st-return a,
#members-menu .st-return a {
	display: flex;
	gap: 10px;
	align-items: center;
}

#members-menu .st-return a {
	width: 100%;
}

#members-menu .st-return svg {
	min-width: 24px;
}

#members-menu li.current-menu-item a,
#members-menu:not(:has(li.current-menu-item)) li.is-active a,
#members-menu li.current-menu-item a .lnr,
#members-menu:not(:has(li.current-menu-item)) li.is-active a .lnr {
	color: var(--st_theme_highlight);
}

body .members-mobile .mm-listview > li.is-active > a,
body .members-mobile .mm-listview > li.is-active > a .lnr {
	color: var(--st_theme_highlight) !important;
}

#members-menu .lnr {
	color: var(--st_theme_med);
}

#members-menu li a:hover .lnr {
	color: var(--st_theme_light);
}

body .nm-right-menu li a {
	color: #fff;
}

body .nm-right-menu li a:hover {
	color: var(--st_theme_accent_light);
}

@media (hover: none) and (pointer: coarse) {
	body .nm-right-menu li a:hover {
		color: #fff;
		opacity: 1;
	}
}


/*--------------------------------------------------------------
# Workout History
--------------------------------------------------------------*/

body .fc-event {
 --members_accent: var(--st_theme_med);
}

.buttonform label {
	--members_accent: var(--st_theme_dark);
}


/*--------------------------------------------------------------
# Notices
--------------------------------------------------------------*/
.info-notice {
	font-weight: 500;
	border: none;
	border-radius: 3px;
	background: var(--st_theme_light);
  	color: var(---st_theme_dark);
}

.info-notice.success:before {
	color: inherit;
}

.info-notice.success {
	background: var(--st_theme_accent_light);
	color: #083b12;
}

.info-notice.success2 {
	text-align: left;
	background: #FFF9D1;
}

.info-notice.success2:before {
	content: '❗';
}

.info-notice a {
	color: inherit;
	text-decoration: underline;
}


/*--------------------------------------------------------------
# Loading Animation
--------------------------------------------------------------*/
.st-animation-overlay {
	opacity: 0;
	pointer-events: none;
    content: "";
    display: flex;
	align-items: center;
	justify-content: center;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #fffa;
    z-index: 1000;
    transition: opacity .3s;
}

.st-animation {
	--st-ani_speed: 2.5s;
}

.st-animation svg {
	display: block;
	background: #2FE9D7;
	border-radius: 100%;
}

.st-animation svg #MID {
  stroke-dasharray: 800;
  stroke-dashoffset: 800;
  animation: var(--st-animation, st-animation_drawline var(--st-ani_speed) cubic-bezier(0.9, 0, 0.55, 1) infinite);
}

@keyframes st-animation_drawline {
	0% {
		opacity: 0;
	}
	5%{
		opacity: 1;
	}
	35%, 80%, 100% {
		stroke-dashoffset: 0;
	}
	75% {opacity: 1;}
	100% { opacity: 0; }
}

.st-animation svg #DOT {
  offset-path: path('M11.908,143.508 L116.12,143.508 C124.227,143.508 132.107,140.059 138.7,136.497 L205.541,87.815 L183.163,173.437 L299.616,59.449 L265.298,195.983 L347.545,106.704 C351.841,101.145 357.646,99.094 363.855,99.094 L411.29,99.094');
  offset-distance: 0%;
  animation: var(--st-animation, st-animation_movecircle var(--st-ani_speed) cubic-bezier(0.9, 0, 0.55, 1) infinite);
}


@keyframes st-animation_movecircle {
  0% { offset-distance: 0%; opacity: 0; }
  5% { opacity: 1; }
  25% { opacity: 1; }
  40% { opacity: 0; }
  35%, 100% { offset-distance: 102%; }
  100% { opacity: 0; }
}

#revealMask path {
	stroke-dasharray: 950;
    stroke-dashoffset: 950;
	offset-distance: 0%;
	animation: var(--st-animation, st-animation_revealmask var(--st-ani_speed) cubic-bezier(0.2, 0, 0.45, 1) infinite);
}

@keyframes st-animation_revealmask {
	0%, 35% { offset-distance: 0%; stroke-dashoffset: 950; }
	60%, 80%, 100% { stroke-dashoffset: 0; }
	80% {opacity: 1;}
	100% { opacity: 0; }
}

#nm-shop-products-overlay .st-animation {
	display: flex;
	justify-content: center;
	opacity: 1;
	padding-top: 120px;
	margin: 0 auto;
	--st-ani_speed: 1.5s;
}

#nm-shop-products-overlay:not(.show) {
	--st-animation: none;
}

/* .loading-overlay:not(.active) .st-animation svg #MID,
.loading-overlay:not(.active) #revealMask path,
.loading-overlay:not(.active) .st-animation svg #DOT {
	animation-play-state: paused;
} */

#planbuilder-canvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-height: 200vh !important;
	pointer-events: none;
	z-index: 99;
}


/*--------------------------------------------------------------
# Sign In Page
--------------------------------------------------------------*/

.nm-myaccount-login input.input-text, .nm-myaccount-lost-reset-password input.input-text {
	border: 2px solid var(--members_accent);
	background: #fff;
}

.login .nm-login-form-divider span {
	border-radius: 10px;
	background: #f7f6fb;
	color: #635d80;
}

.nm-login-form-divider::before { 
	height: 2px;
	background: #e7e6ef;
}

.members-content > .bg-video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
}

.members-content > .bg-video video {
	object-fit: cover;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.st-fpo {
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
	display: block;
}

.st-signedout__blur:has(.st-fpo) {
	filter: blur(2px);	
}




/* Dashboard */
.box-lblue {
	background: #EFFFFD;
	border-radius: 10px;
	padding: 15px 20px 20px 20px;
	margin-top: 10px;
}
.st-workout-history-days {
	margin-bottom: 8px;  
}
.st-workout-history-days span {
	width: 12px;
	text-align: center;
}
.st-workout-history-days,
.st-workout-history-dots {
	display: flex;
	gap: 0;  
	justify-content: space-around;
}
.st-workout-history-dot {
	width: 12px;
	height: 12px;
	display: inline-block;
	border-radius: 50%;
	background: #D8D8D8;
}
.st-workout-history-dot.completed {
	background: #2AE6D2;
}
.st-workout-history-total {
	margin-top: 10px;
}
.st-tile {
	color: white;
	padding: 40px;  
	border-radius: 10px;
	position: relative;
}

.st-tile:after {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 110%);
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
}

.quotes {
	display: flex;
	justify-content: center;
	flex-direction: column;
	font-style: normal;
	margin: 0;
	background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDQ2OSAyODMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+CiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjk0OTQwNywtMC4zMTQwNDgsMC4zMTQwNDgsMC45NDk0MDcsLTQ0LjUxMDIsMTA1LjI0NSkiPgogICAgICAgIDxwYXRoIGQ9Ik00NzEuMTksMTEwLjU2M0w0NzEuNzU3LDExMS4zNDdDNDI2LjksMTIzLjQzMyAzOTUuMjIzLDE1MC4wMzYgMzY0LjM1NSwxNzUuOTdDMzMyLjQ4OSwyMDIuNzQyIDMwMS41MzgsMjI4LjczOSAyNTcuODk2LDIzNC4zNTVDMjUyLjIzOCwyMzUuMDgyIDI0Ni4zNjksMjM1LjQ3MiAyNDAuMjU1LDIzNS40NzJDMjAxLjQ4NiwyMzUuNDcyIDE2NC40MDQsMjE5LjUyNCAxMzcuNzg4LDE5MS41ODlDMTI3Ljk2MiwxODEuMjc3IDEyMS4zMDYsMTczLjUyNiAxMDQuMzQ0LDE3My41MjZMOTQuOTk3LDE3My41MjZMMTEwLjM2NiwxOTMuMzRDMTQxLjA4OCwyMzMuMzQ5IDE4OS42NywyNTcuNDcgMjQwLjIzOCwyNTcuNDdDMjQ2LjMxNiwyNTcuNDcgMjUyLjE5NCwyNTcuMTMxIDI1Ny44OTYsMjU2LjQ4OEMzMDUuOTA2LDI1MS4wNzggMzQxLjM5MywyMjMuOTQgMzc4LjQ0NiwxOTIuODExQzQxMC4zNjMsMTY1Ljk5OCA0NDMuMTk4LDEzOC4zOTQgNDkwLjMwMywxMjkuNjU1QzQ5OS4yNzMsMTI3Ljk4OSA1MDMuMzAyLDExOS42MDUgNDk4LjM0MywxMTEuNjI1TDQ5OC4wODUsMTExLjIxMkM0NTUuMjQ1LDQyLjYzNiAzNzguNjIzLDAgMjk3LjUxNSwwQzI4NC4xNjgsMCAyNzAuOTE3LDEuMjIyIDI1Ny44OTYsMy41NjFDMjAwLjE2OCwxMy45MzYgMTQ2Ljk5Myw0Ni4zNSAxMTAuMzkzLDkyLjQxOUw5NS40NjUsMTExLjIxMkw5NC45OTcsMTExLjgwMUwxMDQuMzQ0LDExMS44MDFDMTA2LjgzMiwxMTEuODAxIDEwOS4xNSwxMTEuNjIxIDExMS4zMiwxMTEuMjgyTDExMS43NTIsMTExLjIxMkMxMjMuODksMTA5LjE4NCAxMzEuMzM1LDEwMi4xNDkgMTM3Ljg3Niw5My45NzZDMTY1LjkzMiw1OC45MDQgMjExLjk4MiwzNC45ODUgMjU3Ljg5NiwyNS45OEMyNzEuMjU4LDIzLjM1OCAyODQuNjA5LDIxLjk5OCAyOTcuNTAyLDIxLjk5OEMzNjUuODY4LDIxLjk5OCA0MzEuMTU0LDU1LjQ5NCA0NzEuMTksMTEwLjU2M1pNMTAuOTcyLDE1NC40NzdMMTE2LjAyOSwxNTQuNDc3QzEyNi4zMzgsMTU0LjQ3NyAxMzYuNDA4LDE1MS4zNTQgMTQ0LjkwOCwxNDUuNTI1QzE0NC45OTQsMTQ1LjQ2NiAxNDUuMDc5LDE0NS40MDYgMTQ1LjE2NCwxNDUuMzQ1TDE4Ny4xMzQsMTE0Ljc2N0wxNzIuNTMyLDE3MC42OTVDMTcxLjI4NCwxNzUuNDczIDE3My4zODIsMTgwLjQ5NSAxNzcuNjU4LDE4Mi45NjZDMTgxLjkzMywxODUuNDM3IDE4Ny4zMzIsMTg0Ljc0OCAxOTAuODQ5LDE4MS4yODJMMjc4LjkzLDk0LjQ4N0wyNTQuNzgsMTkzLjIyNkMyNTMuNTkxLDE5OC4wODggMjU1Ljg0MywyMDMuMTM4IDI2MC4yNTQsMjA1LjUwM0MyNjQuNjY1LDIwNy44NjggMjcwLjExOCwyMDYuOTQ4IDI3My41MDgsMjAzLjI2NkwzNTUuNjIyLDExNC4xMTZDMzU3LjY5MiwxMTEuODY4IDM2MC42MDcsMTEwLjU4OSAzNjMuNjYzLDExMC41ODlMNDExLjQ1LDExMC41ODlDNDE3LjUwNiwxMTAuNTg5IDQyMi40MjIsMTA1LjY3MyA0MjIuNDIyLDk5LjYxN0M0MjIuNDIyLDkzLjU2MSA0MTcuNTA2LDg4LjY0NSA0MTEuNDUsODguNjQ1TDM2My42NjMsODguNjQ1QzM1NC40NzIsODguNjQ1IDM0NS43MDYsOTIuNDkgMzM5LjQ4LDk5LjI1MUMzMzkuNDgsOTkuMjUgMjg2LjIxLDE1Ny4wODUgMjg2LjIxLDE1Ny4wODVMMzA5LjQzNCw2Mi4xMzRDMzEwLjU5OSw1Ny4zNjggMzA4LjQ1OSw1Mi40MDcgMzA0LjE5Myw0OS45ODVDMjk5LjkyNiw0Ny41NjMgMjk0LjU3LDQ4LjI2OCAyOTEuMDc1LDUxLjcxMkwyMDMuODMxLDEzNy42ODJMMjE2LjEzLDkwLjU3M0MyMTcuMzAyLDg2LjA4NiAyMTUuNTI2LDgxLjM0NyAyMTEuNjk0LDc4LjczNUMyMDcuODYyLDc2LjEyMyAyMDIuODAxLDc2LjIwMiAxOTkuMDUzLDc4LjkzM0wxMzIuMzc5LDEyNy41MDlDMTI3LjU1MiwxMzAuNzgyIDEyMS44NTgsMTMyLjUzMyAxMTYuMDI5LDEzMi41MzNMMTAuOTcyLDEzMi41MzNDNC45MTYsMTMyLjUzMyAtMCwxMzcuNDQ5IDAsMTQzLjUwNUMwLDE0OS41NjEgNC45MTYsMTU0LjQ3NyAxMC45NzIsMTU0LjQ3N1oiIHN0eWxlPSJmaWxsOndoaXRlO2ZpbGwtb3BhY2l0eTowLjEyOyIvPgogICAgPC9nPgo8L3N2Zz4K") no-repeat center/120% auto;
}

.quotes blockquote {
	margin: 0;
	max-width: 600px;
	margin : 0 auto;
}

.quotes blockquote:before, 
.quotes blockquote:after {
	display: none;
}

.st-tile .quote-text {  
	color: #fff;
	font-weight: bold;
	font-style: normal;
    font-size: 1.5rem;
}

.st-tile .quote-author {
	color: #fff;
	font-weight: 500;
	margin-top: 20px;
	display: block;
	text-align: right;
}

.w_top_line,
#dashboard-tiles + #program-tiles {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 5px solid #F0F0F3;
}

.w_bot_line {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 5px solid #F0F0F3;
}

.box-gray .w_top_line,
.box-gray .w_bot_line {
	border-color: #D8D8D8;
}

.tiles-grid-wrap {
    --gap: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
}

.tiles-grid-wrap > div {
	margin: 0;
	width: calc(33.33% - (var(--gap) / 3 + var(--gap) / 3));
}

.dashboard-tiles-wrap > .quotes:nth-child(2) {
	flex-grow: 1;
}

.st-workout-history-column {
	display: flex;
	flex-direction: column;
	gap: var(--gap);
}

.st-workout-history-column > div {
	margin: 0;
	flex-grow: 1;
}
@media only screen and (max-width: 1200px) {
	.st-tile .quote-text {  
		font-size: 1.325rem;
		line-height: 1.35;
		text-align: center;
	}
	.st-tile .quote-author {  
		text-align: center;
		line-height: 1.35;
	}
}

@media only screen and (max-width: 1000px) {
    .tiles-grid-wrap > div {
        width: calc(50% - (var(--gap) / 2));
		flex-grow: 1;
    }
}

@media only screen and (max-width: 450px) {
    .tiles-grid-wrap > div {
        width: 100%;
    }
}


@media only screen and (min-width: 1000px) {
	.stats-highlights .weekly-progress {
		width: calc(66.66% - (var(--gap) / 3));
	}
}

.stats-highlights .all-time {
	 font-size: clamp(16px, 12vw, 350%); 
	 line-height: 1.125;
}


/*--------------------------------------------------------------
# Fitness Test
--------------------------------------------------------------*/

.wp-block-st-block-fitness-assessment h3,
.wp-block-st-block-fitness-assessment h2 {
	font-weight: bold;
}

.validation-message {
  font-weight: 500;
}

.wp-block-st-block-fitness-assessment .fitness-results ul.ul-fitness-level li {
	background-size: 1.75em;
	font-size: 1.375rem;
	padding-block: .5em;
	padding-left: 2.5em;
	line-height: 1.375;
}

.fitness-results .more-options {
	margin-top: 40px;
}

.wp-block-st-block-fitness-assessment .si-plan-overview {
	padding-top: 0;
}

.wp-block-st-block-fitness-assessment .si-plan-overview .fitness-results-header {
	background: #F98079;
	color: #fff;
	text-align: center;
	padding: 15px 20px;
	margin: 0 -30px;
	margin-bottom: 25px !important;
}


@media only screen and (max-width: 600px) {
	.wp-block-st-block-fitness-assessment .fitness-results ul.ul-fitness-level li {
		font-size: 1.125rem;
	}
	.wp-block-st-block-fitness-assessment .fitness-results-success h2 {
		font-size: 24px;
	}
}

button.large, input[type="button"].large, input[type="submit"].large, .button.large {
	border: none;
}


@media only screen and (max-width: 1250px) {
	.wp-block-st-block-fitness-assessment .program-tile {
		min-height: 12vw;
		padding-bottom: 15px;
	}
}

@media only screen and (max-width: 950px) {
	.wp-block-st-block-fitness-assessment .program-tile {
		min-height: 16vw;
	}
}

@media only screen and (max-width: 650px) {
	.wp-block-st-block-fitness-assessment .program-tile {
		min-height: 24vw;
	}
}

.queried-filters:empty {
	display: none;
}