/* ==========================================================================
 * savetrainer-base.css
 *
 * The rules SaveTrainer actually uses out of the child theme's own style.css,
 * extracted so that /members/savetrainer/ can stop loading it. See
 * enqueue_theme_styles() in functions.php, which swaps this in for the
 * `save-style` handle on SaveTrainer pages only -- the shop and the rest of
 * /members/ still get style.css in full.
 *
 * 166 rules out of 673 (19 KB against 70 KB). Provenance: derived 2026-09-01
 * from style.css by disabling its <link> on twelve signed-in SaveTrainer views
 * at 1280px and 375px and diffing computed styles element by element. Thirty-
 * nine rules changed something; the rest of what is here is their hover/focus/
 * active siblings plus the state-only families below, which a static pass
 * cannot reach. Verified by swapping this sheet in for style.css on those same
 * views: zero residual difference.
 *
 * Four families are carried on purpose even though the diff never sees them,
 * because their markup only exists in a state:
 *   - .mm-* / #mobile-menu, which only lay out once the members mobile menu opens
 *   - .mfp-* (Magnific Popup), which matches nothing until a popup opens
 *   - the Plyr music player -- #plyr-music-1, .plyr__music*, .plyr__volume --
 *     built by JS after load, and the reason style.css is not shop-only
 *   - .bio-* (trainer bios), which the workouts grid reuses for its tiles
 *
 * Avenir is deliberately NOT here. members.css re-declares `html body` after
 * this sheet and wins, so nothing on SaveTrainer ever computed to Avenir and
 * no Avenir font file was ever requested -- only the @font-face blocks and the
 * declaration shipped as bytes. Avenir is still live on the shop and, via
 * --lms-font in members.css, on the LearnDash pages under /program/, so it
 * stays in style.css. Do not "restore" it here.
 *
 * This is a cut of our own CSS, not third-party code, but keep it a cut: if a
 * rule below needs to change for SaveTrainer, prefer overriding it in
 * savetrainer.css so this file can be re-derived against style.css.
 * ========================================================================== */


html body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 18px;
line-height: 1.625;
}

body .nm-menu li a {
font-size: 16px;
}

.wcs-switch-link.button:not(.wcs-switch-link-upgrade) {
display: inline-block;
margin: 5px 10px;
font-size: 14px;
padding: .6em 1em;
}

.wcs-switch-link.wcs-switch-link-upgrade.button {
background: #e11c7f;
display: block;
margin: 10px 0 5px;
padding-top: .75em;
padding-bottom: .75em;
font-size: 15px;
font-size: inherit;
max-width: 550px;
}

.woocommerce-view-subscription a.button.cancel {
background-color: #df5a5a;
}

.cart_totals .wc-proceed-to-checkout .button {
display: none;
}

a, a:visited, input[type="button"], input[type="submit"], .button, a img, a img:hover {
-moz-transition: all 0.1s ease-in-out;
-webkit-transition: all 0.1s ease-in-out;
transition: all 0.1s ease-in-out;
}

a img:hover {
opacity: 0.8;
}

a:hover {
color: #41485a;
}

#nm-cart-panel .buttons a:first-child,
button,
input[type="button"],
input[type="submit"],
.button,
#mobile-menu li.our-sites > a::after,
body .mm-listview > li.our-sites > a::after,
.accordian-menu > a:after {
background-color: #00a2ff;
border: none;
border-bottom: 2px solid #1f7cd9;
border-radius: 10px;
box-shadow: none;
cursor: pointer;
display: inline-block;
font-weight: bold;
padding: 10px 18px 6px 18px;
padding: .625rem 1.125rem .375rem 1.125rem;
width: auto;
line-height: 1.2;
text-decoration: none;
text-transform: uppercase;
}

input[type="submit"] { *overflow:visible; /*IE*/ }

.button.border,
.button.border:hover {
color: #777777;
background-color: #e3e3e3;
border: none;
border-bottom: 2px solid #b4b4b4;
border-radius: 10px;
opacity: 1;
}

