.elementor-917467 .elementor-element.elementor-element-38e41e26{--display:flex;--min-height:80vh;--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;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.5;--z-index:4;}.elementor-917467 .elementor-element.elementor-element-38e41e26:not(.elementor-motion-effects-element-type-background), .elementor-917467 .elementor-element.elementor-element-38e41e26 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;background-position:center center;background-repeat:repeat-y;background-size:cover;}.elementor-917467 .elementor-element.elementor-element-38e41e26::before, .elementor-917467 .elementor-element.elementor-element-38e41e26 > .elementor-background-video-container::before, .elementor-917467 .elementor-element.elementor-element-38e41e26 > .e-con-inner > .elementor-background-video-container::before, .elementor-917467 .elementor-element.elementor-element-38e41e26 > .elementor-background-slideshow::before, .elementor-917467 .elementor-element.elementor-element-38e41e26 > .e-con-inner > .elementor-background-slideshow::before, .elementor-917467 .elementor-element.elementor-element-38e41e26 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-917467 .elementor-element.elementor-element-7401a540{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-917467 .elementor-element.elementor-element-a9cbd17{--display:flex;--margin-top:120px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-917467 .elementor-element.elementor-element-4c842277{text-align:center;}.elementor-917467 .elementor-element.elementor-element-4c842277 .elementor-heading-title{color:var( --e-global-color-06cfd15 );}.elementor-917467 .elementor-element.elementor-element-168fd68{--display:flex;}.elementor-917467 .elementor-element.elementor-element-322176b{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-917467 .elementor-element.elementor-element-435602f{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-917467 .elementor-element.elementor-element-590b4f5{--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;--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-917467 .elementor-element.elementor-element-b3850e3{text-align:center;}.elementor-917467 .elementor-element.elementor-element-86712d1{column-gap:0px;}.elementor-917467 .elementor-element.elementor-element-86712d1 p{margin-block-end:0px;}.elementor-917467 .elementor-element.elementor-element-d30b9c5{--display:flex;--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-917467 .elementor-element.elementor-element-d30b9c5:not(.elementor-motion-effects-element-type-background), .elementor-917467 .elementor-element.elementor-element-d30b9c5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-2760bbe );}.elementor-917467 .elementor-element.elementor-element-424d241{--display:flex;}.elementor-917467 .elementor-element.elementor-element-424d241:not(.elementor-motion-effects-element-type-background), .elementor-917467 .elementor-element.elementor-element-424d241 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-06cfd15 );}.elementor-917467 .elementor-element.elementor-element-5a72eaf{text-align:center;}.elementor-917467 .elementor-element.elementor-element-640a704 > .elementor-widget-container{margin:-10px 0px 0px 0px;}.elementor-917467 .elementor-element.elementor-element-640a704{text-align:start;font-family:var( --e-global-typography-0ab51fa-font-family ), Sans-serif;font-size:var( --e-global-typography-0ab51fa-font-size );font-weight:var( --e-global-typography-0ab51fa-font-weight );text-transform:var( --e-global-typography-0ab51fa-text-transform );font-style:var( --e-global-typography-0ab51fa-font-style );text-decoration:var( --e-global-typography-0ab51fa-text-decoration );line-height:var( --e-global-typography-0ab51fa-line-height );letter-spacing:var( --e-global-typography-0ab51fa-letter-spacing );}.elementor-917467 .elementor-element.elementor-element-640a704 p{margin-block-end:0px;}.elementor-917467 .elementor-element.elementor-element-2366ddc{--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;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-917467 .elementor-element.elementor-element-2366ddc:not(.elementor-motion-effects-element-type-background), .elementor-917467 .elementor-element.elementor-element-2366ddc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-06cfd15 );}.elementor-917467 .elementor-element.elementor-element-cfb7c28{--display:flex;}.elementor-917467 .elementor-element.elementor-element-935c669 > .elementor-widget-container{margin:-10px 0px 0px 0px;}.elementor-917467 .elementor-element.elementor-element-935c669{text-align:start;}.elementor-917467 .elementor-element.elementor-element-3f0ac65{--display:flex;}.elementor-917467 .elementor-element.elementor-element-5f652c0 > .elementor-widget-container{margin:-10px 0px 0px 0px;}.elementor-917467 .elementor-element.elementor-element-5f652c0{text-align:start;}.elementor-917467 .elementor-element.elementor-element-aca8ccb{--display:flex;}.elementor-917467 .elementor-element.elementor-element-443955c > .elementor-widget-container{margin:-10px 0px 0px 0px;}.elementor-917467 .elementor-element.elementor-element-443955c{text-align:start;}.elementor-917467 .elementor-element.elementor-element-1854ed4{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-917467 .elementor-element.elementor-element-1854ed4:not(.elementor-motion-effects-element-type-background), .elementor-917467 .elementor-element.elementor-element-1854ed4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-06cfd15 );}.elementor-917467 .elementor-element.elementor-element-6e31f4b{--display:flex;}.elementor-917467 .elementor-element.elementor-element-7ca2ef9{text-align:center;}.elementor-917467 .elementor-element.elementor-element-7ca2ef9 .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:40px;font-weight:700;text-transform:uppercase;font-style:italic;text-decoration:none;line-height:1.1;letter-spacing:0px;color:var( --e-global-color-primary );}.elementor-917467 .elementor-element.elementor-element-d527a00{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-917467 .elementor-element.elementor-element-d527a00:not(.elementor-motion-effects-element-type-background), .elementor-917467 .elementor-element.elementor-element-d527a00 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-2760bbe );}.elementor-917467 .elementor-element.elementor-element-390466f{--display:flex;}.elementor-917467 .elementor-element.elementor-element-390466f:not(.elementor-motion-effects-element-type-background), .elementor-917467 .elementor-element.elementor-element-390466f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-06cfd15 );}.elementor-917467 .elementor-element.elementor-element-b869d0a{text-align:center;}.elementor-917467 .elementor-element.elementor-element-f4cb08b p{margin-block-end:0px;}.elementor-917467 .elementor-element.elementor-element-f3e6b39{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-917467 .elementor-element.elementor-element-f3e6b39:not(.elementor-motion-effects-element-type-background), .elementor-917467 .elementor-element.elementor-element-f3e6b39 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-2760bbe );}.elementor-917467 .elementor-element.elementor-element-e6218d3{--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-917467 .elementor-element.elementor-element-e6218d3:not(.elementor-motion-effects-element-type-background), .elementor-917467 .elementor-element.elementor-element-e6218d3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-06cfd15 );}.elementor-917467 .elementor-element.elementor-element-c6458fc{--display:flex;}.elementor-917467 .elementor-element.elementor-element-c6458fc:not(.elementor-motion-effects-element-type-background), .elementor-917467 .elementor-element.elementor-element-c6458fc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-06cfd15 );}.elementor-917467 .elementor-element.elementor-element-0cf58fd{--display:flex;--justify-content:flex-start;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-917467 .elementor-element.elementor-element-0cf58fd:not(.elementor-motion-effects-element-type-background), .elementor-917467 .elementor-element.elementor-element-0cf58fd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-2760bbe );}.elementor-917467 .elementor-element.elementor-element-8e46b74.elementor-element{--order:99999 /* order end hack */;}.elementor-917467 .elementor-element.elementor-element-a3c0716{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-917467 .elementor-element.elementor-element-a3c0716:not(.elementor-motion-effects-element-type-background), .elementor-917467 .elementor-element.elementor-element-a3c0716 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-06cfd15 );}.elementor-917467 .elementor-element.elementor-element-c752898{--display:flex;}.elementor-917467 .elementor-element.elementor-element-13d2e3e{text-align:center;}.elementor-917467 .elementor-element.elementor-element-13d2e3e .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:40px;font-weight:700;text-transform:uppercase;text-decoration:none;line-height:1.1;letter-spacing:0px;color:var( --e-global-color-primary );}.elementor-917467 .elementor-element.elementor-element-771336b p{margin-block-end:0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-917467 .elementor-element.elementor-element-a9cbd17{--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-917467 .elementor-element.elementor-element-640a704{font-size:var( --e-global-typography-0ab51fa-font-size );line-height:var( --e-global-typography-0ab51fa-line-height );letter-spacing:var( --e-global-typography-0ab51fa-letter-spacing );}.elementor-917467 .elementor-element.elementor-element-7ca2ef9 .elementor-heading-title{font-size:30px;}.elementor-917467 .elementor-element.elementor-element-13d2e3e .elementor-heading-title{font-size:30px;}}@media(max-width:767px){.elementor-917467 .elementor-element.elementor-element-a9cbd17{--margin-top:180px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-917467 .elementor-element.elementor-element-640a704{font-size:var( --e-global-typography-0ab51fa-font-size );line-height:var( --e-global-typography-0ab51fa-line-height );letter-spacing:var( --e-global-typography-0ab51fa-letter-spacing );}.elementor-917467 .elementor-element.elementor-element-cfb7c28{--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;--justify-content:center;--align-items:center;}.elementor-917467 .elementor-element.elementor-element-3f0ac65{--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;--justify-content:center;--align-items:center;}.elementor-917467 .elementor-element.elementor-element-5f652c0 > .elementor-widget-container{margin:-10px -10px 0px -10px;}.elementor-917467 .elementor-element.elementor-element-aca8ccb{--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;--justify-content:center;--align-items:center;}.elementor-917467 .elementor-element.elementor-element-7ca2ef9 .elementor-heading-title{font-size:26px;line-height:1.2em;}.elementor-917467 .elementor-element.elementor-element-13d2e3e .elementor-heading-title{font-size:26px;line-height:1.2em;}}@media(min-width:768px){.elementor-917467 .elementor-element.elementor-element-590b4f5{--width:75%;}.elementor-917467 .elementor-element.elementor-element-e6218d3{--width:22%;}.elementor-917467 .elementor-element.elementor-element-c6458fc{--width:53%;}.elementor-917467 .elementor-element.elementor-element-0cf58fd{--width:25%;}}@media(max-width:1024px) and (min-width:768px){.elementor-917467 .elementor-element.elementor-element-590b4f5{--width:41%;}}/* Start custom CSS for html, class: .elementor-element-afbe89b *//* ==========================================
   COLOUR GRID — FORCE 3px SPACING
   ========================================== */

#fmColourSelector .fm-swatch-grid {
    width: 100% !important;
    max-width: 100% !important;

    display: grid !important;

    grid-template-columns:
        repeat(18, minmax(0, 1fr)) !important;

    grid-auto-rows: 24px !important;

    column-gap: 3px !important;
    row-gap: 3px !important;

    box-sizing: border-box !important;
}


/* ==========================================
   COLOUR TILES
   ========================================== */

#fmColourSelector .fm-swatch {
    width: 100% !important;
    height: 24px !important;

    min-width: 0 !important;
    min-height: 24px !important;

    padding: 0 !important;
    margin: 0 !important;

    display: block !important;

    box-sizing: border-box !important;

    border: 0 !important;
    border-radius: 0 !important;

    cursor: pointer;

    position: relative;

    transition:
        transform 0.12s ease,
        box-shadow 0.12s ease;
}


