.elementor-264 .elementor-element.elementor-element-cefcc19{--display:flex;}.elementor-264 .elementor-element.elementor-element-3c83cd7{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-264 .elementor-element.elementor-element-3c83cd7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-264 .elementor-element.elementor-element-0c0c39e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-264 .elementor-element.elementor-element-4f6f1c8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-264 .elementor-element.elementor-element-dd4b38b.elementor-element{--align-self:flex-start;}.elementor-264 .elementor-element.elementor-element-dd4b38b{text-align:start;}.elementor-264 .elementor-element.elementor-element-dd4b38b .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:50px;font-weight:600;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-264 .elementor-element.elementor-element-1cd6c2b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-264 .elementor-element.elementor-element-96d6f87 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:50px;font-weight:600;color:#FFFFFF;}.elementor-264 .elementor-element.elementor-element-1369fee{color:#FFFFFF;}.elementor-264 .elementor-element.elementor-element-70f3058{--display:flex;}.elementor-264 .elementor-element.elementor-element-6fcd02e{text-align:center;}.elementor-264 .elementor-element.elementor-element-6fcd02e .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:75px;font-weight:600;color:#FFFFFF;}body.elementor-page-264{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-264 .elementor-element.elementor-element-4f6f1c8{--width:50%;}.elementor-264 .elementor-element.elementor-element-1cd6c2b{--width:50%;}}/* Start custom CSS for container, class: .elementor-element-0c0c39e *//* --- Variables & Base Styles --- */
:root {
    --color-black: #1A1A1A; /* A deep, rich black */
    --color-white: #F8F8F8; /* Off-white for readability */
    --color-gold: #DAA520; /* Goldenrod - a rich gold */
    --color-dark-gold: #B8860B; /* Darker gold for hover states */
    --color-light-gold: #FFEBCD; /* Blanched Almond - very light gold */

    --font-family-primary: 'Poppins', sans-serif; /* Modern, clean font */
    --font-family-secondary: 'Open Sans', sans-serif; /* Good for body text */
}

/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&family=Open+Sans:wght@300;400;600&display=swap');

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px; /* Base font size for rem units */
}

body {
    font-family: var(--font-family-secondary);
    line-height: 1.6;
    color: var(--color-white);
    background-color: var(--color-black);
    overflow-x: hidden; /* Prevent horizontal scroll due to padding/margin issues */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

h1, h2, h3 {
    font-family: var(--font-family-primary);
    color: var(--color-white);
    margin-bottom: 0.8em;
}

h1 {
    font-size: 3.5rem; /* ~56px */
    line-height: 1.1;
    font-weight: 700;
}

h2 {
    font-size: 2.5rem; /* ~40px */
    font-weight: 600;
    text-align: center; /* Global centering for h2 */
    margin-bottom: 1.5em;
    padding-top: 1em;
}

h3 {
    font-size: 1.6rem; /* ~26px */
    font-weight: 600;
}

p {
    margin-bottom: 1em;
}

a {
    text-decoration: none;
    color: var(--color-gold);
    transition: color 0.3s ease;
}

a:hover {
    color: var(--color-light-gold);
}

.highlight {
    color: var(--color-gold);
    font-weight: 700;
}


/* --- Styles for the #contact-info section --- */

#contact-info {
    padding: 100px 0;
    background-color: var(--color-black);
}

/* --- Grid layout for content within contact-info --- */

.contact-grid {
    display: grid;
    /* This is the key: 1fr for the left column, 2fr for the right column */
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}

/* --- Styling for headings within the contact grid columns --- */

/* Ensures the heading in the left column ("Your Information") is also left-aligned. */
.contact-info-details-left h2 {
    text-align: left;
    margin-bottom: 1.5em; /* Keep consistent with other headings */
    padding-top: 0; /* Remove extra padding if inherited from global h2 */
    font-size: 1.6rem; /* <-- NEW: Reduced font size to make "Your Information" fit */
}


/* Ensures the heading in the right column ("Business Hours") is left-aligned. */
.contact-details-right h2 {
    text-align: left;
    margin-bottom: 0.5em; /* Reduced space below the heading */
    padding-top: 0;
}