.button.border:hover {
background-color: #dadada;
border: none;
border-color: #b4b4b4;
border-bottom: 2px solid #b4b4b4;
border-radius: 10px;
}

.button.border:hover:not([disabled]) {
border-color: #b4b4b4;
color: #253540;
}

.wcs-switch-link:not(.wcs-switch-link-upgrade),
.button.outlined {
background: #fff;
border: 1px solid #4eb9aa;
color: #4eb9aa;
}

.wcs-switch-link:not(.wcs-switch-link-upgrade):hover,
.button.outlined:hover {
background: #6cdbcb;
border: 1px solid #6cdbcb;
color: #fff;
}

button.large,
input[type="button"].large,
input[type="submit"].large,
.button.large {
padding: 18px 32px 16px 32px;
border-radius: 10px;
border-style: none none solid;
border-width: medium medium 2px;
font-size: 26px;
}

.button.alt.border,
button.alt,
input[type="button"].alt,
input[type="submit"].alt,
.button.alt {
background: #ffe824;
border-color: #c8b301;
color: #d13a82;
}

button:hover,
input:hover[type="button"],
input:hover[type="submit"],
.button:hover {
background-color: #0193e7;
color: #fff;
}

.button.alt.border:hover:not([disabled]),
button.alt:hover,
input[type="button"].alt:hover,
input[type="submit"].alt:hover,
.button.alt:hover {
background-color: #ffd805;
color: #d13a82;
}

button.alt:active,
input[type="button"].alt:active,
input[type="submit"].alt:active,
.button.alt:active {
background-color: #edd400;
}

button:active,
input:active[type="button"],
input:active[type="submit"],
.button:active {
background-color: #0097ed;
}

#nm-widget-panel .buttons .button.checkout {
color: #fff !important;
width: 100%;
}

@media all and (max-width: 2100px) {
	#nm-widget-panel .buttons .button.checkout {
	margin-top: 0;
	margin-bottom: 12px;
	}

}
.save-logo {
float: left;
}

.vertical-logo {
height: 50px;      /* equals max image height */
width: 235px;
white-space: nowrap;
position:  relative;
}

.vertical-logo .helper {
display: inline-block;
height: 100%;
vertical-align: middle;
margin-left: -3px;
}

.vertical-logo img {
vertical-align: middle;
max-height: 31px;
max-width: 231px;
}

.st-logo.vertical-logo,
.sob-logo.vertical-logo {
width: 140px;
max-width: 140px;
margin-left: 80px;
}

.st-logo.vertical-logo {
margin-left: 30px;
}

.vertical-logo.active:before {
border-color: transparent transparent #4eb9aa;
border-style: solid;
border-width: 0 7px 7px;
bottom: 0;
content: "";
display: block;
height: 0;
left: 50%;
margin-left: -3px;
position: absolute;
width: 0;
}

@media only screen and (max-width: 900px) {
	.st-logo.vertical-logo,
	.sob-logo.vertical-logo {
	margin-left: 20px;
	}

	.st-logo.vertical-logo {
	margin-left: 10px;
	}

}
@media only screen and (max-width: 840px) {
	.st-logo,
	.sob-logo {
	display: none;
	}

	html {
	height: auto !important;
	min-height: 100% !important;
	}

}
@media only screen and (max-width: 660px) {
	.st-logo.vertical-logo,
	.sob-logo.vertical-logo {
	margin-left: 10px;
	}

}
@media only screen and (max-width: 470px) {
	.vertical-logo { width: 150px; }

	.vertical-logo img { max-width: 150px; }

}
body .nm-right-menu {
margin-right: -10px;
}

body .nm-right-menu li a {
color: #253540;
font-weight: bold;
font-size: 14px;
padding: 16px 10px;
}

body .nm-right-menu li a:hover {
color: #6c6c6c;
}

.nm-right-menu li > a .lnr, #secondary-nav li > a .lnr {
bottom: -2px;
font-size: 120%;
line-height: 8px;
margin-right: 2px;
position: relative;
vertical-align: baseline;
}

.st-logo,
.sob-logo {
float: left;
}