/* Hover */

#fmColourSelector .fm-swatch:hover {
    transform: scale(1.12);

    z-index: 10;

    box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.25);
}


/* Selected */

#fmColourSelector .fm-swatch.is-selected {

    outline:
        2px solid #ffffff;

    outline-offset: 1px;

    box-shadow:
        0 0 0 2px #df332d;

    z-index: 20;
}


/* Selected tick */

#fmColourSelector .fm-swatch.is-selected::after {

    content: "✓";

    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%, -50%);

    color: #ffffff;

    line-height: 1;

    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.65);
}


/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 1024px) {

    #fmColourSelector .fm-swatch-grid {

        grid-template-columns:
            repeat(14, minmax(0, 1fr)) !important;

        column-gap: 3px !important;
        row-gap: 3px !important;

    }

}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 767px) {

    #fmColourSelector .fm-swatch-grid {

        grid-template-columns:
            repeat(10, minmax(0, 1fr)) !important;

        grid-auto-rows: 23px !important;

        column-gap: 3px !important;
        row-gap: 3px !important;

    }


    #fmColourSelector .fm-swatch {

        height: 23px !important;
        min-height: 23px !important;

    }

}


/* ==========================================
    VIEW ON BOAT
   ========================================== */
<script>
(function () {

    function setupBoatPopup() {

        const viewButton = document.getElementById('fmViewBoat');
        const boatImage = document.getElementById('fmBoatImage');

        if (!viewButton || !boatImage) {
            return false;
        }

        // Prevent the script being attached more than once
        if (viewButton.dataset.popupReady === 'true') {
            return true;
        }

        viewButton.dataset.popupReady = 'true';

        viewButton.addEventListener('click', function (e) {

            e.preventDefault();
            e.stopPropagation();

            // Get the currently displayed image
            const imageUrl = boatImage.currentSrc || boatImage.src;

            if (!imageUrl) {
                console.warn('Formosa: No boat image found.');
                return;
            }

            // Remove existing popup if there is one
            const existingPopup = document.getElementById('fmImagePopup');

            if (existingPopup) {
                existingPopup.remove();
            }

            // Create popup
            const overlay = document.createElement('div');

            overlay.id = 'fmImagePopup';

            overlay.innerHTML = `
                <div class="fm-popup-inner">
                    <button type="button" class="fm-popup-close" aria-label="Close">
                        ×
                    </button>
                    <img src="${imageUrl}" alt="Formosa Boat">
                </div>
            `;

            document.body.appendChild(overlay);

            // Close button
            const closeButton = overlay.querySelector('.fm-popup-close');

            closeButton.addEventListener('click', function () {
                overlay.remove();
            });

            // Click outside image to close
            overlay.addEventListener('click', function (event) {

                if (event.target === overlay) {
                    overlay.remove();
                }

            });

            // Escape key
            function escapeHandler(event) {

                if (event.key === 'Escape') {
                    overlay.remove();
                    document.removeEventListener('keydown', escapeHandler);
                }

            }

            document.addEventListener('keydown', escapeHandler);

        });

        console.log('Formosa: View On Boat popup connected.');

        return true;
    }


    // Try immediately
    if (setupBoatPopup()) {
        return;
    }

    // Elementor can load widgets after the initial page load.
    // Keep checking briefly until the button exists.
    let attempts = 0;

    const checkInterval = setInterval(function () {

        attempts++;

        if (setupBoatPopup() || attempts >= 30) {
            clearInterval(checkInterval);
        }

    }, 500);

})();
</script>/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-802354a *//* ==========================================
   COLOUR GRID — FORCE 3px SPACING
   ========================================== */