/* Add margin-left to push the Business Hours content to the right */
.contact-details-right {
    margin-left: 100px; /* Adjust this value as needed to move it further right */
}

/* --- Styling for general text content within the columns --- */

.contact-info-details-left address p,
.contact-details-right .business-hours-list li,
.contact-details-right p {
    font-size: 1.1rem;
    margin-bottom: 0.8em;
    color: var(--color-white);
    line-height: 1.4;
}

/* Specific styling for the paragraph in the right column (after list) */
.contact-details-right p {
    margin-top: 1.5em; /* Smaller margin-top than mt-40 */
}


/* --- Specific styling for the address block in the left column --- */

.contact-info-details-left address {
    font-style: normal;
    margin-bottom: 2em;
}

/* --- Styling for Font Awesome icons --- */

.contact-icon {
    color: var(--color-gold);
    margin-right: 15px;
    font-size: 1.3em;
    width: 25px;
    text-align: center;
    vertical-align: middle;
}

/* --- Styling for the business hours list --- */

.business-hours-list {
    list-style: none;
    padding: 0;
    margin-bottom: 2em;
}

/* --- Utility class --- */

.mt-40 {
    margin-top: 40px;
}

/* Form styles (if you later add a form - currently not in HTML) */
.contact-form .form-group {
    margin-bottom: 20px;
}

.contact-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--color-gold);
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #333;
    border-radius: 5px;
    background-color: #222;
    color: var(--color-white);
    font-family: var(--font-family-secondary);
    font-size: 1rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form input[type="tel"]:focus,
.contact-form textarea:focus {
    border-color: var(--color-gold);
    outline: none;
    box-shadow: 0 0 0 3px rgba(218, 165, 32, 0.3);
}

.contact-form textarea {
    resize: vertical;
}

.contact-submit-btn {
    width: auto;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    display: inline-block;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-cc825ba *//* --- Formidable Forms Specific Styling --- */
/* These rules aim to override Formidable's default styles to match your theme.
   Using !important is often necessary with plugins that have high specificity. */

/* Main form container and general field wrappers */
.frm_forms,
.frm_form_fields {
    background-color: transparent !important; /* Remove any default white or plugin backgrounds */
    padding: 0 !important; /* Remove plugin default padding */
    box-shadow: none !important; /* Remove plugin default shadow */
    border: none !important; /* Remove plugin default border */
    margin: 0 !important; /* Remove any default margins */
}

/* Individual field wrapper for consistent spacing */
.frm_form_fields .frm_form_field { /* Typical Formidable field wrapper class */
    margin-bottom: 20px !important;
    padding: 0 !important; /* Remove any internal padding from Formidable */
    border: none !important; /* Remove any internal borders from Formidable */
}

/* Labels for all field types */
.frm_form_fields .frm_form_field label,
.frm_form_fields .frm_form_field .frm_primary_label, /* Sometimes labels have this class */
.frm_form_fields .frm_form_field .frm_section_heading { /* For section headings within the form */
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
    color: var(--color-gold) !important; /* Match your gold theme */
    font-family: var(--font-family-secondary) !important; /* Use your theme's font */
    font-size: 1rem !important; /* Ensure consistent font size */
    line-height: 1.4 !important;
}

/* Description text below labels */
.frm_description {
    color: var(--color-white) !important; /* White text for descriptions */
    font-size: 0.9em !important;
    margin-top: -5px !important; /* Adjust if description is too far from label */
    margin-bottom: 10px !important;
}

/* Required field indicator (red asterisk by default) */
.frm_form_fields .frm_form_field label .frm_required {
    color: var(--color-gold) !important; /* Use gold for asterisk */
}

/* Styles for text inputs, email, tel, textarea, and select dropdowns */
.frm_form_fields input[type="text"],
.frm_form_fields input[type="email"],
.frm_form_fields input[type="tel"],
.frm_form_fields input[type="number"], /* Include number inputs if you use them */
.frm_form_fields textarea,
.frm_form_fields select {
    width: 100% !important;
    padding: 12px !important;
    border: 1px solid #333 !important; /* Dark grey border */
    border-radius: 5px !important;
    background-color: #222 !important; /* Slightly lighter black for input background */
    color: var(--color-white) !important; /* White text color */
    font-family: var(--font-family-secondary) !important; /* Consistent font */
    font-size: 1rem !important; /* Consistent font size */
    line-height: 1.4 !important; /* Adjust line height for input text */
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.3) !important; /* Subtle inner shadow */
}

