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

/* vars vars vars vars vars vars vars vars vars vars vars vars vars vars  */

:root {

/* 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.
*/

@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; }
	
--accent1_40: #505c4b66;       /* accent1 - 40% */
--accent2_40: #8f645566;       /* accent2 - 40% */
--light1_75: #FFFFFFBF;        /* light1 - 75% */
--light1_50: #FFFFFF80;        /* light1 - 50% */
--uihover: #ff5e5e66;          /* red (accent1) UI opacity */

/* font family vars */
--BrandGrotReg: "Marcellus", serif;
--BrandGrotBold: "Marcellus", serif;

}

/* /vars /vars /vars /vars /vars /vars /vars /vars /vars /vars /vars  */

/* quick vars quick vars quick vars quick vars quick vars quick vars qui */

body h1, body h2, body h3, body h4, body h5, body h6 {
	font-family: "Marcellus", serif; 
}

body, body p, body li, body span, a.btn-bt, form label, .gform_footer input[type="submit"], button, span.vc_tta-title-text, ul#left-menu li a, ul#right-menu li a, nav ul#top-menu li a, nav div#top-menu ul li a, body a.btn-bt, body button, body .top-widget p a, body .top-widget p, body span.vc_tta-title-text, body form label, body .gform_footer input[type="submit"] {
	font-family: "PT Serif", serif;
}

div#wpadminbar {
    z-index: 9999999999999;
}
body .home-revslider h1,
body .home-revslider h2,
body .home-revslider h3 {
    font-family: var(--BrandGrotBold) !important;
}
body .default-header h1 {
    color: var(--light1);
}
body h2, body h3, body h4, body h5, body h6 {
    color: var(--dark2);
}
nav#site-navigation ul.sub-menu {
    background: var(--accent2);
}
nav#site-navigation ul.sub-menu li a {
    color: var(--light1);
}
/* /quick vars /quick vars /quick vars /quick vars /quick vars /quick va */

/* General */
.bakery .wpb_row.bg-pos-top-left,
.bakery section.bg-pos-top-left {
    background-position: top left !important;
}
.bakery .wpb_row.bg-pos-top-left.white-overlay,
.bakery section.bg-pos-top-left.white-overlay {
    background-color: var(--light1_50);
    background-blend-mode: overlay;
}

@media (min-width: 980px) {
    .vertical-align {
        align-items: center;
        display: flex;
    }
}

/* Header Overlap */
header .top-header {
    background: var(--light1);
}

@media (max-width: 979px) {
    header#header {
        margin-bottom: 0;
    }
}

/* Top Widgetized Area */
header .top-widget {
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.50);
    background: var(--light2);
}
header#header .top-widget ul.social {
    justify-content: start;
}
.top-widget .widget a:link {
    color: var(--accent2);
}
body p.twa-phone {
    font-size: 15px;
}
p.twa-phone a {
    justify-content: center;
    letter-spacing: 2.5px;
    display: inline-flex;
    align-items: center;
}
p.twa-phone a span {
    font-family: var(--BrandGrotBold);
}
p.twa-phone a i {
    transition: all 0.3s ease-in-out;
    border: 2px solid var(--accent2);
    background: var(--accent2);
    justify-content: center;
    color: var(--light1);
    border-radius: 50px;
    align-items: center;
    margin-right: 18px;
    display: flex;
    height: 28px;
    width: 28px;
}

@media (max-width: 480px) {
    p.twa-phone a i {
        margin-right: 0;
    }
}

p.twa-phone a:hover i {
    transition: all 0.3s ease-in-out;
    background: var(--light1);
    color: var(--accent2);
}
p.twa-phone a i:before {
    position: relative;
    font-size: 15px;
    left: 1.5px;
}

@media (min-width: 980px) {
	body header#header {
        position: fixed;
        width: 100%;
		z-index: 99999999;
	}
	.site-content {
        padding-top: 140px;
    }
}

/* Footer */
footer#footer {
    background: var(--dark1);
}
footer .widget p {
    color: var(--light1);
    font-weight: normal;
}
footer .widget ul {
    list-style: none;
}
footer .widget a:link,
footer .widget a:visited {
    color: var(--light1) !important;
    text-decoration: none;
}
span.fake-widget-title {
    margin-bottom: 5px;
    font-weight: normal;
    margin-top: 10px;
    font-size: 14px;
}
body footer .widget a:hover:link:not(.btn-bt),
body footer .widget a:hover:visited:not(.btn-bt) {
    color: var(--accent3) !important;
}
ul#menu-footer {
    text-align: center;
    line-height: 24px;
    font-size: 16px;
}
ul#menu-footer li,
ul#menu-footer li a {
    font-family: var(--BrandGrotBold);
    letter-spacing: 0.5px;
    font-weight: normal;
    line-height: 26px;
    font-size: 16px;
}
p.footer-menu {
    margin-bottom: 0 !important;
}
body ul#menu-footer li a:hover {
    color: var(--accent3) !important;
}
body .footer-address a:hover {
    color: var(--accent3) !important;
}

@media (min-width: 980px) {
    .footer-col-1 {
        justify-content: center;
        align-items: center;
        padding-top: 0;
        display: flex;
    }
}

@media (max-width: 979px) {
    p.footer-menu {
        margin-bottom: -15px !important;
    }
}

/* Copyright Row */
.row.copyright {
    background: var(--dark2);
}

@media (min-width: 980px) {
    .row.copyright .copyright-text.span6.left-three-column,
    .row.copyright .copyright-content.span6.right-three-column {
        width: 30%;
    }
    .row.copyright .copyright-content.span6.middle-three-column {
        width: 40%;
    }
}

.row.copyright .menu-copyright-menu-container ul#menu-copyright-menu li a {
    font-weight: normal;
    font-size: 12px;
}
body p#copyright-p,
body p.copyright-links {
    font-weight: normal;
    font-size: 12px;
}
.row.copyright .menu-copyright-menu-container ul#menu-copyright-menu {
    justify-content: center;
}
ul#menu-copyright-menu li {
    padding: 0 12px;
}
ul#menu-copyright-menu li:first-child {
    padding-left: 0;
}
ul#menu-copyright-menu li:last-child {
    padding-right: 0;
}
.row.copyright a {
    text-decoration: none;
}
.row.copyright .menu-copyright-menu-container ul#menu-copyright-menu li a:hover,
.copyright .copyright-text p a:hover,
.copyright .copyright-content p a:hover,
.row.copyright a:hover {
    color: var(--accent3);
}

/* Social Icons */
ul.social li a i:before {
    font-size: 15px;
}
ul.social li a i {
    height: 28px;
    width: 28px;
}

/* Buttons */
a.btn-bt {
    text-transform: uppercase;
    font-size: 18px;
}
.header-button a.btn-default.btn-bt {
    border: 3px solid var(--light1);
    background: var(--accent2);
}
.header-button a.btn-default.btn-bt:hover {
    border-color: var(--accent2);
    background: var(--light1);
    color: var(--accent2);
}
body footer a.btn-bt.default:hover,
body #content .bakery a.btn-bt.default:hover {
    background: var(--light1);
    color: var(--accent1);
}
body footer a.btn-bt.alternate,
body #content .bakery a.btn-bt.alternate,
body #content .blog-post-row a.btn-bt.alternate {
    border-color: var(--accent1);
    background: var(--light1);
    color: var(--accent1);
}
body footer a.btn-bt.alternate:hover,
body #content .bakery a.btn-bt.alternate:hover,
body #content .blog-post-row a.btn-bt.alternate:hover {
    box-shadow: 2px 2px 12px 0 rgba(0, 0, 0, 0.24);
    color: var(--light1) !important;
    border-color: var(--light1);
    background: var(--accent1);
}
.gform_footer input[type="submit"] {
    width: 100%;
}
.gform_footer input[type="submit"]:not(:hover):not(:active):not(.has-background) {
    font-family: var(--BrandGrotBold);
    transition: all 0.3s ease-in-out;
    padding: 18px 4px !important;
    margin-bottom: 0 !important;
    letter-spacing: 1.77px;
    border-radius: 50px;
    font-size: 18px;
    line-height: 1;
}
.gform_footer input[type="submit"]:not(:active):not(.has-background):hover {
    transition: all 0.3s ease-in-out;
    padding: 18px 4px !important;
    margin-bottom: 0 !important;
    letter-spacing: 1.77px;
    border-radius: 50px;
    font-size: 18px;
    line-height: 1;
}

/* Bottom CTA */
.opacity-form-col {
    background: var(--light1_75);
}
.bakery .wpb_column.opacity-form-col {
    padding: 40px 80px;
}
body.home .bottom-cta h2 {
    text-shadow: none;
    font-size: 28px;
    line-height: 1;
}
.bottom-cta .opacity-form-col .wpb_text_column {
    margin-bottom: 24px;
}
.bottom-cta.add-parallax {
    padding: 80px 0;
    height: auto;
}
.opacity-form-col .gform_footer {
    margin-top: 0 !important;
}
.opacity-form-col .gform_wrapper {
    margin-bottom: 0 !important;
}
body:not(.home) .bottom-cta.add-parallax {
    height: 600px;
}

/* Fifty Fifty */
.plain-fifty h3 {
    font-family: var(--BrandGrotReg);
    font-weight: normal;
}
.plain-fifty a.btn-bt {
    margin-top: 18px;
}

/* Homepage */
.home-hero-row {
	height: 827px;
}
.home-hero-row h1 {
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.50);
	margin-bottom: 0 !important;
	color: var(--light1);
	line-height: 1.15;
}
.home-hero-row h2 {
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.50);
	margin-bottom: 24px !important;
	color: var(--light1);
	line-height: 1.15;
	margin-top: 10px;
}
body #content .plain-fifty.nap-map-inner .nap-col a {
    color: var(--dark1);
    text-decoration: none;
}
body #content .plain-fifty.nap-map-inner .nap-col a:hover, body #content .location-nap-row a:hover {
    transition: all 0.3s ease-in-out;
    text-decoration: none;
    color: var(--accent1);
}
.plain-fifty.nap-map-inner .nap-col h3 {
    font-family: var(--BrandGrotBold);
    margin-bottom: 6px;
    margin-top: 20px;
}
.plain-fifty.nap-map-inner .nap-col h2 {
    margin-bottom: 0;
}

@media (max-width: 480px) {
	.home-hero-row {
		height: 305px;
	}
	.home-hero-row h1 {
		margin-bottom: 0 !important;
    	line-height: 1.15;
	    font-size: 36px;
	}
	.home-hero-row h2 {
		margin-bottom: 18px !important;
		margin-top: 12px !important;
    	line-height: 1.1;
		font-size: 20px;
	}
}

@media (max-width: 979px) {
    .bakery .wpb_row.home-promo-outer.bg-pos-top-left.white-overlay {
        background-color: var(--light1);
    }
    .bakery .wpb_row.home-promo-outer {
        padding-bottom: 40px !important;
        padding-top: 40px !important;
    }
    .bakery .home-mid-cta {
        height: auto;
    }
}

.home-mid-cta {
    height: 484px;
}
button.owl-prev:before,
button.owl-next:before {
    color: var(--accent1);
}
button.owl-prev:hover:before,
button.owl-next:hover:before {
    color: var(--accent2);
}
body .home-reviews h3 {
    line-height: 28px;
    font-size: 28px;
}
.reviews-white-box {
    box-shadow: 0px -1px 10px rgba(0, 0, 0, 0.12);
    background: rgba(255, 255, 255, 0.90);
}
body #content .strong-view.wpmtst-modern .wpmtst-testimonial-content:before,
body #content .strong-view.wpmtst-modern .wpmtst-testimonial-content:after {
    display: none;
}
.bakery .strong-view.wpmtst-modern .wpmtst-testimonial-content {
    font-style: normal;
    margin-right: 0;
    margin-left: 0;
}
.bakery .strong-view.wpmtst-modern .wpmtst-testimonial-inner {
    padding-right: 0;
    padding-left: 0;
}
.bakery .strong-rating-wrapper {
    margin-bottom: 10px;
}
.bakery .strong-rating-wrapper .star svg path {
    fill: var(--accent2);
}
.bakery .wpmtst-testimonial-inner.testimonial-inner {
    display: flex !important;
    flex-direction: column;
}
.wpmtst-testimonial-field.testimonial-field {
    order: 1;
}
.bakery .wpmtst-testimonial-content.testimonial-content,
.bakery .strong-view.wpmtst-modern .wpmtst-testimonial-content {
    order: 2;
}
.bakery .strong-view.controls-style-buttons:not(.rtl) .wpmslider-prev:before {
    left: -3px;
}
.bakery .strong-view.controls-style-buttons:not(.rtl) .wpmslider-next:before {
    left: 3px;
}
.bakery .strong-view.controls-style-buttons:not(.rtl) .wpmslider-prev:before,
.bakery .strong-view.controls-style-buttons:not(.rtl) .wpmslider-next:before {
    background: var(--accent1) !important;
    transition: all 0.3s ease-in-out;
    height: 36px;
    width: 36px;
}
.bakery .strong-view.controls-style-buttons:not(.rtl) .wpmslider-prev:hover:before,
.bakery .strong-view.controls-style-buttons:not(.rtl) .wpmslider-next:hover:before {
    background: var(--accent2) !important;
    transition: all 0.3s ease-in-out;
}
.bakery .wpb_row.strong-wall-row {
    padding-bottom: 0;
}
.strong-wall-row .container {
    max-width: unset;
    width: 100%;
}
.strong-wall-row .wpmtst-testimonial.testimonial {
    padding: 80px 0;
}
.strong-wall-row .wpmtst-testimonial.testimonial:nth-child(even) {
    background: var(--light2);
}
.strong-wall-row .wpmtst-testimonial.testimonial .testimonial-inner {
    max-width: 760px;
    margin: 0 auto;
    width: 87%;
}
.strong-wall-row .line.small-line {
    margin: 36px auto -40px auto !important;
}

@media (max-width: 979px) {
    .strong-wall-row .wpmtst-testimonial.testimonial {
        padding: 40px 0;
    }
    .strong-wall-row .line.small-line {
        margin: 36px auto 0px auto !important;
    }
}

.strong-wall-row .wpmtst-testimonial-field.testimonial-field {
    justify-content: center;
    margin-bottom: 18px;
    display: flex;
}
.strong-wall-row .wpmtst-testimonial-content.testimonial-content {
    text-align: center;
}
.home .bakery .wpb_row.blog-row-parent {
    padding-bottom: 60px;
    padding-top: 50px;
}

@media (min-width: 980px) {
    .featured-post .feat-post-left,
    .featured-post .feat-post-right {
        width: 50%;
    }
    .featured-post .flex.vertical-align {
        display: flex;
    }
    .feat-post-left {
        margin-right: 60px;
    }
}

.feat-post-left {
    align-items: center;
    display: flex;
}
a.archive-post-image-link {
    background-position: top left;
    background-repeat: no-repeat;
    background-size: cover;
    height: 360px;
    width: 100%;
}
body .feat-post-right span.cat,
body .feat-post-right h5 {
    font-family: var(--BrandGrotReg);
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--dark3);
    margin-bottom: 7px;
    line-height: 26px;
    font-weight: normal;
    font-size: 11px;
}
body .featured-post h2.feat-post-title {
    text-transform: none;
    letter-spacing: 0.5px;
    margin-bottom: 14px;
    line-height: 32px;
    font-size: 28px;
}
p.feat-post-date-author {
    align-items: center;
    margin-right: 100px;
    font-size: 14px;
    display: flex;
}
p.feat-post-date-author:before {
    border: 2px solid var(--accent1);
    justify-content: center;
    font-family: fontello;
    color: var(--accent1);
    border-radius: 50px;
    align-items: center;
    margin-right: 8px;
    content: '\e83d';
    font-size: 20px;
    display: flex;
    height: 32px;
    width: 32px;
}
p.feat-post-content {
    margin-bottom: 18px !important;
}

