/* ==========================================================================
   johndimond.com.au site styles
   Loaded on every front-end page by modules/mw_site_styles/init.php.

   Sources folded in here (2026-09-08, no visual change):
     1. Customizer "Additional CSS" post 339 (now empty)
     2. Divi Code modules on: fees, therapies, helpful-resources, videos,
        booking-confirmed, welcome, provider-login, book-a-session, my-account,
        author dashboard (TB 2856), and the TB header (1449)
     3. account_buttons.php inline .g_btn rule (still printed by PHP too,
        identical, until that function is removed)

   Colours are tokens. Each token is named for its ROLE on the site; the value
   is what the site uses today. The rebrand palette (Wrike 4543341263) is noted
   beside each so the switch is a one-block edit.
   ========================================================================== */

:root {
	/* dark bands: the fixed right rail, footer, side columns, step headers  -> #344832 deep forest olive */
	--jd-band: #373b40;
	/* rail / divider / button borders  -> #8E9C82 muted sage */
	--jd-line: #757575;
	--jd-line-2: #575757;
	/* button hover border  -> #344832 */
	--jd-line-hover: #565656;
	/* light panels: text wrappers, login form, error box  -> #EFE8DC soft cream */
	--jd-panel: #f7f7f7;
	/* neutral controls: GF prev/next, simple buttons, ACF repeater buttons  -> #DDD0BE warm stone */
	--jd-control: #dcdada;
	--jd-control-text: #757575;      /* -> #292C29 */
	/* the primary button: today a gradient, tomorrow flat olive (#465A3E) with --jd-btn-image: none */
	--jd-btn-bg: #2b87da;
	--jd-btn-image: linear-gradient(208deg, #2b87da 9%, #2b95cf 29%, #29c4a9 100%);
	--jd-btn-text: #ffffff;          /* -> #FAF8F2 warm white */
	--jd-btn-border: #757575;        /* -> #DDD0BE */
	--jd-btn-border-soft: #dcdada;   /* welcome / login buttons -> #DDD0BE */
	--jd-btn-border-hover: #b9b9b9;
	--jd-btn-border-acf: #e5e5e5;
	--jd-btn-border-acf-hover: #cfcfcf;
	--jd-btn-shadow: #4d616269;
	/* text on dark bands  -> #FAF8F2 */
	--jd-on-dark: #ffffff;
	--jd-on-dark-soft: #e5e5e5;
	/* glow accent: menu button ring, ACF minus icon, drag-over  -> #B9653E terracotta */
	--jd-glow: #00FFDC;
	--jd-glow-2: #00FFD8;
	--jd-glow-3: #47fbdb;
	/* teal accent: list markers, heading text-gradient start, calendar arrows  -> #8E9C82 */
	--jd-teal: #47fadb;
	--jd-teal-2: #46f9db;
	/* heading blue: gradient end on h2.gradient  -> #465A3E */
	--jd-heading: #2998cd;
	/* progress bar gradient  -> flat #465A3E */
	--jd-progress-a: #0086c1;
	--jd-progress-b: #00f5d6;
	--jd-progress-fallback: #1e7ac4;
	/* menu button background  -> #465A3E */
	--jd-menu-btn: #4E535A;
	/* slide-in menu item pill and hover  -> rgba(250,248,242,.12) / #465A3E */
	--jd-menu-item: #989b9e45;
	--jd-menu-item-hover: #757575;
	/* therapy issue pills  -> #465A3E */
	--jd-pill: #575757;
	/* body text and error text  -> #292C29 */
	--jd-ink: #333333;
	--jd-ink-2: #222222;
	/* pure white surfaces: sub-menu, booking summary, arrow hover  -> #F7F3EB / #FAF8F2 */
	--jd-surface: #ffffff;
	--jd-surface-2: #eeeeee;
	--jd-surface-3: #E1E1E1;
	/* blue link accents from the MakeWeb boilerplate  -> #B9653E / #465A3E */
	--jd-link-hi: #137ed0;
	--jd-search-btn: #2ea3f2;
	/* verify pill on the booking form  -> #465A3E */
	--jd-verify: #6A6A6A;
	/* calendar arrows text  -> #292C29 */
	--jd-cal-arrow: #303438;
	/* ACF repeater handles  -> #344832 */
	--jd-acf-dark: #44494F;
	/* input focus ring */
	--jd-focus: #cccccc;
}

/* --------------------------------------------------------------------------
   1. Former Customizer Additional CSS (post 339), in its original order
   -------------------------------------------------------------------------- */

/* Disable header and footer editing on pages/posts */
.et-fb-app-frame header.et-l.et-l--header.et-fb-root-ancestor-sibling {
	display: none;
}

/* Ul positioning since 1.0.1 */
.et_pb_text ul, .et_pb_text ol, .et_pb_tab ul, .et_pb_tab ol, .et_pb_toggle ul, .et_pb_toggle ol {
	list-style-position: outside;
}

.et_pb_text li, .et_pb_tab li, .et_pb_toggle li {
	margin-bottom: 4px;
	line-height: 1.4em;
}

.policy-list ul > li > ul, .terms-list ul > li > ul  {
	padding-bottom: 0 !important;
	list-style-type: circle !important;
}

.policy-list ol > li > ol, .terms-list ol > li > ol  {
	padding-bottom: 0 !important;
	list-style-type: lower-roman !important;
}

/* Default Overlay Colour */
.et_overlay {
	background: rgba(0, 0, 0, 0.15) !important;
}

.mobile_nav  span.select_page {
	display: none !important;
}

/* Stick Theme Builder Header to top of page */
header.et-l.et-l--header {
	z-index: 9999;
	position: relative;
}

/* Align Fullwidth Header Buttons */
.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content a.et_pb_button {
	margin: 20px 15px 0px;
}

/* Gravity Forms hide form heading */
.gform_heading {
	display: none;
}

/* Gravity Forms required asterisk styling */
.gfield_required {
	font-size: 16px !important;
}

/* Gravity Forms input style */
.gform_wrapper input[type=text]:focus, .gform_wrapper input[type=email]:focus, .gform_wrapper textarea:focus, .ginput_container.ginput_container_select select:focus {
	box-shadow: inset 0px 0px 4px 0px var(--jd-focus) !important;
}

/* Remove space below field labels */
label.gfield_label {
	margin-bottom: 0 !important;
}

/* Remove space below paragraph text fields */
.ginput_container_textarea {
	line-height: 0 !important;
}

/* Gravity Forms error styling */
.gform_validation_errors {
	background: var(--jd-panel) !important;
	border-radius: 0 !important;
	border: 1.5px solid var(--jd-ink-2) !important;
}

.gform_submission_error {
	color: var(--jd-ink-2) !important;
	padding-bottom: 0;
}

.gfield_error label {
	color: var(--jd-ink) !important;
	font-weight: 700 !important;
}

.gfield_validation_message, .validation_message {
	border: none !important;
}

/* Gravity Forms validation message style */
div.validation_message.gfield_description {
	padding: 6px !important;
	line-height: 1.2em !important;
	font-size: 13.2px !important;
}

.validation_message {
	border: none !important;
	margin-top: 5px !important;
}

/* Form footer space edits */
.gform_footer {
	padding-bottom: 0 !important;
}

.gform_footer button {
	margin-bottom: 0 !important;
}

.et_pb_mw_gravity_forms_module {
	margin-bottom: 0 !important;
}

/* reCAPTCHA html message styling to allow for hiding of sitewide badge */
.recaptcha-msg-field {
	font-size: 13px;
}

/*** Default Header Styling (MakeWeb boilerplate, review in B2) ***/
/* Desktop Drop-down Menu Style */
ul.sub-menu {
	background-color: var(--jd-surface);
	box-shadow: 0 2px 5px rgba(0,0,0,0.15);
	border-top: 1px solid rgba(0,0,0,0.05);
}

.basic_nav nav > ul > li.menu-item-has-children > a:after {
	display: none;
}

/* Mobile Menu Style */
#menu-mobile-menu-1 > li.highlight-menu-item > a {
	color: var(--jd-link-hi) !important;
}

