@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;0,900;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

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

/* font family vars */
/*--bodyfont:;*/
/*--headingfont:;*/
/* 	--DunbarMed: 'DunbarTall-Medium', sans-serif; */
/* 	--MontReg: 'Montserrat-Regular', sans-serif; */
/* 	--MontB: 'Montserrat-Bold', sans-serif; */

}

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

/* General */

/*header#header {
	display: none !important;
    color: var(--);
}*/

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

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

.top-header .container,
footer#footer .container {
	max-width: 1140px;
}

/* END Top Anchor + Recaptcha */

.top-widget .widget a:link {
    color: var(--accent2);
}

.top-widget,
.row.copyright,
.gform_heading,
span.gfield_required {
	display: none !important;
}

@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%;}
}
a.btn-bt,
body #content a.btn-bt.default,
body #content a.btn-bt.accent1 {
    width: 100%;
}

/* ============================================================
   GLOBAL: LATO FONT OVERRIDE
   Theme options font dropdowns don't include Lato — this bypasses
   the options page entirely. This block only needs to be added
   ONCE per site (not per page) — skip it on subsequent page CSS.
   ============================================================ */

body,
body p,
body li,
body span:not(.gform-field-label__text):not(.gform-icon),
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 {
    font-family: 'Lato', sans-serif !important;
}
nav#site-navigation-right ul li a,
nav#site-navigation ul li a {
	text-decoration: underline;
    font-weight: 600 !important;
}
body p, body li {
	font-weight: 400;
}

body h1, body h2, body h3, body h4, body h5, body h6, span.heading-span {
    font-family: 'Lato', sans-serif !important;
}

body #content h2 {
	font-weight: 400;
}

.boat-hero span.heading-span {
	font-weight: 400;
}
span.heading-span {
	display: inline-block;
}
h1 span.heading-span {
	line-height: 54px;
	font-size: 48px;
}
h2 span.heading-span {
	line-height: 32px;
	font-size: 28px;
	font-weight: 600;
}
body h2 {
	margin-bottom: 28px !important;
}
.bakery .wpb_text_column a.btn-bt {
	margin-top: 18px;
}
.wpb_row.light1 h2,
.wpb_row.light2 h2,
section.light2 h2 {
	color: var(--accent1);
}
section.testimonials-section.light2 h2,
body #content section.testimonials-section.light2 h4 {
	color: var(--dark1) !important;
}
body #content .bakery section.accent2 h2 span {
	color: var(--white) !important;
}

/* ============================================================
   PAGE: Boat Covers & Shades (Home)
   ============================================================ */

/* ACCENT TEXT UTILITY — colored word inside headings */
body #content .accent1-text {
    color: var(--accent1) !important;
}

/* ============================================================
   HERO SECTION
   Set real background image on .boat-hero in WPBakery Design Tab
   ============================================================ */
.bakery .boat-hero {
    background-image: url('https://picsum.photos/1600/900?random=20');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    background-color: rgba(0, 0, 0, 0.40);
    background-blend-mode: overlay;
}
.bakery .boat-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    pointer-events: none;
}
.bakery .boat-hero .container {
    position: relative;
    z-index: 1;
}
@media (min-width: 980px) {
    .bakery .boat-hero .hero-row {
        min-height: 620px;
    }
}
body #content .boat-hero .hero-form-col form {
	max-width: 380px;
}
body #content .boat-hero .hero-text-col h1 {
	margin-bottom: 24px;
    color: var(--light1) !important;
}
body #content .boat-hero .hero-text-col p {
    color: var(--light1) !important;
}
body #content .boat-hero .hero-form-col h2 {
    color: var(--light1) !important;
    margin-bottom: 24px !important;
	line-height: 40px;
	font-weight: 600;
	font-size: 32px;
}
body #content .boat-hero .hero-form-col .gfield_label,
body #content .boat-hero .hero-form-col .gform-field-label {
    color: var(--light1) !important;
}
.ginput_container input,
.ginput_container select {
    height: 30px;
    padding: 4px 10px !important;
}
.bakery .gform_wrapper.gravity-theme .gfield_label:not([for="html5_1jut2ullq14pk1455c821di6t6h3"]) {
    margin-bottom: -3px;
}
@media (max-width: 979px) {
    .bakery .boat-hero .hero-text-col,
    .bakery .boat-hero .hero-form-col {
        max-width: 90%;
        margin: 0 auto;
        padding: 30px 0;
    }
}

/* ============================================================
   MADE TO LAST — 6-ITEM PHOTO GRID
   ============================================================ */
.bakery section.services-intro-section .wpb_row.service-grid-row:not(:last-child) {
    padding-bottom: 30px;
}
.bakery .grid-item-col {
    text-align: center;
    padding: 0 20px;
}
.bakery .grid-item-col img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    margin-bottom: 24px !important;
}
body #content .grid-item-col h4 {
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* ============================================================
   IMG-COL GLOBAL RULES (Craftsmanship + Closing CTA)
   ============================================================ */