.st-logo img,
.sob-logo img {
width: 136px;
}

@media only screen and (max-width: 830px) {
	.st-logo img,
	.sob-logo img {
	width: 110px;
	}

	.st-logo.vertical-logo, .sob-logo.vertical-logo {
	width: 110px;
	}

}
body .acf-field textarea,
body .acf-field input[type="text"],
body input[type="text"],
body textarea, body input[type="email"],
body input[type="tel"],
body input[type="password"],
.select2-container.select2-drop-above .select2-choice,
.select2-container .select2-choice,
body input#coupon_code  {
background-color: #fff;
border: 1px solid #d9d9d9;
box-shadow: 0 0 1px rgba(0,0,0,0.25);
padding: 10px 12px;
padding: 11px 13px;
width: 100%;
font-size: 18px;
*padding-left: 0;
*padding-right: 0;
-moz-transition: all 0.2s ease-out;
-webkit-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}

body .acf-field textarea:focus,
body .acf-field input[type="text"]:focus,
body input[type="text"]:focus,
body textarea:focus,
body input[type="email"]:focus,
body input[type="tel"]:focus,
body input[type="password"]:focus,
.form-row.woocommerce-invalid .input-text:focus,
.form-row.woocommerce-invalid select:focus,
body input#coupon_code:focus {
border-color: #fff;
box-shadow: 0 0 0 2px #4eb9aa;
}

.woo-dashboard-redirect a.button {
text-align: center;
width: 100%;
margin: 40px 0 0 0;
font-size: 22px;
}

#mobile-menu li.our-sites > a::after,
#secondary-nav #nm-main-menu-ul > li.menu-item-has-children > a:after,
.mm-listview .menu-item-has-children > a:after,
.accordian-menu > a:after {
display: inline-block;
content: "\e874";
margin-left: 5px;
line-height: 8px !important;
font-size: 11px;
font-family:linearicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;

-webkit-transition: 0.2s ease;
-moz-transition:  0.2s ease;
transition:  0.2s ease;
}

#mobile-menu li.our-sites.mm-opened > a::after,
#secondary-nav #nm-main-menu-ul > li.menu-item-has-children.active > a:after,
.mm-listview .menu-item-has-children.mm-opened > a:after,
.accordian-menu.opened > a:after {
-webkit-transform: rotateZ(-180deg);
-moz-transform: rotateZ(-180deg);
transform: rotateZ(-180deg);
}

.nm-right-menu ul li.nm-menu-search,
.nm-right-menu ul li.nm-menu-login {
display: block !important;
}

@media all and (max-width: 600px) {
	.nm-right-menu ul li.nm-menu-login {
	display: none !important;
	}

}
@media all and (max-width: 1024px) {
	body .nm-right-menu li a {
	font-size: 13px;
	}

}
@media all and (max-width: 880px) {
	.nm-menu li.nm-menu-offscreen {
	display: none;
	}

}
@media all and (max-width: 840px) {
	.nm-menu li.nm-menu-offscreen {
	display: block;
	}

	.vertical-logo.active::before {
	display: none;
	}

}
.page-overlay{
background: rgba(0, 0, 0, 0.5);
bottom: 0;
display: none;
height: 100%;
position: fixed;
top: 0;
width: 100%;
z-index: 1000;
}

.nm-page-overlay {
background: rgba(0, 0, 0, 0.5);
}

#passwordless-login {
max-width: 400px;
}

#passwordless-login p {
margin: 0;
}

#nm-checkout-login-form .wpa-error + p #wpa-submit,
#passwordless-login #wpa-submit {
margin-top: 10px;
width: 100%;
text-align: center;
}

#place_order, #customer_details .form-row input[type="submit"] {
background: url("images/icon-locked.png") 30px 50% no-repeat #3bd36d;
background-size: 16px 21px;
color: #fff;
border: none;
font-size: 24px;
text-transform: none;
padding-top: 20px;
padding-bottom: 20px;
margin-top: 25px;
}