/*** Button Styles ***/

/* Custom CSS Buttons */
a.et_pb_button.custom-btn {
	border-width: 10px!important;
	border-color: var(--jd-btn-border) !important;
	border-radius: 100px !important;
	letter-spacing: 2px !important;
	padding: 12px 35px 12px 35px  !important;
	color: var(--jd-btn-text) !important;
	font-weight: 700!important;
	background-image: var(--jd-btn-image);
}

a.et_pb_button.custom-btn:hover {
	border-width: 10px!important;
	border-color: var(--jd-line-hover) !important;
	border-radius: 100px !important;
	letter-spacing: 2px !important;
	padding: 12px 35px 12px 35px  !important;
	color: var(--jd-btn-text) !important;
	font-weight: 700!important;
	background-image: var(--jd-btn-image);
}

/* Contact Page - Details Blurb Styling */
@media (max-width: 980px){
.et_pb_blurb.details-blurb .et_pb_blurb_container {
	padding-left: 6px !important;
	}
}

/*** Default Blog Styling (MakeWeb boilerplate, review in B2) ***/

/* 1-column sidebar on tablet & mobile */
@media (max-width: 980px){
.et_pb_column .et_pb_widget {
	float: none;
	width: 100%;
	margin: 0 0 30px 0;
}
}

