/*
* Description: Custom CSS Additions Go Here
* Template: twentyseventeen
* Version: 1.0
* Author: VDS
*/

/* These vars do not require values as they get set automatically in options-page-stylesheet.php
 * They are mainly here so they show up as autocomplete suggestions in code editors if desired.
 *
 * ie: ghost vars
 *
*/
@property --accent1 { syntax: '*'; inherits: true; }
@property --accent2 { syntax: '*'; inherits: true; }
@property --accent3 { syntax: '*'; inherits: true; }
@property --dark1   { syntax: '*'; inherits: true; }
@property --dark2   { syntax: '*'; inherits: true; }
@property --dark3   { syntax: '*'; inherits: true; }
@property --light1  { syntax: '*'; inherits: true; }
@property --light2  { syntax: '*'; inherits: true; }
@property --light3  { syntax: '*'; inherits: true; }
@property --uihover { syntax: '*'; inherits: true; }
@property --white   { syntax: '*'; inherits: true; }
@property --black   { syntax: '*'; inherits: true; }
/* /ghosts vars */

/* vars vars vars vars vars vars vars vars vars vars vars vars vars vars  */
:root {

--accent1_65: #0B77C6A6;     /* accent1 @ 65% opacity */
--light1_75: #FFFFFFBF;      /* light1 @ 75% opacity  */
--light1_50: #FFFFFF80;      /* light1 @ 50% opacity  */
--dark1_75: #5c5c5cBF;	     /* dark1 @ 75% opacity   */
--uihover: #01E9F366;		 /* accent2 @ 40% opacity */
--accent2-rgb: 1, 233, 243;  /* rgb value for accent2 */

--IBMReg: 'IBMPlexSans-Regular', sans-serif;
--MontM: 'Montserrat-Medium', sans-serif;
--MontSB: 'Montserrat-SemiBold', sans-serif;
--MontB: 'Montserrat-Bold', sans-serif;
}
/* /vars /vars /vars /vars /vars /vars /vars /vars /vars /vars /vars  */

/* General */
.wpcpro-load-more.wpcpro-load-more-button-initialized { color: transparent; font-size: 0; line-height: 0; }
body h1, body h2, body h3, body h4, body h5, body h6, body p, body li { font-weight: normal; }
.fa-chevron-right::before, .fa-chevron-left::before { font-family: 'FontAwesome'; }
img.aligncenter { margin-right: auto; margin-left: auto; display: block; }
ul.slick-dots { position: relative; padding: 0 !important; }
body .slick-dotted.slick-slider { margin-bottom: 0 }
li#wp-admin-bar-site-editor { display: none; }
ul.slick-dots { bottom: 0;margin-top: 14px; }
div#wpadminbar { z-index: 9999999999999;}
ul.slick-dots li { padding: 0 }

@media (min-width: 1025px) { .wpb_row.slick-mobile .container { display: flex;  }}
@media (min-width: 980px)  { .wpb_row.slick-mobile .container { display: unset; }}
/* /General */

/* quick vars quick vars quick vars quick vars quick vars quick vars */
.top-widget .widget a:link {
    color: var(--accent2);
}
footer#footer a:not(.ab-item):not(.btn-bt) {
	color: var(--dark2);
}
.wpb_row.dark1 h2, .wpb_row.dark1 h3, .wpb_row.dark1 h4, .wpb_row.dark1 h5, .wpb_row.dark1 h6, .wpb_row.dark1 p,
.wpb_row.dark2 h2, .wpb_row.dark2 h3, .wpb_row.dark2 h4, .wpb_row.dark2 h5, .wpb_row.dark2 h6, .wpb_row.dark2 p,
.wpb_row.dark3 h2, .wpb_row.dark3 h3, .wpb_row.dark3 h4, .wpb_row.dark3 h5, .wpb_row.dark3 h6, .wpb_row.dark3 p,
body h1 {
	color: var(--light1);
}
body.single h1 {
	color: var(--black);
}
ul.slick-dots li.slick-active button:before,
ul.slick-dots li button:before {
	transition: all 0.3s ease-in-out;
	color: var(--accent1);
	font-size: 12px;
}
ul.slick-dots li:not(.slick-active):hover button:before {
	transition: all 0.3s ease-in-out;
	color: var(--accent2);
}
/* /quick vars /quick vars /quick vars /quick vars /quick vars /quic */

/* Fixed Header + Scrolling Logic */
@media (min-width: 980px) {
	header#header {
		z-index: 99999999;
        position: fixed;
        width: 100%;
	}
	div#content,
	.single #content {
		transition: all 0.3s ease-in-out;
    	padding-top: 185px !important;
	}
	header .top-header {
		transition: all 0.3s ease-in-out;
	}
	body.scrolling div#content,
	body.scrolling .single #content {
		transition: all 0.3s ease-in-out;
    	padding-top: 130px !important;
	}
	header.scrolling .top-header {
		transition: all 0.3s ease-in-out;
		height: 40px;
	}
	header .logo {
	    transition: grid-template-rows 0.3s ease-in-out;
	    display: grid !important;
	    grid-template-rows: 1fr;
	}
	header.scrolling .logo {
	    grid-template-rows: 0fr;
	    padding: 0 !important;
	    pointer-events: none;
	}
	/* Critical — direct child must have this */
	header .logo > * {
	    overflow: hidden;
	    min-height: 0;
	}
	header:not(.scrolling) nav li.show-on-scroll {
		display: none !important;
	}
	nav li.home-icon {
	    align-items: center;
	    display: flex;
		padding: 0;
	}
	nav li.home-icon a i.icon-home {
		font-size: 16px;
	}
}
/* /Fixed Header + Scrolling Logic */

/* Top Anchor + Recaptcha */
a.topbutton {
    background-color: var(--accent1);
    transition: all 0.3s ease-in-out;
    border: 2px solid var(--light1);
    text-decoration: none;
    border-radius: 7px;
    bottom: 148px;
    right: 10px;
}
a.topbutton:hover {
	border-color: var(--accent2);
}
a.topbutton i.icon-angle-up {
	justify-content: center;
	align-items: center;
	display: flex;
}
a.topbutton i.icon-angle-up:before {
	transition: all 0.3s ease-in-out;
    margin: 0 !important;
    color: var(--light1);
    position: relative;
    font-size: 48px;
    line-height: 1;
    top: -4.5px;
}
a.topbutton:hover i:before {
	transition: all 0.3s ease-in-out;
	color: var(--accent2);
}
div.grecaptcha-badge {
    bottom: 70px !important;
}
/* END Top Anchor + Recaptcha */

@media (max-width: 480px) {
	body .form-field.wpmtst-submit label,
	body .form-field.wpmtst-submit label input,
	.bakery a.btn-bt {
		width: 100%;
	}
	body .bakery.review-us input#wpmtst_submit_testimonial {
		letter-spacing: 1px;
		padding: 10px 16px;
	}
}

body input#wpmtst_submit_testimonial {
	text-transform: uppercase !important;
    font-family: var(--MontSB);
	text-decoration: none;
    display: inline-block;
    text-transform: none;
    letter-spacing: 3px;
    border-radius: 0px;
    text-align: center;
    padding: 14px 28px;
    line-height: 26px;
    font-size: 16px;
	border: none;
}
body input#wpmtst_submit_testimonial:hover {
	border: none;
}
body input#wpmtst_submit_testimonial,
body .gform_footer input[type="submit"]:not(:hover):not(:active):not(.has-background) {
	transition: all 0.3s ease-in-out;
    background-color: var(--accent2);
    color: var(--dark3);
    font-size: 16px;
}

/* new gform - non-legacy mode */
.gform_wrapper.gravity-theme .gform_heading {
    display: none;
}
.gform_wrapper.gravity-theme form .gfield_label {
    font-family: var(--MontSB);
    text-transform: uppercase;
    display: inline-block;
    color: var(--white);
    margin-bottom: 0px;
    margin-left: 5px;
    line-height: 1.3;
    font-size: 12px;
}
.gform_wrapper.gravity-theme form .ginput_container input,
.gform_wrapper.gravity-theme form .ginput_container select {
    font-family: var(--IBMReg);
	margin-top: 0 !important;
    height: 55px !important;
	border-radius: 7px;
	padding: 0px 20px;
    border: none;
    width: 100%;
    margin: 0;
}
.gform_wrapper.gravity-theme form .ginput_container textarea {
	font-family: var(--IBMReg);
    height: 110px !important;
    border-radius: 7px;
    padding: 12px 20px;
    border: none;
    width: 100%;
    margin: 0;
}
.gform_wrapper.gravity-theme form .gform_footer input[type="submit"] {
	border-radius: 7px;
	width: 100%;
}
.gform_wrapper.gravity-theme form .gform_footer input[type="submit"]:hover {
	background: var(--uihover);
}
.gform_wrapper.gravity-theme form div.gfield:not(:last-child) {
    margin-bottom: -10px;
}
/* /new gform - non-legacy mode */

body input#wpmtst_submit_testimonial:hover,
body .gform_footer input[type="submit"]:hover {
    transition: all 0.3s ease-in-out;
    background-color: var(--uihover);
    color: var(--dark3);
    font-size: 16px;
}
body #content .wpb_row.dark1 a:not(.btn-bt) {
	transition: all 0.3s ease-in-out;
	text-decoration: none;
	color: var(--light1);
}
body #content .wpb_row.dark1 a:not(.btn-bt):hover {
	transition: all 0.3s ease-in-out;
	text-decoration: none;
	color: var(--accent2);
}
body #content a.unstyled-link {
	transition: all 0.3s ease-in-out;
	text-decoration: none;
	color: var(--dark3);
}
body #content a.unstyled-link:hover {
	transition: all 0.3s ease-in-out;
	color: var(--accent2);
}
body .tt-none { text-transform: none; }
a.btn-bt, body input#wpmtst_submit_testimonial { min-width: 200px; }

body .wpb_row:not(.fifty-fifty):not(.cta-row) h2 {
    margin-bottom: 20px;
}
body .wpb_row:not(.fifty-fifty):not(.ab-promo-grid) h3 {
    margin-bottom: 20px;
}
body .wpb_row:not(.fifty-fifty):not(.cta-row):not(.bottom-cta) .vc_col-sm-12 a.btn-bt {
	margin-top: 14px;
}
body .bakery .vc_section {
    padding-right: 0;
    padding-left: 0;
    margin-right: 0;
    margin-left: 0;
}
body .top-header.top-bottom-header .logo {
    padding: 10px 0px;
}
body .site-branding {
    margin-top: 0;
}
body .top-header.top-bottom-header .navigation-top {
	background-color: var(--light3);
	max-width: none;
}
body .top-header.top-bottom-header .nav-and-button {
    border-top: none;
    margin: 0 auto;
}

@media (min-width: 980px) {
	/* removes the desktop subnav dropdown icon */
	body nav#site-navigation.hide-small-desktop li.menu-item-has-children a {
    	padding-right: 0;
	}
	body nav#site-navigation.hide-small-desktop li.menu-item-has-children a::after {
		display: none;
	}
	/* /removes the desktop subnav dropdown icon */
	/* this moves the top level nav items down slightly - they were exact center, but visually don't look like it. */
	body nav#site-navigation.hide-small-desktop ul:not(.sub-menu) li a {
		position: relative;
		top: 1px;
	}
	body nav#site-navigation.hide-small-desktop ul.sub-menu li a {
		top: 0;
	}
	/* /this moves the top level nav items down slightly - they were exact center, but visually don't look like it. */
}

@media (max-width: 979px) {
	body .top-header {
	    height: 100px;
	}
	body .top-bottom-header .container {
	    justify-content: space-between;
	    flex-direction: row;
	    width: 95%;
		height: 100%;
		align-items: center;
	}
	body .top-header .logo {
		width: auto;
	}
	body .top-header.top-bottom-header .navigation-top {
	    background-color: unset;
    	margin: unset;
    	width: auto;
	}
	body .top-header.top-bottom-header .nav-and-button {
	    padding: 0;
	}
	nav#mobile-site-navigation {
	    position: absolute;
	    z-index: 99999;
	    top: 140px;
	}
	body .top-widget .span6.left {
	    width: 100%;
	}
	body .top-widget .span6.right {
	    display: none;
	}
}

@media (min-width: 481px) {
	.no-bb {
		border-bottom: none !important;
	}
}

@media (max-width: 480px) {
	body .top-header .logo .site-branding a img {
	    height: 50px;
		width: auto;
	}
	.no-bb-mobile {
		border-bottom: none !important;
	}
}

body .top-header.top-bottom-header nav.hide-small-desktop #top-menu li {
    padding: 13px 18px;
}
body .top-header.top-bottom-header #top-menu:not(.mobile-menu) li:last-child {
    margin-right: 0;
}
nav#site-navigation ul.sub-menu {
    background: var(--light3);
}
.top-widget .textwidget {
    align-items: center;
    display: flex;
}

/* top widget phone icon button */
.top-widget p.twa-phone {
    margin-right: 12px;
    text-align: left;
}
.top-widget p.twa-phone a.icon-btn {
    text-decoration: none;
    align-items: center;
    display: flex;
    height: 40px;
}
a.icon-btn i.icon-btn-icon {
	transition: all 0.3s ease-in-out;
    background: var(--accent2);
    align-items: center;
    padding: 0 3.21px;
    display: flex;
    height: 100%;
}
a.icon-btn:hover i.icon-btn-icon {
	transition: all 0.3s ease-in-out;
	background: var(--accent1);
}
a.icon-btn i::before {
    transition: all 0.3s ease-in-out;
    color: var(--dark3);
    font-size: 24px;
}
a.icon-btn:hover i::before {
    transition: all 0.3s ease-in-out;
    color: var(--light1);
}
a.icon-btn span.icon-btn-text {
    transition: all 0.3s ease-in-out;
    font-family: var(--MontB);
    letter-spacing: 1px;
    align-items: center;
    padding: 0 0 0 8px;
    font-size: 16px;
    display: flex;
    height: 100%;
    color: #FFF;
}
/* /top widget phone icon button */

/* top widget contact button */
a.twa-btn.btn-bt {
	padding: 7px 12px !important;
	border-radius: 8px 0px;
}
body input#wpmtst_submit_testimonial,
a.twa-btn.btn-bt.alternate {
	background: var(--accent2);
	color: var(--dark3);
}
body input#wpmtst_submit_testimonial:hover,
a.twa-btn.btn-bt.alternate:hover {
	background: var(--accent1);
	color: var(--light1);
}
/* /top widget contact button */