/* Forms */
label.gfield_label {
    font-family: var(--BrandGrotReg);
    font-size: 12px !important;
    font-weight: normal;
}

/* Tabs */
.tabs .vc_tta.vc_general .vc_tta-tab.vc_active>a::after,
.tabs .vc_tta.vc_general .vc_tta-tab.vc_active>a::before {
    display: none !important;
}
#content .bakery .tabs .vc_tta-tabs.vc_tta-tabs-position-top .vc_tta-tabs-list {
    overflow: unset;
}
.bakery .tabs div.vc_tta-tabs-container {
    background: var(--accent1);
    justify-content: center;
    align-items: center;
    display: flex;
}
body #content .tabs .vc_tta-tabs-list {
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    padding: 24px 0;
}
body #content .tabs .vc_tta-tabs-list .vc_tta-tab {
    justify-content: center;
    align-items: center;
    display: flex;
}
body #content div.vc_tta-panel-heading h4.vc_tta-panel-title a span.vc_tta-title-text,
body #content .tabs li.vc_tta-tab a span.vc_tta-title-text {
    /*font-family: var(--BrandGrotReg);*/
    letter-spacing: 1.77px;
    font-weight: normal;
    font-size: 18px;
    line-height: 1;
}
/*idle*/
body #content .bakery .tabs .vc_tta-tabs-list .vc_tta-tab a {
    background-color: var(--light1);
    border: 3px solid var(--light1);
    color: var(--accent2);
    border-radius: 50px;
    padding: 10px 0px;
    height: unset;
    width: 87%;
}
/*active*/
body #content .bakery .tabs li.vc_tta-tab.vc_active a,
body #content .bakery .tabs li.vc_tta-tab.vc_active a:hover {
    background-color: var(--accent1);
}
body #content .bakery .tabs li.vc_tta-tab.vc_active a span.vc_tta-title-text {
    color: var(--light1);
}
/*hover*/
body #content .bakery .tabs li.vc_tta-tab:not(.vc_active) a:hover {
    opacity: 0.5;
}

/* Tabbed Menu Content */
body #content .bakery .wpb_row.tabs .vc_tta-panels-container {
    padding: 55px 5%;
}
.bakery .tabs .vc_inner {
    align-items: start;
}
.bakery .tabs .vc_inner:last-child {
    padding-bottom: 0;
}
.bakery .wpb_row.menu-heading-row {
    padding-bottom: 28px;
    padding-top: 0;
}

@media (min-width: 980px) {
    .tabs .vc_inner .wpb_column {
        padding: 0 2.5%;
    }
    .tabs .vc_inner .wpb_column:first-child {
        padding-left: 0 !important;
    }
    .tabs .vc_inner .wpb_column:last-child {
        padding-right: 0 !important;
    }
}

.tabs h3 {
    letter-spacing: 1px;
    text-align: center;
    font-size: 16px;
}
.tabs h3:not(:first-child) {
    margin-top: 32px;
}
.tabs hr {
    background-color: var(--accent3);
    margin: 16px auto !important;
    border: none;
    height: 2px;
    width: 90%;
}
.tabs p {
    text-align: center;
}
.newsletter-cta input[type="email"] {
    border: 2px solid #000 !important;
    background: transparent;
    box-shadow: none;
}

/* Single Location */
body #content .location-nap-row a {
    transition: all 0.3s ease-in-out;
    text-decoration: none;
    color: var(--dark3);
}
body #content .location-nap-row a:hover {
    transition: all 0.3s ease-in-out;
    text-decoration: none;
    color: var(--accent1);
}
.bakery .map-row .wpb_gmaps_widget .wpb_wrapper {
    padding: 0;
}

/* Collage columns */
.bakery .collage-col .wpb_text_column .wpb_wrapper p {
    justify-content: start;
    flex-wrap: wrap;
    display: flex;
    row-gap: 18px;
}
.bakery .collage-col .wpb_text_column .wpb_wrapper p img {
    margin: 0;
}
.bakery .collage-col .wpb_text_column .wpb_wrapper p img:nth-child(1) {
    width: 100%;
}
.bakery .collage-col .wpb_text_column .wpb_wrapper p img:nth-child(2) {
    padding-right: 9px;
    width: 50%;
}
.bakery .collage-col .wpb_text_column .wpb_wrapper p img:nth-child(3) {
    padding-left: 9px;
    width: 50%;
}
.bakery .collage-col .wpb_text_column .wpb_wrapper p br {
    display: none;
}

@media (max-width: 979px) {
    .bakery .collage-col .wpb_text_column .wpb_wrapper p {
        row-gap: 14px;
    }
    .bakery .collage-col .wpb_text_column .wpb_wrapper p img:nth-child(2) {
        padding-right: 7px;
    }
    .bakery .collage-col .wpb_text_column .wpb_wrapper p img:nth-child(3) {
        padding-left: 7px;
    }
}

/* Accordions */
body #content div.vc_tta-panel.vc_active .vc_tta-panel-heading h4.vc_tta-panel-title a span.vc_tta-title-text {
    color: var(--accent2);
}

/* Products Promo Row */
.bakery .products-promo-row h3,
.bakery .products-promo-row h4 {
    font-family: var(--BrandGrotReg);
    letter-spacing: 2px;
    line-height: 26px;
    font-weight: normal;
    font-size: 20px;
}
.products-promo-row.promo-icons img {
    max-width: 80px;
    height: auto;
}

/* Many uses row */

@media (min-width: 980px) {
    .many-uses-row .wpb_column {
        padding: 0 2.5%;
    }
    .many-uses-row .wpb_column:nth-child(1) {
        padding-right: none !important;
    }
    .many-uses-row .wpb_column:nth-child(2) {
        padding-left: none !important;
    }
}

.bakery .vc_row.many-uses-row .vc_inner {
    align-items: flex-start;
}
.plain-fifty hr.line {
    border-color: var(--accent1);
    margin: 32px 0 !important;
}
.many-uses-row hr.line {
    border-color: var(--accent1);
    margin: 16px 0 !important;
}
.many-uses-row h3,
.many-uses-row h4 {
    font-family: var(--BrandGrotReg);
    font-weight: normal;
    letter-spacing: 0;
    line-height: 30px;
    font-size: 24px;
}

/* 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: 18px;
        width: 100%;
    }
    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: 1820px;
    flex-wrap: wrap;
    padding: 60px 0;
    margin: 0 auto;
    display: flex;
    width: 96%;
}
body#blog-page #content #primary .post-image-and-text {
    margin-bottom: 22px;
}
body#blog-page #content #primary .post-image-wrap {
    margin-bottom: 0px !important;
}
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-top-right-radius: 24px;
    border-top-left-radius: 24px;
    display: block;
}
body#blog-page #content #primary .post-image-wrap a:hover img {
    transition: all 0.3s ease-in-out;
    opacity: 0.70;
}
.blog-post-row img.post-image {
    transition: all 0.3s ease-in-out;
    max-height: 100%;
    height: auto;
    width: 100%;
}
.post-text-wrap {
    border-bottom-right-radius: 24px;
    border-bottom-left-radius: 24px;
    background: var(--light2);
    padding: 16px 32px;
}
p.archive-post-category {
    text-transform: uppercase;
    letter-spacing: 1.75px;
    color: var(--accent2);
    margin-bottom: 5px;
    line-height: 16px;
    font-size: 14px;
    display: none;
}
body #content h2.archive-post-title {
    text-transform: none;
    margin-bottom: 14px;
    letter-spacing: 0;
    line-height: 36px;
    font-size: 32px;
}
body #content h2.archive-post-title a {
    transition: all 0.3s ease-in-out;
    text-decoration: none;
    color: var(--accent1);
}
body #content h2.archive-post-title a:hover {
    transition: all 0.3s ease-in-out;
    text-decoration: none;
    color: var(--accent2);
}
body#blog-page #content p.archive-post-date-author {
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 1;
}
body#blog-page p.archive-post-excerpt {
    margin: 12px 0;
}
body#blog-page div#pagination {
    background: var(--dark2);
    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#blog-page .left-pag,
body#blog-page .right-pag {
    align-items: center;
    display: flex;
}
body.paged .left-pag,
body.paged .right-pag {
    text-align: center;
}
body#blog-page #content div#pagination a {
    font-family: var(--BrandGrotBold);
    transition: all 0.3s ease-in-out;
    text-transform: uppercase;
    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) !important;
}

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

/* /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: 24px;
    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 {
    font-family: var(--BrandGrotBold);
    transition: all 0.3s ease-in-out;
    text-transform: uppercase;
    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: 200px;
}
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:not(.social) 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 #content aside#secondary ul.social {
    justify-content: start;
}
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;
}

@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;
    padding: 168px 0 60px 0;
    align-items: start;
    max-width: 1520px;
    flex-wrap: wrap;
    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);
    text-align: center;
    padding: 15px 20px;
    min-width: 150px;
    display: block;
}
body #content .nav-previous a:hover,
body #content .nav-next a:hover {
    transition: all 0.3s ease-in-out;
    background: var(--accent1_65);
    text-decoration: none;
    color: var(--light1);
}
body #content a.all-blogs-link {
    padding: 15px 28px;
    min-width: 130px;
    max-width: 90px;
}
body.single h1.single-post-title {
    color: var(--accent1);
    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;
    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: 979px) {
    body.single-post #primary,
    body.single-post #secondary {
        width: 100% !important;
        display: block;
    }
    body.single #content .blog.single {
        padding: 40px 0;
        width: 90%;
    }
}

@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;
    }
    div#single-pagination {
        column-gap: 6%;
        padding: 18px;
    }
    body.single-post #content div#single-pagination a {
        font-size: 12px;
    }
}
/* /Single Blog */

/* FAQ */
body h3.h3-above-faqs {
    line-height: 24px;
    font-size: 24px;
}

@media (max-width: 480px) {
    body#faq-page .default-header {
        background-position: bottom center !important;
    }
}

/* Gallery */
.gallery-carousel-row h3 {
    margin-bottom: 24px !important;
}
.bakery .wpb_row.gallery-grid-outer {
    padding: 50px 0 80px 0;
}
.bakery .wpb_row.gallery-grid-inner {
    padding: 0;
}
.gallery-grid-inner .vc_pageable-slide-wrapper.vc_clearfix {
    width: 100%;
}
.gallery-grid-inner .vc_grid.vc_row.vc_grid-gutter-35px.vc_pageable-wrapper.vc_hook_hover {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}

@media (max-width: 979px) {
    .bakery .wpb_row.gallery-grid-outer {
        padding: 36px 0;
    }
}

/* END Gallery */

/* 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;
}
/* /Privacy Policy */

body .fw-blurb h3 {
    font-family: var(--BrandGrotReg);
    text-transform: none;
    letter-spacing: 1px;
    margin-bottom: 24px;
    line-height: 33px;
    margin-top: 24px;
    font-size: 24px;
}
.fw-blurb a {
    margin: 0 auto;
}

/* 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 */

/*~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~*/
/*~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~*/
/*~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~*/

/* Responsive */

@media (max-width: 979px) {
    body .feat-post-right h5 {
        margin-top: 8px;
    }
    .home .bakery .wpb_row.blog-row-parent {
        padding-bottom: 0px;
        padding-top: 40px;
    }
    .bottom-cta.add-parallax {
        padding: 40px 0;
    }
    .bakery .wpb_column.opacity-form-col {
        padding: 40px 7% 0px 7%;
    }
    footer#footer div[class*='footer-col']:not(:last-child) .widget:last-child {
        margin-bottom: 32px;
    }
    footer#footer div[class*='footer-col']:last-child .widget:last-child {
        margin-bottom: 0;
    }
    .bakery .wpb_row.about-top-row-outer {
        padding: 40px 0 !important;
    }
    .bakery .wpb_row.team-row-top {
        padding-top: 40px !important;
    }
    .bakery .wpb_row.accordion-row {
        padding-bottom: 24px !important;
    }
    .bakery .wpb_row.products-promo-row {
        padding-bottom: 50px !important;
    }
    .bakery .wpb_row.product-promo-outer {
        padding-bottom: 0 !important;
    }
    .bakery .wpb_row.no-padding-small-desktop {
        padding: 0 !important;
    }
    .bakery .wpb_row.many-uses-row {
        padding: 40px !important;
    }
    .bakery .wpb_row.pb0-mobile {
        padding-bottom: 0 !important;
    }
    body.single h1.single-post-title {
        font-size: 24px;
    }
    .bakery .wpb_row.contact-intro {
        padding: 40px !important;
    }
}

@media (max-width: 768px) {
    .home .bakery .fifty-section {
        padding-bottom: 40px !important;
        padding-top: 40px !important;
    }
}

@media (max-width: 480px) {
    .nearest-location .sa_owl_theme .owl-nav .owl-prev {
        left: -13px;
    }
    .nearest-location .sa_owl_theme .owl-nav .owl-next {
        right: -15px;
    }
    body.home .bottom-cta h2 {
        line-height: 1.2;
        font-size: 22px;
    }
    body a.topbutton {
        bottom: 265px !important;
    }
    body div.grecaptcha-badge {
        bottom: 188px !important;
    }
    .vc_col-sm-12 a.btn-bt,
    .vc_col-sm-6 a.btn-bt,
    p.featu-post a.btn-bt {
        margin-right: auto;
        margin-left: auto;
    }
    body.search a.more-link {
        margin-right: auto !important;
        margin-left: auto !important;
    }
    body.blog a.btn-bt:not(.btn-default),
    body.blog #pagination a {
        margin-right: auto;
        margin-left: auto;
        max-width: 250px;
        display: block;
    }
    body.blog #pagination {
        margin-top: 80px;
        width: 100%;
    }
    body h2, body h3 {
        letter-spacing: 0px;
        line-height: 25px;
        font-size: 18px;
    }
}

/* **************************************************************************** */
/* ************************** FROM OLD ICECREAM.CSS *************************** */
/* **************************************************************************** */

.white {
    color: var(--white) !important;
}
/* desktop subnav active link color */
header#header nav.primary-navigation ul.menu-wrapper ul.sub-menu .current-menu-item > a:first-child,
header#header nav.primary-navigation ul.menu-wrapper ul.sub-menu .current_page_item > a:first-child {
    color: var(--white) !important;
}

/* mobile active link color */
@media (max-width: 979px) {
    header#header nav.main-navigation .current-menu-item > a:first-child,
    header#header nav.main-navigation .current_page_item > a:first-child,
    header#header #mobile-site-navigation ul.mobile-menu li.current-menu-item a {
        color: var(--white) !important;
    }
	.mobile-menu li.menu-item-has-children button.sub-menu-toggle,
	.mobile-menu li.menu-item-has-children button.sub-menu-toggle:hover, .mobile-menu li.menu-item-has-children button.sub-menu-toggle.toggled, .mobile-menu li.page-item-has-children button.sub-menu-toggle:hover, .mobile-menu li.page-item-has-children button.sub-menu-toggle.toggled{
		background: var(--light2) !important;
	}
}