/* Sidebar & Widget Styling */
.et_pb_widget {
	text-align: center;
	margin-bottom: 20px !important;
}

.widgettitle {
	border-bottom: 3px solid var(--jd-surface-2);
}

.et_pb_widget ul li {
	line-height: 1.2em;
	margin-bottom: 20px;
}

/* Blog Roll Style */
.blog-roll .post-content-inner {
	padding-bottom: 30px;
}

.blog-roll .et_pb_post {
	padding-bottom: 30px;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	}

/* Search bar style */
.widget_search #searchsubmit {
	color: var(--jd-on-dark) !important;
	background-color: var(--jd-search-btn) !important;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.widget_search #searchsubmit:hover {
	color: var(--jd-on-dark) !important;
	background-color: var(--jd-link-hi) !important;
}

.widget_search input#searchsubmit {
	border: none;
	border-radius: 0;
}

#search-2 {
	margin-bottom: 40px !important;
}

/* --- The fixed right rail (Theme Builder header) and the slide-in menu --- */

div#et-main-area {
	margin-right: 80px;
}

/* The fixed right rail is TB header layout 1449, section module_class="jd-rail".
   Its position/width/border/background are set on the module itself (Divi attrs).
   The old Customizer rule targeting it also required .et_pb_fullwidth_section,
   which that section never has, so it never applied and was dropped here. */
header .morph-main-menu-button-wrapper {
	border: solid 2px var(--jd-glow);
	width: auto;
	height: auto;
	left: auto;
	right: 55px;
	top: 30px;
	background: var(--jd-menu-btn);
	border-radius: 20px;
	padding: 8px;
	transform: scale(1.5);
}

.morph-header-bar {
	display: none;
}

.morph-logo {
	display: none !important;
}

header.et-l.et-l--header {
	z-index: 10001;
}

.morph-main-wrapper-inner {
	background: var(--jd-band);
	padding: 50px 20px;
	border-left: solid 1px var(--jd-line);
}

.morph-main-wrapper ul.menu li a {
	line-height: 1;
	padding: 10px 15px !important;
}

.morph-by-bonfire ul li {
	background: var(--jd-menu-item);
	border-radius: 40px;
}
.morph-by-bonfire ul li:hover {
	background: var(--jd-menu-item-hover);
	border-radius: 40px;
}

ul#menu-main-menu-1 {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

#home_main{
	background-size: contain;
	background-position: top left;
}
@media (min-width: 1440px){
	#home_main{
	background-size: 40%;
	background-position: top left;
	}
}