/* wp carousel load more button */
.bakery .wpcp-carousel-wrapper .wpcpro-load-more button {
	background: var(--accent2) !important;
	transition: all 0.3s ease-in-out;
	color: var(--dark3) !important;
    font-family: var(--MontSB);
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
    letter-spacing: 3px;
	border-radius: 7px;
    text-align: center;
    padding: 14px 28px;
    line-height: 26px;
    min-width: 200px;
    font-size: 16px;
	border: none;
}
.bakery .wpcp-carousel-wrapper .wpcpro-load-more button span.load-more-count {
	display: none;
}
.bakery .wpcp-carousel-wrapper .wpcpro-load-more button:hover {
	background: var(--accent1) !important;
	transition: all 0.3s ease-in-out;
	color: var(--light1) !important;
}
/* /wp carousel load more button */

/* global floating elements */
a.topbutton {
    bottom: 140px;
    right: 17px;
}
.grecaptcha-badge {
    bottom: 64px !important;
}
/* /global floating elements */

/* square socials */
.top-widget .span6.right .textwidget {
    justify-content: flex-end;
}
body .top-widget ul.social.top-widget-socials {
	margin-right: 3px;
}
ul.social.top-widget-socials {
    flex-direction: row;
    align-items: center;
    line-height: unset;
    font-size: unset;
    display: flex;
    height: 40px;
    padding: 0;
}
ul.social.top-widget-socials li {
    line-height: unset;
    margin-right: 3px;
    font-size: unset;
    height: 40px;
}
ul.social.top-widget-socials li a {
    text-decoration: none;
    line-height: unset;
    font-size: unset;
    display: flex;
    height: 40px;
}
body .top-widget ul.social.top-widget-socials li a i,
body .row.copyright ul.social.top-widget-socials li a i {
    background: var(--accent2);
    justify-content: center;
    align-items: center;
    color: var(--dark3);
    padding: 0 3.21px;
    line-height: 24px;
    font-size: 24px;
    display: flex;
    height: 40px;
}
body .top-widget ul.social.top-widget-socials li a i:hover,
body .row.copyright ul.social.top-widget-socials li a i:hover {
    transition: all 0.3s ease-in-out;
    background: var(--accent1);
    color: var(--light1);
}
/* /square socials */

/* footer */
body footer#footer {
    background: var(--white);
    padding: 60px 0;
}

@media(min-width: 980px) {
	footer#footer h5 {
		margin-bottom: 20px;
	}
	h5.address-icon,
	h5.phone-icon,
	h5.hours-icon {
		position: relative;
		padding-left: 43px;
	}
	h5.address-icon:before,
	h5.phone-icon:before,
	h5.hours-icon:before {
		background: var(--accent2);
		justify-content: center;
		font-family: 'Fontello';
		color: var(--light1);
		align-items: center;
		position: absolute;
		padding-left: 4px;
		font-size: 20px;
		display: flex;
		height: 30px;
		width: 30px;
		top: -5.5px;
		left: 0;
	}
	h5.address-icon:before { content: '\e81d'; } /* icon-location */
	h5.phone-icon:before   { content: '\e823'; } /* icon-phone */
	h5.hours-icon:before   { content: '\e83e'; } /* icon-clock */
}

body footer#footer p,
body footer#footer a {
	text-decoration: none;
	font-size: 14px;
}

@media (max-width: 979px) {
	body footer#footer {
	    text-align: center;
	    padding: 32px 0;
	}
	.vc_col-sm-3.span3.footer-col-1 {
	    margin-bottom: 24px;
	}
	.vc_col-sm-3.span3.footer-col-2,
	.vc_col-sm-3.span3.footer-col-3 {
	    margin-bottom: 10px;
		}
	.vc_col-sm-3.span3.footer-col-4 {
		margin-bottom: 0;
	}
}
/* /footer */

/* copyright */
.row.copyright {
    padding: 0;
}

@media (min-width: 1251px) {
	.copyright-text.span6.left-three-column {
	    padding-left: 2.5%;
	}
}

body p#copyright-p {
    font-size: 12px;
}
body .menu-copyright-menu-container ul#menu-copyright-menu {
}
body .menu-copyright-menu-container ul#menu-copyright-menu {
	justify-content: space-between;
	margin: 0 auto !important;
	max-width: 500px;
    padding: 0;
}
body .menu-copyright-menu-container ul#menu-copyright-menu li a {
    text-transform: uppercase;
    font-family: var(--MontM);
    text-decoration: none;
    font-size: 14px;
}

@media (max-width: 1250px) {
	body .row.copyright {
		padding:  28px 0;
	}
	.copyright .container {
	    flex-direction: column;
	    max-width: 95%;
	}
	.row.copyright .span6,
	.row.copyright .copyright-content.span6.right-three-column {
	    justify-content: center;
	    float: none !important;
	    width: 100% !important;
	    align-items: center;
		display: flex;
	}
	.row.copyright .span6.left-three-column {
	    margin-bottom: 14px;
	}
	.row.copyright .span6.middle-three-column {
	    margin-bottom: 24px;
	}
	body .menu-copyright-menu-container ul#menu-copyright-menu {
	    flex-direction: column;
	    max-width: unset;
	}
	body .menu-copyright-menu-container ul#menu-copyright-menu li {
	    line-height: 28px;
	    padding: 0;
	}
	body .menu-copyright-menu-container ul#menu-copyright-menu li a {
	    font-size: 16px;
	}
}
/* /copyright */

/* testimonial carousel */
section.testimonials h2 {
	color: var(--white);
}
.bakery .testimonials-opacity .container {
	background-color: rgba(255, 255, 255, 0.90);
	padding: 0px 2% 40px 2%;
	border-radius: 0px;
}
body .strong-view.wpmtst-simple .wpmtst-testimonial-inner {
	padding: 0;
}
.testimonials h4 {
	font-family: var(--MontSB); /* Montserrat-SemiBold */
	background-color: var(--dark3); /* black */
	color: var(--light1); /* white */
	position: relative;
	line-height: 18px;
	border-radius: 0;
	max-width: 550px;
	padding: 18px 1%;
	font-size: 18px;
	margin: 0 auto;
	top: -27px;
}
body .strong-view.wpmtst-simple h3.wpmtst-testimonial-heading.testimonial-heading {
    margin-bottom: 20px !important;
    letter-spacing: 0.5px;
    text-transform: none;
    text-align: center;
    line-height: 30px;
    font-size: 20px;
}
body .wpmtst-testimonial-content.testimonial-content {
    max-width: 550px;
    margin: 0 auto;
}
body .wpmtst-testimonial-content.testimonial-content p {
    text-align: center;
    font-style: italic;
    font-size: 14px;
}
body .wpmtst-testimonial-field.testimonial-field {
	text-align: center;
	font-weight: 700;
    margin-top: 20px;
	font-size: 14px;
}

@media (min-width: 980px) {
	.testimonials-opacity p em {
	    max-width: 370px;
	    display: block;
	}
}
body .strong-view.controls-style-buttons:not(.rtl) .wpmslider-prev:before,
body .strong-view.controls-style-buttons:not(.rtl) .wpmslider-next:before {
	transition: all 0.3s ease-in-out;
	background: var(--accent1);
	font-size: 40px;
	height: 50px;
	width: 50px;
}
body .strong-view.controls-style-buttons:not(.rtl) .wpmslider-next:before {
	left: -24px;
}
body .strong-view.controls-style-buttons:not(.rtl) .wpmslider-prev:hover:before,
body .strong-view.controls-style-buttons:not(.rtl) .wpmslider-next:hover:before {
	transition: all 0.3s ease-in-out;
	background: var(--accent2);
}

/* /testimonial carousel */

/* home hero */
.home-hero {
	height: 675px;
}
.home-hero h1 {
	margin-bottom: 24px;
}
/* /home hero */

/* home promos */
.home-promos img {
    max-height: 85px;
    width: auto;
}
.home-promos h3 {
	margin-bottom: 12px;
	margin-top: 25px;
}
.bakery .home-promos .wpb_text_column p:not(:first-child):not(:last-child) {
	margin-bottom: 20px;
	font-size: 14px;
}

@media (min-width: 980px) {
	.home-promos .wpb_column:nth-child(1) {
		margin-right: 1%;
		width: 32%;
	}
	.home-promos .wpb_column:nth-child(2) {
		margin: 0 0.5%;
		width: 32%;
	}
	.home-promos .wpb_column:nth-child(3) {
		margin-left: 1%;
		width: 32%;
	}
	.home-promos .wpb_column .wpb_content_element .wpb_wrapper {
		max-width: 320px;
		margin: 0 auto;
	}
}
/* /home promos */

/* home about us promos */
section.ab-promo-section {
	font-family: var(--IBMReg);
	box-sizing: border-box;
	padding: 48px 20px;
	width: 100%;
}
section.ab-promo-section .ab-promo-eyebrow {
	text-transform: uppercase;
	font-family: var(--MontB);
	letter-spacing: 0.25em;
	color: var(--accent2);
	text-align: center;
	margin: 0 0 10px;
	font-size: 16px;
}
section.ab-promo-section .ab-promo-heading {
	font-size: clamp(32px, 5vw, 48px);
	font-family: var(--MontSB);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--white);
	text-align: center;
	margin: 0 0 40px;
	line-height: 1;
}
body #content section.ab-promo-section .section-heading h2.ab-promo-heading a {
	text-decoration: none;
	color: var(--accent2);
}
body #content section.ab-promo-section .section-heading h2.ab-promo-heading a:hover {
	/*color: var(--accent1);*/
	color: var(--uihover);
}
section.ab-promo-section .ab-promo-grid {
	grid-template-columns: 1fr 1fr;
	margin: 0 auto;
	display: grid;
	gap: 2px;
}
section.ab-promo-section .ab-promo-card {
	-webkit-tap-highlight-color: transparent;
	text-decoration: none;
	position: relative;
	aspect-ratio: 2/3;
	overflow: hidden;
	display: block;
}
section.ab-promo-section .ab-promo-card-bg {
	transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
	background-position: center;
	background-size: cover;
	position: absolute;
	inset: 0;
}
/* dark base is always present; accent tint layer fades in on hover via opacity */
section.ab-promo-section .ab-promo-card-overlay {
	background-image:
		linear-gradient(160deg, rgba(var(--accent2-rgb), 0.25) 0%, transparent 50%),
		linear-gradient(160deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.55) 45%, rgba(0, 0, 0, 0.92) 100%);
	transition: opacity 0.4s ease;
	position: absolute;
	opacity: 0;
	inset: 0;
}
/* separate element holds the always-on dark gradient for mobile readability */
section.ab-promo-section .ab-promo-card-dark {
	background: linear-gradient(160deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.55) 45%, rgba(0, 0, 0, 0.92) 100%);
	position: absolute;
	inset: 0;
}
section.ab-promo-section .ab-promo-card-accent {
	background: var(--accent2);
	position: absolute;
	height: 100%;
	right: 0;
	left: 0;
	top: 0;
}
section.ab-promo-section p.ab-promo-card-number {
	color: rgba(255, 255, 255, 0.08);
	font-family: var(--MontSB);
	pointer-events: none;
	position: absolute;
	font-size: 40px;
	line-height: 1;
	right: 14px;
	margin: 0;
	top: 12px;
}
section.ab-promo-section div.ab-promo-card-body {
	justify-content: flex-end;
	flex-direction: column;
	position: absolute;
	display: flex;
	padding: 16px;
	inset: 0;
}
section.ab-promo-section .ab-promo-card-tag {
	font-family: var(--MontSB);
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--accent2);
	font-size: 12px;
	margin: 0 0 6px;
}
section.ab-promo-section .ab-promo-card-title {
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.50);
	font-size: clamp(18px, 3.5vw, 26px);
	font-family: var(--MontSB);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--white);
	margin: 0 0 10px;
	line-height: 1.1;
}
section.ab-promo-section .ab-promo-card-desc {
	color: var(--white);
	line-height: 1.5;
	margin: 0 0 14px;
	font-size: 12px;
}
section.ab-promo-section .ab-promo-card-cta {
	font-family: var(--MontSB);
	background: var(--accent2);
	text-transform: uppercase;
	text-decoration: none;
	display: inline-flex;
	letter-spacing: 3px;
	align-items: center;
	color: var(--black);
	width: fit-content;
	border-radius: 7px;
	padding: 14px 28px;
	font-size: 16px;
	gap: 6px;
}
section.ab-promo-section .ab-promo-card-cta:hover {
	transition: all 0.3s ease-in-out;
	background: var(--uihover);
}
section.ab-promo-section .ab-promo-arrow {
	transition: transform 0.2s ease;
	display: inline-block;
}

@media (min-width: 1025px) {
	section.ab-promo-section {
		padding: 64px 40px;
	}
	section.ab-promo-section .ab-promo-grid {
		grid-template-columns: repeat(4, 1fr);
	}
	section.ab-promo-section .ab-promo-card {
		aspect-ratio: 3/4;
		cursor: pointer;
	}
	section.ab-promo-section .ab-promo-card-accent {
		transition: transform 0.3s ease;
		transform-origin: top;
		transform: scaleY(0);
		height: 100%;
		right: auto;
		width: 3px;
		left: 0;
		top: 0;
	}
	section.ab-promo-section p.ab-promo-card-number {
		transition: color 0.3s ease;
		font-size: 64px;
		right: 20px;
		top: 20px;
	}
	section.ab-promo-section div.ab-promo-card-body {
		padding: 28px 24px;
	}
	/* Tag: collapse height + margin so it takes zero space at rest */
	section.ab-promo-section .ab-promo-card-tag {
		transition: max-height 0.35s ease 0.05s, opacity 0.35s ease 0.05s, margin 0.35s ease 0.05s, transform 0.35s ease 0.05s;
		transform: translateY(8px);
		overflow: hidden;
		max-height: 0;
		font-size: 12px;
		margin: 0;
		opacity: 0;
	}
	/* Desc: collapse height + margin so it takes zero space at rest */
	section.ab-promo-section .ab-promo-card-desc {
		transition: max-height 0.4s ease, opacity 0.3s ease 0.1s, margin 0.4s ease;
		overflow: hidden;
		max-height: 0;
		font-size: 13px;
		margin: 0;
		opacity: 0;
	}
	/* CTA: collapse via max-height + padding — stays in flow so it can never overlap desc */
	section.ab-promo-section .ab-promo-card-cta {
		transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1) 0.08s, opacity 0.35s ease 0.08s, padding 0.35s ease 0.08s, transform 0.35s ease 0.08s, background 0.3s ease;
		transform: translateY(12px);
		padding-top: 0;
		padding-bottom: 0;
		overflow: hidden;
		max-height: 0;
		font-size: 16px;
		opacity: 0;
	}
}