body h1,
body h2:not(.widget-title),
body h3,
body h4,
body h5,
body h6 {
    /*text-transform: uppercase;*/
    font-weight: normal;
    color: var(--dark2);
    text-align: left;
}
body h2 {
    margin-bottom: 30px;
}
body h2,
body h3 {
    letter-spacing: 0px;
    line-height: 45px;
    font-size: 42px;
}
.plain-fifty h2 {
    margin-bottom: 16px;
    line-height: 42px;
    font-size: 34px;
}
body .reviews-white-box h2 {
    margin-bottom: 18px;
}
.follow-us h2 {
    margin-bottom: 18px;
    line-height: 32px;
    font-size: 32px;
}
.plain-fifty h3 {
    text-transform: none;
    margin-bottom: 18px;
    line-height: 30px;
    font-size: 22px;
}
.post-box h3 {
    text-transform: none;
}
body h4 {
    letter-spacing: 3px;
    font-size: 28px;
	margin-bottom: 15px;
}
.bakery .brands-row.partner-row h4 {
    margin-bottom: 36px;
    letter-spacing: 1px;
    line-height: 28px;
    font-size: 22px;
}
body h5 {
    letter-spacing: 1.75px;
    font-size: 24px;
}

/* social circles */

ul.social {
    justify-content: center;
    flex-direction: row;
    align-items: center;
    display: flex;
}
ul.social li a {
    text-decoration: none;
}

ul.social li a i {
    transition: all 0.3s ease-in-out;
    border: 2px solid var(--accent2);
    background: var(--accent2);
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    color: var(--white);
    display: flex;
}
ul.social li a i:before {
    transition: all 0.3s ease-in-out;
    color: var(--white);
}
ul.social li a:hover i {
    transition: all 0.3s ease-in-out;
    background: var(--white);
}
ul.social li a:hover i.twitter-x-unicode,
ul.social li a:hover i:before {
    transition: all 0.3s ease-in-out;
    color: var(--accent2);
}

/* Buttons */
.bakery .promo-row a.btn-bt.default,
.bakery .promo-row a.btn-bt.alternate {
    transition: all 0.3s ease-in-out;
    max-width: 175px !important;
    display: block;
    margin: 0 auto;
    padding: 8px 0;
}
a.btn-bt.default:hover {
    box-shadow: 2px 2px 12px 0 rgba(0,0,0,0.24);
    transition: all 0.3s ease-in-out;
}
a.btn-bt.alternate {
    border: 3px solid var(--accent1);
}
a.btn-bt.alternate:hover {
    box-shadow: 2px 2px 12px 0 rgba(0,0,0,0.24);
    transition: all 0.3s ease-in-out;
    border: 3px solid var(--white);
}
.promo-row a.btn-bt {
    position: relative;
    top: -24px;
}
.bakery .wpb_row:not(.promo-row) a.btn-bt {
    padding: 10.5px 0;
    max-width: 250px;
    display: block;
}
.bakery a.btn-bt.centered {
    margin: 0 auto !important;
}

/* admin bar */

@media (min-width: 980px) {
    body.logged-in header#header {
        top: 32px;
    }
}

/* home promo */
.line {
    margin: 53px auto 60px auto !important;
}
.promo-row .wpb_content_element {
    margin-bottom: 12px;
}

/* home blogs */
.homepage-posts-container .post-box .post-img {
    background-position: center;
    background-size: cover;
    margin-bottom: 30px;
    margin-top: 10px;
    height: 225px;
    width: 225px;
}
.homepage-posts-container .post-box h3 {
    letter-spacing: 2px;
    margin-bottom: 4px;
    line-height: 28px;
    font-weight: normal;
    font-size: 22px;
}
.post-box .post-text a.btn-bt.alternate {
    margin-top: 8px;
    width: 175px;
}
.readmore-page a {
    font-family: 'Open Sans', sans-serif;
    text-transform: uppercase;
    border: 2px solid var(--accent1);
    background-color: var(--white);
    letter-spacing: 1px;
    border-radius: 30px;
    text-align: center;
    padding: 10px 20px;
    font-size: 14px;
    margin: 0 auto;
    color: var(--accent1);
}
.readmore-page a:hover {
    box-shadow: 2px 2px 12px 0 rgba(0, 0, 0, 0.25);
    border: 3px solid var(--white);
    background: var(--accent1);
    color: var(--white);
}

@media (min-width: 980px) {
    .blog-row .container {
        justify-content: center;
        align-items: center;
    }
    .homepage-posts-container .post-box {
        align-items: center;
        display: flex;
    }
    .homepage-posts-container .post-box .post-text {
        margin-left: 35px;
    }
}

@media (max-width: 979px) {
    .homepage-posts-container .post-box .post-text {
        text-align: center;
    }
    .homepage-posts-container .post-box .post-img {
        margin: 10px auto 30px;
    }
    .homepage-posts-container .post-box .btn-bt.alternate {
        margin: 15px auto 15px;
    }
    .homepage-posts-container .post-box {
        margin-top: 40px;
    }
}

/* home mid cta */

@media (min-width: 768px) {
    .home-mid-cta {
        height: 400px;
    }
}

.home-mid-cta h2 {
    margin-bottom: 20px;
    line-height: 54px;
    font-size: 48px;
}
.home-mid-cta p.white {
    margin-bottom: 24px !important;
}

/* nearest location */
#locationSlider {
    margin-bottom: 0;
}
#locationSlider .promo-row.location-promo img {
    display: block;
    margin: 0 auto;
    float: none;
}
#locationSlider button.owl-prev,
#locationSlider button.owl-next {
    background: transparent !important;
}
button.owl-prev:before {
    transition: all 0.3s ease-in-out;
    font-family: fontello;
    position: relative;
    content: '\f104';
    font-size: 70px;
    color: #e62727;
    left: -50px;
}
button.owl-next:before {
    transition: all 0.3s ease-in-out;
    font-family: fontello;
    position: relative;
    content: '\f105';
    font-size: 70px;
    color: #e62727;
    right: -50px;
}

button.owl-prev:hover:before,
button.owl-next:hover:before {
    transition: all 0.3s ease-in-out;
    color: #000;
}

@media (max-width: 979px) {
    button.owl-prev:before {
        left: -20px;
    }
    button.owl-next:before {
        right: -20px;
    }
}

@media (max-width: 768px) {
    button.owl-prev:before {
        left: -32px;
    }
    button.owl-next:before {
        right: -32px;
    }
}

@media (max-width: 479px) {
    button.owl-prev:before {
        left: -5px;
    }
    button.owl-next:before {
        right: -5px;
    }
    .bakery .nearest-location .container {
        max-width: 312px;
    }
}

/* home reviews */

.bakery .reviews-white-box .vc_column-inner {
    padding: 40px 75px;
}
.home-review-one,
.home-review-two {
    margin-bottom: 24px;
}
p.stars {
    margin-bottom: 4px;
    text-align: center;
}
p.stars .icon-star-1 {
    font-size: 24px;
    color: var(--accent2);
}
p.stars .icon-star-1:before {
    margin: 0 2px;
}

body #content .strong-view.wpmtst-modern .wpmtst-testimonial-content:before, body #content .strong-view.wpmtst-modern .wpmtst-testimonial-content:after {
    color: var(--accent2);
    background: var(--accent2);
}

body #content .strong-view.controls-style-buttons:not(.rtl) .wpmslider-prev:before, body #content .strong-view.controls-style-buttons:not(.rtl) .wpmslider-next:before {
    background: var(--accent2);
}

@media (max-width: 979px) {
    body #content .strong-view.wpmtst-modern.controls-type-sides .wpmtst-testimonial-inner {
        padding-left: 0px;
        padding-right: 0px;
    }
}

/* follow us row */
.follow-us ul.social {
    text-align: center;
}
.follow-us div.unite-gallery {
    margin-top: 5px !important;
}

/* brands / partners row */
.flex-images {
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
    flex-wrap: wrap;
    display: flex;
}
.flex-images img {
    height: 70px;
    width: auto;
}

@media (max-width: 979px) {
    .flex-images {
        margin-top: 0;
    }
    .flex-images img {
        margin: 2em auto 0 auto;
        height: auto;
        width: 26%;
    }
}

@media (max-width: 480px) {
    .flex-images img {
        height: auto;
        width: 34%;
    }
}

/* footer */
footer#footer i.footer-icon {
    color: var(--accent3);
    text-shadow: none;
    font-size: 24px;
}
p.footer-hours {
    margin-bottom: 10px;
    display: flex;
}
p.footer-email,
p.footer-phone,
p.footer-hours,
p.footer-address {
    justify-content: center;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
footer#footer p {
    text-align: center;
}
footer#footer i.footer-icon {
    padding-right: 0;
}

/* copyright */
.row.copyright {
    padding: 6px 0;
}
.middle-three-column .menu-copyright-menu-container ul#menu-copyright-menu {
    margin: 0 auto !important;
    padding: 0px !important;
    max-width: 650px;
}
.menu-copyright-menu-container ul#menu-copyright-menu li a {
    text-transform: uppercase;
    letter-spacing: 1.77px;
    text-decoration: none;
    font-weight: normal;
    font-size: 14px;
}
.copyright-links a {
    text-transform: uppercase;
    text-decoration: none;
}

/* back to top button */
.topbutton.hide {
    display: none;
}
.topbutton.flex {
    display: flex !important;
}

/* blox index tabs */
.filter-text-row {
    padding-bottom: 0 !important;
}
.filter-text-row .vc_column-inner {
    padding-top: 0 !important;
}
#blog-page div.blog {
    display: none;
}
#content .bakery .vc_row.blog-tabs-row {
    padding-top: 0;
}
.blog-tabs-row .vc_tta-panel-body {
    padding: 0 !important;
}
.blog-tabs-row .vc_tta-container {
    margin-bottom: 0;
}

@media (min-width: 980px) {
    body #content .blog-tabs-row .vc_tta-tabs-list .vc_tta-tab {
        text-align: center;
        margin: 0;
    }
}

body #content .blog-tabs-row li.vc_tta-tab {
    flex: 1;
}
body #content .blog-tabs-row li.vc_tta-tab:nth-child(2) {
    flex: 1.2;
}
body #content .blog-tabs-row .container {
    max-width: unset;
    width: 100%;
}
body #content .blog-tabs-row .vc_tta-panels {
    background: transparent;
    border: 0;
}
body #content .blog-tabs-row .vc_tta-tabs-container {
    margin: 0;
}
body #content .blog-tabs-row .vc_tta-tabs-list .vc_tta-tab {
    text-align: center;
    margin: 0;
}
body #content .blog-tabs-row .vc_tta-tabs-list {
    justify-content: center;
    background: var(--accent1);
    display: flex;
    width: 100%;
    margin: 0;
}
body #content .blog-tabs-row .vc_tta-tabs-list .vc_tta-tab a {
    background-color: var(--accent1);
    text-transform:uppercase;
    justify-content: center;
    letter-spacing: 1px;
    align-items: center;
    border-radius: 0;
    font-size: 16px;
    display: flex;
    height: 85px;
    color: var(--white);
    border: 0;
}
body #content .blog-tabs-row .vc_tta-panel.vc_active {
    padding: 0;
}
body #content .blog-tabs-row h2 {
    margin-bottom: 16px;
}
body #content .blog-tabs-row h3 {
    text-transform: uppercase;
    letter-spacing: 0px;
    padding-top: 15px;
    font-size: 16px;
}
body #content .blog-tabs-row .p-excerpt {
    margin-bottom: 22px;
    line-height: 22px;
}
body #content .blog-tabs-row .wpb_text_column.wpb_content_element {
    margin-bottom: 0px;
}
body #content .blog-tabs-row span.vc_tta-title-text {
    justify-content: center;
    align-items: center;
    display: flex;
}
body #content .blog-tabs-row .vc_tta-tab span.vc_tta-title-text:before {
    transition: all 0.3s ease-in-out;
    border: 2px solid var(--white);
    border-radius: 50px;
    margin-right: 10px;
    height: 24px;
    width: 24px;
    content: "";
}
body #content .blog-tabs-row .vc_tta-tab:hover span.vc_tta-title-text:before,
body #content .blog-tabs-row .vc_tta-tab.vc_active span.vc_tta-title-text:before {
    transition: all 0.3s ease-in-out;
    background: var(--white);
}
body #content .blog-tabs-row p.the-categories {
    text-transform: uppercase;
    letter-spacing: 2.5px;
    margin-bottom: 10px;
    line-height: 14px;
    font-weight: normal;
    font-size: 14px;
    color: #666;
}
.author-and-tags {
    margin: 16px 0;
}
.the-author {
    align-items: center;
    margin-right: 100px;
    font-size: 14px;
    display: flex;
}
.the-author:before {
    border: 2px solid var(--accent1);
    justify-content: center;
    color: var(--accent1);
    font-family: fontello;
    border-radius: 50px;
    align-items: center;
    margin-right: 8px;
    content: '\e83d';
    font-size: 20px;
    display: flex;
    height: 32px;
    width: 32px;
}
.the-tags {
    align-items: center;
    line-height: 18px;
    max-width: 351px;
    font-size: 14px;
    display: flex;
}
.the-tags:before {
    font-family: Open Sans, sans-serif;
    justify-content: center;
    color: var(--accent1);
    font-weight: normal;
    align-items: center;
    font-style: italic;
    margin-right: 10px;
    font-size: 36px;
    display: flex;
    content: '#';
}
.blogpage-posts-container .post-box .post-text a.btn-bt.alternate {
    width: 225px;
}
.blog-plax.bottom-cta .container {
    height: 100%;
    align-items: center;
    display: flex;
    justify-content: center;
    text-align: center;
}

@media (min-width: 980px) {
    .author-and-tags {
        align-items: center;
        display: flex;
    }
    body #content .blog-tabs-row .author-and-tags p {
        margin-bottom: 0;
    }
    .blogpage-posts-container .post-box {
        margin-bottom: 40px !important;
        justify-content: center;
        align-items: center;
        display: flex;
    }
    .blogpage-posts-container .post-box .post-text{
        margin-left:35px;
        width:70%;
    }
    .blogpage-posts-container .post-box .post-img {
        margin-bottom: 0 !important;
    }

}
@media (max-width: 979px) {
    .blogpage-posts-container .post-box .post-text{
        text-align:center;
    }
    .blogpage-posts-container .post-box .post-img {
        margin: 0 auto 30px auto;
    }
    .blogpage-posts-container .post-box .post-button{
        margin: 15px auto 15px auto;
    }
    .blogpage-posts-container .post-box {
        margin-bottom: 40px !important;
        margin-top: 40px;
    }
    .blog-tabs-row .vc_tta.vc_general .vc_tta-tab>a {
        padding: 14px 0px;
    }
    body #content .blog-tabs-row .vc_tta-tabs-list .vc_tta-tab a {
        letter-spacing: 0;
    }
}

.blogpage-posts-container .post-box .post-img {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-bottom: 30px;
    margin-top: 0;
    height: 300px;
    width: 300px;

}
.blogpage-posts-container .post-box h2 {
    text-transform: none;
    letter-spacing:0px;
    margin-bottom: 0px;
    line-height: 38px;
    font-weight: normal;
    font-size: 32px;
}
.blogpage-posts-container .post-box {
    margin-bottom: 20px;
    max-width: 1300px;
    margin: 0 auto;
    width: 90%;
}