@media (min-width: 981px){
.morph-main-wrapper, .morph-main-background {
	width: 22em !important;
}
}

.link{
	cursor: pointer;
}

div#gotrgf_summary_field_2_21 {
	max-width: 600px;
	margin: auto;
}

@media (max-width: 980px){
	div#et-main-area {
		margin-right: 0 !important;
	}
	header .morph-main-menu-button-wrapper {
		right: 30px;
		top: 30px;
	}
}

.gf_hide {
	height: 0;
	overflow: hidden;
}
.nopad{
	padding-bottom: 0;
}

.gravity-tooltip {
	height: 15px;
	width: 15px;
}

button.wpgb-button.wpgb-load-more {
	margin: 10px auto !important;
	text-align: center;
	color: #222 !important;
	background: var(--jd-surface-3);
	font-size: 14px !important;
}

.wpgb-facet.wpgb-facet-2 {
	margin: auto;
	text-align: center;
}

.tr.status-red.reschedule.required .appointment-duration {display: none !important;}

.tr.status-red.reschedule.required .appointment_service_provider {grid-template-columns: 1fr 400px;}

.lwa-bones .pixelbones form{
	background-color: var(--jd-panel) !important;
}

fieldset#field_2_46 {
	max-width: 700px;
	margin: auto;
}

.gfield_radio span.sub_label {
	display: block;
	font-size: 85%;
	line-height: 1.4
}

/* gAppointments calendar month arrows */
.ga_appointments_calendar_header .arrow-left,
.ga_appointments_calendar_header .arrow-right {
	color: var(--jd-cal-arrow) !important;
	font-size: 16px !important;
	font-weight: 100;
	position: absolute;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	line-height: 25px;
	text-align: center;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	background: var(--jd-glow-3);
}
.ga_appointments_calendar_header .arrow-left{
	padding-right: 3px;
}
.ga_appointments_calendar_header .arrow-right {
	padding-left: 3px;
}

.ga_appointments_calendar_header .arrow-left i,
.ga_appointments_calendar_header .arrow-right i {
	line-height: 25px;
}

.ga_appointments_calendar_header .arrow-left:hover,
.ga_appointments_calendar_header .arrow-right:hover {
	color: var(--jd-cal-arrow) !important;
	font-size: 16px !important;
	font-weight: 100;
	position: absolute;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	line-height: 25px;
	text-align: center;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	background: var(--jd-surface);
}

/* --------------------------------------------------------------------------
   2. Slide-in menu account buttons (was inline in account_buttons.php)
   -------------------------------------------------------------------------- */

.btn_grp{display:flex;justify-content:space-between;gap:15px}
.g_btn{flex:auto;align-items:center;justify-content:center;text-align:center;cursor:pointer;
	background-color:var(--jd-btn-bg);color:var(--jd-btn-text);padding:7px 20px;line-height:1.2;
	border-width:7px !important;border-color:#494D51 !important;border-radius:100px;font-weight:600!important;
	background-image:var(--jd-btn-image);border:solid;
	transition:all .5s ease;text-transform:uppercase;font-size:24px}
.g_btn svg{fill:var(--jd-btn-text);max-width:1em}

/* --------------------------------------------------------------------------
   3. Former Code-module CSS, public pages
   -------------------------------------------------------------------------- */

/* Theme Builder header: social icons flush */
.et_pb_social_icon a {
	margin: 0 !important;
	padding: 0 !important;
}

/* Inner page headings (fees, therapies, helpful-resources, videos, booking-confirmed) */
:where(.page-id-2133, .page-id-2245, .page-id-2604, .page-id-7344, .page-id-3432) ::marker {
	color: var(--jd-teal);
}
:where(.page-id-2133, .page-id-2245, .page-id-2604, .page-id-7344, .page-id-3432) h2.gradient{
	background: linear-gradient(to right, var(--jd-teal-2) 0em, var(--jd-heading) 7em);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 0;
	padding-bottom: 0px;
}