.bakery .img-col img {
    border-radius: 16px;
    display: block;
    height: auto;
    width: 100%;
}
.bakery .img-col p {
    line-height: 0 !important;
}
.bakery .framed-img-col img {
/*     border: 10px solid var(--light1); */
    border-radius: 6px;
/*     box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18); */
}

/* ============================================================
   TRUST BADGE ROW
   Placeholder logos — swap with real client badge assets
   ============================================================ */
.bakery .badge-section {
    padding: 30px 0;
}
.bakery .badge-row {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 28px;
    row-gap: 16px;
    display: flex;
}
.bakery .badge-row img {
    height: 100px;
    width: auto;
}

/* ============================================================
   THE LIBERTY ADVANTAGE
   ============================================================ */
.bakery .advantage-item-col {
    text-align: center;
    padding: 30px 20px;
}
.bakery .advantage-icon {
    font-size: 56px;
    display: block;
    margin: 0 auto 16px auto;
}
body #content .advantage-icon {
    color: var(--light1) !important;
}
.bakery .advantage-icon-img {
    display: block;
    margin: 0 auto 16px auto;
    height: 56px;
    width: auto;
}

/* ============================================================
   TESTIMONIALS — STAR RATING
   ============================================================ */
.bakery .stars {
    margin-bottom: 16px;
}
body #content .stars i {
    color: var(--accent1) !important;
    font-size: 18px;
    margin: 0 2px;
}
body #content .testimonial-col h4 {
    text-transform: none !important;
    font-size: 15px !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 979px) {
    .bakery .advantage-item-col {
        padding: 24px 16px;
    }
}

/* === Page: home === 2026-07-31 === */
/* ============================================================
   FIX PASS 1 — Boat Covers & Shades (Home)
   Overrides/additions on top of initial pass. Later in cascade wins.
   ============================================================ */

/* Poppins for form labels */

/* HERO real background image */
/* .bakery .boat-hero {
    background-image: url('https://marine.vmgagencysites.com/wp-content/uploads/2026/07/liberty-hero-custom-boat.jpg') !important;
} */

/* Grid h4 — remove uppercase */
body #content .grid-item-col h4 {
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 600;
}

/* Craftsmanship section — bg belongs on section container, not the row */
/* .bakery section.craftsmanship-section .wpb_row.content-fifty-row {
    background: transparent !important;
} */

.light2-container .container {
    background: var(--light2);
    padding: 0px 24px 0 48px;
}
body #content .light2-container .container h2,
body #content .light2-container .container h2 span.heading-span {
	color: var(--accent1) !important;
}

/* Accent-color heading spans — beat theme's black heading color */
body #content h1 .accent1-text,
body #content h2 .accent1-text,
body #content h3 .accent1-text,
body #content h4 .accent1-text,
body #content .wpb_text_column .accent1-text {
    color: var(--accent1) !important;
}

/* Heading weight mix: base regular weight, accent phrase bold (matches leadpage) */
body #content .intro-col h2,
body #content .craftsmanship-section h2,
body #content .closing-cta-section h2 {
    font-weight: 400 !important;
}
body #content .intro-col h2 .accent1-text,
body #content .craftsmanship-section h2 .accent1-text,
body #content .closing-cta-section h2 .accent1-text {
    font-weight: 700 !important;
	font-size: 28px;
	line-height: 28px;
}

/* Trust badges — single combined real image, no longer a flex row of placeholders */
.bakery .badge-row {
    display: block;
    text-align: center;
}
.bakery .badge-row img.badge-strip {
    height: auto;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

/* Liberty Advantage — real icon graphics (maroon squares from leadpage) */
.bakery .advantage-icon-img {
/*     height: 64px;
    width: 64px;
    border-radius: 50%;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25); */
	margin-bottom: 24px !important;
}

/* Testimonials — centering, spacing, font, color, star image */
.bakery .testimonials-inner-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 40px;
    row-gap: 32px;
}
.bakery .testimonial-col {
    text-align: center;
    padding: 0 12px;
}
body #content .testimonial-col p,
body #content .testimonial-col em {
    font-family: 'Lato', sans-serif !important;
    color: var(--dark2) !important;
    text-align: center !important;
}
body #content .testimonial-col h4 {
    color: var(--accent1) !important;
    text-align: center !important;
}
.bakery .stars-img {
    height: 20px;
    width: auto;
    margin: 0 auto 16px auto;
    display: block;
}

/* Bottom empty dark1 spacer row */
.bakery .bottom-spacer {
    height: 63px;
    padding: 0;
}
.bakery .bottom-spacer .wpb_row,
.bakery .bottom-spacer .wpb_column {
    height: 63px;
    min-height: 0;
    padding: 0;
    margin: 0;
}