@media (max-width: 768px) {
    body.wpb-js-composer #content .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-heading {
        background-color: var(--accent1);
        border-radius: 0;
        margin-bottom: 0;
        margin-top: 0;
        border: none;
    }
    body.wpb-js-composer #content .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title> a {
        text-transform: uppercase;
        color: var(--white);
    }
    body.wpb-js-composer #content .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title> a:before {
        font-family: "fontello";
        margin-right: 10px;
        font-weight: normal;
        content: "\f111";
    }
    body#faq-page #content .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title> a:before {
        content: none;
    }
    body.wpb-js-composer #content .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel.vc_active .vc_tta-panel-title> a:before {
        font-weight: normal;
    }
    body #content .blog-tabs-row .vc_tta-panel.vc_active {
        padding:0;
    }
    body.wpb-js-composer #content .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-body {
        background-color: var(--white);
        border: none;
    }
}

.cvf_pag_loading {
    padding-top: 40px;
}
.cvf-pagination-nav {
    justify-content: center;
    align-items: center;
    background: var(--accent1);
    display: flex;
    padding: 20px 0;
    width: 100%;
}
.cvf-universal-pagination {
    width: 100%;
}
.cvf-universal-pagination ul {
    justify-content: center;
    padding: 0 !important;
    margin: 0 !important;
    align-items: center;
    list-style: none;
    display: flex;
    width:  100%;
}
.cvf-universal-pagination ul li {
    transition: all 0.3s ease-in-out;
    text-decoration-color: none;
    border-radius: 6px;
    padding: 7px 20px;
    background: var(--white);
    font-weight: normal;
    font-size: 20px;
    color: var(--accent1);
    margin: 0 5px;
}
.cvf-universal-pagination ul li.active:hover,
.cvf-universal-pagination ul li.selected {
    background: rgba(255, 255, 255, 0.70);
    transition: all 0.3s ease-in-out;
}

/* Bottom CTA */
.bottom-cta {
    height: 600px;
}
.bottom-cta h2 {
    margin-bottom: 1em;
    line-height: 54px;
    font-size: 48px;
}

/* Subpage Hero */
body:not(.home) .default-header h1 {
    text-shadow: 0 0 62px rgba(0, 0, 0, 0.50);
    text-align: center;
}
#blog-page .default-header .container {
    max-width: 785px;
}
#blog-page div.blog {
    display: block !important;
}

/* mid page background image row */
#midBgImage.mid-plax {
    height: 600px;
}

/* about page time;ine */
.timeline h3 {
    margin-bottom: 0px;
    margin-top: 32px;
}

/* subpage promo row */
.subpage-promo-row h2 {
    margin-bottom: 36px !important;
}

/* locations subpage promo row */
.locations-promo-row h2 {
    margin-bottom: 18px !important;
}

/* plain fifty centering */
@media (min-width: 980px) {
    .bakery.cannon-beach .container,
    .bakery .vc_row.plain-fifty .container {
        align-items: center;
    }
}

/* menu tabs / subpage tabs */
body #content .menu-tabs-row .vc_tta-tabs-list {
    padding: 12px 0;
}
body #content .menu-tabs-row .vc_tta-panel.vc_active {
    padding: 50px 5%;
}
body #content .menu-tabs-row h2 {
    margin-bottom: 10px;
}
body #content .menu-tabs-row h3 {
    margin-bottom: 5px;
    line-height: 24px;
    font-weight: normal;
}

/*  menu page tab content styles */
.menu-tabs-row hr.line {
    margin: 16px auto !important;
    background-color: #ffcaca;
    border: none;
    height: 2px;
    width: 100%;
}
body #content .menu-tabs-row.updated h3 {
    letter-spacing: 2px;
    font-weight: normal;
    font-size: 24px;
}
body #content .menu-tabs-row.updated h4 {
    margin-bottom: 10px;
    letter-spacing: 1px;
    line-height: 28px;
    font-size: 22px;
}
.bakery .wpb_text_column p.menu-data {
    margin-bottom: 8px !important;
}
span.md-heading {
    letter-spacing: 2.77px;
    font-weight: normal;
}

.menu-flex-cols {
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
    margin-top: 40px;
    flex-wrap:  wrap;
    display: flex;
}
.menu-flex-cols.halves .flex-col {
    padding: 0 1%;
    width: 50%;
}
.menu-flex-cols.fourths .flex-col {
    padding: 0 1%;
    width: 25%;
}
.bakery .menu-flex-cols ul.menu-list {
    list-style: none;
    padding-left: 0;
}
.menu-flex-cols.centered-text p.menu-data,
.menu-flex-cols.centered-text ul.menu-list li {
    text-align: center;
}
.bakery div.vc_row.flex-start {
    align-items:  flex-start !important;
}
.bakery div.vc_row.flex-start .menu-flex-cols {
    margin-bottom: 24px;
    margin-top: 14px;
}

@media (max-width:  979px) {
    .bakery .menu-tabs-row .vc_tta-panel-body div.vc_row {
        flex-direction: column;
    }
    .menu-flex-cols div.flex-col {
        margin-bottom: 35px !important;
    }
    .menu-flex-cols.fourths .flex-col {
        width: 50%;
    }
}

@media (max-width: 767px) {
    h4.vc_tta-panel-title {
        margin-bottom: 0 !important;
    }
}

@media (max-width:  480px) {
    .menu-flex-cols.halves .flex-col,
    .menu-flex-cols.fourths .flex-col {
        width: 100%;
    }
}

/* contact top rows */
body .contact-outer-row h2 {
    margin-bottom: 18px !important;
}
.contact-outer-row h3:first-child {
    margin-top: 0 !important;
}
.contact-nap-col p {
    margin-bottom: 0px !important;
    line-height: 24px;
    font-size: 14px;
}
.contact-outer-row h3 {
    margin-top: 24px !important;
    letter-spacing: 0px;
    margin-bottom: 5px;
    line-height: 30px;
    font-size: 24px;
}
body .contact-nap-col a {
    color: #000;
}
body .contact-nap-col a:hover {
    color: var(--accent2);
}

@media (min-width: 980px) {
    .bakery .vc_col-sm-3\/5:not(.vc_col-has-fill):nth-child(1) {
        padding-right: 2.5%;
    }
    .bakery .vc_col-sm-2\/5:not(.vc_col-has-fill):nth-child(2) {
        padding-left: 2.5%;
    }
}

/* contact map image row */

.bakery .contact-outer-row {
    background-position: top left !important;
}
.map-row {
    height: 400px;
}

/* Gravity Forms */

.form-row .gform_wrapper {
    max-width: 550px;
    margin: 0 auto;
}
.gform_heading {
    display: none;
}
.gform_wrapper.gravity-theme .gfield_label {
    font-family: var(--BrandGrotBold);
    font-weight: normal !important;
    margin-bottom: 7px !important;
    padding-left: 7px !important;
    font-size: 12px !important;
    text-transform: uppercase;
    color: var(--black);
    line-height: 1;
}
.gform_wrapper.gravity-theme input:not([type="submit"]),
.gform_wrapper.gravity-theme select {
    height: 55px;
}
.gform_wrapper.gravity-theme textarea {
    height: 130px !important;
}
.gform_wrapper.gravity-theme input:not([type="submit"]),
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
    box-shadow: inset 0px 1px 4px rgba(0, 0, 0, 0.50);
    font-family: var(--BrandGrotReg);
    transition: all 0.3s ease-in-out;
    padding: 16px !important;
    font-weight: normal;
    color: var(--black);
    border-radius: 4px;
    border: none;
}
.gform_wrapper.gravity-theme input::placeholder,
.gform_wrapper.gravity-theme select::placeholder,
.gform_wrapper.gravity-theme textarea::placeholder {
    color: rgba(0, 0, 0, 0.66);
}
.gform_wrapper.gravity-theme input:focus-visible,
.gform_wrapper.gravity-theme select:focus-visible,
.gform_wrapper.gravity-theme textarea:focus-visible {
    outline: none;
}
.gform_wrapper.gravity-theme input:not([type="submit"]):focus,
.gform_wrapper.gravity-theme textarea:focus,
.gform_wrapper.gravity-theme input:not([type="submit"]):hover,
.gform_wrapper.gravity-theme textarea:hover {
    transition: all 0.3s ease-in-out;
    background: var(--light3);
}
.gform_wrapper.gravity-theme select {
    background-image: url("/wp-content/uploads/2026/04/down-open-mini.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 18px center;
    -webkit-appearance: none;
    background-size: 12px;
    appearance: none;
    cursor: pointer;
}
.gform_wrapper.gravity-theme .gfield_description {
    font-family: var(--BrandGrotBold) !important;
    font-weight: normal !important;
    padding: 0 0 0 7px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    margin: 0 !important;
    color: var(--black);
}
.gform_wrapper.gravity-theme .gform_drop_area {
    background: rgba(97, 166, 14, 0.25) !important;
    border: 2px dashed var(--accent1) !important;
    border-radius: 16px !important;
    padding: 24px !important;
}
.gform_wrapper.gravity-theme span.gform_drop_instructions {
    font-weight: normal !important;
    font-size: 16px !important;
    line-height: 1 !important;
    padding: 0 !important;
    color: var(--black);
}
.ginput_preview_list {
    box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.12);
    padding: 16px 24px !important;
    background: var(--light3);
    border-radius: 16px;
    margin-top: 18px;
}
.ginput_preview {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    justify-content: start;
    align-items: center;
    display: flex;
}
.ginput_preview_list span:not(.dashicons),
span.gfield_fileupload_filename {
    font-weight: normal !important;
    font-size: 16px !important;
    line-height: 1 !important;
    color: var(--black);
}
body .ginput_preview_list button.gform_delete_file {
    transition: all 0.3s ease-in-out;
    position: relative;
    line-height: 1;
    top: -2px;
}
body .ginput_preview_list button.gform_delete_file span.dashicons {
    transition: all 0.3s ease-in-out;
    color: var(--black);
}
body .ginput_preview_list button.gform_delete_file:hover span.dashicons {
    transition: all 0.3s ease-in-out;
    color: red;
}
.ginput_preview_list span.dashicons {
    justify-content: center;
    align-items: center;
    font-size: 16px;
    display: flex;
}
span.gfield_fileupload_percent {
    color: var(--accent2) !important;
}
.gform_wrapper.gravity-theme .gform_fields {
    grid-column-gap: unset !important;
    grid-row-gap: unset !important;
    display: flex !important;
    row-gap: 22px !important;
    flex-direction: column;
}
.gform_wrapper.gravity-theme .gform_fields div.gfield,
.gform_wrapper.gravity-theme .gform_fields fieldset.gfield {
    margin-bottom: 0;
    line-height: 0;
    font-size: 0;
}
.gform_wrapper.gravity-theme span.gfield_required {
    line-height: 1;
}

/* Our Team */
section.vc_section.team-section-outer {
    padding: 0;
    margin: 0;
}
#team-page .bottom-cta {
    height: 550px;
}
#team-page .bottom-cta h2 {
    margin-bottom: 0.7em;
    line-height: 54px;
    font-size: 48px;
}
.team-row-top h2 {
    margin-bottom: 16px;
}
.team-row-top .line {
    margin: 40px auto 50px auto !important;
}
.team-text-col h3 {
    text-transform: none;
    letter-spacing: 1px;
    margin-bottom: 6px;
    line-height: 34px;
    font-size: 28px;
}
.team-text-col h4 {
    letter-spacing: 1px;
    margin-bottom: 3px;
    line-height: 30px;
    font-weight: normal;
    font-size: 24px;
}
.team-text-col p {
    margin-bottom: 16px !important;
    line-height: 20px;
    font-size: 14px;
}
.team-text-col ul.social {
    justify-content: left;
}
.team-text-col ul.social li a i {
    font-size: 14px;
    height: 24px;
    width: 24px;
}

/* Reviews */
.reviews p.stars {
    margin-bottom: 16px;
    text-align: left;
}
.reviews .plain-fifty h3 {
    text-transform: none;
    letter-spacing: 1px;
    margin-bottom: 20px;
    line-height: 40px;
    font-size: 34px;
}
p.review {
    line-height: 22px;
    font-size: 16px;
}
p.reviewer {
    font-weight: normal;
    font-size: 18px;
}
.reviews .top-blurb h2 {
    margin-bottom: 7px;
}
.review-row .txt-col::before {
    font-family: fontello;
    color: var(--accent3);
    position: absolute;
    content: '\f10d';
    font-size: 60px;
    top: 25px;
    left: 0;
}
.review-row .txt-col {
    padding-left: 75px !important;
    position: relative;
}

/* location subpage */
body .subpage-nearest-location.wpb_row h2 {
    margin-bottom: 16px;
}

/* faq page accordions */
.the-accordion div.vc_tta-panel {
    margin-bottom: 24px;
}
.the-accordion div.vc_tta-panel:last-child {
    margin-bottom: 0;
}
.the-accordion div.vc_tta-panel .vc_tta-panel-heading {
    border: 4px solid transparent !important;
    background: var(--light2) !important;
    transition: all 0.3s ease-in-out;
    border-radius: 8px !important;
    margin-bottom: 0;
}
.the-accordion i.vc_tta-controls-icon {
    display: none;
}
.the-accordion.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-left.vc_tta-panel-title>a {
    padding-left: 20px;
}
.the-accordion h4.vc_tta-panel-title {
    transition: all 0.3s ease-in-out;
    letter-spacing: 1px;
    font-weight: normal;
    text-align: center;
    text-shadow: none;
    font-size: 18px;
}
.the-accordion h4.vc_tta-panel-title a {
    color: #000 !important;
    text-shadow: none;
}
/* accord bg on hover */
.the-accordion div.vc_tta-panel:hover .vc_tta-panel-heading {
    box-shadow: 2px 2px 24px 0 rgba(0, 0, 0, 0.24);
    border: 4px solid var(--accent2) !important;
    background: var(--light1) !important;
    transition: all 0.3s ease-in-out;
}
/* accord text on hover */
.the-accordion div.vc_tta-panel:hover h4.vc_tta-panel-title a {
    color: var(--accent2) !important;
}
/* active accord bg and active accord bg on hover */
.the-accordion div.vc_tta-panel.vc_active .vc_tta-panel-heading,
.the-accordion div.vc_tta-panel.vc_active:hover .vc_tta-panel-heading {
    border: 4px solid var(--accent2) !important;
    background: var(--light1) !important;
    transition: all 0.3s ease-in-out;
    pointer-events: none;
}
/* active accord text and active accord text on hover */
.the-accordion div.vc_tta-panel.vc_active:hover .vc_tta-panel-heading h4.vc_tta-panel-title,
.the-accordion div.vc_tta-panel.vc_active:hover .vc_tta-panel-heading h4.vc_tta-panel-title a {
    color: var(--light1) !important;
}
/* accordion content */
.the-accordion .vc_tta-panel-body {
    padding: 24px 0px 0px 0px !important;
    background: transparent !important;
    border: none !important;
    text-align: center;
    margin: 0 auto;
    width: 90%;
}
.the-accordion .vc_tta-panel-body p {
    line-height: 24px;
    font-size: 18px;
}

/* Non-woo products index */

.products-section-outer h4 {
    margin-bottom: 0;
}
.line.small-line {
    margin: 20px auto 24px auto !important;
}
.mid-bg-img.add-parallax {
    height: 500px;
}
.products-promo-row h4 {
    letter-spacing: 0;
    line-height: 30px;
    font-weight: normal;
    font-size: 24px;
}
.products-promo-row .line.small-line {
    margin: 10px auto 14px auto !important;
}
#products-index-page .bottom-cta {
    height: 500px;
}
#products-index-page .bottom-cta h2 {
    margin-bottom: 28px;
}