@media only screen and (max-width: 550px) {
	#place_order, #customer_details .form-row input[type="submit"] {
	font-size: 16px;
	}

}
@media only screen and (max-width: 400px) {
	#place_order, #customer_details .form-row input[type="submit"] {
	padding: 20px 50px;
	height: auto;
	white-space:normal;
	}

}
.bio-section {
clear: both;
overflow: hidden;
}

.bio-panel {
--gap: 30px;
font-size: 0;
display: flex;
flex-wrap: wrap;
gap: 0 var(--gap);
}

body .bio-panel li {
list-style: none;
margin: calc(var(--gap) / 2) 0;
display: inline-block;
width: calc(25% - (var(--gap) / 4  + var(--gap) / 2));
clear: none;
box-sizing: border-box;
vertical-align: text-top;
font-size: 18px;
}

@media only screen and (max-width: 600px) {
	body .bio-panel li {
	font-size: 16px;
	}

}
@media only screen and (min-width:901px) {
	body .bio-panel[data-columns="3"] li {
	width: calc(33.33% - (var(--gap) / 3 + var(--gap) / 3));
	}

}
.bio .overlay-box {
border-radius: 10px;
position: relative;
overflow: hidden;
margin-bottom: 10px;
-webkit-mask-image: -webkit-radial-gradient(white, black);
}

body .bio-panel a:hover img, body .bio-panel .active a img {
opacity: .7;
}

.bio-panel.selected .bio img {
opacity: .7;
}

.bio-panel.selected .active .bio img {
opacity: 1;
}

.bio-panel a, .bio-panel a:hover {
text-decoration: none;
color: #444;
}

.bio-panel li(:not(.open-bio)) img {
width: 100%;
display: block;
border-radius: 10px;
}

.bio-content {
display: none;
}

.open-bio .bio-content {
display: block;
}

.bio-panel p:last-child {
margin-bottom: 0;
}

body .bio-panel li.open-bio {
width: 100%;
}

@media only screen and (max-width: 1000px) {
	.bio-panel {
	--gap: 20px;
	}

}
@media only screen and (max-width: 900px) {
	body .bio-panel li { width: calc(50% - (var(--gap) / 2)); }

}
@media only screen and (max-width: 370px) {
	body .bio-panel li { width: 100%; }

}
.large {
font-size: 150%;
}

@media all and (min-width: 841px) {
	.toggle-menu,
	.toggle-course {
	display: none !important;
	}

}
.toggle-menu:hover,
.toggle-course:hover {
opacity: .75;
}

body .mm-menu .mm-panel .mm-navbar-top a {
color: rgba(0, 0, 0, 0.65) !important;
}

.mm-panels, .mm-panels > .mm-panel {
background: #4eb9aa !important;
}

body .mm-listview > li > a, body .mm-listview > li > span {
color: #fff !important;
}

body .members-mobile .mm-listview > li > a, body .members-mobile .mm-listview > li > span {
color: #253540 !important;
}

.mm-listview > li:not(.mm-divider)::after {
border: none !important;
}

.mm-menu > .mm-navbar-top {
background: #fff !important;
height: 50px;
border: 0 !important;
}

.mm-panels > .mm-panel > .mm-listview:first-child, .mm-panels > .mm-panel > .mm-navbar + .mm-listview {
margin-top: -10px !important;
}

.mm-listview > li > a, .mm-listview > li > span {
font-weight: bold;
font-size: 16px;
}

.mm-listview .mm-next::before {
border: none;
background: none !important;
}

.mm-menu .mm-listview > li .mm-arrow::after, .mm-menu .mm-listview > li .mm-next::after {
border-color: rgba(255, 255, 255, 0.7) !important;
}

.mm-listview .mm-next::before {
opacity: .75;
}

.mm-menu .mm-divider, .mm-menu .mm-listview > li.mm-opened.mm-vertical > .mm-panel, .mm-menu .mm-listview > li.mm-opened.mm-vertical > a.mm-next, .mm-menu.mm-vertical .mm-listview > li.mm-opened > .mm-panel, .mm-menu.mm-vertical .mm-listview > li.mm-opened > a.mm-next, .mm-menu .sub-menu-wrap {
background: #a9e47d !important;
color: #444 !important;
}