/* Therapies: issue pills */
.issues {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
}
.issue {
	padding: 4px 30px;
	display: flex;
	align-items: center;
	color: var(--jd-on-dark);
	gap: 10px;
	background: var(--jd-pill);
	border-radius: 100px;
	font-weight: 600;
	width: 100%;
	margin: 0 20px;
}
.issue img {
	width: 46px;
}

/* Booking confirmed: calendar link and booking summary */
a.cal_link {
	padding: 2px 5px;
	background: var(--jd-surface-2);
	font-size: 80%;
}
.gotrgf_form_overview_container {
	background-color: var(--jd-surface);
	border: 1px solid rgba(0, 0, 0, .2);
	position: relative;
}
.gotrgf_form_overview_container>.gotrgf_summary_lines>.gotrgf_summary_line {
	font-size: 0.85em;
	display: flex;
	justify-content: space-between;
	padding: 5px 10px;
}
.gotrgf_summary_line:not(:last-child) {
	border-bottom: 1px solid rgba(0, 0, 0, .1);
}
.gotrgf_form_overview_container>.gotrgf_summary_lines>.gotrgf_summary_line>.gotrgf_line_part_right {
	flex: 1;
	font-weight: 700;
	text-align: right;
}
.ginput_container_gotrgf_live_summary_field .gotrgf_summary_field_total_container {
	background-color: rgba(0, 0, 0, .03);
	font-size: 1.2em;
	line-height: 40px;
	text-transform: uppercase;
	font-weight: 700;
	display: flex;
	padding: 10px;
	justify-content: space-between;
}
.session_summary span {
	display: block;
	line-height: 1.2;
}

/* --------------------------------------------------------------------------
   4. Booking flow (welcome, provider-login, book-a-session) and account entry
   -------------------------------------------------------------------------- */