@media (min-width: 980px) {
    .products-section-outer .vc_col-sm-6 {
        align-items: center;
        display: flex;
    }
    .products-promo-row .wpb_column {
        padding: 0 2%;
    }
}

/* Non-woo single product */

body#product-single .default-header {
    height: 475px;
}
body#product-single .default-header h1 {
    top: 95px;
}
body#product-single .products-section-outer h4 {
    margin-bottom: 5px;
}
body#product-single .products-section-outer h3.product-details {
    text-transform: none;
    letter-spacing: 1px;
    line-height: 30px;
    font-weight: normal;
    font-size: 24px;
}
#product-single .bottom-cta {
    height: 500px;
}
#product-single .bottom-cta h2 {
    margin-bottom: 28px;
}

/* specials page */

.specials-top-blurb h2 {
    margin-bottom: 7px;
}
.specials-fifty h4 {
    letter-spacing: 1px;
    margin-bottom: 12px;
    line-height: 34px;
    font-weight: normal;
    font-size: 28px;
}
.specials-fifty h3 {
    text-transform: none;
    letter-spacing: 1px;
    line-height: 38px;
    font-weight: normal;
    font-size: 32px;
}
.bakery .specials-fifty .wpb_text_column p:not(:last-child) {
    margin-bottom: 24px;
}
.bottom-cta.newsletter-cta {
    height: 300px;
}
.bottom-cta.newsletter-cta h2 {
    margin-bottom: 18px !important;
    line-height: 42px;
    font-size: 36px;
}
.newsletter-cta form {
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    display: flex;
    width: 700px;
}
.newsletter-cta .gform_body.gform-body {
    padding: 0 2% 0 0;
    width: 50%;
}
.newsletter-cta .gform_footer {
    padding: 0 0 0 2% !important;
    margin: 0 !important;
    width: 50%;
}
.newsletter-cta .gform_button.button {
    margin-bottom: 0 !important;
    position: relative;
    top: 14px;
}
.newsletter-cta .gfield input {
    box-shadow: 0px 0px 10px #b8b8b8;
    padding-bottom: 4px !important;
    padding-left: 8px !important;
    padding-top: 4px !important;
    border: none !important;
}
.newsletter-cta label.gfield_label {
    margin-bottom: -1px !important;
    font-size: 14px !important;
}

/* accessibility / privacy policy */

#accessibility-page h3,
#pp-page h3 {
    letter-spacing: 1px;
    margin-bottom: 0px;
    line-height: 30px;
    font-size: 24px;
}
#pp-page h2 {
    margin-bottom: 0px;
    line-height: 42px;
    font-size: 30px;
}
#pp-page h4 {
    line-height: 26px;
    font-size: 20px;
}

/* Responsive */

@media (max-width: 1024px) {
    div.header-button a.btn-bt.default.btn-default {
        font-size: 14px;
    }
    .row.copyright {
        padding: 10px 0;
    }
    .copyright .container {
        flex-direction: column;
        display: flex;
    }
    .copyright .copyright-text.span6.left-three-column,
    .copyright .copyright-content.span6.middle-three-column,
    .copyright .copyright-content.span6.right-three-column {
        padding: 10px 0;
        width: 100%;
    }
    .copyright-text.span6.left-three-column {
        justify-content: center;
        align-items: center;
        display: flex;
    }
    .copyright-content.span6.right-three-column {
        justify-content: center !important;
        align-items: center;
        display: flex;
    }
    .copyright ul.social {
        padding-left: 0 !important;
    }
    a.topbutton {
        bottom: 180px !important;
    }
    .team-row-top h2 {
        margin-bottom: 12px;
    }
    .plain-fifty h2 {
        line-height: 34px;
        font-size: 24px;
    }
}

@media (max-width: 979px) {
    .promo-row,
    .plain-fifty {
        flex-direction: column;
    }
    .plain-fifty.review-row.reverse .container,
    .specials-fifty.reverse .container {
        flex-direction: column-reverse;
        display: flex;
    }
    .plain-fifty.reverse {
        flex-direction: column-reverse;
    }
    .bakery .specials-fifty {
        padding: 0 0 30px 0 !important;
    }
    .post-box h3 {
        text-align: center;
    }
    .home .bakery .fifty-section,
    .home .bakery .home-reviews,
    .home .bakery .blog-row {
        padding-top: 0 !important;
    }
    .home .bakery .blog-row {
        padding-bottom: 0 !important;
    }
    body .bakery .brands-row.partner-row h4 {
        margin-bottom: 0px;
    }
    /* Menu - WE NOW DELIVER! */
    .plain-fifty.vc_custom_1621892758256 {
        background-color: rgba(0, 0, 0, 0.50);
        background-blend-mode: overlay;
    }
    .menu-tabs-row ul.vc_tta-tabs-list {
        flex-direction: column;
    }
    .bottom-cta.newsletter-cta {
        height: 300px;
    }
    .newsletter-cta form {
        flex-direction: column;
        width: 350px;
    }
    .newsletter-cta .gform_body.gform-body {
        width: 100%;
        padding:0;
    }
    .newsletter-cta .gform_footer {
        margin: 18px 0 0 0 !important;
        padding: 0 !important;
        width: 100%;
    }
    .newsletter-cta .gform_button.button {
        top: 0;
    }
    .bakery .vc_row.top-blurb {
        padding-bottom: 32px;
        padding-top: 32px;
    }
    .bakery .contact-outer-row {
        padding: 30px 0 !important;
    }
    .contact-nap-col {
        margin-top: 35px;
    }
    #team-page .team-row-top .line {
        margin: 20px auto 30px auto !important;
    }
    .team-row-top .line {
        margin: 20px auto 2px auto !important;
    }
    .nearest-location.subpage-nearest-location {
        padding-bottom: 0px !important;
        padding-top: 40px !important;
    }
    .bakery .team-outer-fifty-fifty {
        padding-bottom: 0 !important
    }
    .team-outer-fifty-fifty .vc_col-sm-6 {
        margin-bottom: 18px;
    }
    .team-image-col img {
        display: block;
        margin: 0 auto;
    }
    .contact-inner-row {
        flex-direction: column;
    }
    #contact-page .contact-outer-row {
        background-color: rgb(255, 255, 255, 0.50);
        background-blend-mode: overlay;
    }
    .the-accordion h4.vc_tta-panel-title {
        letter-spacing: 0;
        font-size: 16px;
    }
    .products-promo-row {
        margin: 0 auto !important;
        max-width: 300px;
    }
    .blogpage-posts-container .post-text {
        max-width: 300px;
        margin: 0 auto;
    }
    p.the-categories,
    p.the-tags,
    p.p-excerpt {
        text-align: left;
    }
    .blogpage-posts-container .post-text a.btn-bt {
        max-width: none !important;
        width: 100% !important;
    }
    .review-row .txt-col {
        padding-left: 0px !important;
    }
    .review-row .txt-col:before {
        content: none;
    }
    .bakery .plain-fifty.review-row {
        padding-bottom: 30px !important;
        padding-top: 0 !important;
    }
    #reviews-page .subpage-promo-row {
        padding-top: 0;
    }
}

@media (max-width: 768px) {
    .bakery .plain-fifty h2 {
        margin-bottom: 10px;
        line-height: 34px;
        font-size: 28px;
    }
    body h2,
    body h3 {
        letter-spacing: 1px;
        line-height: 34px;
        font-size: 28px;
    }
    body h2 {
        margin-bottom: 12px;
    }
    .bakery .home-mid-cta h2 {
        margin-bottom: 14px;
        line-height: 34px;
        font-size: 28px;
    }
    .bakery .reviews-white-box .vc_column-inner {
        padding-top: 0;
    }
    .bottom-bar {
        height: 80px;
        padding: 0;
    }
    .home .bakery .fifty-section {
        padding-bottom: 40px !important;
    }
    .vc_row.wpb_row.home-promo-outer {
        padding: 30px 0 !important;
    }
    .line {
        margin: 28px auto 36px auto !important;
    }
    body:not(.home) .default-header {
        height: 300px;
    }
    body:not(.home) .default-header h1 {
        line-height: 30px;
        font-size: 24px;
    }
    body:not(.home) .plain-fifty {
        padding-bottom: 40px !important;
        padding-top: 32px !important;
    }
    .bakery .bottom-cta.newsletter-cta h2 {
        margin-bottom: 14px !important;
        line-height: 30px;
        font-size: 24px;
    }
    .team-inner-fifty-fifty {
        flex-direction: column;
    }
    .team-text-col {
        max-width: 300px;
    }
    .the-accordion h4.vc_tta-panel-title {
        line-height: 24px !important;
    }
    body#product-single .default-header {
        height: 300px;
    }
    body#product-single .default-header h1 {
        top: 78px;
    }
    body:not(.home) .bakery .plain-fifty.review-row {
        padding-bottom: 30px !important;
        padding-top: 0 !important;
    }
}

@media (max-width: 480px) {
    .top-header .logo .site-branding a img {
        height: unset !important;
    }
    body h2,
    body h3 {
        letter-spacing: 0px;
        line-height: 30px;
        font-size: 23px;
    }
    .bakery .plain-fifty h2 {
        margin-bottom: 5px;
        line-height: 30px;
        font-size: 24px;
    }
    .bakery .plain-fifty.specials-fifty {
        padding: 0 0 30px 0 !important;
    }
    .bakery .home-mid-cta h2 {
        margin-bottom: 12px;
        line-height: 28px;
        font-size: 22px;
    }
    .bakery .reviews-white-box .vc_column-inner {
        padding: 0px 16px 40px 16px;
    }
    body .bakery .brands-row.partner-row h4 {
        line-height: 22px;
        font-size: 16px;
    }
    .flex-images img {
        margin: 1em auto 0 auto;
    }
    #menu-copyright-menu li {
        padding: 0px 7px;
        width: 33.33%;
    }
    .bakery .bottom-cta {
        height: 300px;
    }
    .bottom-cta h2 {
        margin-bottom: 18px;
        line-height: 44px;
        font-size: 34px;
    }
    .bottom-cta.newsletter-cta {
        height: 250px;
    }
    .newsletter-cta form {
        width: 100%;
    }
    .bakery .bottom-cta.newsletter-cta h2 {
        margin-bottom: 12px !important;
        line-height: 28px !important;
        font-size: 22px !important;
    }
    .bakery .specials-fifty h4 {
        margin-bottom: 10px;
        line-height: 30px;
        font-size: 24px;
    }
    .bakery .specials-fifty h3 {
        letter-spacing: 0.7px;
        line-height: 32px;
        font-weight: normal;
        font-size: 26px;
    }
    .bakery .locations-promo-row {
        padding-bottom: 0px !important;
    }
    .bakery .contact-outer-row {
        padding: 0 0 30px 0 !important;
    }
    #midBgImage.mid-plax {
        height: 320px;
    }
    .bakery .subpage-promo-row {
        padding-bottom: 12px !important;
        padding-top: 0;
    }
    h2.center-mobile {
        text-align: center;
    }
    #team-page .bottom-cta {
        height: 300px;
    }
    #team-page .bottom-cta h2 {
        margin-bottom: 0.5em;
        line-height: 40px;
        font-size: 32px;
    }
    #contact-page .contact-outer-row {
        padding-top: 30px !important;
    }
    .map-row {
        height: 137px;
    }
    .mid-bg-img.add-parallax {
        height: 320px;
    }
    #products-index-page .bottom-cta {
        height: 300px;
    }
    #products-index-page .team-row-top {
        padding-top: 30px !important;
    }
    body .products-section-outer h4 {
        letter-spacing: 1px;
        line-height: 23px;
        font-size: 18px;
    }
    #product-single .bottom-cta {
        height: 300px;
    }
}

@media (max-width: 414px) {
    div.header-button a.btn-bt.default.btn-default {
        font-size: 11px;
    }
}

/* START CLAUDE INJECTIONS */

/* ================================================
   ICE CREAM — Homepage Styles
   ================================================ */

/* ------------------------------------------------
   1. HERO
   Background image set via Design Tab on section.home-hero
   ------------------------------------------------ */

body #content .home-hero {
    height: 600px;
	display: flex;
	align-items: center
}
body #content .vc_row.wpb_row.hero-banner {
    width: 100%;
}
body #content .home-hero .hero-banner h1,
body #content .home-hero .hero-banner p{
    text-transform: none !important;
    color: var(--light1) !important;
}
body #content .home-hero .happiness-text {
    font-family: var(--BrandGrotBold);
    color: var(--accent1) !important;
    font-size: 82px !important;
    line-height: 102px;
}
.vc_row.wpb_row.contact-row.bottom-cta.home-bottom-cta {
    height: 100%;
}
@media (max-width: 1024px) {
	body #content .vc_row.wpb_row.hero-banner {
    width: 100% !important;
}
}

@media (max-width: 979px) {

body h1 {
		font-size: 60px !important;
    	line-height: 60px !important;
	}
}
@media (max-width: 480px) {
	body h1 {
		font-size: 42px !important;
    	line-height: 52px !important;
	}
	.bakery .delivery-cta-section p {
    	line-height: 25px !important;
    	font-size: 16px !important;
	}
	body h1 {
		font-size: 42px;
    	line-height: 52px;
	}
	body h4 {
    letter-spacing: 0px;
    font-size: 20px;
	}
	body #content .location-info-col h5 {
    line-height: 20px !important;
    font-size: 20px !important;
	}
		.bakery section.fullwidth-plax {
    height: 400px !important;
}
	.service-overview-row, .service-overview-row h2 {
    text-align: center !important;
}
}
/* ------------------------------------------------
   2. INTRO FIFTY
   Uses .inline-fifty from component-library — no overrides needed
   ------------------------------------------------ */

section#IntroFifty {
    padding-bottom: 0px !important;
    padding-top: 40px !important;
}
hr.line {
    margin: 24px auto !important;
    border: none;
    height: 3px;
}
.line.accent3 {
    background: var(--accent3);
}

/* ------------------------------------------------
   3. CATEGORY SECTION
   ------------------------------------------------ */

.bakery .category-section {
    padding: 100px 0 !important;
}
.bakery .category-section .category-row {
    align-items: center;
}

@media (min-width: 980px) {
    .bakery .category-section .wpb_column:not(:last-child) {
        padding-right: 2.5%;
    }
    .bakery .category-section .wpb_column:not(:first-child) {
        padding-left: 2.5%;
    }
}

.bakery .category-tiles {
    display: flex;
    gap: 40px;
}
.bakery .category-tile {
    position: relative;
    width: 33.33%;
}
.bakery .category-tile img {
    border-radius: 12px;
    object-fit: cover;
    display: block;
    width: 100%;
}
.bakery .category-tile-label {
    transition: all 0.3s ease-in-out;
    border: 3px solid var(--accent1);
    transform: translateX(-50%);
    background: var(--accent1);
    border-radius: 7px;
    white-space: nowrap;
    text-align: center;
    position: absolute;
    padding: 12px 24px;
    min-width: 149px;
    bottom: -24px;
    left: 50%;
}
body #content .category-tile-label {
    font-family: var(--BrandGrotBold) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.77px !important;
    color: var(--white) !important;
    font-size: 18px !important;
}
body #content .bakery .category-tile-label:hover {
    transition: all 0.3s ease-in-out;
    border: 3px solid var(--accent1);
    color: var(--accent1) !important;
    background: var(--white);
}
.bakery .category-tile a img {
    transition: all 0.3s ease-in-out;
}
.bakery .category-tile a:hover img {
    transition: all 0.3s ease-in-out;
    opacity: 0.69;
}