@media (hover: hover) {
	section.ab-promo-section .ab-promo-card:hover .ab-promo-card-bg {
		transform: scale(1.08);
	}
	section.ab-promo-section .ab-promo-card:hover .ab-promo-card-overlay {
		opacity: 1;
	}
	section.ab-promo-section .ab-promo-card:hover .ab-promo-card-accent {
		transform: scaleY(1);
	}
	section.ab-promo-section .ab-promo-card:hover p.ab-promo-card-number {
		color: rgba(var(--accent2-rgb), 0.10);
	}
	section.ab-promo-section .ab-promo-card:hover .ab-promo-card-tag {
		transform: translateY(0);
		max-height: 30px;
		margin: 0 0 6px;
		opacity: 1;
	}
	section.ab-promo-section .ab-promo-card:hover .ab-promo-card-desc {
		max-height: 80px;
		margin: 0 0 14px;
		opacity: 1;
	}
	section.ab-promo-section .ab-promo-card:hover .ab-promo-card-cta {
		transform: translateY(0);
		padding: 14px 28px;
		max-height: 60px;
		opacity: 1;
	}
	section.ab-promo-section .ab-promo-card:hover .ab-promo-arrow {
		transform: translateX(3px);
	}
}

@media (max-width: 1024px) {
	section.ab-promo-section div.ab-promo-card-body {
	    padding: 16px 16px 40px 40px;
	}
	section.ab-promo-section .ab-promo-card-accent {
		background: unset;
	}
}
/* /home about us promos */

/* fullwidth blurb */
.fw-blurb h2 {
	margin-bottom: 14px;
}
/* /fullwidth blurb */

/* cta row */
.bakery .cta-row {
    padding: 25px 0;
}
.bakery .cta-row .container .wpb_content_element .wpb_wrapper {
    justify-content: center;
    align-items: center;
    display: flex;
}
.bakery .cta-row h2 {
	margin-right: 32px;
}

@media (max-width: 979px) {
	.bakery .cta-row .container .wpb_content_element .wpb_wrapper {
	    flex-direction: column;
	    text-align: center;
	}
	.bakery .cta-row h2 {
		margin-bottom: 16px;
		margin-right: 0;
	}
	.bakery .cta-row p {
		width: 100%;
	}
}
@media (min-width: 980px) {
	.text-button {
    	display: flex;
		margin-right: 30px !important;
	}
}
/* cta row */

/* fifty fifty */
.bakery .fifty-fifty {
	padding: 0;
}
.bakery .fifty-fifty .container {
	justify-content: center;
	max-width: none;
	display: flex;
	width: 100%;
}
 .fifty-fifty .image-col .vc_column-inner {
	background-position: center top !important;
	height: 100%;
	padding: 0;
}
.fifty-fifty.inline-img img,
.fifty-fifty .image-col img,
.wpb_content_element.image-col img {
	border-radius: 16px;
}
.bakery .fifty-fifty .text-col {
	padding: 0;
}
.fifty-fifty .text-col .vc_column-inner {
	padding: 60px 0;
    max-width: 700px;
    margin: 0 auto;
    width: 87%;
}
.fifty-fifty h2 {
	margin-bottom: 12px;
}
.fifty-fifty h3 {
	margin-bottom: 16px;
}
.fifty-fifty h4 {
	margin-bottom: 10px;
	font-weight: normal;
}
.fifty-fifty a.btn-bt {
    margin-top: 12px;
}
/* this is for the inner row side=by-side image collage */
body .fifty-fifty .text-col .vc_column-inner .vc_column-inner {
    width: 100%;
    padding: 0;
    margin: 0 ;
}

@media (min-width: 980px) {
	body .fifty-fifty .text-col .vc_column-inner .wpb_row.vc_inner .vc_col-sm-6:not(.vc_col-has-fill):nth-child(1) {
		padding-right: 2%;
	}
	body .fifty-fifty .text-col .vc_column-inner .wpb_row.vc_inner .vc_col-sm-6:not(.vc_col-has-fill):nth-child(2) {
		padding-left: 2%;
	}
}

@media (min-width: 980px) {
	.bakery .fifty-fifty .text-col.vc_col-sm-6:not(.vc_col-has-fill):nth-child(2),
	.bakery .fifty-fifty .text-col.vc_col-sm-6:not(.vc_col-has-fill):nth-child(1) {
	    justify-content: center;
	    align-items: center;
	    display: flex;
	    padding: 0;
	}
}

@media (max-width: 979px) {
	.fifty-fifty .container {
		flex-direction: column;
	}
	.fifty-fifty.reverse .container {
		flex-direction: column-reverse;
	}
	.fifty-fifty .image-col {
	    height: 100%;
	}
	.fifty-fifty .text-col .vc_column-inner {
	    padding: 40px 0;
	    max-width: unset;
	    width: 90%;
	}
	.fifty-fifty.inline-img img,
	.fifty-fifty .fake-collage img {
	    width: 100%;
	}
	.fifty-fifty .fake-collage .wpb_row.vc_inner {
	    justify-content: space-between;
	    display: flex;
	}
	.fifty-fifty .fake-collage .wpb_row.vc_inner .wpb_column {
	    max-width: 48.7%;
	}
	body:not(#single-location):not(.home):not(#single-product-page):not(#contact-page) .bakery:not(.locations) .fifty-fifty.light1 .text-col:not(:last-child):not(.contact-nap-col) .vc_column-inner {
		padding-bottom: 0;
	}
	.bakery.our-team .fifty-fifty.light1 .text-col:last-child .vc_column-inner {
		padding-bottom: 0;
	}
}

@media (max-width: 480px) {
	body #content .fifty-fifty .text-col h2 {
	    letter-spacing: 0px;
	    line-height: 28px;
	    font-size: 22px;
	}
	body #content .fifty-fifty .text-col h3 {
	    letter-spacing: 0px;
	    line-height: 27px;
	    font-size: 21px;
	}
}
/* /fifty fifty */

/* form */
body .gform_legacy_markup_wrapper {
    margin-bottom: 0;
    margin-top: 0;
}
body #content .gform_legacy_markup_wrapper ul.top_label div.ginput_container {
	margin-top: 0;
}
body .gform_legacy_markup_wrapper ul.top_label li.gfield {
	margin: 0 0 12px 0;
	border: none;
	width: 100%;
	padding: 0;
}
body .gform_legacy_markup_wrapper ul.top_label li.gfield label.gfield_label {
    color: var(--light1);
    margin-bottom: 5px;
    margin-left: 7px;
    font-size: 12px;
}
body .gform_legacy_markup_wrapper ul.top_label li.gfield input:not(.gform_button),
body .gform_legacy_markup_wrapper ul.top_label li.gfield select {
    padding: 0px 20px !important;
    height: 55px;
    border: none;
    width: 100%;
    margin: 0;
}
body .gform_legacy_markup_wrapper ul.top_label li.gfield textarea {
    padding: 12px 20px;
    height: 110px;
    border: none;
    width: 100%;
    margin: 0;
}
body .gform_legacy_markup_wrapper ul.top_label li.gfield input:not(.gform_button):focus,
body .gform_legacy_markup_wrapper ul.top_label li.gfield select:focus,
body .gform_legacy_markup_wrapper ul.top_label li.gfield textarea:focus {
	background-color: var(--accent2);
}

body .gform_legacy_markup_wrapper .gform_footer {
	padding: 0;
	margin: 0;
}
body .gform_legacy_markup_wrapper .gform_footer input.gform_button.button {
	width: 100%;
	margin: 0;
}
/* /form */

/* featured blog posts */
@media (min-width: 1025px) {
    .featured-post {
        justify-content: flex-start;
        align-items: start;
        column-gap: 32px;
        display: flex;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
	.slick-mobile .slick-list,
    .feat-blog .featured-post.slick-initialized .slick-list {
        margin: 0 -14px;
    }
    .slick-mobile .slick-slide,
    .feat-blog .featured-post.slick-initialized .slick-slide {
        padding: 0 14px;
    }
}

.feat-post-left {
    margin-bottom: 14px;
}
.feat-blog a.archive-post-image-link {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 16px;
    display: flex;
    height: 192px;
}
.bakery .wpb_row.feat-blog .featured-post h2 {
    text-transform: none;
    margin-bottom: 3px;
    letter-spacing: 0;
    line-height: 36px;
    font-size: 24px;
}
.bakery .wpb_row.feat-blog .featured-post .feat-post-date-author {
	font-size: 12px;
}
.featured-post h2 a {
    text-decoration: none;
}
.featured-post p.posted-on {
    margin-bottom: 24px !important;
    font-family: var(--MontB);
}
.featured-post .feat-post-right p:not(.read-more) {
    margin-bottom: 3px !important;
}
.featured-post p.read-more a {
    text-decoration: underline;
}
/* /featured blog posts */

/* partner logos */
.bakery .wpb_row.partners {
	padding: 60px 0;
}
.bakery .wpb_row.partners h3 {
	margin-bottom: 40px;
}
/* /partner logos */

/* bottom cta */
.bakery .bottom-cta {
	height: 600px;
}
body .bottom-cta h5 {
	color: var(--light1);
    letter-spacing: 8px;
	margin-bottom: 24px;
    font-weight: normal;
    line-height: 62px;
	font-size: 48px;
}

@media (max-width: 979px) {
	.featured-post {
		justify-content: flex-start;
		align-items: start;
		column-gap: 28px;
		display: flex;
	}
}
/* /bottom cta */

/* promo cards */
.bakery div.vc_row.promo-cards {
	justify-content: space-between;
}
.bakery .promo-cards .vc_col-sm-3 {
    width: 23.5%;
}
.promo-cards .wpb_content_element.dark1,
.promo-cards .wpb_content_element.accent2 {
	justify-content: center;
	align-items: center;
	min-height: 250px;
	padding: 0 24px;
	display: flex;
}
.promo-cards .wpb_content_element h3 {
	letter-spacing: 1.5px;
	text-transform: none;
	line-height: 32px;
	max-width: 185px;
}
.promo-cards .wpb_content_element.dark1 {
    background: var(--dark1);
}
.promo-cards .wpb_content_element.dark1 h3 {
    color: var(--light1);
}
.promo-cards .wpb_content_element.accent2 {
    background: var(--accent2);
}
.promo-cards .wpb_content_element.accent2 h3 {
    color: var(--dark3);
}
a.card-link {
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	height: 176.94px;
	display: flex;
}
a.card-link img {
	position: absolute;
}
body #content a.card-link span.card-hover-text {
	transition: all 0.3s ease-in-out;
    font-family: var(--MontSB);
    justify-content: center;
	text-decoration: none;
	letter-spacing: 3px;
    align-items: center;
	position: absolute;
	color: transparent;
    font-size: 18px;
    display: flex;
	height: 100%;
    width: 100%;
}
body #content a.card-link:hover span.card-hover-text {
	background-color: var(--light1_75);
	transition: all 0.3s ease-in-out;
	color: var(--dark3);
}

@media (max-width: 979px) {
	.bakery div.vc_row.promo-cards {
	    flex-wrap: wrap;
	    display: flex;
	}
	.bakery .promo-cards .vc_col-sm-3 {
	    width: 47%;
	}
}

@media (max-width: 480px) {
	.bakery .promo-cards .vc_col-sm-3 {
	    max-width: 360px;
	    margin: 0 auto;
	    width: 100%;
	}
	.promo-cards .wpb_content_element h3 {
		max-width: 230px;
	}
}
/* /promo cards */

/* locations promo */

body #content .bakery .locations-promo h3 {
	font-family: var(--MontSB);
	margin-top: 16px;
}
body #content .bakery .locations-promo h3 a {
	text-decoration: none;
}
body #content .bakery .locations-promo h3 a:hover {
	color: var(--accent2);
}
body #content .bakery .locations-promo img {
	border-radius: 16px;
}

@media (min-width: 980px) {
	.bakery .locations-promo.vc_inner {
		justify-content: space-between;
		display: flex;
	}
	.locations-promo.vc_inner .wpb_column {
		max-width: 300px;
	}
}

/* /locations promo */

/* testimonials page */
body .bakery.testimonials .fifty-fifty h4 {
	top: 0;
}
.wpb_row.testimonials-wall .strong-content.strong-normal.columns-1 {
    margin: 0;
}
.wpb_row.testimonials-wall .wpmtst-testimonial.testimonial:not(:first-child) {
	margin-top: 40px;
}
.wpb_row.testimonials-wall .wpmtst-testimonial.testimonial:not(:last-child) {
	border-bottom: 2px solid var(--accent1);
	padding-bottom: 40px;
	margin-bottom: 0;
}
body #content .wpb_row.testimonials-wall .strong-view.wpmtst-simple h3.wpmtst-testimonial-heading.testimonial-heading {
    margin-bottom: 14px !important;
    letter-spacing: 2.50px;
    text-transform: none;
    line-height: 32px;
    text-align: left;
    font-size: 24px;
    order: 2;
}
body #content .wpb_row.testimonials-wall .wpmtst-testimonial-content.testimonial-content p {
    font-style: normal;
    line-height: 26px;
    text-align: left;
    font-size: 14px;
}
body #content .wpb_row.testimonials-wall .wpmtst-testimonial-content.testimonial-content {
    max-width: unset;
    margin: 0;
    order: 3;
}
body #content .wpb_row.testimonials-wall .wpmtst-testimonial-field.testimonial-field {
    text-align: left;
    order: 4;
}
body #content .wpb_row.testimonials-wall .wpmtst-testimonial-field.testimonial-field:not(.testimonial-rating) {
    font-family: var(--MontSB);
    letter-spacing: 1px;
    line-height: 28px;
	font-size: 18px;
}
body #content .wpb_row.testimonials-wall .wpmtst-testimonial-field.testimonial-field.testimonial-rating {
    margin-bottom: 12px;
	margin-top: 0;
	order: 1;
}
body #content .wpb_row.testimonials-wall .wpmtst-testimonial-inner.testimonial-inner {
    display: flex !important;
    flex-direction: column;
}
body .strong-rating span.star:before {
    background: var(--accent2);
    color: var(--accent2);
}
p.five-stars i {
	color: var(--accent2);
}

@media (min-width: 980px) {
	.bakery .testimonials-wall {
	    padding: 70px 0;
	}
}

@media (max-width: 979px) {
	body #content .wpb_row.fw-blurb:not(.special-row):not(.ty-blurb) h3 {
		margin-bottom: 0;
	}
}
/* /testimonials page */

/* single location */
@media (min-width: 980px) {
	body #content .single-location-promo-outer h3 {
	    line-height: 30px;
	    font-size: 22px;
	}
}