#fmColourSelector .fm-swatch-grid {
    width: 100% !important;
    max-width: 100% !important;

    display: grid !important;

    grid-template-columns:
        repeat(18, minmax(0, 1fr)) !important;

    grid-auto-rows: 24px !important;

    column-gap: 3px !important;
    row-gap: 3px !important;

    box-sizing: border-box !important;
}


/* ==========================================
   COLOUR TILES
   ========================================== */

#fmColourSelector .fm-swatch {
    width: 100% !important;
    height: 24px !important;

    min-width: 0 !important;
    min-height: 24px !important;

    padding: 0 !important;
    margin: 0 !important;

    display: block !important;

    box-sizing: border-box !important;

    border: 0 !important;
    border-radius: 0 !important;

    cursor: pointer;

    position: relative;

    transition:
        transform 0.12s ease,
        box-shadow 0.12s ease;
}


/* Hover */

#fmColourSelector .fm-swatch:hover {
    transform: scale(1.12);

    z-index: 10;

    box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.25);
}


/* Selected */

#fmColourSelector .fm-swatch.is-selected {

    outline:
        2px solid #ffffff;

    outline-offset: 1px;

    box-shadow:
        0 0 0 2px #df332d;

    z-index: 20;
}


/* Selected tick */

#fmColourSelector .fm-swatch.is-selected::after {

    content: "✓";

    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%, -50%);

    color: #ffffff;

    line-height: 1;

    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.65);
}