.mm-menu.mm-vertical .mm-listview > li.mm-opened > a.mm-next:after {
border-color: #444 !important;
}

body .mm-listview > li.mm-opened .sub-menu-wrap li > a, body .mm-listview > li .sub-menu-wrap li > a {
color: #253540 !important;
}

.mm-menu .mm-listview > li.mm-selected > a:not(.mm-next), .mm-menu .mm-listview > li.mm-selected > span {
background: none !important;
}

#mobile-menu .mm-next {
display: none !important;
}

.mm-listview .mm-next + a, .mm-listview .mm-next + span {
margin-right: 0 !important;
}

#mobile-menu input,
.mm-navbar #nav_searchform input {
width: 50%;
}

.mm-navbar {
padding: 10px 10px 10px 20px;
}

#mobile-menu #nav-s,
.mm-navbar #nav-s {
width: 70%;
height: 30px;
padding: 0 10px;
vertical-align: top;
font-size: 14px;
}

#mobile-menu #nav-searchsubmit,
.mm-navbar #nav-searchsubmit {
font-weight: bold;
width: 28%;
height: 30px;
padding: 0;
margin-bottom: -2px;
font-family:linearicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;
}

#mobile-menu #nav-searchform {
padding: 20px 20px 5px 20px;
background: #fff;
}

.button.ui,
#mobile-menu li.our-sites a:after,
body .mm-listview > li.our-sites > a::after,
.accordian-menu > a:after {
background: #4eb9aa;
border-color: #008c78;
padding: 4px 4px;
margin: 0 5px;
font-size: 80%;
color: #fff;
display: inline-block;
}

.mm-navbar > .our-sites {
padding: 0;
}

#mobile-menu li.our-sites .sub-menu-wrap {
display: none;
text-align: left;
}

#mobile-menu li.our-sites .sub-menu-wrap > .wrap {
background: #fff;
}

#mobile-menu li.our-sites.mm-opened a:after,
body .mm-listview > li.our-sites.mm-opened > a::after {
border-bottom: 0;
border-top: 2px solid #008c78;
}

#mobile-menu li.our-sites img,
body .mm-listview > li.our-sites img {
vertical-align: middle;
margin: 15px 20px;
}

#mobile-menu li.our-sites > a,
body .mm-listview > li.our-sites > a,
body .mm-panels ul.mm-listview > li.our-sites.mm-selected > a {
font-size: 16px;
color: #253540 !important;
background: #e0e0e0 !important;
padding-top: 15px;
padding-bottom: 15px;
padding-left: 20px;
width: 100%;
display: block;
text-align: left;
font-weight: bold;
}

html body #mobile-menu li.our-sites > div.sub-menu-wrap,
html body .mm-panels ul.mm-listview > li.our-sites.mm-opened > div.sub-menu-wrap,
html body .mm-panels ul.mm-listview > li.our-sites > div.sub-menu-wrap {
border-top: 1px solid #cacaca;
background: #e0e0e0 !important;
}