.bakery .wpb_gmaps_widget .wpb_wrapper {
    background-color: unset;
    padding: 0;
}
.map-col .vc_column-inner .wpb_wrapper,
.map-col .wpb_gmaps_widget,
.map-col .wpb_map_wraper {
	height: 100% !important;
}
.map-col iframe {
	height: 100%;
	width: 100%;
}

/* /single location */

/* products index */
@media (min-width: 980px) {
	body#products-page .fifty-fifty .text-col .vc_column-inner {
	    padding: 80px 0;
	}
}

body#products-page .fifty-fifty .text-col h3 {
    font-family: var(--MontSB);
}
/* /products index */

/* single product */
.single-product-tiers-outer h3.outer {
    margin-top: 28px;
}

@media (min-width: 980px) {
	.bakery .wpb_row.vc_inner.single-product-tiers {
	    justify-content: space-between;
	    padding-top: 24px;
	    max-width: 800px;
	    display: flex;
	    margin: 0 auto;
	}
	.single-product-tiers .vc_col-sm-4 {
		margin-right: 2.5%;
		width: 31%;
	}
	.single-product-tiers .vc_col-sm-4:last-child {
		margin-right: 0;
	}
}

@media (max-width: 979px) {
	body:not(#single-service-page) .bakery .single-product-tiers-outer {
		padding: 0 !important;
	}
	.bakery .vc_row.vc_inner.single-product-tiers {
	    max-width: 300px;
	    margin: 0 auto;
	    width: 90%;
	}
}

@media (max-width: 480px) {
	body#single-product-page .bakery .wpb_row.single-product-tiers-outer {
		padding: 0 !important;
	}
}

.single-product-tiers .wpb_text_column.accent1 {
    background: var(--accent1);
    justify-content: center;
    align-items: center;
    min-height: 140px;
    display: flex;
}
.single-product-tiers .wpb_text_column.accent1 img {
    max-height: 70px;
    width: auto;
}
/* /single product */

/* services index */

@media (min-width: 980px) {
	.bakery .vc_inner.collage-combo {
		justify-content: space-between;
		display: flex;
	}
	.bakery .vc_inner.collage-combo .wpb_column.vc_col-sm-6 {
		padding: 0;
		width: 50%;
	}
	.bakery .vc_inner.collage-combo .wpb_column.vc_col-sm-6:nth-child(1) {
		margin-right: 1.5%;
	}
}

@media (max-width: 979px) {
	.bakery .wpb_row.membership-benefits {
		padding: 0;
	}
}

.bakery .vc_col-sm-6 ul li {
    margin-bottom: 8px;
    line-height: 28px;
}

/* /services index */

/* single service */
@media (max-width: 979px) {
	body#single-service-page .bakery .wpb_row.single-product-tiers-outer {
		padding: 32px 0 0 0 !important;
	}
}
/* /single service */

/* menu page */
@media (min-width: 769px) {
	body#menu-page .bakery .wpb_row.tabs ul.vc_tta-tabs-list {
	    justify-content: space-between;
	    max-width: 671px;
	}
	body#menu-page .bakery .wpb_row.tabs ul.vc_tta-tabs-list li.vc_tta-tab {
	    min-width: 31%;
	}
}

@media (min-width: 768px) {
	.tabs .vc_tta-color-grey.vc_tta-style-classic.vc_tta-tabs .vc_tta-panels {
	    background-color: transparent;
	}
}

#content .bakery .wpb_row.tabs .vc_tta-panels {
    border: none !important;
    max-width: 1520px;
    margin: 0 auto;
    width: 92%;
}
#content .bakery .wpb_row.tabs .vc_inner {
	padding: 60px 0;
}
body #content .tabs h3 {
    margin-bottom: 14px;
}
hr.accent1 {
	border-bottom: 2px solid var(--accent1);
	margin-bottom: 14px;
}
.menu-flex {
	justify-content: space-between;
	align-items: flex-start;
	display: flex;
}
.menu-flex.halves .menu-col {
	width: 49%;
}
.menu-flex.fourths .menu-col {
	width: 24%;
}

@media (min-width: 769px) {
	.menu-flex .menu-col:not(:last-child) {
		margin-right: 1%;
	}
}

body .tabs h4 {
	font-family: var(--MontSB);
	letter-spacing: 2px;
    margin-bottom: 10px;
	font-style: normal;
}
body .tabs .halves h4 {
	margin-bottom: 6px;
}
body .tabs h5 {
	font-family: var(--MontSB);
    letter-spacing: 2px;
    margin-bottom: 5px;
	font-style: normal;
	line-height: 24px;
    margin-top: 10px;
	font-size: 16px;
}

@media (max-width: 979px) {
	.menu-flex {
		flex-wrap: wrap;
	}
	.menu-flex.halves .menu-col {
		width: 49%;
	}
	.menu-flex.fourths .menu-col {
		width: 49%;
	}
	.vc_tta-panel-body,
	.menu-col {
		text-align: center;
	}
}

@media (max-width: 768px) {
	.menu-flex.halves .menu-col {
		width: 100%;
	}
	.menu-flex.fourths .menu-col {
		width: 100%;
	}
	body .tabs .halves h4 {
	    margin-bottom: 10px;
	    margin-top: 30px;
	}
	body .tabs .menu-flex.halves h5 {
	    margin-bottom: 10px;
	    margin-top: 30px;
	}
	body .menu-flex.fourths h5 {
		margin-bottom: 10px;
		margin-top: 30px;
	}
}
/* /menu page */

/* blog archive */

@media (min-width: 980px) {
	body#blog-page .blog .wrap div#primary {
    	gap: 32px;
	}
}

@media (max-width: 979px) {
	body#blog-page .blog .wrap div#primary {
    	padding-bottom: 0 !important;
		padding-top: 40px !important;
	}
	body#blog-page .blog #primary article {
		margin-bottom: 40px;
	}
	body#blog-page .blog #primary article::last-child {
		margin-bottom: 0px;
	}
}

body#blog-page .blog .wrap div#primary {
    justify-content: center;
    align-items: start;
    max-width: 1520px;
    flex-wrap: wrap;
    padding: 60px 0;
    margin: 0 auto;
    display: flex;
    width: 92%;
}
body#blog-page #content #primary .post-image-and-text {
    margin-bottom: 22px;
}
body#blog-page #content #primary .post-image-wrap {
    margin-bottom: 10px;
}
body#blog-page #content #primary .post-image-wrap,
body#blog-page #content #primary .post-image-wrap a,
body#blog-page #content #primary .post-image-wrap a img {
	border-radius: 16px;
}
.blog-post-row img.post-image {
    height: auto;
    width: 100%;
}
body #content h2.archive-post-title {
    text-transform: none;
    margin-bottom: 2px;
    letter-spacing: 0;
	line-height: 36px;
    font-size: 24px;
}
body #content h2.archive-post-title a {
	transition: all 0.3s ease-in-out;
	text-decoration: none;
    color: var(--dark3);
}
body #content h2.archive-post-title a:hover {
	transition: all 0.3s ease-in-out;
	text-decoration: none;
    color: var(--accent1);
}
body#blog-page #content p.archive-post-date-author {
	margin-bottom: 5px;
	font-size: 14px;
}
body#blog-page div#pagination {
    background: var(--dark3);
    justify-content: center;
    align-items: center;
    padding: 25px 5%;
    display: flex;
    width: 100%;
    gap: 32px;
}
body#blog-page div#pagination .container {
    justify-content: center;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    width: 90%;
}
body.paged .left-pag,
body.paged .right-pag {
    text-align: center;
}
body#blog-page #content div#pagination a {
	transition: all 0.3s ease-in-out;
	text-transform: uppercase;
	font-family: var(--MontSB);
	text-decoration: none;
	color: var(--light1);
	letter-spacing: 1px;
    font-size: 16px;
    line-height: 1;
}
body#blog-page #content div#pagination a:hover {
	transition: all 0.3s ease-in-out;
	color: var(--accent2);
}

@media (max-width: 480px) {
	body#blog-page #content #primary .post-image-wrap {
	    margin-bottom: 16px;
	}
	body #content h2.archive-post-title {
	    letter-spacing: 0px;
	    line-height: 30px;
	    font-size: 24px;
	}
	body article.blog-post-row hr {
    	margin-bottom: 22px;
	}
	.post-read-more-wrap a {
	    width: 100%;
	}
}
/* /blog archive */

/****** SINGLE BLOG ******/
body.single-post #content .blog.single {
    padding: 60px 0;
}
body.single-post #content .wrap {
    max-width: 1820px;
    column-gap: 30px;
    margin: 0 auto;
    width: 100%;
}
body.single-post .default-header h2 {
    text-shadow: 0px 0px 48px var(--dark3);
    text-transform: none;
    letter-spacing: 0px;
    text-align: center;
    font-size: 64px;
    line-height: 1;
}
body.single-post #primary {
    width: 75% !important;
    display: block;
}
body.single-post #secondary {
    width: 25% !important;
}
body.single-post h1 {
    color: var(--dark3);
}
body #content span.single-post-author a {
    color: var(--dark3);
}
.single-post-content p:not(:last-child) {
    margin-bottom: 18px;
}
body.single-post p.single-post-meta span {
    font-size: 14px;
    line-height: 1;
}
div#single-pagination {
    background: var(--light2);
    justify-content: center;
    border-radius: 16px;
    align-items: center;
	margin-top: 24px;
    column-gap: 5%;
    padding: 24px;
    display: flex;
    gap: 32px;
}
div#single-pagination > div {
	justify-content: center;
	align-items: center;
	display: flex;
}
body.single-post #content div#single-pagination a {
	transition: all 0.3s ease-in-out;
	text-transform: uppercase;
	font-family: var(--MontSB);
	text-decoration: none;
	color: var(--dark3);
	letter-spacing: 1px;
    font-size: 16px;
    line-height: 1;
}
body.single-post #content div#single-pagination a:hover {
	transition: all 0.3s ease-in-out;
	color: var(--accent1);
}
aside#secondary {
    background: var(--light2) !important;
    padding: 20px 24px !important;
    border-radius: 16px;
    position: sticky;
    top: 160px;
}
aside#secondary h2.widget-title {
    letter-spacing: 1px !important;
    margin-bottom: 5px !important;
    font-size: 16px !important;
    color: var(--dark3);
}
#secondary ul {
    list-style: none;
}
#secondary ul li {
    border-bottom: 1px solid var(--dark3);
    padding: 10px 0;
}
#secondary ul li,
#secondary ul li a {
    line-height: 1.1;
    font-size: 14px;
}
body #content #secondary ul li a {
    text-decoration: none;
    color: var(--dark3);
}
body #content #secondary ul li a:hover {
    text-decoration: none;
    color: var(--accent1);
}
body.single-post img.feat-img {
    border-radius: 16px;
    max-width: 100%;
    height: auto;
    width: 100%;
}
body.single-post .single-post-content h2 {
    margin-bottom: 8px;
    font-size: 28px;
    line-height: 1;
}
body.single-post .single-post-content h3 {
    margin-bottom: 8px;
    font-size: 24px;
    line-height: 1;
}
body.single-post .single-post-content ul,
body.single-post .single-post-content ol {
    margin-bottom: 18px;
    padding-left: 32px;
}

/***** /SINGLE BLOG *****/

/* Single Blog */

@media (min-width: 980px) {
	body.single.admin-bar { margin-top: 0; }
}

@media (max-width: 979px) {
	html[lang="en-US"] {
		margin-top: 0 !important;
	}
	body.single.admin-bar {
		margin-top: 0;
	}
	body #content aside#secondary {
    	width: 100%;
    	margin-top: 40px;
    	padding: 40px;
	}
}

@media (max-width: 782px) {
	html[lang="en-US"] {
		margin-top: 0 !important;
	}
}

@media (max-width: 480px) {
	body #content aside#secondary {
    	padding: 20px;
	}
}

body.single #content .blog.single {
    justify-content: center;
    align-items: start;
    max-width: 1520px;
    flex-wrap: wrap;
    padding: 60px 0;
    margin: 0 auto;
    display: flex;
    width: 92%;
    gap: 32px;
}
body.single #content .blog.single .wrap {
	max-width: unset;
	width: 100%;
}
.single-intro {
	background: var(--dark1);
	padding: 100px 0 70px 0;
}
.single-intro .container {
    align-items: flex-start;
    justify-content: center;
    max-width: unset;
    margin: 0 auto;
    display: flex;
    width: 93%;
}
h1.single-post-title {
	text-transform: none;
    letter-spacing: 0;
}
div.single-post-meta-wrap {
    margin-top: 5px;
}

@media (min-width: 980px) {
	.single-intro .container > div {
		margin-bottom: 0;
		width: 50%;
	}
	.single-intro .container > div:nth-child(1) {
		padding-right: 2.5%;
	}
	.single-intro .container > div:nth-child(2) {
		padding-left: 2.5%;
		padding-top: 24px;
	}
}

@media (max-width: 979px) {
	.single-intro .container {
		flex-direction: column-reverse;
	}
	.single-intro .container > div {
		width: 100%;
	}
}

body #content .nav-previous a, body #content .nav-next a{
	background-color: var(--accent1);
	color: var(--light1);
    padding: 15px 20px;
	    min-width: 150px;
    display: block;
    text-align: center;
}
body #content .nav-previous a:hover, body #content .nav-next a:hover{
    transition: all 0.3s ease-in-out;
    background: var(--accent1_65);
    color: var(--light1);
	text-decoration: none;
}

body #content a.all-blogs-link {
	padding: 15px 28px;
    min-width: 130px;
    max-width: 90px;
}
body.single h1.single-post-title {
    line-height: 36px;
    font-size: 32px;
}
body.single .single-post-feat-img-wrap img {
    height: auto;
    width: 100%;
}

body.single .single-post-content-wrap {
    margin-bottom: 0;
}
.blog-beef {
	padding: 40px 0;
	width: 100%;
}
.blog-beef .container,
.single-pagination .container {
	max-width: 1200px;
	margin: 0 auto;
	width: 90%;
}
body.single .single-pagination {
    width: 100%;
}
body.single nav.navigation.post-navigation {
    background: unset;
    max-width: none;
    padding: unset;
    width: 100%;
    margin: 0;
}
body.single .navigation .nav-links > * {
    min-width: unset;
    min-height: unset;
}
body.single #content .navigation .nav-links a.btn-bt {
    text-transform: uppercase;
    font-family: var(--MontB);
    justify-content: center;
    text-decoration: none;
    letter-spacing: 2px;
    flex-direction: row;
    align-items: center;
    color: var(--dark3);
    border-radius: 2px;
    text-align: center;
    padding: 13px 28px;
    font-size: 14px;
    line-height: 1;
    display: flex;
}
body.single .single-post-content-wrap h2 {
	margin-bottom: 18px;
}
body.single .single-post-content-wrap h3 {
	margin-bottom: 16px;
}
body.single .single-post-content-wrap a.btn-bt {
	margin-top: 16px;
}
body.single .single-post-content-wrap p:not(:last-child) {
	margin-bottom: 16px;
}
body.single .single-post-content-wrap img {
	margin-bottom: 2em;
	margin-top: 2em;
}