@media (max-width: 979px) {
    .bakery .category-section .category-text-col {
        padding: 20px 0;
        max-width: 90%;
        margin: 0 auto;
    }
    .bakery .category-tiles {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .bakery .category-tile {
        flex: 1 1 calc(33% - 8px);
        min-width: 120px;
    }
}

/* ------------------------------------------------
   4. FLAVOR OF THE MONTH
   ------------------------------------------------ */

section#FlavorOfTheMonth {
    padding-bottom: 100px;
    padding-top: 0;
}
.bakery .flavor-section .flavor-cards-row {
    align-items: stretch;
}
.bakery .flavor-card {
    background: var(--light2);
    box-sizing: border-box;
    align-items: center;
    border-radius: 16px;
    display: flex;
    padding: 40px;
    height: 100%;
    gap: 32px;
}
.bakery .flavor-img-wrap {
    flex-shrink: 0;
}
.bakery .flavor-img-wrap img {
    object-fit: cover;
    display: block;
}
.bakery .flavor-text-wrap {
    flex: 1;
}
.bakery .flavor-text-wrap .btn-bt {
    display: inline-block;
    margin-top: 14px;
}
body #content .flavor-label {
    text-transform: uppercase !important;
    font-family: var(--BrandGrotBold);
    color: var(--accent1) !important;
    letter-spacing: 1px !important;
    margin-bottom: 12px !important;
    line-height: 26px !important;
    font-size: 18px !important;
}
body #content .flavor-text-wrap h4 {
    margin-bottom: 10px !important;
    letter-spacing: 0;
    line-height: 40px;
    font-size: 30px;
}
body #content .flavor-text-wrap a.btn-bt {
    margin-top: 24px;
    min-width: 180px;
}

@media (max-width: 979px) {
    .bakery .flavor-card {
        flex-direction: column;
        margin-bottom: 20px;
        text-align: center;
    }
    .bakery .flavor-text-wrap .btn-bt {
        margin: 14px auto 0 auto;
        width: fit-content;
        display: block;
    }
}

/* ------------------------------------------------
   5. DELIVERY CTA
   Background image set via Design Tab on section.delivery-cta-section
   accent2 class handles background color via background.css
   color.css handles white text on accent containers
   ------------------------------------------------ */

.bakery .delivery-row {
    align-items: center;
    text-align: center;
    height: 491px;
}
.bakery .delivery-col .vc_column-inner {
    justify-content: center;
    align-items: center;
    display: flex;
}
.bakery .delivery-cta-section h2 {
    font-size: 52px !important;
    line-height: 1 !important;
    text-transform: uppercase;
    color: var(--white);
}
.bakery .delivery-cta-section p {
    font-family: var(--BrandGrotBold);
    line-height: 42px !important;
    font-size: 24px !important;
    color: var(--white);
    margin-right: auto;
    margin-left: auto;
    max-width: 860px;
}
.bakery .delivery-cta-section .btn-bt {
    max-width: unset !important;
    width: 300px !important;
    display: inline-block;
    margin-right: auto;
    margin-left: auto;
    margin-top: 24px;
}

@media (max-width: 979px) {
    .bakery .delivery-row {
        min-height: 320px;
    }
    .bakery .delivery-col .vc_column-inner {
        min-height: 320px;
        padding: 60px 0;
    }
}
	
	@media (max-width: 480px) {
			.bakery .delivery-cta-section h2 {
		font-size: 30px !important;
	}
.bakery .delivery-cta-section p {
        line-height: 26px !important;
        font-size: 16px !important;
		}
	}

/* ------------------------------------------------
   6. CONTENT FIFTY
   Uses .inline-fifty from component-library — no overrides needed
   ------------------------------------------------ */

.bakery .inline-fifty a.btn-bt {
    margin-top: 32px;
}
.list-col h6 {
    color: var(--accent1);
    letter-spacing: 1px;
    margin-bottom: 10px;
    line-height: 26px;
    font-size: 18px;
}
.list-col hr {
    margin: 14px 0 !important;
    max-width: 360px;
    width: 90%;
}
.img-col p {
    line-height: 0 !important;
}
section#ContentFifty {
    padding: 100px 0 !important;
}
.bakery section#ContentFifty .inline-fifty a.btn-bt {
    margin-top: 32px;
}

/* ------------------------------------------------
   7. LOCATION
   ------------------------------------------------ */

section#Location {
    padding-bottom: 100px;
    padding-top: 0;
}
.bakery .location-section .location-row {
    align-items: center;
}
.bakery .map-col {
    align-self: stretch;
}
.bakery .map-col iframe {
    display: block;
    height: 100%;
    width: 100%;
}
body #content .location-info-col h5 {
    margin-bottom: 10px !important;
    margin-top: 24px !important;
    text-transform: none;
    letter-spacing: 0;
    line-height: 40px;
    font-size: 30px;
}
body #content .location-info-col hr {
    margin: 24px 0 !important;
    max-width: 360px;
    width: 90%;
}
body #content .location-info-col a:not(.dir-link) {
    text-decoration: none;
}
body #content .location-info-col a {
    color: var(--black) !important;
}
body #content .location-info-col a:hover {
    color: var(--accent2) !important;
}
body #content .location-info-col a.dir-link {
    margin-top: -14px !important;
    width: fit-content;
    display: block;
}
.bakery .map-col .vc_column-inner,
.bakery .map-col .vc_column-inner .wpb_wrapper,
.bakery .map-col .vc_column-inner .wpb_wrapper .wpb_text_column,
.bakery .map-col .vc_column-inner .wpb_wrapper .wpb_text_column p {
    height: 100%;
}
.bakery .map-col iframe {
    border-radius: 16px;
    height: 100%;
    width: 100%;
}

@media (max-width: 979px) {
    .bakery .location-info-col {
        padding-top: 30px;
        max-width: 90%;
        margin: 0 auto;
    }
}

/* ------------------------------------------------
   8. REVIEWS
   accent3 class handles background via background.css
   ------------------------------------------------ */

.bakery .reviews-section {
    height: 525px;
}
.bakery .reviews-section .reviews-row {
    text-align: center;
    padding-bottom: 0;
    width: 100%;
}
.bakery .reviews-section .reviews-row .container {
    max-width: 1499px;
}
.bakery .reviews-section .reviews-row h3 {
    margin-bottom: 14px !important;
    text-transform: uppercase;
    letter-spacing: 4px;
    line-height: 48px;
    font-size: 28px;
}

/* ------------------------------------------------
   9. NEWS
   ------------------------------------------------ */

.bakery .news-section {
    padding: 80px 0 !important;
}
.bakery .news-section .news-row {
    padding-bottom: 0;
}
body #content .news-row h2:not(.feat-post-title) {
    margin-bottom: 40px;
}
.featured-post {
    column-gap: 5%;
    display: flex;
}
.featured-post .flex.vertical-align {
    background: var(--light2);
    border-radius: 16px;
    padding: 40px;
}
.featured-post a.archive-post-image-link {
    border-radius: 16px;
}
.featured-post .flex.vertical-align h5 {
    font-family: var(--BrandGrotBold);
    color: var(--accent2);
    letter-spacing: 1px;
    line-height: 26px;
    font-size: 18px;
}
.featured-post .flex.vertical-align p.read-more a.unstyled-link {
    text-decoration: none !important;
    color: var(--accent2) !important;
    letter-spacing: 1px;
    line-height: 26px;
    font-size: 18px;
}
.featured-post .flex.vertical-align p.read-more a.unsytled-link:hover {
    color: var(--accent1) !important;
}

/* ------------------------------------------------
   10. BRANDS
   ------------------------------------------------ */

section#Brands {
    padding-bottom: 80px;
    padding-top: 0;
}
.bakery .brands-section .brands-heading-row {
    text-align: center;
    padding-bottom: 0;
}
body #content .brands-section h6 {
    text-align: center !important;
    letter-spacing: 2px;
    margin-bottom: 30px;
    line-height: 34px;
    font-size: 24px;
}
.wpcp-slide-image {
    justify-content: center;
    align-items: center;
    display: flex;
}

@media (min-width: 1200px) {
    .bakery .brands-section .wpcp-swiper-dots {
        display: none !important;
    }
}

/* ------------------------------------------------
   11. GALLERY
   ------------------------------------------------ */

section#Gallery {
    padding: 0;
}
.bakery .gallery-section {
    padding: 0;
}
.bakery .gallery-section .gallery-row {
    padding: 0;
}
.bakery .gallery-section .gallery-row .container {
    max-width: unset;
    width: 97.5%;
}

/* ------------------------------------------------
   12. CONTACT
   Background image set via Design Tab on section.contact-section
   ------------------------------------------------ */

section#Contact {
    height: 761px;
}
section#Contact .bottom-cta.contact-row {
    width: 100%;
}
body #content .contact-section h2 {
    margin-bottom: 16px !important;
    text-align: center !important;
    line-height: 45px;
    font-size: 42px;
}
.bottom-cta.contact-row .form-col {
    background: var(--light2);
    border-radius: 12px;
    max-width: 810px;
    margin: 0 auto;
    padding: 60px;
}
.gform_wrapper.gravity-theme input:not([type="submit"]),
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
    width: 100% !important;
}
.gform-footer.gform_footer.top_label {
    padding-bottom: 0 !important;
}

/* ================================================
   ICE CREAM — About Page Styles
   ================================================ */

/* ------------------------------------------------
   1. SUBPAGE HERO
   Background image set via Design Tab on section.subpage-hero
   Uses .subpage-hero from component-library — no overrides needed
   ------------------------------------------------ */

#content .default-header {
    background-position: center center !important;
}

/* ------------------------------------------------
   2. INTRO FIFTY
   Uses .inline-fifty from component-library
   ------------------------------------------------ */

.bakery .inline-fifty .img-col img {
    border-radius: 16px;
    display: block;
    height: auto;
    width: 100%;
}

/* ------------------------------------------------
   3. DECORATIVE IMAGE BAND
   Replace background image via WPBakery Design Tab — CSS placeholder below
   ------------------------------------------------ */

section#ImageBand {
    padding: 0 !important;
    background-image: url('https://picsum.photos/seed/image-band/1600/652');
    background-position: center;
    background-size: cover;
}
.bakery section.fullwidth-plax {
    height: 652px;
}

/* ------------------------------------------------
   4. MISSION / LONG COPY
   ------------------------------------------------ */

/* ------------------------------------------------
   5. CONTENT FIFTY
   ------------------------------------------------ */

section.fifty-section {
    padding: 80px 0 !important;
}
section.fifty-section .inline-fifty {
    padding-top: 0;
}
section.fifty-section .inline-fifty:not(:last-child) {
    padding-bottom: 80px;
}
.bakery section.fifty-section .img-col p {
    line-height: 0 !important;
}
.bakery section.fifty-section .img-col p img {
    border-radius: 16px;
    height: auto;
    width: 100%;
}
body #content section.fifty-section .text-col.vc_col-sm-4 h3 {
    margin-bottom: 16px !important;
    line-height: 1.2 !important;
    font-size: 30px;
}
.list-col.vc_col-sm-8 hr {
    max-width: unset;
    width: 90%;
}
.bakery section.fifty-section .wpb_row.inline-fifty a.btn-bt {
    padding: 11px 0;
}

@media (min-width: 980px) {
    section.fifty-section .inline-fifty .wpb_column:not(:last-child) {
        padding-right: 2.5%;
    }
    section.fifty-section .inline-fifty .wpb_column:not(:first-child) {
        padding-left: 2.5%;
    }
    .inline-fifty .text-col.list-col.vc_col-sm-8 p {
        max-width: 808px;
    }
}

/* ------------------------------------------------
   6. LIST SECTION
   .list-col and hr.line rules carry over from homepage CSS
   ------------------------------------------------ */

section#ListSection {
    padding: 0 0 100px 0 !important;
}
.bakery .about-list .img-col p {
    line-height: 0 !important;
}

@media (max-width: 979px) {
    section#ListSection {
        padding-bottom: 60px !important;
    }
}

/* ------------------------------------------------
   7. BRANDS
   Same as homepage — no new CSS needed
   ------------------------------------------------ */

/* ------------------------------------------------
   8. REVIEWS
   Replace background image via WPBakery Design Tab — CSS placeholder below
   ------------------------------------------------ */

.bakery .reviews-section {
/*     background-image: url('/wp-content/uploads/2026/05/reviews-parallax.webp?id=3515');
    background-position: center;
    background-size: cover; */
}

/* ------------------------------------------------
   9. EXPLORE TILES
   Reuses .category-tile from homepage CSS
   ------------------------------------------------ */

section#Explore {
    padding-bottom: 100px !important;
}
body #content .explore-section h2 {
    margin-bottom: 40px !important;
    text-align: center !important;
}
.bakery .explore-section .explore-heading-row {
    padding-bottom: 0;
}
.bakery .vc_col-sm-12 .category-tiles {
    justify-content: center;
    display: flex;
    gap: 40px;
}
.bakery section.explore-section .vc_col-sm-12 .explore-tiles .category-tile {
    justify-content: center;
    align-items: center;
    display: flex;
    width: auto;
}
.bakery .explore-tiles .category-tile img {
    border-radius: 12px;
    object-fit: cover;
    display: block;
    height: 340px;
    width: 330px;
}
.bakery section.explore-section .vc_col-sm-12 .category-tile-label {
    min-width: 225px;
}

@media (max-width: 979px) {
    .bakery .explore-tiles {
        flex-direction: column;
        gap: 48px;
    }
    .bakery .explore-tiles .category-tile {
        margin: 0 auto;
        width: 90%;
    }
}

/* ================================================
   ICE CREAM — Services Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

/* ------------------------------------------------
   2. SERVICES FIFTY-SECTION
   Three inline-fifty rows — uses fifty-section padding pattern
   ------------------------------------------------ */

section.services-fifty-section {
    padding: 80px 0 !important;
}
section.services-fifty-section .inline-fifty {
    padding-top: 0;
}
section.services-fifty-section .inline-fifty:not(:last-child) {
    padding-bottom: 80px;
}
.bakery section.services-fifty-section .img-col p {
    line-height: 0 !important;
}
.bakery section.services-fifty-section .img-col img {
    border-radius: 16px;
    object-fit: cover;
    display: block;
    height: auto;
    width: 100%;
}

@media (min-width: 980px) {
    section.services-fifty-section .inline-fifty .wpb_column:not(:last-child) {
        padding-right: 2.5%;
    }
    section.services-fifty-section .inline-fifty .wpb_column:not(:first-child) {
        padding-left: 2.5%;
    }
}

/* ------------------------------------------------
   3. PARALLAX BAND
   Background image set via Design Tab on section#ImageBand
   ------------------------------------------------ */

section#ImageBand {
    background-image: url('https://picsum.photos/seed/services-band/1600/600');
    background-position: center;
    padding: 0 !important;
    background-size: cover;
}
.bakery section.fullwidth-plax {
    height: 600px;
}

/* ------------------------------------------------
   4. CONTENT FIFTY
   Uses fifty-section padding pattern — single row, no :not(:last-child) fires
   ------------------------------------------------ */