@media all and (max-width: 840px) {
	.toggle-menu,
	.toggle-course {
	display: inline-block !important;
	}

	.mm-opening #nm-widget-panel, .mm-opened #nm-widget-panel {
	display: none;
	}

}
@media only screen and (max-width: 550px) {
	.toggle-menu span.hide {
	display: none !important;
	}

	.nm-menu-cart .count {
	color: #4eb9aa !important;
	}

	.nm-menu-cart .count::before,
	.nm-menu-cart .count::after {
	display:  none;
	}

	html .header-mobile-default .nm-menu li a,
	body .nm-right-menu li a {
	padding-left: 5px;
	padding-right: 5px;
	}

	body .nm-right-menu {
	margin-right: -5px;
	}

	.nm-menu-cart .count {
	top: 0;
	}

	table.woocommerce-table .button,
	table.woocommerce-table {
	font-size: 11px !important;
	}

}
@media only screen and (max-width: 480px) {
	.toggle-course span.hide {
	display: none !important;
	}

}
@media only screen and (max-width: 468px) {
	.toggle-course span.hide {
	display: inline !important;
	}

	.header-mobile-alt .nm-right-menu ul li.nm-menu-cart {
	display: block !important;
	}

	.header-mobile-alt .nm-menu li a {
	padding-left: 2px;
	}

}
@media only screen and (max-width: 400px) {
	.toggle-course span.hide {
	display: none !important;
	}

}
@media only screen and (max-width: 345px) {
	.toggle-menu span.hide-2,
	.toggle-course span.hide-2 {
	display: none !important;
	}

	.nm-right-menu {
	float: right !important;
	}

	.nm-menu-cart .nm-menu-cart-title {
	display: none;
	}

}
@media only screen and (max-width: 320px) {
	.nm-right-menu {
	float: none;
	}

	.vertical-logo img,
	.vertical-logo {
	width: 100%;
	}

	.nm-menu-cart-title {
	display: none;
	}

}
.nm-widget-panel.mm-slideout {
z-index: 1020;
}

#nm-widget-panel-overlay.mm-slideout, #nm-page-overlay.mm-slideout {
z-index: 1000;
}

body .nm-coupon-popup-wrap .mfp-close {
display: block !important;
font-size:16px;
line-height:32px;
display:block;
width:32px;
height:32px;
background: black;
color: #fff;
border-radius:100%;
position:absolute;
top:-15px;
right:-15px;
text-align: center;
cursor: pointer;
}

.mfp-fade.mfp-bg {
opacity: 0;
transition: all .3s;
}

.mfp-fade.mfp-bg.mfp-ready    { opacity: .9; }

.mfp-fade.mfp-bg.mfp-removing { opacity: 0; }

.mfp-fade.mfp-wrap .mfp-content {
opacity: 0;
transition: all .3s;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content    { opacity: 1; }

.mfp-fade.mfp-wrap.mfp-removing .mfp-content { opacity: 0; }

button[data-plyr="language"][value="1"] {
display: none !important;
}

#plyr-music-1 {
min-width: 120px;
}

#plyr-music-1 button {
margin-top: 0;
font-weight: bold;
}

#plyr-music-1.plyr__menu__container .plyr__control > span {
white-space: nowrap;
}

.plyr__music__disabled svg  {
color: #e3baba;
}

.plyr__music__disabled:hover svg  {
color: #ede0e0;
}

.plyr__music__disabled:before {
content: "";
display: block;
width: 62%;
height: 1px;
background: #f78b8b;
position: absolute;
top: 72%;
left: 43%;
border-radius: 10px;
transform: rotate(45deg) translate(-50%, -50%);
}

.plyr__music {
position: relative;
}

.plyr__music[aria-expanded="true"] svg {
transform: none !important;
}

.plyr__music__volumes {
padding-top: 5px;
margin-top: 10px;
border-top: 1px solid #dedede;
display: flex;
align-items: center;
justify-content: space-between;
}

.plyr__music__volumes button {
width: 32% !important;
}

.plyr__music__volumes button path {
transition: .25s ease;
}

.plyr__music__volumes .current path {
stroke: #4eb9aa;
}

.plyr__music__volumes button:hover path {
stroke: #fff;
}

.plyr__volume {
min-width: 20px;
}

@media all and (max-width: 500px) {
	.plyr__volume {
	display: none;
	}

}
@media all and (max-width: 400px) {
	.plyr__controls .plyr__control[data-plyr="music_track"] {
	padding-top: 3px !important;
	padding-bottom: 3px !important;
	font-size: 11px;
	}

}
.plyr--hide-controls #plyr-music-1 {
visibility: hidden;
}

.si-icon {
display: inline-block;
width: 1em;
height: 1em;
stroke-width: 0;
stroke: currentColor;
fill: currentColor;
vertical-align: middle;
line-height: 1;
margin-top: -.15em;
font-size: inherit;
}

.si-icon path {
fill: currentColor !important;
}

.si-icon svg {
max-width: 100%;
max-height: 100%;
}

