/*
Theme Name:     Ortho Precision
Theme URI:
Description:    Astra child theme.
Author:         Me
Author URI:
Template:       astra
Version:        0.1.0
*/

/*
 * ---------------------------------------------------------------------------------------------------------------------
 * Theme Overrides / Global
 * =====================================================================================================================
 */

:root {
	--clr-purple: #311792;
	--clr-light-purple: #7e8cf2;
	--clr-btn-purple: #693dcc;
	--clr-btn-purple-v2: #4F3F98;
	--clr-grey: #E8E8EA;
	--clr-body-text: #ffffff;
	--clr-bg-grey: #EEEEEE;
	--clr-bg-dark-purple: #12121e;
	--clr-bg-purple: #251449;
	--clr-title-dark: #02021C;
	--clr-nav-text: #ffffff;
	--clr-white: #ffffff;
	--clr-black: #000000;

	--ff-heading: 'Figtree', Verdana, Arial, sans-serif;
	--ff-body: 'Figtree', Verdana, Arial, sans-serif;

	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fw-bold: 700;
	--fw-extrabold: 800;
}

body {
	background-color: var(--clr-bg-dark-purple) !important;
}

nav ul li a.menu-link .menu-text {
	color: var(--clr-white) !important;
}
nav .sub-menu {
	background: rgb(116,116,117) !important;
	background: -moz-linear-gradient(0deg, rgba(116,116,117,1) 0%, rgba(232,232,234,1) 100%) !important;
	background: -webkit-linear-gradient(0deg, rgba(116,116,117,1) 0%, rgba(232,232,234,1) 100%) !important;
	background: linear-gradient(0deg, rgba(116,116,117,1) 0%, rgba(232,232,234,1) 100%) !important;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#747475",endColorstr="#e8e8ea",GradientType=1) !important;
}
nav ul.sub-menu li a.menu-link .menu-text {
	color: var(--clr-bg-dark-purple) !important;
}

.ast-mobile-popup-right nav ul li a.menu-link .menu-text {
	color: var(--clr-bg-dark-purple) !important;
}

.fl-row-content-wrap {
	margin: 3em 0;
}
footer .fl-row-content-wrap {
	margin: 0;
}

.opr-content__header .fl-row-content-wrap {
	margin: 0;
}

.single header.entry-header {
	display: none;
}

/*.opr-home__btn-services-mobile {
	display: block;
}
.opr-home__btn-services-desktop {
	display: none;
}*/

h2,
h3 {
	color: var(--clr-light-purple) !important;
}

.fl-rich-text p {
	color: var(--clr-white) !important;
}

a.uabb-button {
	background-color: var(--clr-btn-purple) !important;
	padding: 0.5em 3em !important;
}
a.uabb-button .uabb-button-text {
	color: var(--clr-white) !important;
	font-size: 1rem !important;
	line-height: 1.5rem !important;
	font-weight: var(--fw-bold) !important;
}

header.entry-header,
nav.navigation {
	display: none !important;
}

.single.ast-page-builder-template .entry-header + .entry-content {
	margin-bottom: 0 !important;
}


.uabb-icon-wrap .uabb-icon i {
	color: var(--clr-blue) !important;
}

.fl-rich-text a {
	text-decoration: none !important;
}