section.services-content-fifty {
    padding: 80px 0 !important;
}
section.services-content-fifty .inline-fifty {
    padding-top: 0;
}
.bakery section.services-content-fifty .img-col p {
    line-height: 0 !important;
}
.bakery section.services-content-fifty .img-col img {
    border-radius: 16px;
    display: block;
    height: auto;
    width: 100%;
}

@media (min-width: 980px) {
    section.services-content-fifty .inline-fifty .wpb_column:not(:last-child) {
        padding-right: 2.5%;
    }
    section.services-content-fifty .inline-fifty .wpb_column:not(:first-child) {
        padding-left: 2.5%;
    }
}

/* ------------------------------------------------
   5. BOTTOM CTA
   Uses .bottom-cta-section from component-library
   Background image set via Design Tab
   Light bg image — override default white text
   ------------------------------------------------ */

.bakery .services-bottom-cta {
    background-image: url('https://picsum.photos/seed/services-cta/1600/600');
    background-position: center;
    background-size: cover;
}
.bottom-cta a.btn-bt {
    padding: 14px 0 !important;
    margin: 0 auto;
}
.bottom-cta p {
    text-align: center;
}
body:not(.home) .bottom-cta h2,
body:not(.home) .bottom-cta h3 {
    font-size: 56px;
    line-height: 1;
	color: var(--light1);
}

@media (max-width: 480px) {
	body:not(.home) .bottom-cta h3,
	body #content h2.cta-accent-headline{
		    font-size: 35px;
	}
}

/* .cta-accent-headline — reusable on any bottom CTA with a two-line heading.
   h3 = smaller intro line, h2.cta-accent-headline = large accent line.
   Override text colors here when the bg image is light — default bottom-cta
   uses white text which won't work on light backgrounds. */
body #content .services-bottom-cta h3 {
    color: var(--light1) !important;
    text-align: center !important;
    margin-bottom: 8px !important;
}
body #content h2.cta-accent-headline {
    text-transform: uppercase !important;
    color: var(--light1) !important;
    margin-bottom: 24px !important;
    text-align: center !important;
}

/* ================================================
   ICE CREAM — Single Service Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

/* ------------------------------------------------
   2. SERVICE OVERVIEW FIFTY
   Single inline-fifty row — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.service-overview-fifty {
    padding: 80px 0 !important;
}
section.service-overview-fifty .inline-fifty {
    padding-top: 0;
}
body #content .service-overview-fifty .text-col h3 {
    margin-bottom: 16px !important;
    margin-top: 16px !important;
    line-height: 1.2 !important;
}

/* ------------------------------------------------
   3. FEATURES SECTION
   White background — no background class needed
   ------------------------------------------------ */

section.features-section {
    padding-bottom: 100px !important;
    padding-top: 0 !important;
}
section.features-section .features-heading-row.top-blurb {
    padding-bottom: 0;
}
section.features-section .features-icons-row {
    padding-top: 80px !important;
}
.bakery .feature-col {
    text-align: center;
    padding: 0 2.5%;
}
.bakery .feature-col img {
    margin: 0 auto 24px auto !important;
    object-fit: contain;
    display: block;
    height: 100px;
    width: auto;
}
body #content .feature-col h4 {
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 34px !important;
    margin-bottom: 0 !important;
    font-size: 24px !important;
}
body #content .feature-col hr.line {
    margin: 16px auto !important;
}
/* body #content .feature-col p {
    line-height: 32px !important;
    font-size: 20px !important;
} */

@media (min-width: 980px) {
    .bakery .feature-col.vc_col-sm-3 p {
        max-width: 315px;
    }
}

@media (max-width: 979px) {
    .bakery .feature-col {
        padding: 30px 5%;
    }
}

/* ------------------------------------------------
   4. PARALLAX BAND
   Background image set via Design Tab on section#ImageBand
   Height inherited from .bakery section.fullwidth-plax
   ------------------------------------------------ */

section#ImageBand {
    background-image: url('https://picsum.photos/seed/service-band/1600/600');
    background-position: center;
    background-size: cover;
    padding: 0 !important;
}

/* ------------------------------------------------
   5. SERVICE CONTENT FIFTY
   Two inline-fifty rows — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.service-content-fifty {
    padding: 80px 0 !important;
}
section.service-content-fifty .inline-fifty {
    padding-top: 0;
}
section.service-content-fifty .inline-fifty:not(:last-child) {
    padding-bottom: 80px;
}

/* ------------------------------------------------
   6. CTA ROW
   light2 background via class — override component-library white text
   ------------------------------------------------ */

.cta-row .wpb_content_element .wpb_wrapper {
    flex-direction: column;
}
body #content .bakery .cta-row h2 {
    text-transform: uppercase !important;
    color: var(--dark2) !important;
}
.cta-row .wpb_content_element .wpb_wrapper a.btn-bt {
    max-width: unset;
    min-width: 340px;
}

/* ------------------------------------------------
   7. EXPLORE TILES
   Reuses .category-tile and .explore-tiles — no new CSS needed
   ------------------------------------------------ */

section#Explore {
    padding-bottom: 100px !important;
}
body #content .explore-section h2 {
    margin-bottom: 40px !important;
    text-align: center !important;
}
.bakery .explore-section .explore-heading-row {
    padding-bottom: 0;
}

/* ================================================
   ICE CREAM — Single Service Page 2 Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO FIFTY
   Single inline-fifty row — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.service-intro-fifty {
    padding: 80px 0 !important;
}
section.service-intro-fifty .inline-fifty {
    padding-top: 0;
}

/* ------------------------------------------------
   2. MANY USES SECTION
   Full-width repeating h3 + HR + copy blocks
   ------------------------------------------------ */

body #content .uses-section h2 {
    margin-bottom: 40px !important;
}
body #content .uses-section h3 {
    margin-bottom: 0 !important;
}
body #content .uses-section hr.line {
    margin: 16px 0 !important;
}
body #content .uses-section p {
    margin-bottom: 40px !important;
}
body #content .uses-section p:last-child {
    margin-bottom: 0 !important;
}

/* ------------------------------------------------
   3. STORAGE CONTENT FIFTY
   Single inline-fifty row — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.service-storage-fifty {
    padding: 80px 0 !important;
}
section.service-storage-fifty .inline-fifty {
    padding-top: 0;
}

/* ------------------------------------------------
   4. WHY BUY SECTION
   Centered full-width, light2 background
   ------------------------------------------------ */

.blurb-row a.btn-bt {
    margin: 24px auto 0 auto;
    max-width: unset;
    min-width: 240px;
}
.blurb-row h3 {
    text-transform: uppercase;
    line-height: 32px;
    font-size: 24px;
}

/* ------------------------------------------------
   5. BOTTOM CTA
   Background image set via Design Tab
   Light bg — override default white text
   ------------------------------------------------ */

.bakery .single-service-2-cta {
    background-image: url('https://picsum.photos/seed/service2-cta/1600/600');
    background-size: cover;
    background-position: center;
}
body #content .single-service-2-cta h2.cta-accent-headline {
    text-transform: uppercase !important;
    color: var(--accent1) !important;
    margin-bottom: 20px !important;
}
body #content .single-service-2-cta h3 {
    margin-bottom: 20px !important;
    color: var(--dark2) !important;
}
body #content .single-service-2-cta p {
    color: var(--dark2) !important;
}

/* ------------------------------------------------
   6. MORE PRODUCTS
   Uses .services-row from component-library
   Image sizing for product cards
   ------------------------------------------------ */

.bakery .more-products-section .more-products-heading-row {
    padding-bottom: 0;
}
body #content .more-products-section h2 {
    margin-bottom: 0 !important;
}
.bakery .more-products-section .service-col {
    padding: 0 2.5%;
}
.bakery .more-products-section .service-col img {
    margin: 0 auto 24px auto !important;
    border-radius: 16px;
    object-fit: cover;
    display: block;
    height: auto;
    width: 100%;
}
.bakery .more-products-section .service-col h3 {
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 34px !important;
    margin-bottom: 0 !important;
    font-size: 24px !important;
    text-align: center;
}
.bakery .more-products-section .service-col p {
    text-align: center;
}
.bakery .more-products-section .service-col a.btn-bt {
    margin: 0 auto;
}

/* ------------------------------------------------
   7. CONTACT
   Same as homepage — no new CSS needed
   ------------------------------------------------ */

/* ================================================
   ICE CREAM — Our Team Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

/* ------------------------------------------------
   2. TEAM SECTION
   Four inline-fifty rows — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.team-section {
    padding: 80px 0 !important;
}
section.team-section .inline-fifty {
    padding-top: 0;
}
section.team-section .inline-fifty:not(:last-child) {
    padding-bottom: 80px;
}
.bakery .team-section .img-col img {
    border-radius: 16px;
    margin: 0 auto;
    display: block;
    height: auto;
    width: 100%;
}
body #content .team-row h3 {
    margin-bottom: 24px !important;
}
body #content .team-row h4 {
    text-transform: uppercase !important;
    color: var(--accent1) !important;
    letter-spacing: 2px !important;
    line-height: 1.4 !important;
    margin-bottom: 0 !important;
    font-size: 18px !important;
}
.bakery .team-social {
    margin-top: 20px;
    display: flex;
    gap: 12px;
}
.bakery .team-social a {
    transition: color 0.2s ease;
    text-decoration: none;
    color: var(--dark2);
    font-size: 22px;
}
.bakery .team-social a:hover {
    color: var(--accent1);
}

@media (max-width: 979px) {
    .bakery .team-section .img-col img {
        margin-bottom: 20px;
        max-width: 180px;
    }
    .bakery .team-social {
        justify-content: center;
    }
}

/* ------------------------------------------------
   3. EXPLORE TILES
   Reuses .category-tile and .explore-tiles — no new CSS needed
   ------------------------------------------------ */

section#Explore {
    padding-bottom: 100px !important;
}
body #content .explore-section h2 {
    margin-bottom: 40px !important;
    text-align: center !important;
}
.bakery .explore-section .explore-heading-row {
    padding-bottom: 0;
}

/* ------------------------------------------------
   4. WANT TO WORK WITH US — CTA ROW
   Uses .cta-section and .cta-row from component-library
   Default side-by-side layout
   ------------------------------------------------ */

section.bottom-cta.add-parallax.vertical-align .wpb_row.bottom-cta-row {
    width: 100%;
}

/* ================================================
   ICE CREAM — Menu Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO FIFTY
   Single inline-fifty row — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.menu-intro-fifty {
    padding: 80px 0 !important;
}
section.menu-intro-fifty .inline-fifty {
    padding-top: 0;
}

/* ------------------------------------------------
   2. TABS SECTION
   ------------------------------------------------ */

.bakery .tabs-section {
    padding: 0 0 80px 0 !important;
}
.bakery .tabs-section .tabs-row {
    padding: 0;
}

/* Tab nav — accent1 bar with pill buttons */
.bakery .menu-tabs .vc_tta-tabs-list {
    background: var(--accent1) !important;
    justify-content: center !important;
    max-width: 1520px !important;
    flex-wrap: wrap !important;
    display: flex !important;
    border: none !important;
    gap: 16px !important;
}
body #content .bakery .wpb_row.tabs ul.vc_tta-tabs-list li.vc_tta-tab {
    min-width: unset !important;
    width: 17%;
}

/* All tabs — solid white pill */
body #content .menu-tabs .vc_tta-tab a {
    font-family: var(--BrandGrotBold) !important;
    border: 3px solid var(--white) !important;
    text-transform: uppercase !important;
    transition: all 0.2s ease !important;
    background: var(--white) !important;
    letter-spacing: 1.77px !important;
    text-decoration: none !important;
    color: var(--accent1) !important;
    border-radius: 50px !important;
    font-size: 14px !important;
    display: block !important;
    padding: 12px !important;
    width: 100% !important;
}

/* Active tab — outlined white pill */
body #content .menu-tabs .vc_tta-tab.vc_active a,
body #content .menu-tabs .vc_tta-tab a:hover {
    background: transparent !important;
    color: var(--white) !important;
}

/* Tab content */
body #content .menu-tabs .vc_tta-panel-body {
    border: none !important;
    padding: 0 !important;
}

/* Menu items */
body #content .tabs-section h2 {
    margin-bottom: 32px !important;
    text-align: center !important;
}
body #content .tabs-section h3 {
    margin-bottom: 8px !important;
    margin-top: 24px !important;
}
body #content .tabs-section h3:first-of-type {
    margin-top: 0 !important;
}
body #content .tabs-section .vc_column_text hr.line {
    margin: 8px 0 12px 0 !important;
}
body #content .tabs-section p {
    margin-bottom: 0 !important;
}

@media (max-width: 979px) {
    body #content .menu-tabs .vc_tta-tabs-list {
        gap: 4px;
    }
    body #content .menu-tabs .vc_tta-tab a {
        padding: 8px 16px !important;
        font-size: 12px !important;
    }
}

/* ------------------------------------------------
   3. BRANDS
   Same as homepage — no new CSS needed
   ------------------------------------------------ */

/* ------------------------------------------------
   4. BOTTOM CTA
   Uses page-ending bottom-cta pattern
   Background image set via Design Tab
   ------------------------------------------------ */

.bakery .bottom-cta.add-parallax.vertical-align {
    background-image: url('/wp-content/uploads/2026/04/bottom-cta-home-new.webp');
    background-position: center;
    background-size: cover;
}
section.bottom-cta.add-parallax.vertical-align .wpb_row.bottom-cta-row {
    width: 100%;
}

/* ================================================
   ICE CREAM — FAQ Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

/* ------------------------------------------------
   2. FAQ ACCORDION
   Uses .accordion-section pattern — accordion CSS inherited
   ------------------------------------------------ */

body #content .faq-section .accordion-heading-row h3 {
    text-align: center !important;
    margin-bottom: 0 !important;
}

/* ------------------------------------------------
   3. BOTTOM CTA
   Uses page-ending bottom-cta pattern
   Background image set via Design Tab
   ------------------------------------------------ */

.bakery .bottom-cta.add-parallax.vertical-align {
    background-image: url('/wp-content/uploads/2026/04/bottom-cta-home-new.webp');
    background-position: center;
    background-size: cover;
}
section.bottom-cta.add-parallax.vertical-align .wpb_row.bottom-cta-row {
    width: 100%;
}

/* ================================================
   ICE CREAM — Gallery Page Styles
   ================================================ */

/* ------------------------------------------------
   1. GALLERY INTRO FIFTY
   Text left, flavors carousel right
   Uses fifty-section padding pattern
   ------------------------------------------------ */

section.gallery-intro-fifty {
    padding: 80px 0 !important;
}
section.gallery-intro-fifty .inline-fifty {
    padding-top: 0;
}

/* ------------------------------------------------
   2. FULL LINE GALLERY SECTION
   Full-bleed carousel — rules inherited from homepage gallery CSS
   ------------------------------------------------ */

.bakery .gallery-section {
    padding: 0;
}
.bakery .gallery-section .gallery-row {
    padding: 0;
}
.bakery.gallery .gallery-section .gallery-row .container {
    max-width: 1520px;
    width: 90%;
}
.bakery .gallery-heading-row {
    padding-bottom: 0;
}
body #content .gallery-section h2 {
    text-align: center !important;
    margin-bottom: 0 !important;
}
.bakery.gallery .wpcp-swiper-wrapper {
    margin-bottom: 0px !important;
}

/* ------------------------------------------------
   3. BOTTOM CTA
   Uses page-ending bottom-cta pattern
   Background image set via Design Tab
   ------------------------------------------------ */

