and the top of the
. * * Key Functions and Logic: * * - Loads site-wide meta tags, favicons, and fonts. * - Outputs the section, including Google Tag Manager and analytics scripts. * - Sets up a random coin flip (A/B test) using a cookie (`randomCoinFlip`) and exposes the result as `window.dataAtt` for analytics/testing. * - Dynamically sets meta tags for cruises (regions, labels, product name) if on a cruise post type. * - Loads custom logo and navigation based on theme options and page context. * - Handles phone number and opening hours display, including B2B logic and AJAX phone number updates based on fsource. * - Outputs the main navigation menu, including custom navigation structure if set in theme options. * - Handles dark/light header theming and outputs relevant CSS. * - Includes the opening hours popup and header alert bar if enabled. * * JavaScript Functions: * - getCookie(name): Helper to retrieve a cookie value by name. * - Coin flip logic: Sets or reads the `randomCoinFlip` cookie and sets `window.dataAtt` for A/B testing. * - updatePhoneNumber(fsource, phoneNumber): Updates phone number links and cookies based on AJAX response or cookies. * - jQuery(document).ready(...): Handles AJAX and DOM updates for phone numbers and fsource logic. * * Note: Most of the header logic is driven by WordPress theme options and Advanced Custom Fields (ACF). */ ?>Finding the latest cruises
Enter your details below or call us on 0800 008 6677
Please select a valid form.