/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 1024px) {

    #fmColourSelector .fm-swatch-grid {

        grid-template-columns:
            repeat(14, minmax(0, 1fr)) !important;

        column-gap: 3px !important;
        row-gap: 3px !important;

    }

}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 767px) {

    #fmColourSelector .fm-swatch-grid {

        grid-template-columns:
            repeat(10, minmax(0, 1fr)) !important;

        grid-auto-rows: 23px !important;

        column-gap: 3px !important;
        row-gap: 3px !important;

    }


    #fmColourSelector .fm-swatch {

        height: 23px !important;
        min-height: 23px !important;

    }

}


/* ==========================================
    VIEW ON BOAT
   ========================================== */
<script>
(function () {

    function setupBoatPopup() {

        const viewButton = document.getElementById('fmViewBoat');
        const boatImage = document.getElementById('fmBoatImage');

        if (!viewButton || !boatImage) {
            return false;
        }

        // Prevent the script being attached more than once
        if (viewButton.dataset.popupReady === 'true') {
            return true;
        }

        viewButton.dataset.popupReady = 'true';

        viewButton.addEventListener('click', function (e) {

            e.preventDefault();
            e.stopPropagation();

            // Get the currently displayed image
            const imageUrl = boatImage.currentSrc || boatImage.src;

            if (!imageUrl) {
                console.warn('Formosa: No boat image found.');
                return;
            }

            // Remove existing popup if there is one
            const existingPopup = document.getElementById('fmImagePopup');

            if (existingPopup) {
                existingPopup.remove();
            }

            // Create popup
            const overlay = document.createElement('div');

            overlay.id = 'fmImagePopup';

            overlay.innerHTML = `
                <div class="fm-popup-inner">
                    <button type="button" class="fm-popup-close" aria-label="Close">
                        ×
                    </button>
                    <img src="${imageUrl}" alt="Formosa Boat">
                </div>
            `;

            document.body.appendChild(overlay);

            // Close button
            const closeButton = overlay.querySelector('.fm-popup-close');

            closeButton.addEventListener('click', function () {
                overlay.remove();
            });

            // Click outside image to close
            overlay.addEventListener('click', function (event) {

                if (event.target === overlay) {
                    overlay.remove();
                }

            });

            // Escape key
            function escapeHandler(event) {

                if (event.key === 'Escape') {
                    overlay.remove();
                    document.removeEventListener('keydown', escapeHandler);
                }

            }

            document.addEventListener('keydown', escapeHandler);

        });

        console.log('Formosa: View On Boat popup connected.');

        return true;
    }


    // Try immediately
    if (setupBoatPopup()) {
        return;
    }

    // Elementor can load widgets after the initial page load.
    // Keep checking briefly until the button exists.
    let attempts = 0;

    const checkInterval = setInterval(function () {

        attempts++;

        if (setupBoatPopup() || attempts >= 30) {
            clearInterval(checkInterval);
        }

    }, 500);

})();
</script>/* End custom CSS */
/* Start custom CSS *//* =====================================================
   FORMOSA MARINE — BASE COLOUR SELECTOR
   COMPLETE RESPONSIVE PAGE CSS
   =====================================================

   Desktop:
   - Preserve existing Elementor layout

   Mobile Portrait:
   - Three colour containers vertically stacked
   - 80px square colour tiles

   Mobile Landscape:
   - Three colour containers horizontally aligned
   - 80px square colour tiles

   ===================================================== */