@media (max-width: 480px) {
	body.single h1.single-post-title {
    	line-height: 28px;
    	font-size: 18px;
    	margin: 15px 0px;
	}
	.single-intro {
    	padding: 30px 0 20px 0;
	}
	
}

/* END Single Blog */

/* contact us */

@media (min-width: 481px) {
	.contact-form-row p {
	    max-width: 550px;
	    margin: 0 auto;
	    width: 100%;
	}
	.bakery.contact-us div#gform_wrapper_1 {
	    max-width: 475px;
	    margin: 0 auto;
	}
}

.bakery.contact-us .gform_wrapper form {
    max-width: 600px;
    margin: 0 auto;
    width: 90%;
}

/* /contact us */

/* specials */

@media (min-width: 980px) {
	.bakery.specials .fifty-fifty .text-col .vc_column-inner {
	    padding: 124px 0;
	}
}

/* /specials */

/* review us */
.bakery.review-us .strong-form label,
.bakery.review-us .strong-form span.after {
    color: var(--light1);
}
.bakery.review-us .strong-form .strong-rating label:before {
    background: var(--accent2);
    color: var(--accent2);
}
/* /review us */

/* privacy policy and ADA */

body#pp-page .wpb_row:not(.fifty-fifty) h3,
body#ada .wpb_row:not(.fifty-fifty) h3 {
    margin-top: 0;
    margin-bottom: 6px;
}
body#pp-page .bakery ul,
body#ada .bakery ul {
	margin-bottom: 35px;
}

/* /privacy policy and ADA */

/* Privacy Policy */

#legal-page #content .bakery hr {
    margin: 35px 0;
}
#legal-page #content .bakery ul:not(.social) {
    margin-bottom: 16px;
}
#legal-page #content .bakery ul ul {
    margin-top: 16px;
}
#legal-page #content .bakery ul:not(.social) li {
    margin-bottom: 7px;
}
#legal-page #content .bakery ol {
    margin-bottom: 16px;
    padding-left: 18px;
    margin-top: 36px;
}
#legal-page #content .bakery  h2 {
    margin-bottom: 0;
    font-size: 36px;
}
#legal-page #content .bakery li h3 {
    line-height: 1.25;
    font-size: 24px;
}
#legal-page #content .bakery p,
#legal-page #content .bakery p a:not(.ab-item),
#legal-page #content .bakery p span,
#legal-page #content .bakery ul:not(.social) li {
    font-size: 16px;
}
body#legal-page ol li::marker,
body#legal-page ol li,
body#legal-page ol li h3 {
	font-family: var(--MontM);
	font-weight: normal;
	font-size: 24px;
}

/* END Privacy Policy */

/* 404 */

body.error404 .default-header {
    background-image: url(/wp-content/uploads/2021/10/Header-default.jpg);
}

@media (max-width: 480px) {
    body.error404 .default-header {
        background-image: url(/wp-content/uploads/2021/10/header-default-mobile.jpg);
    }
}

body.error404 .top-blurb {
    padding-bottom: 36px;
    padding-top: 28px;
}

@media (min-width: 980px) {
    body.error404 .top-blurb {
        min-height: 500px;
    }
}

body.error404  #content .top-blurb h2 {
    margin-bottom: 24px;
}
body.error404 .wpb_row:not(.fifty-fifty):not(.cta-row):not(.bottom-cta) .vc_col-sm-12 a.btn-bt {
    margin-top: 0;
}
body.error404 #content .copyright a {
	transition: all 0.3s ease-in-out;
	color: var(--light1);
}
body.error404 footer#footer a {
	transition: all 0.3s ease-in-out;
	color: var(--dark3);
}
body.error404 footer#footer a:hover,
body.error404 #content .copyright a:hover {
	transition: all 0.3s ease-in-out;
	color: var(--accent2);
}

/* /404 */

/* WP Carousel */
.wpcp-swiper-wrapper {
    margin-bottom: 0px !important;
}

/* responsive */

@media (min-width: 980px) {
	body .bakery .fw-blurb.ty-blurb {
		padding: 75px 0;
	}
}

@media (max-width: 1024px) {
	.cta-row .wpb_content_element .wpb_wrapper {
		row-gap: 12px;
	}
	.cta-row .wpb_content_element .wpb_wrapper h2 {
		margin-bottom: 0;
		margin-right: 0;
    }
}

@media (max-width: 979px) {
	.ab-promo-grid .container {
		max-width: 700px;
	}
	.nav-links {
	    text-align: unset !important;
	}
	.wpb_row.fw-blurb.special-row {
		padding-bottom: 40px !important;
		padding-top: 28px !important;
	}
	.fifty-fifty .image-col {
        height: 753px;
    }
    body.single-post #primary,
    body.single-post #secondary {
	    width: 100% !important;
	}
	#content .bakery .wpb_row.tabs .vc_inner {
	    padding: 30px 0;
	}
}

@media (max-width: 768px) {
	.fifty-fifty .image-col {
        height: 588px;
    }
    .ab-promo-grid .container {
		max-width: 420px;
	}
	#content .bakery .wpb_row.tabs .vc_inner {
	    padding: 24px 0;
	}
}

@media (max-width: 704px) {
	.ti-footer.ti-footer-grid.source-Google {
	    margin-top: 0 !important;
	}
}

@media (max-width: 641px) {
	body .gform_legacy_markup_wrapper input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
	    line-height: 26px;
	    min-height: unset;
	}
}

@media (max-width: 480px) {
	.ab-promo-grid .container {
		max-width: 320px;
	}
	#content .bakery .wpb_row.tabs .vc_inner {
	    padding: 18px 0;
	}
	.bakery .wpb_row.tabs .vc_tta-panels-container {
	    padding: 12px 0 0 0 !important;
	}
	body h1 {
	    letter-spacing: 5px;
	    text-align: center;
	    line-height: 48px;
	    font-size: 32px;
	}
	body .home-hero {
	    height: 372px;
	}
	body .bakery .wpb_row.home-promos-outer {
	    padding: 40px 0 !important;
	}
	body h2 {
	    letter-spacing: 3px;
	    line-height: 38px;
	    font-size: 28px;
	}
	body .bakery .vc_row.vc_inner.home-promos {
	    padding: 24px 0 0 0 !important;
	}
	/*body .fifty-fifty .image-col {
	    height: 100%;
	}*/
	body .fifty-fifty .image-col {
        height: 300px;
    }
	body .fifty-fifty .text-col .vc_column-inner {
	    padding: 32px 0;
	    max-width: unset;
	    margin: 0 auto;
	    width: 90%;
	}
	body .fifty-fifty .fake-collage .wpb_row.vc_inner {
		padding-top: 10px !important;
	}
	body .fifty-fifty .fake-collage .wpb_row.vc_inner .vc_column-inner {
		padding-top: 0 !important;
	}
	body .fifty-fifty .text-col.fake-collage .vc_column-inner {
	    padding: 24px 0;
	}
	body .bakery .wpb_row.promo-cards-outer {
	    padding: 30px 0 0 0 !important;
	}
	body .featured-post h2,
	body .featured-post p.posted-on,
	body .featured-post .feat-post-content p {
		text-align: left;
	}
	body .bakery .vc_row.feat-blog {
	    padding-bottom: 40px;
	    padding-top: 24px;
	}
	body .bakery img.feat-post-img {
	    margin-bottom: 16px;
	}
	body .featured-post h2 {
	    margin-bottom: 7px;
	    line-height: 30px;
	    font-size: 24px;
	}
	body .featured-post p.posted-on {
	    margin-bottom: 5px !important;
	    font-size: 14px;
	}
	body .featured-post div.feat-post-content {
	    margin-bottom: 16px;
	}
	/*body .bakery section.testimonials {
		padding-bottom: 28px !Important;
		padding-top: 136px !important;
	}*/
	body .bakery .testimonials-opacity .container {
	    padding: 0px 0% 30px 0%;
	}
	body .testimonial-slogan.mb0 {
	    margin-bottom: 45px !important;
	    margin-top: -100px;
	    position: relative;
	}
	body.home .bakery .testimonials h4 {
	    letter-spacing: 0;
		line-height: 28px;
	    padding: 14px 3%;
	    max-width: 100%;
	    font-size: 15px;
	    width: 100%;
	    top: 0;
	}
	body .strong-view.wpmtst-simple .wpmtst-testimonial-inner {
	    padding: 16px 0 0 0;
	}
	body .wpmslider-controls-direction {
	    display: none !important;
	}
	body .strong-view.wpmtst-simple h3.wpmtst-testimonial-heading.testimonial-heading {
	    margin-bottom: 10px !important;
	    letter-spacing: 0px;
	    line-height: 26px;
	    font-size: 18px;
	}
	body .wpmtst-testimonial-content.testimonial-content p {
		line-height: 20px;
		font-size: 14px;
	}
	body .bakery .wpb_row.partners {
	    padding: 24px 0 30px 0;
	}
	body .bakery .wpb_row.partners h3 {
	    margin-bottom: 16px;
	}
	body .bakery .bottom-cta h5 {
	    letter-spacing: 3px;
	    line-height: 40px;
	    font-size: 30px;
	}
	body .bakery .bottom-cta {
	    min-height: 372px;
	    height: auto;
	}
	body .wpb_row.testimonials-wall .wpmtst-testimonial.testimonial:not(:last-child) {
	    padding-bottom: 24px;
	}
	body .wpb_row.testimonials-wall .wpmtst-testimonial.testimonial:not(:first-child) {
	    margin-top: 26px;
	}
	body #content .wpb_row.testimonials-wall .strong-view.wpmtst-simple h3.wpmtst-testimonial-heading.testimonial-heading {
	    letter-spacing: 1px;
	    line-height: 26px;
	    font-size: 20px;
	}
}
/* responsive







/* === Page: design-system === 2026-09-04 === */
/* Design system: Playfair Display (headings) + Outfit (body/UI), Naples Bay palette.
   Fonts are linked in header.php. Colour vars come from Theme Options via
   option-page-styles.css — only the derived/extra vars are declared here. */

:root {
    /* Font families */
    --headingfont: 'Playfair Display', serif;
    --bodyfont:    'Outfit', sans-serif;
    --uifont:      'Outfit', sans-serif;

    /* Remap the Fitness template's font vars so inherited rules follow the new families */
    --IBMReg: 'Outfit', sans-serif;
    --MontM:  'Playfair Display', serif;
    --MontSB: 'Outfit', sans-serif;
    --MontB:  'Outfit', sans-serif;

    /* Palette extras with no Theme Options field */
    --neutral1: #C7BBAE;
    --neutral2: #5F697E;
    --neutral3: #737C7F;

    /* Derived opacity variants — recomputed for the new palette */
    --accent1_65: #285390A6;   /* accent1 @ 65% */
    --light1_75:  #F9F7F5BF;   /* light1  @ 75% */
    --light1_50:  #F9F7F580;   /* light1  @ 50% */
    --dark1_75:   #00305BBF;   /* dark1   @ 75% */
    --uihover:    #C9A22766;   /* accent2 @ 40% */
    --accent2-rgb: 201, 162, 39;
}

/* HEADINGS — Playfair Display.
   Sizes, line heights and transforms come from Theme Options; weight and family are set here
   because the options page bakes weight into the old font-family names and custom.css
   forces font-weight: normal on every heading. */
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    font-family: var(--headingfont) !important;
}
body h1,
body h2 {
    font-weight: 500 !important;   /* Playfair Display Medium */
}
body h3,
body h4,
body h5,
body h6 {
    font-weight: 400 !important;   /* Playfair Display Regular */
}

/* BODY — Outfit Regular 16/26 */
body,
body p,
body li,
body span,
body #content p,
body #content li {
    font-family: var(--bodyfont) !important;
    font-weight: 400 !important;
}
body #content strong,
body #content b {
    font-weight: 700 !important;   /* Outfit Bold */
}
body #content em,
body #content i:not([class*="icon-"]):not([class*="fa-"]) {
    font-style: italic !important;
}

/* NAVIGATION — Outfit Medium 14/14 */
body ul#left-menu li a,
body ul#right-menu li a,
body nav ul#top-menu li a,
body nav div#top-menu ul li a {
    font-family: var(--bodyfont) !important;
    font-weight: 500 !important;
}

/* UI — buttons, form labels, tab/accordion titles: Outfit Semi-Bold 18/26 */
body a.btn-bt,
body a.btn-bt.default,
body a.btn-bt.alternate,
body button,
body form label,
body .gform_wrapper.gravity-theme .gfield_label,
body .gform_wrapper.gravity-theme .gform-field-label,
body .gform_footer input[type="submit"],
body span.vc_tta-title-text {
    font-family: var(--uifont) !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    line-height: 26px !important;
	text-transform: uppercase;
}

/* Gold buttons take dark1 text. option-page-styles.css emits dark2 for these
   selectors and is regenerated from Theme Options, so the override belongs here. */
footer a.btn-bt.alternate,
body #content a.btn-bt.alternate,
body #content a.btn-bt.accent2 {
    color: var(--dark1) !important;
}

/* TOP WIDGETIZED AREA — Outfit Bold 16/26 */
body .top-widget p,
body .top-widget p a,
body .top-widget .widget a {
    font-family: var(--bodyfont) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 26px !important;
}

/* FOOTER HEADINGS — Playfair Display Bold 21/24 */
body .site-footer .widget h2,
body .site-footer h2.widget-title,
body .site-footer .widget h3 {
    font-family: var(--headingfont) !important;
    font-weight: 500 !important;
    font-size: 21px !important;
    line-height: 24px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* EYEBROW / LABEL — the small uppercase Outfit label above section headings
   ("OUR AREAS OF EXPERTISE", "WHO WE ARE", "WE'RE HERE TO HELP", "EXPLORE OUR OPTIONS") */
body #content .eyebrow {
    font-family: var(--bodyfont) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
}

/* RESPONSIVE HEADING SCALE
   The Figma scale is desktop-only (H1 82/82, H2 56/56); these steps keep the
   proportions readable once columns stack. */