/* Focus state for inputs */
.frm_form_fields input[type="text"]:focus,
.frm_form_fields input[type="email"]:focus,
.frm_form_fields input[type="tel"]:focus,
.frm_form_fields input[type="number"]:focus,
.frm_form_fields textarea:focus,
.frm_form_fields select:focus {
    border-color: var(--color-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(218, 165, 32, 0.3) !important; /* Gold glow on focus */
}

/* Textarea specific height */
.frm_form_fields textarea {
    resize: vertical !important; /* Allow vertical resizing */
    min-height: 120px !important; /* Ensure a decent height for message input */
}

/* Placeholder text color (cross-browser compatibility) */
.frm_form_fields ::placeholder { /* Standard */
    color: #888 !important;
    opacity: 1 !important; /* Firefox default opacity can be low */
}
.frm_form_fields :-ms-input-placeholder { /* Microsoft Edge */
    color: #888 !important;
}
.frm_form_fields ::-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #888 !important;
}

/* Submit button wrapper */
.frm_submit {
    text-align: left !important; /* Align button to the left (matching your previous custom form) */
    margin-top: 30px !important; /* Space above the button */
    padding: 0 !important; /* Remove any plugin default padding */
}

/* Submit button itself */
.frm_submit button[type="submit"],
.frm_submit input[type="submit"] { /* Formidable often uses input[type=submit] */
    background-color: var(--color-gold) !important;
    color: var(--color-black) !important;
    border: 2px solid var(--color-gold) !important; /* Ensure border is gold */
    padding: 14px 28px !important;
    border-radius: 5px !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease !important;
    cursor: pointer !important;
    white-space: nowrap !important; /* Prevent text wrapping unless necessary */
    width: auto !important; /* Allow button to size based on content */
    max-width: 100% !important; /* Ensure it doesn't overflow */
    box-shadow: none !important; /* Remove any default button shadow */
}

/* Hover state for submit button */
.frm_submit button[type="submit"]:hover,
.frm_submit input[type="submit"]:hover {
    background-color: var(--color-dark-gold) !important;
    color: var(--color-black) !important;
    transform: translateY(-2px) !important;
    border-color: var(--color-dark-gold) !important; /* Darken border on hover */
}

/* Success message */
.frm_message, .frm_notification { /* Formidable uses various classes for messages */
    background-color: rgba(218, 165, 32, 0.2) !important; /* Light gold background */
    color: var(--color-gold) !important; /* Gold text */
    border: 1px solid var(--color-gold) !important;
    border-radius: 5px !important;
    padding: 15px !important;
    margin-bottom: 20px !important;
    font-size: 1em !important;
    text-align: left !important; /* Often default to left */
}

/* Error messages for individual fields (often below the field) */
.frm_error,
.frm_validation_error { /* Also check .frm_validation_error */
    color: var(--color-gold) !important; /* Gold for error text */
    font-size: 0.9em !important;
    margin-top: 5px !important;
    font-weight: normal !important;
}

/* Field errors (e.g., red border around field) */
.frm_error .frm_invalid input,
.frm_error .frm_invalid textarea,
.frm_error .frm_invalid select {
    border-color: var(--color-gold) !important; /* Change border color to gold for errors */
    box-shadow: 0 0 0 2px rgba(218, 165, 32, 0.5) !important; /* Gold glow for errors */
}

/* Ensure the main form container doesn't have extra padding from Formidable if placed in a narrow div */
.frm_forms.with_validation .frm_form_fields {
    padding: 0 !important;
}

/* Adjust for responsive behavior if fields stack on mobile */
@media (max-width: 768px) {
    .frm_submit {
        text-align: center !important; /* Center button on mobile */
    }
    .frm_submit button[type="submit"],
    .frm_submit input[type="submit"] {
        width: 90% !important; /* Make button wider on mobile */
        max-width: none !important; /* Remove max-width constraint */
        font-size: 1rem !important;
        padding: 12px 20px !important;
    }
}/* End custom CSS */