/* =====================================================
   1. MOBILE TILE SIZING
   IPHONE + SAMSUNG — PORTRAIT AND LANDSCAPE
   ===================================================== */

@media screen and (max-width: 1024px),
       screen and (orientation: landscape) and (max-height: 600px) {

  /* Keep all three colour tiles square */
  .fm-base-body.elementor-page-917467-row button.fm-base-choice {
    display: block !important;

    width: 80px !important;
    height: 80px !important;

    min-width: 80px !important;
    min-height: 80px !important;

    max-width: 80px !important;
    max-height: 80px !important;

    aspect-ratio: 1 / 1 !important;

    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 auto !important;

    flex: none !important;
  }

  /* Prevent internal colour fills from stretching */
  .fm-base-body.elementor-page-917467-row button.fm-base-choice .fm-base-colour {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    min-height: 0 !important;
    max-height: 100% !important;

    box-sizing: border-box !important;
  }

  /* Remove forced Elementor HTML widget heights */
  .fm-base-body.elementor-page-917467-row .elementor-widget-html:has(.fm-base-choice),
  .fm-base-body.elementor-page-917467-row .elementor-widget-html:has(.fm-base-choice) > .elementor-widget-container {
    height: auto !important;
    min-height: 0 !important;
  }
}


/* =====================================================
   2. MOBILE PORTRAIT
   STACK THREE COLOUR CONTAINERS VERTICALLY
   ===================================================== */

@media screen
and (orientation: portrait)
and (max-width: 767px) {

  /* Main Base Colour Selector container */
  .fm-base-body.elementor-page-917467-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;

    justify-content: center !important;
    align-items: center !important;

    gap: 20px !important;
  }

  /* Individual colour containers */
  .fm-base-body.elementor-page-917467-row > .e-con {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: 100% !important;

    flex: 0 0 auto !important;

    align-items: center !important;
    justify-content: center !important;
  }
}


/* =====================================================
   3. MOBILE LANDSCAPE
   THREE COLOUR CONTAINERS HORIZONTALLY
   IPHONE + SAMSUNG
   ===================================================== */

@media screen
and (orientation: landscape)
and (max-height: 600px) {

  /* Main Base Colour Selector container */
  .fm-base-body.elementor-page-917467-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    justify-content: space-between !important;
    align-items: flex-start !important;

    gap: 12px !important;
  }

  /* Individual colour containers */
  .fm-base-body.elementor-page-917467-row > .e-con {
    display: flex !important;
    flex-direction: column !important;

    flex: 1 1 0 !important;

    width: 0 !important;
    min-width: 0 !important;
    max-width: none !important;

    align-items: center !important;
    justify-content: flex-start !important;
  }

  /* Keep all three colour tiles square */
  .fm-base-body.elementor-page-917467-row button.fm-base-choice {
    width: 80px !important;
    height: 80px !important;

    min-width: 80px !important;
    min-height: 80px !important;

    max-width: 80px !important;
    max-height: 80px !important;

    margin: 0 auto !important;
  }
}


/* =====================================================
   END — FORMOSA BASE COLOUR SELECTOR
   ===================================================== *//* End custom CSS */