.bakery .bottom-cta.add-parallax.vertical-align {
    background-image: url('/wp-content/uploads/2026/04/bottom-cta-home-new.webp');
    background-size: cover;
    background-position: center;
}
section.bottom-cta.add-parallax.vertical-align .wpb_row.bottom-cta-row {
    width: 100%;
}

/* ================================================
   ICE CREAM — Locations Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

/* ------------------------------------------------
   2. LOCATION TILES
   Extends .category-tiles with flex-wrap for 2 rows of 3
   ------------------------------------------------ */

.bakery .locations-section {
    padding: 80px 0 !important;
}
.bakery .locations-section .locations-row {
    padding: 0;
}
.bakery .locations-tiles {
    flex-wrap: wrap;
    row-gap: 60px;
}
.bakery .locations-tiles .category-tile {
    width: calc(33.33% - 28px);
}

/* ------------------------------------------------
   3. FRANCHISING CTA
   Uses .cta-section and .cta-row from component-library
   No new CSS needed
   ------------------------------------------------ */

/* ------------------------------------------------
   4. DELIVERY CTA
   Uses page-ending bottom-cta pattern
   Background image set via Design Tab
   ------------------------------------------------ */

.bakery .bottom-cta.add-parallax.vertical-align {
    background-image: url('https://picsum.photos/seed/delivery-cta/1600/600');
    background-position: center;
    background-size: cover;
}
section.bottom-cta.add-parallax.vertical-align .wpb_row.bottom-cta-row {
    width: 100%;
}

/* ================================================
   ICE CREAM — Cannon Beach Location Page Styles
   ================================================ */

/* ------------------------------------------------
   1. FLAVOR OF THE MONTH FIFTY
   Single inline-fifty — uses fifty-section padding pattern
   ------------------------------------------------ */

section.location-flavor-fifty {
    padding: 80px 0 !important;
}
section.location-flavor-fifty .inline-fifty {
    padding-top: 0;
}
body #content .location-flavor-fifty .text-col h3 {
    margin-bottom: 0 !important;
    line-height: 1.3 !important;
    margin-top: 16px !important;
    font-size: 24px !important;
}

/* ------------------------------------------------
   2. LOCATION INFO + MAP
   Exact same row as homepage — no new CSS needed,
   all map-col rules inherited from homepage CSS
   ------------------------------------------------ */

section#Location {
    padding-bottom: 80px;
    padding-top: 0;
}

/* ------------------------------------------------
   3. CONTACT FORM
   light2 background via section class
   ------------------------------------------------ */

/* ------------------------------------------------
   4. HIRING CTA
   Uses .cta-section and .cta-row from component-library
   No new CSS needed
   ------------------------------------------------ */

/* ------------------------------------------------
   5. MORE LOCATIONS
   Reuses .category-tiles .locations-tiles from locations page CSS
   ------------------------------------------------ */

.bakery .more-locations-section {
    padding: 80px 0 !important;
}
.bakery .more-locations-section .more-locations-heading-row {
    padding-bottom: 0;
}
body #content .more-locations-section h2 {
    margin-bottom: 40px !important;
    text-align: center !important;
}
.bakery .more-locations-section .more-locations-tiles-row {
    padding-top: 0;
}

/* ================================================
   ICE CREAM — Specials Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

.top-blurb a.btn-bt {
    margin-right: auto;
    margin-left: auto;
}

/* ------------------------------------------------
   2. SPECIALS SECTION
   Three inline-fifty rows — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.specials-section {
    padding: 80px 0 !important;
}
section.specials-section .inline-fifty {
    padding-top: 0;
}
section.specials-section .inline-fifty:not(:last-child) {
    padding-bottom: 80px;
}
body #content .specials-section h2 {
    margin-bottom: 16px !important;
}
body #content .specials-section h3 {
    text-transform: uppercase !important;
    color: var(--accent1) !important;
    margin-bottom: 0 !important;
    font-size: 20px !important;
}

/* ------------------------------------------------
   3. NEWSLETTER SIGNUP
   Same as contact-section — no new CSS needed
   ------------------------------------------------ */

body #content section#Newsletter.contact-section h2 {
    margin-bottom: 28px !important;
}

/* ================================================
   ICE CREAM — Contact Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

/* ------------------------------------------------
   2. CONTACT FIFTY
   Form left, map + location info right
   Uses fifty-section padding pattern
   ------------------------------------------------ */

section.contact-page-fifty {
    padding: 80px 0 !important;
}
section.contact-page-fifty .inline-fifty {
    padding-top: 0;
}
.bakery .contact-page-fifty .location-info-col iframe {
    border-radius: 16px;
    margin-bottom: 24px;
    display: block;
    width: 100%;
}

body #content .contact-page-fifty .location-info-col h2 {
    margin-bottom: 0 !important;
}

/* ------------------------------------------------
   3. BOTTOM CTA
   Uses page-ending bottom-cta pattern
   Background image set via Design Tab
   ------------------------------------------------ */

.bakery .bottom-cta.add-parallax.vertical-align {
    background-image: url('/wp-content/uploads/2026/04/bottom-cta-home-new.webp');
    background-position: center;
    background-size: cover;
}
section.bottom-cta.add-parallax.vertical-align .wpb_row.bottom-cta-row {
    width: 100%;
}

/* === Page: home === 2026-08-11 === */
/* ============================================================
   PAGE: Home
   ============================================================ */

/* HERO SECTION — real image, global assets folder */
.bakery .home-hero {
    background-image: url('/wp-content/uploads/2026/08/hero-home.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: rgba(0,0,0,0.35);
    background-blend-mode: multiply;
}
body #content .home-hero .hero-banner h1,
body #content .home-hero .hero-banner p {
    color: var(--light1) !important;
}

/* INTRO FIFTY — uses .inline-fifty from component-library, no overrides needed */

/* CATEGORY / FLAVOR OF THE MONTH — disabled via hide-large-desktop + display-large-desktop (hidden at every width), no CSS changes */

/* DELIVERY — repurposed as Community/CTA, bg from global assets folder (mid-cta-bg.jpeg) */
.bakery .delivery-cta-section {
    background-image: url('/wp-content/uploads/2026/08/mid-cta-bg-1.jpeg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* CONTENT FIFTY — repurposed as Our Team (two stacked photos in img-col, two stacked bios in text-col) */
.bakery section#ContentFifty .team-photos-col img {
    border-radius: 16px;
    display: block;
    width: 100%;
    margin-bottom: 20px;
}
.bakery section#ContentFifty .team-photos-col img:last-child {
    margin-bottom: 0;
}
.bakery section#ContentFifty .text-col hr.line {
    margin: 24px 0 !important;
}

/* LOCATION — uses .location-section / .map-col / .location-info-col from component-library, no overrides needed */

/* REVIEWS — trustindex widget; component itself unchanged, see delivery note */

/* NEWS / BRANDS / GALLERY — disabled via hide-large-desktop + display-large-desktop, no CSS changes */

/* CONTACT — bg from global assets folder (bottom-cta-bg.jpeg) */
.bakery .contact-section.bottom-cta-section {
    background-image: url('/wp-content/uploads/2026/08/bottom-cta-bg-1.jpeg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 979px) {
    .bakery section#ContentFifty .team-photos-col img {
        margin-bottom: 16px;
    }
}

/* === Page: weddings === 2026-08-12 === */
/* ============================================================
   PAGE: Weddings
   ============================================================ */

/* TOP BANNER — h1 vertical position (overlay itself now lives in the global CSS block) */
body#product-single .default-header h1 {
    position: relative;
    z-index: 2;
    top: 0;
}

/* === Page: global === 2026-08-12 === */
/* ============================================================
   GLOBAL — site-wide overrides
   ============================================================ */

.intro-fifty-row.inline-fifty .container {
    align-items: center;
}

body #content .tabs p {
    text-align: left !important;
}

.menu-tabs h5 {
    font-size: 18px;
}

.menu-tabs h4 {
    font-size: 22px;
}

section.vc_section.tabs-section {
    padding-bottom: 0px !important;
}

/* Menu tabs — full width on mobile instead of the desktop 17% */
@media (max-width: 979px) {
    body #content .bakery .wpb_row.tabs ul.vc_tta-tabs-list li.vc_tta-tab {
        width: 100% !important;
    }
}

@media (min-width: 980px) {
    .menu-image-left.wpb_column.vc_column_container.vc_col-sm-4 {
        padding-right: 40px;
    }
}

@media (max-width: 979px) {
    .vc_row.wpb_row.vc_inner.vc_row-fluid.reverse {
        display: flex;
        flex-direction: column-reverse;
    }
}

/* Cancels the legacy theme rule body #content .bakery .tabs li.vc_tta-tab:not(.vc_active) a:hover{opacity:0.5} */
body #content .bakery .tabs li.vc_tta-tab:not(.vc_active) a:hover {
    opacity: 1;
}

/* Menus page tabs — less round, matches btn-bt (7px) instead of the legacy pill default.
   Can't edit that legacy rule directly (not a marked page block), so override it here.
   Hover already sets border/text to white via the existing rule — no change needed there. */
body #content .menu-tabs .vc_tta-tab a {
    border-radius: 7px !important;
}

@media (min-width: 980px) {
    .img-col.left.wpb_column.vc_column_container.vc_col-sm-4 {
        padding-right: 60px;
    }
    .img-col.right.wpb_column.vc_column_container.vc_col-sm-4 {
        padding-left: 60px;
    }
}

/* Reverse column order on mobile for .reverse rows */
@media (max-width: 979px) {
    .reverse .container {
        display: flex;
        flex-direction: column-reverse;
    }
}

/* Cancels the legacy theme rule section.features-section{padding-bottom:100px!important} —
   can't edit that line directly (it's in the original theme CSS, not a marked page block),
   so override it here instead. padding-top:0 from that same rule is left alone. */
section.features-section {
    padding-bottom: 0 !important;
}

/* Explore carousel tiles — less round, matches btn-bt (7px) instead of the pill default.
   Note: el_id="Explore" never actually renders as id="Explore" in this theme's vc_section
   output (confirmed via live HTML), so this must be scoped by class, not #Explore. */
.bakery section.explore-section .category-tile-label {
    border-radius: 7px;
}

/* Explore carousel — the shared .category-tile-label sits at bottom:-24px, outside the tile's
   own box. Slick's .slick-list clips overflow (never force overflow:visible there — it exposes
   off-screen slides and creates horizontal scroll), so keep the label inside the tile instead. */
.explore-carousel .category-tile-label {
    bottom: 12px !important;
}
.explore-carousel .category-tile {
    margin: 0 8px;
}
.explore-carousel .category-tile img {
    width: 100%;
    height: 280px;
}
/* Isolate the carousel from the shared .category-tiles / .category-tile flex rules —
   those exist for the original static 3-tile grid and were never meant to apply once
   Slick restructures this element's children into .slick-list > .slick-track > .slick-slide. */
.explore-carousel {
    display: block !important;
}
@media (max-width: 979px) {
    .explore-carousel {
        flex-direction: unset !important;
        flex-wrap: unset !important;
    }
    .explore-carousel .category-tile {
        flex: none !important;
        min-width: 0 !important;
    }
}

/* Step card (Weddings Layout 2 comparison page) */
.step-card h5 {
    letter-spacing: 0;
    font-size: 20px;
}
.step-card h3 {
    font-size: 27px;
    margin-bottom: 10px;
}
.step-card .step-text {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.step-card .step-text.expanded {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
}
.step-card .step-toggle-btn {
    background: none;
    border: none;
    padding: 0;
    color: var(--accent1);
    text-decoration: underline;
    cursor: pointer;
    font-size: 16px;
    text-transform: none;
    letter-spacing: 0;
}
.step-card .step-toggle-btn:hover {
    color: var(--accent2);
}

/* Contact row heading — black (dark3) on every page, not scoped to one template */
body #content .contact-section h2 {
    color: var(--dark3) !important;
}

/* Gravity Forms submit button — force the site pill-button look everywhere.
   This theme's Gravity Forms renders the submit as ,
   not  — the site's existing .gform_footer input[type="submit"]
   rules never match it at all, so it falls back to unstyled browser default. */
.gform_footer .gform_button.button,
.gform_footer input[type="submit"] {
    font-family: var(--BrandGrotBold);
    transition: all 0.3s ease-in-out;
    padding: 18px 4px !important;
    margin-bottom: 0 !important;
    letter-spacing: 1.77px;
    border-radius: 7px;
    font-size: 18px;
    line-height: 1;
    background-color: var(--accent1) !important;
    color: var(--light1) !important;
    border: 3px solid var(--accent1) !important;
    width: 100%;
    cursor: pointer;
}
.gform_footer .gform_button.button:hover,
.gform_footer input[type="submit"]:hover {
    background-color: var(--light1) !important;
    color: var(--accent1) !important;
    border-color: var(--accent1) !important;
}

/* Default Header (ACF Top Banner) — dark overlay for text legibility over photo, every page that uses it */
.default-header {
    position: relative;
}
.default-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 1;
}
.default-header h1 {
    position: relative;
    z-index: 2;
}

/* Subpage hero h1 — mobile sizing */
@media (max-width: 768px) {
    body:not(.home) .default-header h1 {
        line-height: 42px;
        font-size: 42px;
    }
}

/* Contact row heading — small mobile sizing */
@media (max-width: 480px) {
    body #content .contact-section h2 {
        line-height: 45px;
        font-size: 35px;
    }
}

/* Body h2 — small mobile sizing */
@media (max-width: 480px) {
    body h2 {
        line-height: 34px;
        font-size: 30px;
    }
}

/* Default button — border on hover, matching the contact form submit button treatment */
body #content a.btn-bt.default {
    border: 3px solid var(--accent1) !important;
}
body #content a.btn-bt.default:hover {
    border-color: var(--accent1) !important;
}

/* More Products / Bar Agreement card heading */
.bakery .more-products-section .service-col h3 {
    font-size: 20px !important;
    line-height: 20px !important;
    letter-spacing: 0px !important;
}

/* Button row — two buttons side by side, stack on mobile */
.bakery p.btn-row {
    display: flex;
    justify-content: center;
    gap: 16px;
}
@media (max-width: 979px) {
    .bakery p.btn-row {
        flex-direction: column;
        align-items: center;
    }
}

/* Contact form box — padding for small mobile */
@media (max-width: 480px) {
    .bottom-cta.contact-row .form-col {
        padding: 20px;
    }
}

/* Accordion — remove the bullet dot that shows before the title on mobile only */
@media (max-width: 768px) {
    .the-accordion h4.vc_tta-panel-title,
    .the-accordion h4.vc_tta-panel-title a,
    .the-accordion span.vc_tta-title-text {
        list-style: none !important;
    }
    .the-accordion h4.vc_tta-panel-title::marker,
    .the-accordion h4.vc_tta-panel-title a::marker,
    .the-accordion h4.vc_tta-panel-title a::before,
    .the-accordion i.vc_tta-controls-icon {
        content: none !important;
        display: none !important;
    }
}


/* === Page: bar-services === 2026-09-03 === */
.step-card.no-clamp .step-text{display:block;-webkit-line-clamp:unset;overflow:visible;}

/* === Page: memorials === 2026-09-03 === */
body #content #MemorialTabs p, body #content #MemorialTabs h5 { text-align: center !important; }
body #content #MemorialTabs ul.vc_tta-tabs-list { width: 100% !important; }