@media (max-width: 979px) {
    body h1 { font-size: 48px !important; line-height: 52px !important; }
    body h2 { font-size: 38px !important; line-height: 42px !important; }
    body h3 { font-size: 28px !important; line-height: 34px !important; }
    body h4 { font-size: 22px !important; line-height: 28px !important; }
}
@media (max-width: 480px) {
    body h1 { font-size: 34px !important; line-height: 38px !important; letter-spacing: 0px !important; }
    body h2 { font-size: 28px !important; line-height: 32px !important; letter-spacing: 0px !important; }
    body h3 { font-size: 24px !important; line-height: 30px !important; }
}










/* === Page: shell === 2026-09-04 === */
/* Header top bar, nav strip and footer. These sit OUTSIDE .bakery and #content,
   so they are scoped from body instead.

   Two template defaults are overridden here:
   - option-page-styles.css emits `.row.copyright, .top-widget { background: var(--dark2) }`
   - the Fitness custom.css sets the nav strip and sub-menus to var(--light3)
   custom.css loads after the options sheet, so matching specificity is enough. */

/* TOP BAR — navy, socials + phone left, gold title-order button right */
body .top-widget {
    background: var(--dark1);
}
body .top-widget p,
body .top-widget p a,
body .top-widget ul.social li a {
    color: var(--light1) !important;
}
body .top-widget p.twa-phone {
    text-align: left;
    margin: 0 0 0 12px;
}

/* Top-bar social squares are neutral in the comp; the gold square is the phone.
   The copyright bar keeps the template's gold squares, so this is scoped to .top-widget. */
body .top-widget ul.social.top-widget-socials li a i {
    background: var(--neutral2);
    color: var(--light1);
}
body .top-widget ul.social.top-widget-socials li a i:hover {
    background: var(--accent2);
    color: var(--dark1);
}

/* Gold CTA, flush to the bar's full height */
body .top-widget a.btn-bt.title-order-btn {
    background: var(--accent2) !important;
    align-items: center;
    border-radius: 8px 0px 0px 8px;
    padding: 0 28px;
    display: flex;
    height: 40px;
}
body .top-widget a.btn-bt.title-order-btn {
    color: var(--dark1) !important;
    font-size: 15px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}
body .top-widget a.btn-bt.title-order-btn:hover {
    background: var(--light1) !important;
    color: var(--dark1) !important;
}

@media (max-width: 979px) {
    body .top-widget a.btn-bt.title-order-btn {
        font-size: 12px !important;
        padding: 0 14px;
    }
}

/* ACF TOP BANNER — page.php prints only background-image inline, so the darkening
   overlay lives here. Matches the practice-page hero treatment, and applies to
   every banner subpage. */
body .default-header {
    background-color: rgba(0, 0, 0, 0.4);
    background-blend-mode: overlay;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
body #content .default-header h1,
body .default-header h1 {
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35) !important;
    color: var(--light1) !important;
    text-align: center !important;
}

/* 404 banner — the Fitness base block still points this at its 2021 uploads
   (custom.css ~line 2316). Overridden here rather than editing the base region;
   this block sits later in the same file, so it wins on order. */
body.error404 .default-header {
    background-image: url('/wp-content/uploads/2026/09/global-default-header-bg.jpg');
}
@media (max-width: 480px) {
    body.error404 .default-header {
        background-image: url('/wp-content/uploads/2026/09/global-default-header-bg.jpg');
    }
}

/* NAV STRIP — warm grey, matching sub-menus */
body .top-header.top-bottom-header .navigation-top {
    background-color: var(--light2);
    max-width: none;
}
body nav#site-navigation ul.sub-menu {
    background: var(--light2);
}

/* FOOTER — warm grey panel, dark text, gold icon squares (icons come from the
   template's h5.address-icon / h5.phone-icon rules) */
body footer#footer {
    background: var(--light2);
}
/* The logo is 722px wide natively and the footer columns are vc_col-sm-3, so a
   fixed cap wider than the column pushed the artwork under column 2's icon.
   width + max-width lets it shrink with the column instead of overflowing. */
body footer#footer img.footer-logo {
    width: 260px;
    max-width: 100%;
    height: auto;
    display: block;
}

/* Gold icon squares: the base block offsets them with a fixed top: -5.5px,
   which was tuned to the Fitness h5 size and sits high against Playfair.
   Centre them on the heading's line box instead, and drop the 4px left padding
   so the glyph centres in the square. */
@media (min-width: 980px) {
    body footer#footer h5.address-icon:before,
    body footer#footer h5.phone-icon:before,
    body footer#footer h5.hours-icon:before {
        top: 50%;
        transform: translateY(-50%);
        padding-left: 0;
        line-height: 1;
    }
}
body footer#footer h5 {
    color: var(--dark1) !important;
}
body footer#footer p,
body footer#footer p a {
    color: var(--dark2) !important;
}
/* Footer body copy is 14px but inherits the global 26px line-height from Theme
   Options, so the multi-line address opens up to 1.86 and reads as a list of
   separate lines. 22px (1.57) closes it to the mobile rhythm. Desktop only —
   mobile already reads correctly.

   The address is <br>-separated text inside an inline <a>, and an inline
   element's line-height does not shrink the line box: the block's strut wins,
   so the widget div has to carry the value too. */
@media (min-width: 980px) {
    body footer#footer .textwidget,
    body footer#footer .widget,
    body footer#footer p,
    body footer#footer a {
        line-height: 22px !important;
    }
}
body footer#footer p a:hover {
    color: var(--accent1) !important;
}
body footer#footer p.footer-disclaimer {
    color: var(--neutral3) !important;
    font-size: 12px !important;
    line-height: 18px !important;
}

/* COPYRIGHT BAR — slate, light text */
body .row.copyright {
    background: var(--neutral2);
}
body .row.copyright p,
body .row.copyright a,
body .row.copyright li a {
    color: var(--light1) !important;
    font-size: 13px !important;
}
body .row.copyright li a:hover {
    color: var(--accent2) !important;
}

/* Copyright line stays on one line */
body .row.copyright .copyright-text.span6.left-three-column {
    flex: 0 0 auto;
    width: auto;
}
body p#copyright-p {
    white-space: nowrap;
    font-size: 13px !important;
}

/* Copyright socials: gold square, glyph knocked out in the bar's own colour */
body .row.copyright ul.social.top-widget-socials li a i {
    background: var(--accent2);
    color: var(--neutral2);
}
body .row.copyright ul.social.top-widget-socials li a i:hover {
    background: var(--accent1);
    color: var(--light1);
}

/* Copyright menu is Outfit, not the heading face. The template points it at
   var(--MontM), which now resolves to Playfair Display. */
body .menu-copyright-menu-container ul#menu-copyright-menu li a {
    font-family: var(--bodyfont) !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
}

@media (max-width: 1250px) {
    body .row.copyright .copyright-text.span6.left-three-column {
        width: 100% !important;
    }
    body p#copyright-p {
        white-space: normal;
        text-align: center;
    }
}

@media (max-width: 979px) {
    body footer#footer img.footer-logo {
        margin: 0 auto;
    }
}




/* === Page: home === 2026-09-05 === */
/* Home. Background images are placeholders here — set the real ones on the
   section/column in the WPBakery Design Tab and its css= param takes over. */

/* HERO ------------------------------------------------------------- */
/* Desktop hero image now lives on the row's Design tab (css= param), so the
   client can swap it in the builder. Kept here, commented, as a record:
.bakery .home-hero {
    background-image: url('/wp-content/uploads/2026/09/home-hero.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
} */
@media (min-width: 980px) {
    /* the template sets a fixed .home-hero height: 675px, which a min-height
       alone cannot beat — height must be reset to auto first */
    .bakery .home-hero {
        align-items: center;
        min-height: 700px;
        height: auto;
        display: flex;
    }
}
.bakery .home-hero .home-hero-col .vc_column-inner {
    padding: 90px 0;
}
body #content .home-hero .hero-eyebrow {
    font-family: var(--headingfont) !important;
    font-style: italic !important;
    font-weight: 500 !important;
    font-size: 40px !important;
    line-height: 48px !important;
    color: var(--light1) !important;
    margin-bottom: 4px !important;
}
body #content .home-hero h1 {
    color: var(--light1) !important;
}
body #content .home-hero .hero-services {
    font-weight: 400 !important;
    font-size: 24px !important;
    line-height: 34px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--light1) !important;
    margin-bottom: 26px !important;
}
@media (max-width: 979px) {
    body #content .home-hero .hero-eyebrow { font-size: 26px !important; line-height: 32px !important; }
    body #content .home-hero .hero-services { font-size: 20px !important; line-height: 28px !important; letter-spacing: 2px !important; }
}
@media (max-width: 480px) {
    /* :not(.practice-hero) matters — the practice banners keep the template's
       `home-hero` class, so an unscoped rule swapped their image too.
       !important is required to beat the Design-tab param on the row. */
    .bakery .home-hero:not(.practice-hero) {
        background-image: url('/wp-content/uploads/2026/09/home-hero-mobile.jpg') !important;
    }
    body #content .home-hero .hero-services { font-size: 16px !important; letter-spacing: 1px !important; font-weight: 700 !important; }
}

/* EYEBROW colour on light sections (the .eyebrow sizing lives in the
   design-system block) */
body #content .who-we-are-text-col .eyebrow,
body #content .contact-today-row .eyebrow {
    color: var(--accent2) !important;
}
body #content .who-we-are-text-col .eyebrow {
    text-align: left !important;
}

/* Section headings on the light sections */
body #content .team-heading-row h2,
body #content .blog-heading-row h2,
body #content .contact-today-row h2,
body #content .who-we-are-text-col h2 {
    color: var(--accent1) !important;
}

/* WHO WE ARE -------------------------------------------------------- */
/* Kept in CSS deliberately: as a Design-tab param this image bled behind the
   text column when the row stacked on mobile. */
.bakery .who-we-are-img-col {
    background-image: url('/wp-content/uploads/2026/09/50-50-test.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media (min-width: 980px) {
    .bakery .who-we-are-row .who-we-are-text-col .vc_column-inner {
        padding: 100px 0 100px 110px;
        max-width: 750px;
        margin: 0;
        width: 88%;
    }
    .bakery .who-we-are-img-col .vc_column-inner {
        min-height: 790px;
    }
}
.bakery .who-we-are-text-col h2 {
    margin-bottom: 22px;
}
.bakery .who-we-are-text-col a.btn-bt {
    margin-top: 20px;
}
@media (max-width: 979px) {
    .bakery .who-we-are-img-col .vc_column-inner { height: 380px; }
}

/* CONTACT US TODAY -------------------------------------------------- */
.bakery .wpb_row.contact-today-row {
    padding: 60px 0 60px;
}
.bakery .contact-today-row p:not(.eyebrow) {
    max-width: 1500px;
    margin: 0 auto 30px;
}

/* FROM THE BLOG ----------------------------------------------------- */
.bakery section.home-blog-section {
    padding: 90px 0 100px;
}
.bakery .blog-heading-row {
    padding-bottom: 30px;
}
.bakery .wpb_row.home-blog-row {
    padding: 0;
}
.bakery .home-blog-row a.archive-post-image-link {
    border-radius: 12px;
    height: 285px;
}
.bakery .home-blog-row .feat-post-left {
    margin-bottom: 20px;
}
.bakery .wpb_row.home-blog-row .featured-post h2 {
    margin-bottom: 10px;
}
body #content .home-blog-row .featured-post h2,
body #content .home-blog-row .featured-post h2 a {
    font-family: var(--headingfont) !important;
    color: var(--accent1) !important;
    font-weight: 600 !important;
    line-height: 34px !important;
    font-size: 26px !important;
}
body #content .home-blog-row .featured-post .feat-post-date-author {
    font-family: var(--bodyfont) !important;
    text-transform: uppercase !important;
    color: var(--neutral3) !important;
    letter-spacing: 1px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}
body #content .home-blog-row .featured-post p.read-more a {
    font-family: var(--bodyfont) !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    letter-spacing: 2px !important;
    color: var(--accent2) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}
body #content .home-blog-row .featured-post p.read-more a:hover {
    color: var(--accent1) !important;
}
@media (max-width: 979px) {
    .bakery section.home-blog-section { padding: 50px 0 60px; }
    body #content .home-blog-row .featured-post h2,
    body #content .home-blog-row .featured-post h2 a { font-size: 26px !important; line-height: 34px !important; }
}
/* === Page: forms === 2026-09-04 === */
/* Gravity Forms — site-wide.

   This Gravity Forms build renders the submit as
   `<button type="submit" class="gform_button button">`, not
   `<input type="submit">`. Every existing rule — options-page-styles.css, the
   Fitness custom.css, and the gravity-theme defaults — targets the input, so the
   button fell through to the browser default. These rules target the button. */

.bakery button.gform_button,
body .gform_wrapper.gravity-theme button.gform_button {
    transition: all 0.3s ease-in-out;
    background: var(--accent2);
    border-radius: 6px;
    padding: 16px 44px;
    min-width: 200px;
    cursor: pointer;
    border: none;
}
body .gform_wrapper.gravity-theme button.gform_button {
    font-family: var(--uifont) !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: var(--dark1) !important;
    font-weight: 600 !important;
    line-height: 26px !important;
    font-size: 18px !important;
}
.bakery button.gform_button:hover,
body .gform_wrapper.gravity-theme button.gform_button:hover {
    background: var(--light1);
}
body .gform_wrapper.gravity-theme button.gform_button:hover {
    color: var(--dark1) !important;
}

/* The comp shows no required asterisks and no required-fields legend. */
body .gform_wrapper.gravity-theme .gfield_required,
body .gform_wrapper.gravity-theme .gform_required_legend {
    display: none;
}

/* Submit goes full width once the form stacks */
@media (max-width: 979px) {
    .bakery button.gform_button,
    body .gform_wrapper.gravity-theme button.gform_button {
        width: 100%;
        display: block;
    }
}












/* === Page: components === 2026-09-04 === */
/* Shared components — every page that uses these rows inherits from here.
   Page blocks should only override values that genuinely differ.

   - practice-areas-section / practice-tiles-row : the 4-up tile grid (home +
     the "Other Practice Areas" row on each practice page). `slick-mobile` on the
     row turns it into a dotted carousel below 1025px.
   - cta-row.title-order-row : the accent1 "Start Your Title Order" band.
   - fifty-fifty.contact-split-row : dark1 form panel + photo column.
*/