:where(.page-id-3139, .page-id-4779, .page-id-2227) div#ga_appointments_calendar {
	max-width: 600px;
	margin: auto;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blue {
	background-color: var(--jd-progress-fallback);
	color: var(--jd-on-dark);
	background: var(--jd-progress-a);
	background: linear-gradient(90deg, var(--jd-progress-a) 0%, var(--jd-progress-b) 100%);
	height: 12px;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .gform_wrapper.gravity-theme .gf_progressbar_blue {
	background: var(--jd-line) !important;
	border-radius: 0;
	border-color: var(--jd-control) !important;
	border: solid;
	border-width: 0 0 4px 0;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .gform_wrapper.gravity-theme .gf_progressbar_percentage span {
	display: none;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .gform_wrapper.gravity-theme .gform_footer,
:where(.page-id-3139, .page-id-4779, .page-id-2227) .gform_wrapper.gravity-theme .gform_page_footer {
	display: grid;
	justify-content: center;
	gap: 20px;
	align-items: center;
	grid-auto-columns: minmax(0, 200px);
	grid-auto-flow: column;
	max-width: 80%;
	margin: auto;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) input.gform_next_button, :where(.page-id-3139, .page-id-4779, .page-id-2227) input.gform_previous_button{
	border: none;
	border-radius: 40px;
	padding: 10px 40px;
	background: var(--jd-control)!important;
	color: var(--jd-control-text) !important;
	margin: 0 !important;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .gform_page_fields {
	text-align: center;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) input[type=text] {
	border-radius: 40px;
	padding: 15px 30px !important;
	font-size: 18px !important;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .btn_radio input[type="radio"]:hover:not(:checked) + label {
	box-shadow: 0px 9px 10px 0px var(--jd-btn-shadow);
	border-color: var(--jd-btn-border) !important;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .btn_radio label {
	flex: auto;
	align-items: center;
	justify-content: center;
	text-align: center;
	cursor: pointer;
	background-color: var(--jd-btn-bg);
	color: var(--jd-btn-text);
	padding: 12px 40px;
	line-height: 1.2;
	border-width: 10px !important;
	border-color: var(--jd-btn-border-soft) !important;
	border-radius: 100px;
	letter-spacing: 2px;
	font-weight: 700!important;
	background-image: var(--jd-btn-image);
	border: solid;
	transition: all .5s ease;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .btn_radio input[type="radio"] {
	visibility: hidden; /* 1 */
	height: 0; /* 2 */
	width: 0; /* 2 */
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .btn_radio input[type="radio"]:checked + label {
	box-shadow: 0px 9px 10px 0px var(--jd-btn-shadow);
	border-color: var(--jd-btn-border) !important;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .btn_radio .gfield_radio{
	display: flex;
	justify-content: center;
	gap: 15px;
	align-items: center;
	flex-wrap: wrap;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) input#gform_submit_button_2{
	align-items: center;
	justify-content: center;
	text-align: center;
	cursor: pointer;
	background-color: var(--jd-btn-bg);
	color: var(--jd-btn-text);
	padding: 15px;
	line-height: 1.2;
	border-width: 0 !important;
	border-color: var(--jd-btn-border-soft) !important;
	border-radius: 100px;
	letter-spacing: 2px;
	font-weight: 700!important;
	background-image: var(--jd-btn-image);
	border: solid;
	transition: all .5s ease;
	margin: 0;
	text-transform: uppercase;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .gform_wrapper.gravity-theme .gfield-choice-input+label {
	margin-bottom: 0;
	max-width: 100%;
	vertical-align: middle;
	width: 60vw;
}

/* book-a-session extras (form 2 only) */
:where(.page-id-2227) .session_summary span { display: block; line-height: 1.4; }
:where(.page-id-2227) #field_2_6 .ginput_container{ position: relative; }
:where(.page-id-2227) div#verify_2_6{position: absolute;top: 8px;right: 10px;background: var(--jd-verify); padding: 12px 20px; color: var(--jd-on-dark);border-radius: 20px;font-size: 15px;text-transform: uppercase;letter-spacing: 2px;font-weight: 700;line-height: 1;cursor: pointer;}
:where(.page-id-2227) div#gform_confirmation_wrapper_2 { max-width: 600px; margin: 60px auto; }
:where(.page-id-2227) div#gform_wrapper_2 > #gf_progressbar_wrapper_2 { display: none; }
:where(.page-id-2227) .percentbar_100{ display: none; }
@media (max-width: 786px){
	#gform_page_2_5 .gform_wrapper.gravity-theme .gform_footer,
	#gform_page_2_5 .gform_wrapper.gravity-theme .gform_page_footer {
		display: flex; justify-content: center; gap: 20px; align-items: center; flex-direction: column
	}
}
:where(.page-id-2227) .gchoice.gchoice_2_5_1 { display: none; }

/* Step header (logo + title band above the form) */
:where(.page-id-3139, .page-id-4779, .page-id-2227) .step_header {
	background: var(--jd-band);
	display: grid;
	color: var(--jd-on-dark);
	align-items: center;
	grid-template-columns: 20vw 1fr;
	gap: 10px;
	padding: 10px 30px 10px 0;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .step_header .logo {
	padding: 0 15px;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) .step_header h2{
	font-weight: 700;
	color: var(--jd-on-dark);
	padding-bottom: 0;
	font-size: 36px;
}
/* book-a-session used its own copy: wider right padding, default h2 size */
:where(.page-id-2227) .step_header { padding-right: 100px; }
:where(.page-id-2227) .step_header h2 { font-size: inherit; }
:where(.page-id-3139, .page-id-4779, .page-id-2227) .gform_wrapper.gravity-theme .gf_progressbar_title {
	color: var(--jd-on-dark);
	font-size: 18px;
	font-weight: 500;
	margin: 0;
}
:where(.page-id-3139, .page-id-4779, .page-id-2227) div.gform_page {
	padding: 0 20px;
}

/* welcome / provider-login: field label + phone field */
:where(.page-id-3139, .page-id-4779) label {
	font-weight: 700;
}
:where(.page-id-3139, .page-id-4779) input#input_3_7 {
	width: 100%;
}

/* Generic pill button used on welcome, login and the account dashboard */
:where(.page-id-3139, .page-id-4779, .author) .button {
	flex: auto;
	align-items: center;
	justify-content: center;
	text-align: center;
	cursor: pointer;
	background-color: var(--jd-btn-bg);
	color: var(--jd-btn-text);
	padding: 12px 40px;
	line-height: 1.2;
	border-width: 10px !important;
	border-color: var(--jd-btn-border-soft) !important;
	border-radius: 100px;
	letter-spacing: 2px;
	font-weight: 700!important;
	background-image: var(--jd-btn-image);
	border: solid;
	transition: all .5s ease;
	margin-bottom: 20px;
	font-size: 18px;
}
:where(.page-id-3139, .page-id-4779, .author) .button:hover {
	border-color: var(--jd-btn-border-hover) !important;
}
:where(.page-id-3139, .page-id-4779, .author) .button.simple {
	border: none;
	border-radius: 40px;
	padding: 10px 40px;
	background: var(--jd-control)!important;
	color: var(--jd-control-text) !important;
	margin: 10px auto;
	letter-spacing: 0;
	font-size: 14px;
	font-weight: 400;
	max-width: 340px;
}
/* the author dashboard copy capped .simple at 300px */
:where(.author) .button.simple { max-width: 300px; }
:where(.page-id-3139, .page-id-4779, .author) .gform_footer.top_label {
	margin: 20px auto !important;
}
:where(.page-id-3139, .page-id-4779, .author) input[type=password] {
	border-radius: 40px;
	padding: 15px 30px !important;
	font-size: 18px !important;
}
:where(.page-id-3139, .page-id-4779, .author) #lwa-1 form .lwa-submit-button input.button-primary {
	width: 100%;
	background-image: var(--jd-btn-image);
	border-color: var(--jd-btn-border-soft) !important;
	border-radius: 100px !important;
	border-width: 10px !important;
	height: auto !important;
	font-size: 18px !important;
}
:where(.page-id-3139, .page-id-4779, .author) #lwa-1 form a.lwa-links-remember-cancel.button {
	width: 32%;
	background: var(--jd-control)!important;
	border-color: #F6F6F6 !important;
	border-radius: 100px !important;
	border-width: 10px !important;
	height: auto !important;
	font-size: 14px !important;
	line-height: 3 !important;
}
:where(.page-id-3139, .page-id-4779, .author) form.lwa-remember .lwa-submit-button {
	display: flex;
}
:where(.page-id-3139, .page-id-4779, .author) #lwa-1 form input[type=text], :where(.page-id-3139, .page-id-4779, .author) #lwa-1 form input[type=password]{
	border-radius: 40px !important;
	padding: 15px 30px !important;
	font-size: 18px !important;
	height: auto !important
}

/* my-account (public page) and the dashboard welcome block */
:where(.page-id-2610, .author) .welcome{
	padding-bottom: 0;
}
:where(.page-id-2610, .author) .intro{
	font-size: 60%;
	line-height: 1;
	display: block;
}
:where(.page-id-2610, .author) .appointment-email {
	display: none !important;
}
:where(.page-id-2610) .appointment-add-to-calendar {
	display: none !important;
}

/* --------------------------------------------------------------------------
   5. Quote rotator (modules/mw_quote_rotator, shortcode [jd_quotes]).
   Replaces the Smart Slider "Quotes" band: 22px italic, centred, 75px band.
   -------------------------------------------------------------------------- */

.jd-quotes {
	position: relative;
	display: grid;
	min-height: 75px;
	align-items: center;
	padding: 10px;
	overflow: hidden;
}
.jd-quotes .jd-quote {
	grid-area: 1 / 1;
	margin: 0;
	padding: 0;
	text-align: center;
	color: var(--jd-on-dark);
	font-size: 22px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.5;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity .6s ease, transform .6s ease;
	pointer-events: none;
}
.jd-quotes .jd-quote.is-active {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
	.jd-quotes .jd-quote { transition: none; transform: none; }
}
@media (max-width: 767px) {
	.jd-quotes .jd-quote { font-size: 18px; }
}