[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal {
	background: var(--clr-blue) !important;
}

[CLASS*="-sticky-header-active"] .ast-header-sticked [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
	fill: var(--clr-white) !important;
}

.opr-bg-img__min-height {
	min-height: 540px;
}

.opr-bg__grey .fl-row-content-wrap {
	background-color: var(--clr-bg-grey);
}


.site-header-above-section-right .ast-custom-button {
	background-color: transparent !important;
	color: var(--clr-blue) !important;
	font-weight: var(--fw-extrabold) !important;
}

.opr-nav__btn a.menu-link .menu-text {
	background-color: var(--clr-light-purple) !important;
	border-radius: 2em !important;
	padding: 0.75em 1.75em !important;
	line-height: 1;
	color: var(--clr-white) !important;
}


article a {
	color: var(--clr-body-text) !important;
	font-weight: var(--fw-bold) !important;
	text-decoration: underline !important;
}


footer p,
footer li {
	color: var(--clr-white) !important;
}

footer img {
	width: 50%;
	height: auto;
}



.uabb-blog-posts .uabb-post-heading a {
    color: var(--clr-black) !important;
}


table td {
	color: var(--clr-white) !important;
}

.fl-rich-text ol li,
.fl-rich-text ul li {
	color: var(--clr-white) !important;
}


/*
 * ---------------------------------------------------------------------------------------------------------------------
 * Rows
 * =====================================================================================================================
 */

.opr-row__home-hero {
	background-image: url('/wp-content/uploads/2026/06/opr-bg__home-hero-001.avif');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: left center;
	height: 689px;
}

.opr-row__bg-purple {
	background-color: var(--clr-bg-purple) !important;
}

.opr-row__white {
	background-color: var(--clr-white) !important;
	padding:2em 0 !important;
}

.opr-row__grey {
	background-color: var(--clr-grey) !important;
	padding: 2em 0 !important;
}

.opr-row__cta-wide {
	background-image: url('/wp-content/uploads/2026/06/opr-bg__cta-wide-001.avif');
	background-repeat: no-repeat;
	background-size: cover;
	padding: 2em 0 !important;
}

.opr-row__cta-container .fl-row-content-wrap .fl-row-fixed-width {
	background-image: url('/wp-content/uploads/2026/06/opr-bg__cta-wide-001.avif');
	background-repeat: no-repeat;
	background-size: 100%;
	padding: 2em 0 !important;
}

.opr-row__content-gradient {
	background-image: url('/wp-content/uploads/2026/06/opr-bg__content-hero-gradient-001.avif');
	background-repeat: no-repeat;
	background-size: cover;
	padding: 1em 0;
}



/*
 * ---------------------------------------------------------------------------------------------------------------------
 * Infoboxes
 * =====================================================================================================================
 */

.opr-infobox__home-hero-v2 .uabb-infobox-title-prefix {
	font-family: var(--ff-heading) !important;
	font-weight: var(--fw-medium) !important;
	color: var(--clr-white) !important;
	font-size: 4.375rem; !important;
	font-size: clamp(2.75rem, 1.75rem + 3vw, 4.375rem); !important;
	letter-spacing: -0.002em;
	line-height: 1.4;
}
.opr-infobox__home-hero-v2 .uabb-infobox-title {
	font-family: var(--ff-body) !important;
	font-weight: var(--fw-medium) !important;
	color: var(--clr-white) !important;
	font-size: 1.8125rem; !important;
	font-size: clamp(1.25rem, 0.9rem + 1.25vw, 1.8125rem); !important;
	letter-spacing: -0.005em;
	line-height: 1.4;
}


.opr-infobox__pillars-v2 .uabb-infobox-text p,
.opr-infobox__pillars-v2 .uabb-infobox-text li {
	font-family: var(--ff-body) !important;
	font-weight: var(--fw-medium) !important;
	font-size: 1.5rem !important;
	line-height: calc(2 / 1.5) !important;
	color: var(--clr-white) !important;
}
.opr-infobox__pillars-v2 .uabb-infobox-text p,
.opr-infobox__pillars-v2 .uabb-infobox-text li {

}
.opr-infobox__pillars-v2 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.opr-infobox__pillars-v2 li:not(:last-child)::after {
	content: "|";
	margin-left: 0.75rem;
}


.opr-infobox__knee-cond {
	border: 1px solid var(--clr-bg-dark-purple) !important;
	border-radius: 1em !important;
	background-image: url('/wp-content/uploads/2026/06/opr-bg__knee-conditions-001.avif');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right center;
}
.opr-infobox__knee-cond .uabb-infobox-title-prefix {
	font-family: var(--ff-heading) !important;
	font-weight: var(--fw-medium) !important;
	color: var(--clr-bg-dark-purple) !important;
	font-size: 1.875rem !important;
	line-height: calc(2.25 / 1.875) !important;
}
.opr-infobox__knee-cond .uabb-infobox-text-wrap,
.opr-infobox__hip-cond .uabb-infobox-text-wrap,
.opr-infobox__content-v2 .uabb-infobox-text-wrap,
.opr-infobox__rounded-border .uabb-infobox-text-wrap {
	margin-top: 1em !important;
}
.opr-infobox__knee-cond .uabb-infobox-text p,
.opr-infobox__knee-cond .uabb-infobox-text li {
	font-family: var(--ff-body) !important;
	font-weight: var(--fw-medium) !important;
	font-size: 1.125rem !important;
	line-height: calc(1.75 / 1.125) !important;
	color: var(--clr-bg-dark-purple) !important;
}

.opr-infobox__hip-cond {
	border: 1px solid var(--clr-bg-dark-purple) !important;
	border-radius: 1em !important;
	background-image: url('/wp-content/uploads/2026/06/opr-bg__hip-conditions-001.avif');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right center;
}
.opr-infobox__hip-cond .uabb-infobox-title-prefix {
	font-family: var(--ff-heading) !important;
	font-weight: var(--fw-medium) !important;
	color: var(--clr-bg-dark-purple) !important;
	font-size: 1.875rem !important;
	line-height: calc(2.25 / 1.875) !important;
}
.opr-infobox__hip-cond .uabb-infobox-text p,
.opr-infobox__hip-cond .uabb-infobox-text li {
	font-family: var(--ff-body) !important;
	font-weight: var(--fw-medium) !important;
	font-size: 1.125rem !important;
	line-height: calc(1.75 / 1.125) !important;
	color: var(--clr-bg-dark-purple) !important;
}


.opr-infobox__rounded-border {
	border: 1px solid var(--clr-bg-dark-purple) !important;
	border-radius: 1em !important;
}
.opr-infobox__rounded-border .uabb-infobox-title-prefix {
	font-family: var(--ff-heading) !important;
	font-weight: var(--fw-medium) !important;
	color: var(--clr-bg-dark-purple) !important;
	font-size: 1.875rem !important;
	line-height: calc(2.25 / 1.875) !important;
}
.opr-infobox__rounded-border .uabb-infobox-text p,
.opr-infobox__rounded-border .uabb-infobox-text li {
	font-family: var(--ff-body) !important;
	font-weight: var(--fw-medium) !important;
	font-size: 1.125rem !important;
	line-height: calc(1.75 / 1.125) !important;
	color: var(--clr-bg-dark-purple) !important;
}

.opr-infobox__content-v2 .uabb-infobox-title-prefix {
	font-family: var(--ff-heading) !important;
	font-weight: var(--fw-regular) !important;
	font-size: 2.25rem !important;
	line-height: calc(2.5 / 2.25) !important;
	color: var(--clr-bg-dark-purple) !important;
}
.opr-infobox__content-v2 .uabb-infobox-title {
	font-family: var(--ff-heading) !important;
	font-weight: var(--fw-medium) !important;
	color: var(--clr-bg-dark-purple) !important;
	font-size: 1.875rem !important;
	line-height: calc(2.25 / 1.875) !important;
}
.opr-infobox__content-v2 .uabb-infobox-text p,
.opr-infobox__content-v2 .uabb-infobox-text li {
	font-family: var(--ff-body) !important;
	font-weight: var(--fw-regular) !important;
	font-size: 1.125rem !important;
	line-height: calc(1.75 / 1.125) !important;
	color: var(--clr-bg-dark-purple) !important;
}


.opr-infobox__light-text .uabb-infobox-title-prefix,
.opr-infobox__light-text .uabb-infobox-title,
.opr-infobox__light-text .uabb-infobox-text p,
.opr-infobox__light-text .uabb-infobox-text li {
	color: var(--clr-white) !important;
}

.opr-infobox__hero-text .uabb-infobox-title-prefix {
	font-size: 4.375rem; !important;
	font-size: clamp(2.75rem, 1.75rem + 3vw, 4.375rem); !important;
	letter-spacing: -0.002em;
	line-height: 1.4;
}
.opr-infobox__hero-text .uabb-infobox-text p,
.opr-infobox__hero-text .uabb-infobox-text li {
	font-size: 1.125rem !important;
	line-height: calc(1.75 / 1.125) !important;
}







/*
 * ---------------------------------------------------------------------------------------------------------------------
 * Buttons
 * =====================================================================================================================
 */

.opr-infobox__home-hero-v2 a.uabb-button,
.opr-infobox__light-text a.uabb-button {
	border: 1px solid var(--clr-white) !important;
	border-radius: 1em !important;
	background-color: transparent !important;
}
.opr-infobox__home-hero-v2 a.uabb-button .uabb-button-text,
.opr-infobox__light-text a.uabb-button .uabb-button-text {
	font-family: var(--ff-body) !important;
	font-weight: var(--fw-bold) !important;
	font-size: 1.25rem !important;
	line-height: 1.45 !important;
	text-decoration: none !important;
}

.opr-infobox__btn-purple a.uabb-button {
	background-color: var(--clr-btn-purple-v2) !important;
	border: 1px solid var(--clr-btn-purple-v2) !important;
}





/*
 * ---------------------------------------------------------------------------------------------------------------------
 * Advanced Posts
 * =====================================================================================================================
 */

.opr-posts__advanced .uabb-blog-posts-shadow {
	background: transparent !important;
	box-shadow: none !important;
}




/*
 * ---------------------------------------------------------------------------------------------------------------------
 * Home
 * =====================================================================================================================
 */


.opr-home__hero .fl-row-content-wrap {
	min-height: 25vh;
}

.opr-infobox__hero .uabb-infobox-title-prefix {
	font-family: var(--ff-heading) !important;
	font-weight: 400 !important;
	/*font-size: 2.5rem !important;
	line-height: 2.5rem !important;*/
	font-size: 3.25rem !important;
	line-height: 1.2 !important;
	color: var(--clr-grey) !important;
	text-shadow: 5px 5px 15px var(--clr-black) !important;
}

.opr-home__btn-row {
	background-color: var(--clr-black);
}

.opr-btn-pillar__primary {
	background-color: var(--clr-blue);
	border-radius: 1em;
	/*width: 95%;
	margin-right: 2%;
	position: relative;
	z-index: 3;*/
	margin: 1em;
	width: auto;
}
.opr-btn-pillar__primary .uabb-infobox-title-prefix {
	color: var(--clr-white);
	font-weight: var(--fw-extrabold);
	font-size: 1.875rem;
	line-height: 2.25rem;
}
.opr-btn-pillar__primary .uabb-infobox-text p {
	color: var(--clr-white);
	font-weight: var(--fw-regular);
	font-size: 1.5rem !important;
	line-height: 2rem !important;
}
.opr-btn-pillar__primary a.uabb-button {
	background-color: var(--clr-btn-purple) !important;
	padding: 0.5em 3em !important;
}
.opr-btn-pillar__primary a.uabb-button .uabb-button-text {
	color: var(--clr-white) !important;
	font-size: 1rem !important;
	line-height: 1.5rem !important;
	font-weight: var(--fw-bold) !important;
}

.opr-btn-pillar__secondary {
	background-color: var(--clr-green);
	border-radius: 1em;
	/*width: 95%;
	margin-right: 2%;
	position: relative;
	z-index: 3;*/
	margin: 1em;
	width: auto;
}
.opr-btn-pillar__secondary .uabb-infobox-title-prefix {
	color: var(--clr-white);
	font-weight: var(--fw-extrabold);
	font-size: 1.875rem;
	line-height: 2.25rem;
}
.opr-btn-pillar__secondary .uabb-infobox-text p {
	color: var(--clr-white);
	font-weight: var(--fw-regular);
	font-size: 1.5rem !important;
	line-height: 2rem !important;
}
.opr-btn-pillar__secondary a.uabb-button {
	background-color: var(--clr-white) !important;
	padding: 0.5em 3em !important;
}
.opr-btn-pillar__secondary a.uabb-button .uabb-button-text {
	color: var(--clr-green) !important;
	font-size: 1rem !important;
	line-height: 1.5rem !important;
	font-weight: var(--fw-bold) !important;
}


.opr-bg__light-blue {
	background-color: var(--clr-bg-light-blue);
}


.opr-infobox__content .uabb-infobox-title-prefix {
	color: var(--clr-white);
	font-weight: var(--fw-extrabold) !important;
	margin-bottom: 1em;
}
.opr-infobox__content .uabb-infobox-title {
	color: var(--clr-white);
	font-weight: var(--fw-extrabold) !important;
}
.opr-infobox__content .uabb-infobox-text p,
.opr-infobox__content .uabb-infobox-text li {
	color: var(--clr-body-text) !important;
	font-weight: var(--fw-regular) !important;
}
.opr-infobox__content-columns .uabb-infobox-text {
	columns: 2 250px;
}
.opr-infobox__content a.uabb-button,
a.fl-button {
	background-color: var(--clr-btn-purple) !important;
	padding: 0.5em 3em !important;
	border-radius: 2em !important;
	border-color: var(--clr-btn-purple) !important;
}
.opr-infobox__content a.uabb-button .uabb-button-text,
.fl-button-text {
	color: var(--clr-white) !important;
	font-size: 1rem !important;
	line-height: 1.5rem !important;
	font-weight: var(--fw-bold) !important;
}

.opr-infobox__content-dark-txt .uabb-infobox-title-prefix {
	color: var(--clr-bg-dark-purple);
	font-weight: var(--fw-extrabold) !important;
	margin-bottom: 1em;
}
.opr-infobox__content-dark-txt .uabb-infobox-title {
	color: var(--clr-title-dark);
	font-weight: var(--fw-extrabold) !important;
}
.opr-infobox__content-dark-txt .uabb-infobox-text p,
.opr-infobox__content-dark-txt .uabb-infobox-text li {
	color: var(--clr-bg-dark-purple);
	font-weight: var(--fw-regular) !important;
}
.opr-infobox__content-dark-txt a.uabb-button,
.opr-infobox__content-dark-txt a.fl-button {
	background-color: var(--clr-btn-purple) !important;
	padding: 0.5em 3em !important;
	border-radius: 2em !important;
}
.opr-infobox__content-dark-txt a.uabb-button .uabb-button-text,
.opr-infobox__content-dark-txt .fl-button-text {
	color: var(--clr-white) !important;
	font-size: 1rem !important;
	line-height: 1.5rem !important;
	font-weight: var(--fw-bold) !important;
}

.opr-content__text-center .uabb-infobox-title-prefix,
.opr-content__text-center .uabb-infobox-title,
.opr-content__text-center .uabb-infobox-text p,
.opr-content__text-center .uabb-infobox-text li,
.opr-content__text-center .uabb-button-wrap {
	text-align: center;
}

.opr-content__text-padding-lg {
	padding: 3em !important;
}

.opr-infobox__grey-heading .uabb-infobox-title-prefix {
	color: var(--clr-body-text) !important;
}



.fl-icon-text p {
	color: var(--clr-body-text) !important;
	font-size: 1.125rem !important;
	line-height: 1.75rem !important;
}
.fl-icon-text p a {
	font-weight: var(--fw-bold) !important;
	color: var(--clr-body-text) !important;
}


.opr-half__blue-left {
	background-color: var(--clr-green);
	border-top-left-radius: 1em;
	border-bottom-left-radius: 1em;
}
.opr-half__img-right .fl-col-content {
	border-top-right-radius: 1em;
	border-bottom-right-radius: 1em;
}


.opr-infobox__img-top img {
	/*margin: 1.5em;*/
	border-top-left-radius: 1em !important;
	border-top-right-radius: 1em !important;
	margin-bottom: 1em !important;
}

.opr-img__rounded img {
	border-radius: 1em !important;
}


.opr-cta__gradient-green {
	/*background: rgb(57,5,152);
	background: -moz-linear-gradient(59deg, rgba(57,5,152,1) 0%, rgba(105,211,235,1) 55%, rgba(148,73,252,1) 100%);
	background: -webkit-linear-gradient(59deg, rgba(57,5,152,1) 0%, rgba(105,211,235,1) 55%, rgba(148,73,252,1) 100%);
	background: linear-gradient(59deg, rgba(57,5,152,1) 0%, rgba(105,211,235,1) 55%, rgba(148,73,252,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#390598",endColorstr="#9449fc",GradientType=1);*/
	background: url('/wp-content/uploads/2023/09/opr-header__content-gradient-001.png') no-repeat;
	background-size: 100% 100%;
	background-position: center center;
}
.opr-cta__gradient-green svg {
	fill: var(--clr-bg-dark-purple) !important;
}

.opr-cta__solid-purple {
	background: rgb(57,5,152);
}
.opr-cta__solid-purple svg {
	fill: var(--clr-grey) !important;
}

.opr-row__bg-grey {
	background-color: var(--clr-grey) !important;
}

.opr-cta__gradient-grey {
	background: rgb(116,116,117);
	background: -moz-linear-gradient(280deg, rgba(116,116,117,1) 0%, rgba(232,232,234,1) 100%);
	background: -webkit-linear-gradient(280deg, rgba(116,116,117,1) 0%, rgba(232,232,234,1) 100%);
	background: linear-gradient(280deg, rgba(116,116,117,1) 0%, rgba(232,232,234,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#747475",endColorstr="#e8e8ea",GradientType=1);
}
.opr-cta__gradient-grey .fl-row-content-wrap {
	margin: 0;
	padding: 3em 0;
}


.opr-cta__round-right {
	border-top-right-radius: 12em;
	border-bottom-right-radius: 12em;
}

.opr-bg__form-gradient {
	/*background: rgb(116,116,117);
	background: -moz-linear-gradient(40deg, rgba(116,116,117, 0.15) 0%, rgba(232,232,234, 0.5) 100%);
	background: -webkit-linear-gradient(40deg, rgba(116,116,117, 0.15) 0%, rgba(232,232,234, 0.5) 100%);
	background: linear-gradient(40deg, rgba(116,116,117, 0.15) 0%, rgba(232,232,234, 0.5) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#747475",endColorstr="#e8e8ea",GradientType=1);
	border-radius: 1em !important;*/
}

.opr-infobox__cta .uabb-infobox-title-prefix {
	color: var(--clr-white) !important;
}
.opr-infobox__cta .uabb-infobox-text p,
.opr-infobox__cta .uabb-infobox-text li {
	color: var(--clr-white) !important;
}
.opr-infobox__cta a.uabb-button {
	background-color: var(--clr-btn-purple) !important;
}
.opr-infobox__cta a.uabb-button .uabb-button-text {
	color: var(--clr-white) !important;
}

.opr-infobox__cta-dark-text .uabb-infobox-title-prefix {
	color: var(--clr-title-dark) !important;
	font-weight: var(--fw-regular) !important;
}
.opr-infobox__cta-dark-text .uabb-infobox-text p,
.opr-infobox__cta-dark-text .uabb-infobox-text li {
	color: var(--clr-title-dark) !important;
}
.opr-infobox__cta-dark-text a.uabb-button {
	background-color: var(--clr-btn-purple) !important;
}
.opr-infobox__cta-dark-text a.uabb-button .uabb-button-text {
	color: var(--clr-white) !important;
}


.opr-bg__green .fl-col-content {
	background-color: var(--clr-green);
}

.krr-bg__rounded .fl-col-content {
	border-radius: 1em;
}


.opr-bg__green .opr-infobox__content a.uabb-button {
	background-color: var(--clr-btn-purple) !important;
}
.opr-bg__green .opr-infobox__content a.uabb-button .uabb-button-text {
	color: var(--clr-white) !important;
}




.opr-home__btn-hip-hover img {
	opacity:0;
	transition: .2s ease-in-out
}
.opr-home__btn-hip-hover img:hover {
	opacity:1;
	transition: .2s ease-in-out;
}
.opr-home__btn-hip-hover-bg .fl-col-content {
	background-image: url('/wp-content/uploads/2023/09/opr-btn__hip-off-001.png');
}
.opr-home__btn-hip-hover-bg .fl-col-content:hover {
	background-image: none;
}
.opr-home__btn-knee-hover img {
	opacity:0;
	transition: .2s ease-in-out
}
.opr-home__btn-knee-hover img:hover {
	opacity:1;
	transition: .2s ease-in-out;
}
.opr-home__btn-knee-hover-bg .fl-col-content {
	background-image: url('/wp-content/uploads/2023/09/opr-btn__knee-off-001.png');
}
.opr-home__btn-knee-hover-bg .fl-col-content:hover {
	background-image: none;
}
.opr-home__btn-sports-hover img {
	opacity:0;
	transition: .2s ease-in-out
}
.opr-home__btn-sports-hover img:hover {
	opacity:1;
	transition: .2s ease-in-out;
}
.opr-home__btn-sports-hover-bg .fl-col-content {
	background-image: url('/wp-content/uploads/2023/09/opr-btn__sports-off-001.png');
}
.opr-home__btn-sports-hover-bg .fl-col-content:hover {
	background-image: none;
}
.opr-home__btn-trauma-hover img {
	opacity:0;
	transition: .2s ease-in-out
}
.opr-home__btn-trauma-hover img:hover {
	opacity:1;
	transition: .2s ease-in-out;
}
.opr-home__btn-trauma-hover-bg .fl-col-content {
	background-image: url('/wp-content/uploads/2023/09/opr-btn__trauma-off-001.png');
}
.opr-home__btn-trauma-hover-bg .fl-col-content:hover {
	background-image: none;
}



.opr-infobox__anim-icon .uabb-image-content img {
	transition: transform 0.3s ease;
	margin-bottom: 1em !important;
}

.opr-infobox__anim-icon:hover .uabb-image-content img {
	transform: translateY(-6px);
}





/*
 * ---------------------------------------------------------------------------------------------------------------------
 * Home button rollovers
 * =====================================================================================================================
 */

.opr-servces__home-btn-row {
	display: flex;
	flex-wrap: wrap;
}

.opr-btn__service {
	width: 25%;
	box-sizing: border-box;
	overflow: hidden;
}

.opr-btn__service a {
	display: block;
	position: relative;
	overflow: hidden;
}

.opr-btn__service img {
	width: 100%;
	height: auto;
	transition: transform 0.3s ease;
}

.no-touch .opr-btn__service-hip a:hover img {
	content: url('/wp-content/uploads/2023/09/opr-btn__hip-on-001.png');
	transform: translateY(-5px);
}

.no-touch .opr-btn__service-knee a:hover img {
	content: url('/wp-content/uploads/2023/09/opr-btn__knee-on-001.png');
	transform: translateY(-5px);
}

.no-touch .opr-btn__service-sports a:hover img {
	content: url('/wp-content/uploads/2023/09/opr-btn__sports-on-001.png');
	transform: translateY(-5px);
}

.no-touch .opr-btn__service-trauma a:hover img {
	content: url('/wp-content/uploads/2023/09/opr-btn__trauma-on-001.png');
	transform: translateY(-5px);
}

@media screen and (max-width: 768px) {
	.opr-btn__service {
		width: 50%;
	}

	.touch .opr-btn__service-hip a:hover img {
		transform: translateY(0);
	}

	.touch .opr-btn__service-knee a:hover img {
		transform: translateY(0);
	}

	.touch .opr-btn__service-sports a:hover img {
		transform: translateY(0);
	}

	.touch .opr-btn__service-trauma a:hover img {
		transform: translateY(0);
	}
}





/*
 * ---------------------------------------------------------------------------------------------------------------------
 * Content
 * =====================================================================================================================
 */

.opr-content__header .fl-module-uabb-heading {
	padding: 3em 0 !important;
}

.opr-content__header .uabb-heading {
	font-family: var(--ff-heading) !important;
	font-weight: var(--fw-bold) !important;
	color: var(--clr-white);
}
.opr-content__header .uabb-subheading {
	font-family: var(--ff-body) !important;
	font-weight: var(--fw-regular) !important;
	color: var(--clr-white);
}

.opr-bg-img__rounded .fl-col-content,
.opr-bg-img__rounded img,
.opr-bg__rounded {
	border-radius: 1em !important;
}

.opr-bg-img__no-padding .fl-module-content {
	margin: 0 !important;
}

.opr-bg-img__bottom-spacing img {
	margin-bottom: 2em;
}


.opr-accordion .uabb-adv-accordion-button {
	background-color: var(--clr-bg-dark-purple) !important;
	border: 1px solid var(--clr-light-purple) !important;
	color: var(--clr-body-text) !important;
	border-radius: 1em;
}
.opr-accordion .uabb-adv-accordion-item.uabb-adv-accordion-item-active {
	border: 1px solid var(--clr-green);
	border-radius: 1em;
}
.opr-accordion .uabb-adv-accordion-item-active .uabb-adv-accordion-button {
	background-color: var(--clr-green);
}
.opr-accordion .uabb-adv-accordion-item-active .uabb-adv-accordion-button-label,
.opr-accordion .uabb-adv-accordion-item-active .uabb-adv-accordion-button-icon {
	color: var(--clr-white) !important;
}
.opr-accordion .uabb-adv-accordion-button-label {
	font-family: var(--ff-body) !important;
	font-weight: var(--fw-regular) !important;
	font-size: 1.5rem !important;
	line-height: 2rem !important;
	color: var(--clr-blue) !important;
}
.opr-accordion .uabb-adv-accordion-content p,
.opr-accordion .uabb-adv-accordion-content li {
	font-size: 1.125rem !important;
	line-height: 1.75rem !important;
	color: var(--clr-body-text) !important;
}
.opr-accordion .uabb-adv-accordion-content p a,
.opr-accordion .uabb-adv-accordion-content li a {
	color: var(--clr-body-text) !important;
	font-weight: var(--fw-bold) !important;
}





.opr-cta__img .fl-row-content-wrap {
	background: url('/wp-content/uploads/2023/08/opr-bg__cta-001-scaled.jpg') no-repeat center left;
	background-size: cover;
}
.opr-cta__img .opr-infobox__content .uabb-infobox-title-prefix {
	font-weight: var(--fw-bold) !important;
	color: var(--clr-white) !important;
}
.opr-cta__img .opr-infobox__content a.uabb-button .uabb-button-text {
	text-transform: uppercase;
	font-size: 1.5rem !important;
	line-height: 2rem !important;
}
.opr-cta__img .uabb-infobox {
	padding: 5em 0;
}




/*
 * ---------------------------------------------------------------------------------------------------------------------
 * Blog
 * =====================================================================================================================
 */


ul.viv-port-cat {
	display: inline;
	margin-left: 0.2em !important;
}

.viv-port-cat li {
	list-style: none;
	display: inline;
	margin-left: 0.5em;
	font-family: var(--ff-heading) !important;
	font-weight: 500;
	color: var(--clr-white);
	text-transform: uppercase;
}
.viv-port-cat li:after {
	content: ' | ';
	margin-left: 0.5em;
}
.viv-port-cat li:last-child:after {
	content: '';
}

ul.viv-blog-cat {
	margin-left: 0.2em !important;
	text-align: center;
}

.viv-blog-cat li {
	list-style: none;
	display: inline;
	margin-left: 0.5em;
	font-family: var(--ff-body) !important;
	font-weight: 300;
	color: #fff;
	/*text-transform: uppercase;*/
}
.viv-blog-cat li:first-child:after {
	content: ' | ';
	margin-left: 0.5em;
}
.viv-blog-cat li:after {
	content: ', ';
	margin-left: 0.2em;
}
.viv-blog-cat li:last-child:after {
	content: '';
}

.blogHeaderImg {
	min-height: 60vh;
	width: 100vw;
}

h1.viv-blog-title {
	font-size: 2em;
	color: #fff;
	text-align: center;
	padding: 12% 0 0 0;
}
p.viv-blog-date-cat {
	font-family: var(--ff-body) !important;
	font-weight: 300;
	color: #fff;
	text-align: center;
}


.uabb-blog-post-inner-wrap h3 a,
.uabb-blog-post-inner-wrap .uabb-cat-links a,
.uabb-blog-post-inner-wrap .uabb-read-more-text a {
	color: var(--clr-bg-dark-purple) !important;
}




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

.gform_body .gfield_label {
	color: var(--clr-light-purple) !important;
	margin-bottom: 0 !important;
	font-size: 1rem !important;
	line-height: 1.5rem !important;
}

.gform_body .gform-field-label--type-sub {
	color: var(--clr-white) !important;
	padding-top: 0 !important;
	font-size: 0.875rem !important;
	line-height: 1 !important;
}

.gform_body .gform-field-label--type-inline,
p.gform_required_legend {
	color: var(--clr-white) !important;
}

.gform_body h3.gsection_title {
	font-size: 1.5rem !important;
	line-height: 2rem !important;
	margin-bottom: 0 !important;
	margin-top: 1em;
}


.dx-content__dark .gfield_required {
	color: var(--clr-light-purple) !important;
}

.uabb-gf-style input[type=text],
.uabb-gf-style input[type=tel],
.uabb-gf-style input[type=email],
.uabb-gf-style input[type=number],
.uabb-gf-style select,
.uabb-gf-style textarea {
	border-bottom: 1px solid var(--clr-grey) !important;
	border-top: none !important;
	border-right: none !important;
	border-left: none !important;
	background-color: transparent !important;
}

.uabb-gf-style input[type=submit],
.gform_button_select_files {
	background-color: var(--clr-btn-purple) !important;
	border-radius: 1em !important;
	color: var(--clr-white) !important;
}




/*
 * ---------------------------------------------------------------------------------------------------------------------
 * Amelia
 * =====================================================================================================================
 */

.amelia-v2-booking #amelia-container .am-advsc.fc-theme-standard td.am-advsc__dayGridMonth-cell.am-advsc__dayGridMonth-disabled .fc-daygrid-day-frame {
	background-color: var(--am-c-advsc-cell-bgr) !important;
}
.amelia-v2-booking #amelia-container .am-advsc.fc-theme-standard td.am-advsc__dayGridMonth-cell .fc-daygrid-day-frame {
	background-color: rgba(82, 26, 175, 0.8) !important;
	position: relative !important;
	z-index: 1 !important;
}
.fc-daygrid-day-number {
	color: var(--clr-white) !important;
	position: relative !important;
	z-index: 10 !important;
}





/*
 * ---------------------------------------------------------------------------------------------------------------------
 * Footer
 * =====================================================================================================================
 */

.opr-footer__locations .uabb-infobox-title-prefix {
	font-size: 1rem !important;
	line-height: 1.5rem !important;
	color: var(--clr-white) !important;
}
.opr-footer__locations .uabb-infobox-text p,
.opr-footer__locations .uabb-infobox-text li {
	font-size: 0.875rem !important;
	line-height: 1.25rem !important;
	color: var(--clr-white) !important;
	padding-bottom: 0.5em !important;
	margin-bottom: 0.5em !important;
}

footer a {
	color: var(--clr-white) !important;
	font-weight: var(--fw-bold) !important;
}



/*
 * ---------------------------------------------------------------------------------------------------------------------
 * ---------------------------------------------------------------------------------------------------------------------
 * Media Queries
 * =====================================================================================================================
 * =====================================================================================================================
 */

/* Small devices  */
@media only screen and (min-width: 20em)
{
	.opr-home__hero .fl-row-content-wrap {
		min-height: 50vh;
		background-position: 85% center !important;
		position: relative;
		z-index: 5;
		background-size: cover;
		margin: 0 !important;
	}

	.opr-infobox__content .uabb-infobox-text p,
	.opr-infobox__content .uabb-infobox-text li {
		font-size: 1.125rem !important;
		line-height: 1.75rem !important;
	}


	.opr-btn-pillar__primary,
	.opr-btn-pillar__secondary {
		margin-right: 2%;
	}

	.opr-bg-img__min-height img {
		min-height: 540px;
	}

	.opr-cta__img .opr-infobox__content .uabb-infobox-title-prefix {
		font-size: 2.25rem !important;
		line-height: 2.5rem !important;
	}

}

@media (max-width: 768px)
{
	.fl-row[data-node] .fl-row-content-wrap {
		background-position: inherit;
	}
}


/* Low DPI Laptop (~1280px) */
@media only screen and (min-width: 80em)
{

	/*.opr-home__btn-services-mobile {
		display: none;
	}
	.opr-home__btn-services-desktop {
		display: block;
	}*/

	.fl-row-fixed-width {
		max-width: 1300px;
	}

	.opr-home__hero .fl-row-content-wrap {
		background-position: left center !important;
		background-size: cover;
	}

	.opr-home__pillar-btn {
		position: relative;
		margin-top: -10em;
	}

	.opr-btn-pillar__primary,
	.opr-btn-pillar__secondary {
		z-index:6;
	}

	.opr-infobox__content .uabb-infobox-title-prefix {
		font-size: 2.25rem !important;
		line-height: 2.5rem !important;
	}
	.opr-infobox__content .uabb-infobox-title {
		font-size: 1.875rem !important;
		line-height: 2.5rem !important;
	}

	.opr-content__header .uabb-heading {
		font-size: 3rem !important;
		line-height: 1 !important;
	}

	.opr-cta .fl-row-content-wrap {
		margin-right: 5%;
	}
	.opr-infobox__cta {
		margin-left: 7em;
	}
	.opr-cta__gradient-blue img {
		height: 266px;
		width: 266px;
	}

	.opr-cta__img .opr-infobox__content .uabb-infobox-title-prefix {
		font-size: 3rem !important;
		line-height: 1 !important;
	}

	.opr-infobox__knee-cond .uabb-infobox-text p,
	.opr-infobox__knee-cond .uabb-infobox-text li,
	.opr-infobox__hip-cond .uabb-infobox-text p,
	.opr-infobox__hip-cond .uabb-infobox-text li {
		width: 46ch;
	}
}


/* HD monitor (~1920px) */
@media only screen and (min-width: 120em)
{
	.opr-cta .fl-row-content-wrap {
		margin-right: 15%;
	}
	.opr-infobox__cta {
		margin-left: 41em;
	}
	.opr-infobox__cta .uabb-infobox-text p {
		width: 65ch;
	}
}




/* QHD monitor (~2560px) */
@media only screen and (min-width: 160em)
{
	.opr-cta .fl-row-content-wrap {
		margin-right: 24%;
	}
	.opr-infobox__cta {
		margin-left: 77em;
	}
}


/* === OPR 2026 header navigation (added 12 Jun 2026) === */
@media (min-width:922px){
.main-header-menu .opr-mega .sub-menu{width:680px;padding:14px 10px;column-count:3;column-gap:8px}
.main-header-menu .opr-mega .sub-menu li{break-inside:avoid;width:100%}
.main-header-menu .opr-mh{break-before:column}
.main-header-menu li.opr-mh:first-child{break-before:auto}
.main-header-menu .opr-pmenu .sub-menu{width:400px;padding:10px}
}
.main-header-menu .opr-mh > .menu-link{font-size:11px!important;font-weight:700!important;letter-spacing:.11em;text-transform:uppercase;color:#6B7280!important;pointer-events:none;background:transparent!important}
.main-header-menu .opr-pmenu .sub-menu .menu-link{white-space:normal}
.main-header-menu .opr-pi > .menu-link::after{display:block;font-size:12px;font-weight:400;color:#6B7280;line-height:1.45;margin-top:2px;white-space:normal}
.main-header-menu .opr-pi-01 > .menu-link::after{content:"Want surgery designed for your anatomy, not the average?"}
.main-header-menu .opr-pi-02 > .menu-link::after{content:"Had a replacement that still doesn’t feel right?"}
.main-header-menu .opr-pi-03 > .menu-link::after{content:"Been told you’re too young, too heavy, or to just wait?"}
.main-header-menu .opr-pi-04 > .menu-link::after{content:"Been told nothing more can be done?"}
.main-header-menu .opr-div{border-top:1px solid #DBE1EC;margin-top:6px;padding-top:6px}
.main-header-menu .opr-nav__tel > .menu-link{font-weight:600}

.main-header-menu .opr-mega .sub-menu .menu-link{white-space:normal;line-height:1.35}


/* === OPR 2026 header — submenu hover-bridge fix (4 Jul 2026) ===
   Dropdown panels must remain hoverable while the pointer crosses the visual gap:
   panel touches the item (top:100%), the visible gap is margin only, and an
   invisible ::before bridge covers the crossing. */
.ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu{ top:100%; margin-top:8px; }
.ast-desktop .main-header-menu .menu-item-has-children > .sub-menu::before{
  content:""; position:absolute; left:0; right:0; top:-14px; height:16px; background:transparent;
}
.ast-desktop .main-header-menu .menu-item-has-children:hover > .sub-menu,
.ast-desktop .main-header-menu .menu-item-has-children:focus-within > .sub-menu{ visibility:visible; opacity:1; }


/* === OPR 2026 nav — non-clickable column headers + extra hover selector (4 Jul 2026) === */
.main-header-menu a.menu-link[href="#"], .ast-builder-menu .menu-item > a[href="#"]{ pointer-events:none; cursor:default; }
.ast-desktop .ast-builder-menu .menu-item-has-children > .sub-menu{ top:100%; margin-top:8px; }
.ast-desktop .ast-builder-menu .menu-item-has-children > .sub-menu::before{ content:""; position:absolute; left:0; right:0; top:-14px; height:16px; background:transparent; }


/* === OPR mega menu hover fix v2 (4 Jul 2026) — targets live classes incl. .opr-mega === */
@media (min-width:922px){
  .main-header-menu li.opr-mega > .sub-menu,
  .main-header-menu li.menu-item-has-children > .sub-menu{
    top:100% !important;
    margin-top:0 !important;
    transform:none !important;
    transition: opacity .15s ease, visibility 0s linear .18s !important;
  }
  .main-header-menu li.opr-mega:hover > .sub-menu,
  .main-header-menu li.menu-item-has-children:hover > .sub-menu,
  .main-header-menu li.opr-mega > .sub-menu:hover,
  .main-header-menu li.menu-item-has-children > .sub-menu:hover{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transition-delay:0s !important;
  }
  .main-header-menu li.opr-mega > .sub-menu::before,
  .main-header-menu li.menu-item-has-children > .sub-menu::before{
    content:""; position:absolute; left:0; right:0; top:-24px; height:26px; background:transparent;
  }
}
/* Column headings in dropdowns: quiet, non-clickable labels */
.main-header-menu .sub-menu a[href="#"],
.ast-builder-menu .sub-menu a[href="#"]{
  pointer-events:none; cursor:default;
  color:#6E7689 !important; font-size:11px !important; font-weight:700 !important;
  letter-spacing:.11em; text-transform:uppercase; opacity:.85;
}


/* === OPR mega menu hover fix v3 (4 Jul 2026): delay the left:-999em teleport on close === */
@media (min-width:922px){
  .main-header-menu li.opr-mega > .sub-menu,
  .main-header-menu li.menu-item-has-children > .sub-menu{
    transition: opacity .15s ease, visibility 0s linear .25s, left 0s linear .25s !important;
  }
  .main-header-menu li.opr-mega:hover > .sub-menu,
  .main-header-menu li.menu-item-has-children:hover > .sub-menu,
  .main-header-menu li.opr-mega:focus-within > .sub-menu,
  .main-header-menu li.menu-item-has-children:focus-within > .sub-menu{
    left:0 !important; opacity:1 !important; visibility:visible !important; transition-delay:0s !important;
  }
}


/* === OPR submenu font unify (4 Jul 2026): plain dropdowns match mega typography === */
@media (min-width:922px){
  html body .main-header-menu .sub-menu a.menu-link{font-family:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif !important;font-size:13.5px !important;font-weight:500 !important;letter-spacing:0 !important;text-transform:none !important;color:#4E5566 !important;line-height:1.35 !important;}
  html body .main-header-menu .sub-menu a.menu-link:hover{color:#3A56E0 !important;background:#ECEFF5 !important;border-radius:8px;}
  html body .main-header-menu .sub-menu a[href="#"]{pointer-events:none;cursor:default;color:#6E7689 !important;font-size:11px !important;font-weight:700 !important;letter-spacing:.11em;text-transform:uppercase;opacity:.85;}
}