/* PRACTICE AREAS ---------------------------------------------------- */
.bakery section.practice-areas-section {
    padding: 90px 0 100px;
}
.bakery .practice-heading-row {
    padding-bottom: 34px;
}
body #content .practice-heading-row h2 {
    color: var(--accent1) !important;
}
.bakery .practice-heading-row p:not(.eyebrow) {
    max-width: 1500px;
    margin: 0 auto;
}
.bakery .practice-tiles-row {
    margin: 0 -10px;
}
.bakery .practice-tiles-row .practice-tile-col {
    padding: 0 10px;
}
.bakery a.practice-tile {
    -webkit-tap-highlight-color: transparent;
    text-decoration: none;
    border-radius: 14px;
    position: relative;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    display: block;
}
.bakery a.practice-tile .practice-tile-bg {
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    background-position: center;
    background-size: cover;
    position: absolute;
    display: block;
    inset: 0;
}
.bakery a.practice-tile:hover .practice-tile-bg {
    transform: scale(1.06);
}
.bakery a.practice-tile .practice-tile-overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.25) 38%, rgba(0, 0, 0, 0) 62%);
    position: absolute;
    display: block;
    inset: 0;
}
.bakery a.practice-tile .practice-tile-label {
    position: absolute;
    padding-right: 24px;
    bottom: 30px;
    left: 34px;
}
body #content a.practice-tile .practice-tile-label {
    font-family: var(--bodyfont) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--light1) !important;
    font-weight: 400 !important;
    line-height: 34px !important;
    font-size: 28px !important;
}

@media (max-width: 1024px) {
    .bakery .practice-tiles-row { margin: 0; }
}
@media (max-width: 979px) {
    .bakery section.practice-areas-section { padding: 50px 0 60px; }
    body #content a.practice-tile .practice-tile-label { font-size: 24px !important; line-height: 30px !important; }
}

/* START YOUR TITLE ORDER -------------------------------------------- */
.bakery .wpb_row.cta-row.title-order-row {
    padding: 70px 0 80px;
}
/* the shared .cta-row lays heading and button out side by side; the comp
   stacks them and adds a line of copy between */
.bakery .cta-row.title-order-row .container .wpb_content_element .wpb_wrapper {
    flex-direction: column;
}
.bakery .cta-row.title-order-row h2 {
    margin-bottom: 12px;
    margin-right: 0;
}
.bakery .cta-row.title-order-row p {
    margin-bottom: 26px;
}
body #content .title-order-row h2,
body #content .title-order-row p {
    color: var(--light1) !important;
}
/* `alternate` already renders gold with dark2 text from option-page-styles.css —
   no colour override here, so this button matches every other one on the site. */

/* Subpage variant — slim bar, heading and button on one line.
   `.cta-row` is side-by-side by default, so this only resets what the tall
   homepage variant changed and tightens the padding. */
.bakery .wpb_row.cta-row.title-order-compact {
    padding: 26px 0 28px;
    min-height: unset;
}
.bakery .cta-row.title-order-compact .container .wpb_content_element .wpb_wrapper {
    flex-direction: row;
}
.bakery .cta-row.title-order-compact h2 {
    margin-bottom: 0;
    margin-right: 28px;
}
body #content .cta-row.title-order-compact h2 {
    font-size: 34px !important;
    line-height: 42px !important;
}
/* No size override — the band button is a standard alternate button
   (Outfit 600 18/26, gold, from the options sheet + design-system block). */
@media (max-width: 979px) {
    .bakery .cta-row.title-order-compact .container .wpb_content_element .wpb_wrapper {
        flex-direction: column;
    }
    .bakery .cta-row.title-order-compact h2 {
        margin-bottom: 14px;
        margin-right: 0;
    }
    body #content .cta-row.title-order-compact h2 {
        font-size: 28px !important;
        line-height: 34px !important;
    }
}

/* CONTACT SPLIT ----------------------------------------------------- */
/* Kept in CSS deliberately: a background-image column inside a stacking
   fifty-fifty row needs this route — a Design-tab param carries !important and
   beats the mobile height rules that give the column its box. */
.bakery .contact-split-img-col {
    background-image: url('/wp-content/uploads/2026/09/global-form-cta-bg.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media (min-width: 980px) {
    .bakery .contact-split-row .contact-split-text-col .vc_column-inner {
        padding: 110px 0 110px 110px;
        max-width: 760px;
        margin: 0;
        width: 88%;
    }
}
.bakery .contact-split-text-col h2 {
    margin-bottom: 20px;
}
body #content .contact-split-text-col .eyebrow,
body #content .contact-split-text-col h2,
body #content .contact-split-text-col p {
    color: var(--light1) !important;
}
.bakery .contact-split-text-col p {
    max-width: 560px;
}
.bakery .contact-split-row .gform_wrapper.gravity-theme {
    max-width: 560px;
    margin: 26px 0 0;
    width: 100%;
}
.bakery .contact-split-row .gform_wrapper.gravity-theme .ginput_container input,
.bakery .contact-split-row .gform_wrapper.gravity-theme .ginput_container textarea {
    background: var(--light1);
    border-radius: 6px;
    border: none;
}
.bakery .contact-split-row .gform_wrapper.gravity-theme .ginput_container_textarea textarea {
    height: 130px;
}
body #content .contact-split-row .gform_wrapper.gravity-theme .gfield_label,
body #content .contact-split-row .gform_wrapper.gravity-theme .gform-field-label {
    font-family: var(--bodyfont) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--light1) !important;
    font-weight: 400 !important;
    font-size: 12px !important;
}
@media (max-width: 979px) {
    .bakery .contact-split-img-col .vc_column-inner { height: 340px; }
}

/* REVIEWS ----------------------------------------------------------- */
/* The reviews photo is a Design-tab param on each page's section now; only the
   padding stays shared here. Image kept commented as a record:
   background-image: url('/wp-content/uploads/2026/09/global-testimonials-bg.jpg'); */
.bakery section.testimonials {
    padding: 90px 0 100px;
}
.bakery .reviews-heading-row {
    padding-bottom: 30px;
}
body #content section.testimonials h2 {
    color: var(--light1) !important;
}
@media (max-width: 480px) {
    .bakery section.testimonials {
        /* !important is required to beat the Design-tab param on the section */
        background-image: url('/wp-content/uploads/2026/09/global-testimonials-bg-mobile.jpg') !important;
    }
}

/* Eyebrow colour by context */
body #content .practice-heading-row .eyebrow {
    color: var(--accent2) !important;
}
body #content .contact-split-text-col .eyebrow {
    color: var(--light1) !important;
}

/* BOTTOM CTA — parallax band that closes a subpage. The photo comes from the
   row's Design-tab param (background-image only), so the darkening overlay is
   set here, matching the heroes and the ACF banner. */
.bakery .wpb_row.bottom-cta {
    background-color: rgba(0, 0, 0, 0.4);
    background-blend-mode: overlay;
}

/* TEAM / STAFF CARD GRID — homepage "Meet Our Team" and the two grids on
   Who We Are. Section padding and heading spacing are shared; page blocks only
   override what differs. ----------------------------------------------------- */
.bakery section.team-section {
    padding: 90px 0 100px;
}
.bakery .team-heading-row {
    padding-bottom: 34px;
}
/* .home-promos caps images at 85px for the Fitness icon row — the team cards
   use full-width portraits instead. */
.bakery .team-row img.team-photo {
    border-radius: 16px;
    max-height: none;
    display: block;
    height: auto;
    width: 100%;
}
@media (min-width: 980px) {
    .bakery .team-row .wpb_column .wpb_content_element .wpb_wrapper {
        max-width: 400px;
    }
}
.bakery .team-row .team-name {
    margin-bottom: 12px;
    margin-top: 24px;
}
body #content .team-row .team-name {
    font-family: var(--bodyfont) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--dark1) !important;
    font-weight: 400 !important;
    line-height: 26px !important;
    font-size: 19px !important;
}
body #content .team-row a.team-bio-link {
    font-family: var(--bodyfont) !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    letter-spacing: 2px !important;
    color: var(--accent2) !important;
    font-weight: 400 !important;
    font-size: 15px !important;
}
body #content .team-row a.team-bio-link:hover {
    color: var(--accent1) !important;
}
.bakery .team-row .wpb_text_column p:last-child {
    margin-top: 14px;
}

/* On phones a card-grid heading block keeps WPBakery's default text-block
   margin, which reads as a gap above the first card. Covers the homepage
   "Meet Our Team", both Who We Are grids and the bio pages' team row.
   WPBakery's stylesheet loads after custom.css, hence !important. */
@media (max-width: 480px) {
    .bakery .team-heading-row .wpb_text_column {
        margin: 0px !important;
    }
}

/* NAP ROW — address block beside the office photo. Shared by the homepage and
   the Contact page; the image stays in CSS because it is a background-image
   column inside a stacking fifty-fifty row. --------------------------------------------------------------- */
/* Kept in CSS deliberately, same as the who-we-are column: as a Design-tab
   param the image bled behind the text column when the row stacked on mobile. */
.bakery .nap-img-col {
    background-image: url('/wp-content/uploads/2026/09/home-nap-building.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media (min-width: 980px) {
    .bakery .nap-row .nap-text-col .vc_column-inner {
        padding: 110px 0 110px 110px;
        max-width: 720px;
        margin: 0;
        width: 88%;
    }
    .bakery .nap-img-col .vc_column-inner {
        min-height: 690px;
    }
}
.bakery .nap-text-col h2 {
    margin-bottom: 26px;
    max-width: 540px;
}
.bakery .nap-text-col p.nap-label {
    margin-bottom: 12px !important;
    margin-top: 32px;
}
.bakery .nap-text-col p.nap-label:first-of-type {
    margin-top: 0;
}
body #content .nap-text-col p.nap-label {
    font-family: var(--bodyfont) !important;
    text-transform: uppercase !important;
    color: var(--neutral3) !important;
    letter-spacing: 2px !important;
    font-weight: 400 !important;
    font-size: 19px !important;
}
body #content .nap-text-col a.nap-directions {
    color: var(--accent1) !important;
    text-decoration: underline !important;
}
@media (max-width: 979px) {
    .bakery .nap-img-col .vc_column-inner { height: 340px; }
}
body #content .nap-text-col h2 {
    color: var(--accent1) !important;
}
/* === Page: practice-template === 2026-09-04 === */
/* Practice-area page template (SAMPLE PAGE 2).
   Shared by Lending & Banking, Construction Law, Real Estate Law and Business Law.
   Each page block carries only its own hero background image.

   The tiles row, title-order band, reviews band and contact split come from the
   components block — nothing about them is repeated here. */

/* HERO — WPBakery row, because this banner carries a button (deviation D3) */
.bakery .practice-hero {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
/* Darken the banner photo so the white H1 holds up. Applies to all four
   practice heroes; the per-page blocks only carry the image itself. */
.bakery .practice-hero {
    background-color: rgba(0, 0, 0, 0.4);
    background-blend-mode: overlay;
}
@media (min-width: 980px) {
    /* .home-hero carries a fixed height: 675px from the template; reset it so the
       taller practice banner can size from min-height */
    .bakery .practice-hero {
        align-items: center;
        min-height: 800px;
        height: auto;
        display: flex;
    }
}
@media (max-width: 979px) {
    .bakery .practice-hero {
        min-height: 320px;
        height: auto;
    }
}
.bakery .practice-hero .practice-hero-col .vc_column-inner {
    padding: 90px 0;
}
body #content .practice-hero h1 {
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35) !important;
    color: var(--light1) !important;
}
/* The banner CTA uses the `alternate` button class, which the options sheet
   already renders in accent2 gold — no colour override needed here. */
.bakery .practice-hero a.btn-bt {
    margin-top: 18px;
}
@media (max-width: 979px) {
    .bakery .practice-hero .practice-hero-col .vc_column-inner { padding: 60px 0; }
}

/* INTRO — text left, inline image right, held inside the container */
.bakery .wpb_row.practice-intro-row {
    padding: 40px 0 0px;
}
.bakery .practice-intro-row .container {
    max-width: 1600px;
    width: 92%;
}
@media (min-width: 980px) {
    .bakery .practice-intro-row .practice-intro-text-col .vc_column-inner {
        padding: 0 60px 0 0;
        max-width: 760px;
        margin: 0;
        width: 100%;
    }
}
.bakery .practice-intro-row img.practice-inline-img {
    border-radius: 16px;
    display: block;
    height: auto;
    width: 100%;
}
.bakery .practice-intro-row h2 {
    margin-bottom: 20px;
}
body #content .practice-intro-row h2,
body #content .practice-list-heading-row h2,
body #content .practice-help-row h2 {
    color: var(--accent1) !important;
}
@media (max-width: 979px) {
    .bakery .wpb_row.practice-intro-row { padding: 0px 0 0px; }
}

/* EXPERIENCE LIST */
.bakery section.practice-list-section {
    padding: 0 0 100px;
}
.bakery .practice-list-heading-row {
    padding-bottom: 20px;
}
.bakery .practice-list-heading-row h2 {
    margin-bottom: 18px;
}
.bakery .practice-list-row .practice-list-col {
    padding-right: 40px;
}
body #content .practice-list-heading-row.practice-list-heading-row-repeat {
    padding-top: 40px !important;
}
.bakery ul.practice-list {
    padding-left: 22px;
    margin-bottom: 0;
    list-style: none;
}
.bakery ul.practice-list li {
    position: relative;
    margin-bottom: 5px;
    padding-left: 4px;
}
.bakery ul.practice-list li:before {
    background: var(--accent2);
    border-radius: 50%;
    position: absolute;
    content: '';
    height: 7px;
    width: 7px;
    left: -18px;
    top: 10px;
}
body #content ul.practice-list li {
    color: var(--dark2) !important;
    line-height: 26px !important;
    font-size: 16px !important;
}
@media (max-width: 979px) {
    .bakery section.practice-list-section { padding: 0 0 50px; }
    .bakery .practice-list-row .practice-list-col { padding-right: 0; }
}

/* CLOSING BLURB */
.bakery .wpb_row.practice-help-row {
    padding: 40px 0 40px;
}
.bakery .practice-help-row h2 {
    margin-bottom: 16px;
}
.bakery .practice-help-row p {
    max-width: 1100px;
    margin: 0 auto;
}
@media (max-width: 979px) {
    .bakery .wpb_row.practice-help-row { padding: 50px 0 60px; }
}


/* === Page: lending-banking === 2026-09-04 === */
/* Lending Banking — the hero background now lives on the row's Design tab (css= param)
   so it is editable in the builder. Kept here, commented, as a record:

.bakery .lending-banking-hero {
    background-image: url('/wp-content/uploads/2026/09/practice-hero-lending-banking.jpg');
} */