/* Gravity Forms — hero estimate form */
body #content .hero-form-col span.gform-field-label__text,
body #content .hero-form-col .gfield_label,
body #content .hero-form-col .gform-field-label,
body #content .hero-form-col label {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
	font-size: 14px !important;
}
.bakery .hero-form-col .ginput_container_fileupload,
.bakery .hero-form-col .gform_drop_area {
/*     max-height: 54px;
    min-height: 0;
    padding: 6px 10px;
    display: flex;
    align-items: center; */
	padding: 10px 0px !important;
    font-weight: 400;
	color: #FFF;
}
span#gfield_upload_rules_1_12 {
    margin: 0 !important;
    padding: 0;
}
.bakery .hero-form-col .gform_drop_instructions {
    display: none;
}
.bakery .hero-form-col .gform_button_select_files {
    padding: 6px 14px;
    font-size: 13px;
}
body #content .hero-form-col .gform_button.button,
body #content .hero-form-col button[type="submit"] {
    background-color: var(--accent1) !important;
    color: var(--light1) !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 14px 36px !important;
    letter-spacing: 0.5px !important;
	width: 100% !important;
}
.bakery .gform_wrapper.gravity-theme .gform_footer,
.bakery .gform_wrapper.gravity-theme .gform_page_footer {
    margin: 0;
    padding: 0;
}

section.closing-cta-section h2,
section.closing-cta-section h2 span.heading-span {
	line-height: 48px;
	font-size: 40px;
}

div#gform_1_validation_container {
    padding: 12px 12px 12px 54px;
    background: #c02b0a;
    max-width: 380px;
    border: none;
}
body #content .boat-hero .hero-form-col h2.gform_submission_error.hide_summary,
h2.gform_submission_error.hide_summary {
    margin-bottom: 0px !important;
    line-height: 22px !important;
    font-size: 16px !important;
}
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
    background: #c02b0a !important;
    padding: 3px 14px !important;
    margin: 4px 0 0 0 !important;
    font-size: 12px !important;
    color: white !important;
    border: none;
}
div.gfield_description.validation_message.gfield_validation_message {
    font-weight: 600;
}

/* === Page: footer === 2026-07-31 === */
/* ============================================================
   FOOTER — 2-column layout matching leadpage (hours/holidays left, legal right)
   ============================================================ */
footer#footer .footer-left,
footer#footer .footer-right,
footer#footer .footer-left p,
footer#footer .footer-right p {
    color: var(--dark2) !important;
    font-size: 10px !important;
    line-height: 1.6 !important;
}
footer#footer .footer-left p,
footer#footer .footer-right p {
    margin-bottom: 16px !important;
}

/* === Page: mobile-responsive === 2026-07-31 === */
/* === Page: mobile-responsive === 2026-07-31 === */
/* ============================================================
   MOBILE (480px and below) — heading scale-down + centering
   ============================================================ */
@media (max-width: 480px) {
    body #content h1,
    body #content h1 span.heading-span {
        font-size: 28px !important;
        line-height: 34px !important;
    }
    body #content h2,
    body #content h2 span.heading-span {
        font-size: 20px !important;
        line-height: 26px !important;
    }
    body #content .boat-hero .hero-form-col h2 {
        font-size: 22px !important;
        line-height: 28px !important;
    }
    body #content section.closing-cta-section h2,
    body #content section.closing-cta-section h2 span.heading-span {
        font-size: 24px !important;
        line-height: 30px !important;
    }
    body #content .intro-col h2 .accent1-text,
    body #content .craftsmanship-section h2 .accent1-text,
    body #content .closing-cta-section h2 .accent1-text {
        font-size: 20px !important;
        line-height: 24px !important;
    }

    /* center headings + paragraphs */
    body #content .boat-hero .hero-text-col h1,
    body #content .boat-hero .hero-text-col p,
    body #content .intro-col h2,
    body #content .intro-col p,
    body #content .craftsmanship-section .text-col h2,
    body #content .craftsmanship-section .text-col p,
    body #content .closing-cta-section .text-col h2,
    body #content .closing-cta-section .text-col p,
    body #content .advantage-heading-col h2,
    body #content .testimonials-header-col h2 {
        text-align: center !important;
    }
    body #content .craftsmanship-section .text-col a.btn-bt,
    body #content .closing-cta-section .text-col a.btn-bt {
        display: table;
        margin: 18px auto 0 auto !important;
    }

    .light2-container .container {
        padding: 24px 24px 4px 20px;
    }
    .bakery .badge-row img {
        height: auto !important;
        width: 300px !important;
    }
    .vc_row.wpb_row.top-blurb.light1.vc_custom_1785537544781.vc_column-gap-0px {
        padding-bottom: 24px !important;
    }
}