/* === Page: construction-law === 2026-09-04 === */
/* Construction Law — the hero background now lives on the row's Design tab (css= param)
   so it is editable in the builder. Kept here, commented, as a record:

.bakery .construction-law-hero {
    background-image: url('/wp-content/uploads/2026/09/practice-hero-construction-law.jpg');
} */


/* === Page: real-estate-law === 2026-09-04 === */
/* Real Estate Law — the hero background now lives on the row's Design tab (css= param)
   so it is editable in the builder. Kept here, commented, as a record:

.bakery .real-estate-law-hero {
    background-image: url('/wp-content/uploads/2026/09/practice-hero-real-estate-law.jpg');
} */


/* === Page: business-law === 2026-09-04 === */
/* Business Law — the hero background now lives on the row's Design tab (css= param)
   so it is editable in the builder. Kept here, commented, as a record:

.bakery .business-law-hero {
    background-image: url('/wp-content/uploads/2026/09/practice-hero-business-law.jpg');
} */







/* === Page: who-we-are === 2026-09-04 === */
/* Who We Are. Banner is the ACF Top Banner (H1 only), so there is no hero row.
   The two card grids reuse the shared team-card rules in the components block. */

/* INTRO BLURB — padding sits on the section, matching the sections below;
   on the row it stacked on top of the shell's default 60px section padding */
.bakery section.wwa-intro-section {
    padding: 80px 0 90px;
}
.bakery .wpb_row.wwa-intro-row {
    padding: 0;
}
.bakery .wwa-intro-row h2 {
    margin-bottom: 20px;
}
.bakery .wwa-intro-row p {
    max-width: 1400px;
    margin: 0 auto;
}
body #content .wwa-intro-row h2,
body #content .wwa-allies-heading-row h2,
body #content .wwa-attorneys-section .team-heading-row h2,
body #content .wwa-staff-section .team-heading-row h2 {
    color: var(--accent1) !important;
}

/* ALLIES + full-width team photo */
.bakery section.wwa-allies-section {
    padding: 80px 0 90px;
}
.bakery .wwa-allies-heading-row {
    padding-bottom: 34px;
}
.bakery .wwa-allies-image-row img.wwa-team-photo {
    border-radius: 14px;
    margin-bottom: 34px;
    display: block;
    height: auto;
    width: 100%;
}
/* the image sits in a text block, whose paragraph line-height would otherwise
   leave a gap under it */
.bakery .wwa-allies-image-col p:first-child {
    line-height: 0 !important;
}

/* CARD GRIDS — only the section padding differs from the shared component */
.bakery section.wwa-attorneys-section,
.bakery section.wwa-staff-section {
    padding: 80px 0 90px;
}
/* Staff cards are placeholders until the real names and titles land */
.bakery .wwa-staff-row .team-name {
    margin-bottom: 6px;
}

/* BOTTOM CTA — parallax band closing the page */
@media (min-width: 980px) {
    .bakery .wpb_row.bottom-cta.wwa-bottom-cta {
        align-items: center;
        min-height: 600px;
        height: auto;
        display: flex;
    }
}
.bakery .bottom-cta.wwa-bottom-cta .bottom-cta-col .vc_column-inner {
    padding: 90px 0;
}
.bakery .bottom-cta.wwa-bottom-cta h2 {
    margin-bottom: 26px;
}
/* colour.css already gives .bottom-cta headings white text */
body #content .bottom-cta.wwa-bottom-cta h2 {
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35) !important;
}
@media (max-width: 979px) {
    .bakery .wpb_row.bottom-cta.wwa-bottom-cta {
        min-height: 380px;
        height: auto;
    }
    .bakery .bottom-cta.wwa-bottom-cta .bottom-cta-col .vc_column-inner {
        padding: 60px 0;
    }
    .bakery section.wwa-intro-section,
    .bakery section.wwa-allies-section,
    .bakery section.wwa-attorneys-section,
    .bakery section.wwa-staff-section {
        padding: 50px 0 60px;
    }
}




/* === Page: bio-template === 2026-09-04 === */
/* Attorney bio pages — Matthew, Natalia, Joshua.
   Banner is the ACF Top Banner (H1 = the attorney's name), so there is no hero
   row. The "rest of the team" cards reuse the shared team-card component; the
   title-order band and bottom CTA come from components too. */

/* PORTRAIT + INTRO */
.bakery .wpb_row.bio-intro-row {
    padding: 80px 0 60px;
}
.bakery .bio-intro-row .container {
    max-width: 1600px;
    width: 92%;
}
.bakery .bio-intro-row img.bio-photo {
    border-radius: 16px;
    display: block;
    height: auto;
    width: 100%;
}
/* the portrait sits in a text block, whose paragraph line-height would
   otherwise leave a gap beneath it */
.bakery .bio-photo-col p {
    line-height: 0 !important;
}
@media (min-width: 980px) {
    .bakery .bio-intro-row .bio-intro-text-col .vc_column-inner {
        padding: 0 0 0 60px;
        max-width: none;
        margin: 0;
        width: 100%;
    }
}
.bakery .bio-intro-text-col h2 {
    margin-bottom: 22px;
}
body #content .bio-intro-text-col .eyebrow {
    color: var(--accent2) !important;
    text-align: left !important;
}
body #content .bio-intro-text-col h2,
body #content .bio-body-row h3,
body #content .bio-others-section .team-heading-row h2 {
    color: var(--accent1) !important;
}

/* BODY SECTIONS — one row, one column per section of the doc. Three columns on
   Matthew's page (Education / Awards / Community), two on Natalia's and
   Joshua's (Experience / Education). */
.bakery section.bio-body-section {
    padding: 0 0 80px;
}
@media (min-width: 980px) {
    .bio-body-col.wpb_column.vc_column_container.vc_col-sm-4 {
        padding: 0px 30px;
    }
    /* same gutter for the two-column variant */
    .bio-body-col.wpb_column.vc_column_container.vc_col-sm-6 {
        padding: 0px 30px;
    }
}
.bakery .bio-body-row h3 {
    margin-bottom: 14px;
}
.bakery ul.bio-list {
    padding-left: 22px;
    margin-bottom: 0;
    list-style: none;
}
.bakery ul.bio-list li {
    position: relative;
    margin-bottom: 5px;
    padding-left: 4px;
}
.bakery ul.bio-list li:before {
    background: var(--accent2);
    border-radius: 50%;
    position: absolute;
    content: '';
    height: 7px;
    width: 7px;
    left: -18px;
    top: 10px;
}
body #content ul.bio-list li {
    color: var(--dark2) !important;
    line-height: 26px !important;
    font-size: 16px !important;
}

/* THE OTHER ATTORNEYS — two cards, so they sit narrower than the 3-up grid */
.bakery section.bio-others-section {
    padding: 80px 0 90px;
}
@media (min-width: 980px) {
    .bakery .bio-others-row .container {
        max-width: 1100px;
        margin: 0 auto;
    }
    .bakery .bio-others-row .wpb_column:nth-child(1),
    .bakery .bio-others-row .wpb_column:nth-child(2) {
        width: 48%;
        margin: 0 1%;
    }
}
.bakery .bio-others-cta-row {
    padding-top: 34px;
}

@media (max-width: 979px) {
    .bio-intro-text-col .vc_column-inner {
        padding-bottom: 0px !important;
    }
    .bakery .wpb_row.bio-intro-row { padding: 50px 0 30px; }
    .bakery section.bio-body-section { padding: 0 0 50px; }
    .bakery section.bio-others-section { padding: 50px 0 60px; }
}













/* === Page: our-experience === 2026-09-04 === */
/* Our Experience. Banner is the ACF Top Banner, so there is no hero row.
   Accordion styling follows the FAQ block on CONTENT BLOCKS 4: gold active bar,
   tan hover, light default, chevron on the left. */

/* INTRO */
.bakery .wpb_row.oe-intro-row {
    padding: 80px 0 90px;
}
.bakery .oe-intro-row .container {
    max-width: 1600px;
    width: 92%;
}
@media (min-width: 980px) {
    .bakery .oe-intro-row .oe-intro-text-col .vc_column-inner {
        padding: 0 60px 0 0;
        max-width: 760px;
        margin: 0;
        width: 100%;
    }
}
.bakery .oe-intro-row img.oe-inline-img {
    border-radius: 16px;
    display: block;
    height: auto;
    width: 100%;
}
.bakery .oe-intro-img-col p {
    line-height: 0 !important;
}
.bakery .oe-intro-text-col h2 {
    margin-bottom: 20px;
}
body #content .oe-intro-text-col h2 {
    color: var(--accent1) !important;
}

/* ACCORDION */
.bakery section.oe-accordion-section {
    padding: 80px 0 90px;
}
/* heading that introduces the accordion, inside the accordion column */
.bakery .oe-accordion-col > .wpb_wrapper > .wpb_text_column {
    margin-bottom: 30px !important;
}
body #content .oe-accordion-col h2 {
    color: var(--accent1) !important;
}
.bakery .oe-accordion .vc_tta-panel {
    margin-bottom: 14px !important;
}
.bakery .oe-accordion .vc_tta-panel-heading {
    background: var(--light1) !important;
    transition: background 0.3s ease-in-out;
    border-radius: 0 !important;
    border: none !important;
}
.bakery .oe-accordion .vc_tta-panel:hover .vc_tta-panel-heading {
    background: var(--accent2) !important;
}
.bakery .oe-accordion .vc_tta-panel.vc_active .vc_tta-panel-heading {
    background: var(--accent1) !important;
}
.bakery .oe-accordion .vc_tta-panel-title > a {
    padding: 18px 60px !important;
    justify-content: center;
    align-items: center;
    display: flex;
}
/* title: uppercase Outfit, navy, centred — the chevron sits left of it */
body #content .oe-accordion .vc_tta-panel-title > a span.vc_tta-title-text {
    font-family: var(--bodyfont) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--dark1) !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    font-size: 17px !important;
    text-align: center !important;
}
body #content .oe-accordion .vc_tta-panel.vc_active .vc_tta-panel-title > a span.vc_tta-title-text {
    color: var(--light1) !important;
}
.bakery .oe-accordion .vc_tta-panel.vc_active .vc_tta-controls-icon {
    border-color: var(--light1) !important;
}
.bakery .oe-accordion .vc_tta-controls-icon {
    border-color: var(--accent1) !important;
    right: auto !important;
    left: 26px !important;
}
.bakery .oe-accordion .vc_tta-panel-body {
    padding: 26px 60px 34px !important;
    background: transparent !important;
    border: none !important;
}

/* panel content */
.bakery .oe-accordion h4 {
    margin-bottom: 10px;
    margin-top: 22px;
}
.bakery .oe-accordion h4:first-child {
    margin-top: 0;
}
body #content .oe-accordion h4 {
    font-family: var(--bodyfont) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--accent1) !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    font-size: 16px !important;
}
.bakery ul.oe-list {
    padding-left: 22px;
    margin-bottom: 18px;
    list-style: none;
}
.bakery ul.oe-list li {
    position: relative;
    margin-bottom: 8px;
    padding-left: 4px;
}
.bakery ul.oe-list li:before {
    background: var(--accent2);
    border-radius: 50%;
    position: absolute;
    content: '';
    height: 7px;
    width: 7px;
    left: -18px;
    top: 10px;
}
body #content ul.oe-list li {
    color: var(--dark2) !important;
    line-height: 26px !important;
    font-size: 16px !important;
}
.bakery .oe-accordion p.oe-outro {
    margin-bottom: 0;
}

@media (max-width: 979px) {
    /* 50px here stacked on the base fifty-fifty column-inner's 40px, putting
       90px between the banner and the H2. Dropped to 0 so the gap is the
       column-inner's 40px alone — same as the practice-page intro rows. */
    .bakery .wpb_row.oe-intro-row { padding: 0 0 0; }
    .bakery .oe-intro-text-col .vc_column-inner { padding-bottom: 0 !important; }
    .bakery section.oe-accordion-section { padding: 50px 0 60px; }
    .bakery .oe-accordion .vc_tta-panel-title > a { padding: 16px 46px !important; }
    .bakery .oe-accordion .vc_tta-controls-icon { left: 18px !important; }
    .bakery .oe-accordion .vc_tta-panel-body { padding: 22px 24px 28px !important; }
    body #content .oe-accordion .vc_tta-panel-title > a span.vc_tta-title-text {
        font-size: 15px !important;
        line-height: 22px !important;
    }

    /* The base block centres every .vc_tta-panel-body under 979px. That reads
       badly for lists — the bullet detaches from its text and every line is
       ragged on both sides — so any panel carrying a list goes left-aligned in
       full, headings and intro copy included. The li rule repeats it without
       :has() so the bullets are never centred even where :has() is unsupported. */
    body #content .oe-accordion .vc_tta-panel-body:has(ul) {
        text-align: left !important;
    }
    body #content .oe-accordion .vc_tta-panel-body ul.oe-list li {
        text-align: left !important;
    }
}
/* === Page: contact === 2026-09-04 === */
/* Contact. Banner is the ACF Top Banner, so there is no hero row.
   Both rows come from the components block (NAP row + contact split); this
   block only carries what differs on this page. */

/* The NAP row is the first thing under the banner here, rather than sitting
   mid-page as it does on the homepage, so it needs its own top padding. */
@media (min-width: 980px) {
    .bakery .nap-row.contact-nap-row .nap-text-col .vc_column-inner {
        padding: 100px 0 100px 110px;
    }
}
.bakery .contact-nap-row p.nap-label {
    margin-top: 28px;
}

/* === Page: legal-pages === 2026-09-04 === */
/* Legal pages (Privacy Policy, Terms and Conditions).

   These use the theme's privacy.php template, whose banner prints
   [client_company_name] from Theme Options rather than the ACF title, and whose
   body styling is keyed to #legal-page (from the page's custom_page_class).
   The Fitness base block at the top of custom.css already handles list, ol and
   paragraph spacing — only the brand-alignment bits belong here. */

body#legal-page #content .bakery h2,
body#legal-page #content .bakery h3 {
    color: var(--accent1) !important;
}
body#legal-page #content .bakery h2 {
    margin-bottom: 14px;
}
/* the base block sets ol items in the heading face at 24px; keep the numbers
   and their text on the same line-height so long items don't drift */
body#legal-page ol li,
body#legal-page ol li h3 {
    line-height: 1.3 !important;
}
body#legal-page #content .bakery a:not(.btn-bt) {
    color: var(--accent1) !important;
}

/* the banner title is the full firm name, which is long — step it down so it
   holds two lines at most */
@media (min-width: 980px) {
    body#legal-page .default-header h1 {
        font-size: 64px !important;
        line-height: 70px !important;
    }
}
