<!DOCTYPE html> <html <?php language_attributes(); ?>> <head> <meta charset="<?php bloginfo( 'charset' ); ?>" /> <?php elegant_description(); elegant_keywords(); elegant_canonical(); /** * Fires in the head, before {@see wp_head()} is called. This action can be used to * insert elements into the beginning of the head before any styles or scripts. * * @since 1.0 */ do_action( 'et_head_meta' ); $template_directory_uri = get_template_directory_uri(); ?> <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> <script type="text/javascript"> document.documentElement.className = 'js'; </script> <script src="https://consent-eu.cookiefirst.com/sites/redcresearch.com-1107a607-dd63-4fcc-b9df-d4ca23e4e85c/consent.js"></script> <style> .search_sep{ width: 1px; height: 22px; } .search_icons{ display: flex; width: 20px; height: 20px; justify-content: center; align-items: center; cursor: pointer; } .search_icon_header-x{ display: none; } .search-outer_{ display: inline-flex; justify-content: flex-end; align-items: center; gap: 20px; } .top-bar-outer { display: flex; justify-content: space-between; } .search_container_header { padding-top: 14px; padding-bottom: 14px; background-color: white; display: none; position: absolute; width: 100%; z-index: 999999; left: 0; right: 0; } .search_container_header .col-search .et-search-form input{ background: var(--Colours-Slate-50, #F8FAFC) !important; width: 800px; } .search_container_header .col-search{ text-align: center; } .mobile-search-header{ padding-left: 20px; padding-right: 20px; padding-top: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--color_slate_200); } .mobile-search-header .col-search .et-search-form { width: 100% !important; max-width: 100% !important; position: relative !important; } .mobile-search-header .col-search .et-search-form input{ background: var(--Colours-Slate-50, #F8FAFC); width: 100%; padding-left: 28px; } .mobile-search-header .col-search .et-search-form img { display: flex; width: 14px; height: 14px; justify-content: center; align-items: center; flex-shrink: 0; position: absolute; top: 14px; bottom: 0; right: 18px; } </style> <?php wp_head(); ?> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-FR3DFL48H2"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-FR3DFL48H2'); </script> </head> <body <?php body_class(); ?>> <div class="mobile-menu-redc"> <div class="mobile-menu-inner"> <div class="close-icon-m"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M3.99988 19.999L20.0001 3.9988" stroke="#0F172A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> <path d="M20.0001 20.0012L3.99988 4.00098" stroke="#0F172A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> </svg> </div> <div class="mobile-search-header"> <div class="col-search"> <form role="search" method="get" class="et-search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>"> <img src="<?=site_url(); ?>/wp-content/uploads/2024/09/mobile-search.png"> <?php printf( '<input type="search" class="et-search-field" placeholder="%1$s" value="%2$s" name="s" title="%3$s" />', esc_attr__( 'Search RED C Research...', 'Divi' ), get_search_query(), esc_attr__( 'Search RED C Research...', 'Divi' ) ); ?> <?php /** * Fires inside the search form element, just before its closing tag. * * @since ?? */ do_action( 'et_search_form_fields' ); ?> <!-- <button type="submit" id="searchsubmit_header">Search</button> --> </form> </div> </div> <?php $cta_buttons = get_field('cta_buttons', 'option'); ?> <div class="header-cta-btns header-cta-btns_mobile"> <a href="<?=$cta_buttons['button_1_url']; ?>"><?=$cta_buttons['button_1_text']; ?></a> <a href="<?=$cta_buttons['button_2_url']; ?>"><?=$cta_buttons['button_2_text']; ?></a> </div> <div class="redc-mobile-nav"> <?php $primaryNav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) ); echo et_core_esc_wp( $primaryNav ); ?> </div> </div> </div> <?php wp_body_open(); $product_tour_enabled = et_builder_is_product_tour_enabled(); $page_container_style = $product_tour_enabled ? ' style="padding-top: 0px;"' : ''; ?> <div id="page-container"<?php echo et_core_intentionally_unescaped( $page_container_style, 'fixed_string' ); ?>> <?php if ( $product_tour_enabled || is_page_template( 'page-template-blank.php' ) ) { return; } $et_secondary_nav_items = et_divi_get_top_nav_items(); $et_phone_number = $et_secondary_nav_items->phone_number; $et_email = $et_secondary_nav_items->email; $et_contact_info_defined = $et_secondary_nav_items->contact_info_defined; $show_header_social_icons = $et_secondary_nav_items->show_header_social_icons; $et_secondary_nav = $et_secondary_nav_items->secondary_nav; $et_top_info_defined = $et_secondary_nav_items->top_info_defined; $et_slide_header = 'slide' === et_get_option( 'header_style', 'left' ) || 'fullscreen' === et_get_option( 'header_style', 'left' ) ? true : false; $show_search_icon = ( false !== et_get_option( 'show_search_icon', true ) && ! $et_slide_header ) || is_customize_preview(); ?> <?php if ( $et_top_info_defined && ! $et_slide_header || is_customize_preview() ) : ?> <?php ob_start(); ?> <div id="top-header"<?php echo $et_top_info_defined ? '' : 'style="display: none;"'; ?>> <div class="container clearfix"> <?php if ( $et_contact_info_defined ) : ?> <div id="et-info"> <?php if ( ! empty( $et_phone_number = et_get_option( 'phone_number' ) ) ) : ?> <span id="et-info-phone"><?php echo et_core_esc_previously( et_sanitize_html_input_text( strval( $et_phone_number ) ) ); ?></span> <?php endif; ?> <?php if ( ! empty( $et_email = et_get_option( 'header_email' ) ) ) : ?> <a href="<?php echo esc_attr( 'mailto:' . $et_email ); ?>"><span id="et-info-email"><?php echo esc_html( $et_email ); ?></span></a> <?php endif; ?> <?php if ( true === $show_header_social_icons ) { get_template_part( 'includes/social_icons', 'header' ); } ?> </div> <?php endif; // true === $et_contact_info_defined ?> <div id="et-secondary-menu"> <?php if ( ! $et_contact_info_defined && true === $show_header_social_icons ) { get_template_part( 'includes/social_icons', 'header' ); } else if ( $et_contact_info_defined && true === $show_header_social_icons ) { ob_start(); get_template_part( 'includes/social_icons', 'header' ); $duplicate_social_icons = ob_get_contents(); ob_end_clean(); printf( '<div class="et_duplicate_social_icons"> %1$s </div>', et_core_esc_previously( $duplicate_social_icons ) ); } if ( '' !== $et_secondary_nav ) { echo et_core_esc_wp( $et_secondary_nav ); } et_show_cart_total(); ?> </div> </div> </div> <?php $top_header = ob_get_clean(); /** * Filters the HTML output for the top header. * * @since 3.10 * * @param string $top_header */ echo et_core_intentionally_unescaped( apply_filters( 'et_html_top_header', $top_header ), 'html' ); ?> <?php endif; // true ==== $et_top_info_defined ?> <?php if ( $et_slide_header || is_customize_preview() ) : ?> <?php ob_start(); ?> <div class="et_slide_in_menu_container"> <?php if ( 'fullscreen' === et_get_option( 'header_style', 'left' ) || is_customize_preview() ) { ?> <span class="mobile_menu_bar et_toggle_fullscreen_menu"></span> <?php } ?> <?php if ( $et_contact_info_defined || true === $show_header_social_icons || false !== et_get_option( 'show_search_icon', true ) || class_exists( 'woocommerce' ) || is_customize_preview() ) { ?> <div class="et_slide_menu_top"> <?php if ( 'fullscreen' === et_get_option( 'header_style', 'left' ) ) { ?> <div class="et_pb_top_menu_inner"> <?php } ?> <?php } if ( true === $show_header_social_icons ) { get_template_part( 'includes/social_icons', 'header' ); } et_show_cart_total(); ?> <?php if ( false !== et_get_option( 'show_search_icon', true ) || is_customize_preview() ) : ?> <?php if ( 'fullscreen' !== et_get_option( 'header_style', 'left' ) ) { ?> <div class="clear"></div> <?php } ?> <form role="search" method="get" class="et-search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>"> <?php printf( '<input type="search" class="et-search-field" placeholder="%1$s" value="%2$s" name="s" title="%3$s" />', esc_attr__( 'Search …', 'Divi' ), get_search_query(), esc_attr__( 'Search for:', 'Divi' ) ); /** * Fires inside the search form element, just before its closing tag. * * @since ?? */ do_action( 'et_search_form_fields' ); ?> <button type="submit" id="searchsubmit_header"></button> </form> <?php endif; // true === et_get_option( 'show_search_icon', false ) ?> <?php if ( $et_contact_info_defined ) : ?> <div id="et-info"> <?php if ( ! empty( $et_phone_number = et_get_option( 'phone_number' ) ) ) : ?> <span id="et-info-phone"><?php echo et_core_esc_previously( et_sanitize_html_input_text( strval( $et_phone_number ) ) ); ?></span> <?php endif; ?> <?php if ( ! empty( $et_email = et_get_option( 'header_email' ) ) ) : ?> <a href="<?php echo esc_attr( 'mailto:' . $et_email ); ?>"><span id="et-info-email"><?php echo esc_html( $et_email ); ?></span></a> <?php endif; ?> </div> <?php endif; // true === $et_contact_info_defined ?> <?php if ( $et_contact_info_defined || true === $show_header_social_icons || false !== et_get_option( 'show_search_icon', true ) || class_exists( 'woocommerce' ) || is_customize_preview() ) { ?> <?php if ( 'fullscreen' === et_get_option( 'header_style', 'left' ) ) { ?> </div> <?php } ?> </div> <?php } ?> <div class="et_pb_fullscreen_nav_container"> <?php $slide_nav = ''; $slide_menu_class = 'et_mobile_menu'; $slide_nav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'echo' => false, 'items_wrap' => '%3$s' ) ); $slide_nav .= wp_nav_menu( array( 'theme_location' => 'secondary-menu', 'container' => '', 'fallback_cb' => '', 'echo' => false, 'items_wrap' => '%3$s' ) ); ?> <ul id="mobile_menu_slide" class="<?php echo esc_attr( $slide_menu_class ); ?>"> <?php if ( '' === $slide_nav ) : ?> <?php if ( 'on' === et_get_option( 'divi_home_link' ) ) { ?> <li <?php if ( is_home() ) echo( 'class="current_page_item"' ); ?>><a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php esc_html_e( 'Home', 'Divi' ); ?></a></li> <?php }; ?> <?php show_page_menu( $slide_menu_class, false, false ); ?> <?php show_categories_menu( $slide_menu_class, false ); ?> <?php else : echo et_core_esc_wp( $slide_nav ) ; endif; ?> </ul> </div> </div> <?php $slide_header = ob_get_clean(); /** * Filters the HTML output for the slide header. * * @since 3.10 * * @param string $top_header */ echo et_core_intentionally_unescaped( apply_filters( 'et_html_slide_header', $slide_header ), 'html' ); ?> <?php endif; // true ==== $et_slide_header ?> <?php ob_start(); ?> <header id="main-header" data-height-onload="<?php echo esc_attr( et_get_option( 'menu_height', '66' ) ); ?>"> <div class="container clearfix et_menu_container top-social-search-bar"> <?php $social_linking = get_field('social_linking', 'option'); $fb_url = $social_linking['facebook_profile_url']; $tw_url = $social_linking['twitter_profile_url']; $insta_url = $social_linking['instagram_profile_url']; $yt_url = $social_linking['youtube_profile_url']; ?> <div class="top-bar-outer"> <div class="social-outer_"> <ul> <?php if(!empty($fb_url)): ?> <li> <a href="<?=$fb_url;?>"> <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_2381_16032)"> <path d="M18 9C18 4.02943 13.9706 0 9 0C4.02943 0 0 4.02943 0 9C0 13.4921 3.29115 17.2155 7.59375 17.8907V11.6016H5.30859V9H7.59375V7.01719C7.59375 4.76156 8.93742 3.51562 10.9932 3.51562C11.9779 3.51562 13.0078 3.69141 13.0078 3.69141V5.90625H11.873C10.755 5.90625 10.4062 6.60006 10.4062 7.3118V9H12.9023L12.5033 11.6016H10.4062V17.8907C14.7088 17.2155 18 13.4923 18 9Z" fill="#22505F"/> </g> <defs> <clipPath id="clip0_2381_16032"> <rect width="18" height="18" fill="white"/> </clipPath> </defs> </svg> </a> </li> <?php endif; ?> <?php if(!empty($tw_url)): ?> <li> <a href="<?=$tw_url;?>"> <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M18 3.90133C17.3384 4.19431 16.6217 4.38075 15.8775 4.46065C16.6493 4.00787 17.2282 3.31538 17.5038 2.48971C16.7871 2.88923 15.9877 3.20884 15.1608 3.36864C14.4992 2.67615 13.5345 2.25 12.4594 2.25C10.4196 2.25 8.7657 3.84806 8.7657 5.81901C8.7657 6.11199 8.79326 6.37833 8.84839 6.64467C5.78867 6.48487 3.05972 5.07324 1.24043 2.91586C0.909648 3.44855 0.744257 4.06114 0.744257 4.70036C0.744257 5.95218 1.40582 7.04419 2.39816 7.68341C1.79173 7.65678 1.21286 7.49697 0.716692 7.23063C0.716692 7.25726 0.716692 7.25726 0.716692 7.2839C0.716692 9.01513 1.98469 10.4534 3.69372 10.773C3.39051 10.8529 3.05972 10.9062 2.72894 10.9062C2.48086 10.9062 2.26034 10.8795 2.03982 10.8529C2.50842 12.2645 3.88668 13.3033 5.48545 13.3299C4.21746 14.2887 2.61868 14.8481 0.882083 14.8481C0.578867 14.8481 0.303216 14.8214 0 14.7948C1.62634 15.8069 3.58346 16.3929 5.67841 16.3929C12.487 16.3929 16.2083 10.9594 16.2083 6.21852C16.2083 6.05872 16.2083 5.89891 16.2083 5.76574C16.8698 5.25968 17.5038 4.62046 18 3.90133Z" fill="#22505F"/> </svg> </a> </li> <?php endif; ?> <?php if(!empty($insta_url)): ?> <li> <a href="<?=$insta_url;?>"> <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_8_40035)"> <path d="M15.5454 0H2.45461C1.09897 0 0 1.09897 0 2.45461V15.5454C0 16.901 1.09897 18 2.45461 18H15.5454C16.901 18 18 16.901 18 15.5454V2.45461C18 1.09897 16.901 0 15.5454 0Z" fill="#22505F"/> <path d="M6.48421 4.90922C6.48421 5.75648 5.79726 6.44344 4.94999 6.44344C4.10272 6.44344 3.41577 5.75648 3.41577 4.90922C3.41577 4.06195 4.10272 3.375 4.94999 3.375C5.79726 3.375 6.48421 4.06195 6.48421 4.90922Z" fill="white"/> <path d="M6.13651 7.46633V14.2441C6.13757 14.4536 5.96882 14.6245 5.75929 14.6255H4.14034C3.93081 14.6263 3.7603 14.4568 3.75995 14.2473C3.75995 14.2466 3.75995 14.2459 3.75995 14.2452V7.46633C3.75995 7.25609 3.93046 7.08594 4.14034 7.08594H5.75718C5.96706 7.08664 6.13651 7.2568 6.13651 7.46633Z" fill="white"/> <path d="M14.5881 10.9942V14.275C14.5888 14.4676 14.433 14.6241 14.2404 14.6248C14.2397 14.6248 14.239 14.6248 14.2383 14.6248H12.4998C12.3072 14.6255 12.1507 14.4697 12.15 14.2771C12.15 14.2764 12.15 14.2757 12.15 14.275V11.0954C12.15 10.6208 12.2892 9.01734 10.9093 9.01734C9.84059 9.01734 9.62262 10.1146 9.57973 10.6078V14.2753C9.57973 14.4666 9.4261 14.6223 9.2352 14.6251H7.55578C7.36313 14.6251 7.20703 14.469 7.20703 14.2764V7.43602C7.20633 7.24336 7.36207 7.08691 7.55473 7.08621H9.2352C9.42821 7.08621 9.585 7.24266 9.585 7.43602V8.02699C9.98192 7.4318 10.5697 6.97266 11.8248 6.97266C14.6046 6.97266 14.5881 9.56824 14.5881 10.9942V10.9942Z" fill="white"/> </g> <defs> <clipPath id="clip0_8_40035"> <rect width="18" height="18" fill="white"/> </clipPath> </defs> </svg> </a> </li> <?php endif; ?> <?php if(!empty($yt_url)): ?> <li> <a href="<?=$yt_url;?>"> <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M18 9.39208C18 9.39208 18 12.3462 17.6287 13.7749C17.4206 14.5547 16.8131 15.1694 16.0424 15.38C14.6306 15.75 8.99997 15.75 8.99997 15.75C8.99997 15.75 3.38061 15.75 1.95749 15.3573C1.18687 15.1467 0.579373 14.5319 0.371249 13.7521C0 12.3462 0 9.375 0 9.375C0 9.375 0 6.42087 0.371249 4.99788C0.579373 4.21808 1.20375 3.58627 1.95749 3.37567C3.36936 3 8.99997 3 8.99997 3C8.99997 3 14.6306 3 16.0424 3.39275C16.8131 3.60335 17.4206 4.21808 17.6287 4.99788C18.0112 6.42087 18 9.39208 18 9.39208ZM7.2056 12.1071L11.8912 9.375L7.2056 6.64286V12.1071Z" fill="#22505F"/> </svg> </a> </li> <?php endif; ?> </ul> </div> <div class="search-outer_"> <img src="<?=site_url(); ?>/wp-content/uploads/2024/09/Seperator.png" class="search_sep"> <img src="<?=site_url(); ?>/wp-content/uploads/2024/09/Icon.png" alt="" class="search_icon_header search_icons"> <img src="<?=site_url(); ?>/wp-content/uploads/2024/09/Icon-1.png" alt="" class="search_icon_header-x search_icons"> </div> </div> </div> <div class="container search_container_header"> <div class="col-search"> <form role="search" method="get" class="et-search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>"> <?php printf( '<input type="search" class="et-search-field" placeholder="%1$s" value="%2$s" name="s" title="%3$s" />', esc_attr__( 'Search RED C Research...', 'Divi' ), get_search_query(), esc_attr__( 'Search RED C Research...', 'Divi' ) ); ?> <?php /** * Fires inside the search form element, just before its closing tag. * * @since ?? */ do_action( 'et_search_form_fields' ); ?> <button type="submit" id="searchsubmit_header">Search</button> </form> </div> </div> <div class="container clearfix et_menu_container et_menu_header_"> <?php $logo = ( $user_logo = et_get_option( 'divi_logo' ) ) && ! empty( $user_logo ) ? $user_logo : $template_directory_uri . '/images/logo.png'; // Get logo image size based on attachment URL. $logo_size = et_get_attachment_size_by_url( $logo ); $logo_width = ( ! empty( $logo_size ) && is_numeric( $logo_size[0] ) ) ? $logo_size[0] : '93'; // 93 is the width of the default logo. $logo_height = ( ! empty( $logo_size ) && is_numeric( $logo_size[1] ) ) ? $logo_size[1] : '43'; // 43 is the height of the default logo. ob_start(); ?> <div class="logo_container"> <a href="<?php echo esc_url( home_url( '/' ) ); ?>"> <img src="<?php the_field('logo', 'option'); ?>" width="<?php echo esc_attr( $logo_width ); ?>" height="<?php echo esc_attr( $logo_height ); ?>" alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" id="logo" data-height-percentage="<?php echo esc_attr( et_get_option( 'logo_height', '54' ) ); ?>" /> </a> </div> <?php $logo_container = ob_get_clean(); /** * Filters the HTML output for the logo container. * * @since 3.10 * * @param string $logo_container */ echo et_core_intentionally_unescaped( apply_filters( 'et_html_logo_container', $logo_container ), 'html' ); ?> <div id="et-top-navigation" data-height="<?php echo esc_attr( et_get_option( 'menu_height', '66' ) ); ?>" data-fixed-height="<?php echo esc_attr( et_get_option( 'minimized_menu_height', '40' ) ); ?>"> <?php if ( ! $et_slide_header || is_customize_preview() ) : ?> <nav id="top-menu-nav"> <?php $menuClass = 'nav'; if ( 'on' === et_get_option( 'divi_disable_toptier' ) ) $menuClass .= ' et_disable_top_tier'; $primaryNav = ''; $primaryNav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) ); if ( empty( $primaryNav ) ) : ?> <ul id="top-menu" class="<?php echo esc_attr( $menuClass ); ?>"> <?php if ( 'on' === et_get_option( 'divi_home_link' ) ) { ?> <li <?php if ( is_home() ) echo( 'class="current_page_item"' ); ?>><a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php esc_html_e( 'Home', 'Divi' ); ?></a></li> <?php }; ?> <?php show_page_menu( $menuClass, false, false ); ?> <?php show_categories_menu( $menuClass, false ); ?> </ul> <?php else : echo et_core_esc_wp( $primaryNav ); endif; ?> </nav> <?php endif; ?> <?php if ( ! $et_top_info_defined && ( ! $et_slide_header || is_customize_preview() ) ) { et_show_cart_total( array( 'no_text' => true, ) ); } ?> <?php if ( $et_slide_header || is_customize_preview() ) : ?> <span class="mobile_menu_bar et_pb_header_toggle et_toggle_<?php echo esc_attr( et_get_option( 'header_style', 'left' ) ); ?>_menu"></span> <?php endif; ?> <?php /** * Fires at the end of the 'et-top-navigation' element, just before its closing tag. * * @since 1.0 */ do_action( 'et_header_top' ); ?> </div> <!-- #et-top-navigation --> <?php $cta_buttons = get_field('cta_buttons', 'option'); ?> <div class="header-cta-btns header-cta-btns_desktop"> <a href="<?=$cta_buttons['button_1_url']; ?>"><?=$cta_buttons['button_1_text']; ?></a> <a href="<?=$cta_buttons['button_2_url']; ?>"><?=$cta_buttons['button_2_text']; ?></a> </div> </div> <!-- .container --> </header> <!-- #main-header --> <?php $main_header = ob_get_clean(); /** * Filters the HTML output for the main header. * * @since 3.10 * * @param string $main_header */ echo et_core_intentionally_unescaped( apply_filters( 'et_html_main_header', $main_header ), 'html' ); ?> <div id="et-main-area"> <?php /** * Fires after the header, before the main content is output. * * @since 3.10 */ do_action( 'et_before_main_content' );

With just six weeks to go until the Presidential election, you might be forgiven for thinking that we should have a fairly good idea of who the candidates will be at this stage. While some of the parties have got their house in order, there remain a few unanswered questions on who will be in the field or not.
Alongside party nominees, a myriad of potential independent candidates have come and gone. In a way, I think we quite enjoy the “democracy at work” of the presidential nomination process, that sometimes allows somewhat surprising individuals, to put their heads above the parapet and consider themselves as fitting to run for the presidency.
It is something of a sport to watch them suggest they will run, and then have their hopes dashed as they either get torn to shreds on the airwaves, fail to get the nominations they need or find out from internal polling they are perhaps not as popular as they had hoped.
This does however make polling such a Presidential election a pretty tricky process. Who to include or not include for a start is a challenge? One that has its pitfalls as candidates appear, drop out or are eliminated, as fieldwork for the poll takes place.
For Sinn Féin, who will not announce whether they are having their own candidate until 20th September, we decided that rather than leave them out altogether, and bias the poll away from their supporters, we would need to choose a proxy candidate. We chose Mary Lou McDonald, as she had the most coverage around a possible run at the time.
As such, initially we included all of the following candidates in the poll, all of whom had either expressed an interest in running, or been mentioned as a possible candidate for a party. Heather Humphreys, Jim Gavin, Billy Kelleher, Mary Lou McDonald, Catherine Connolly, Peter Casey, Nick Delehanty, Joanna Donnelly, Gareth Sheridan and Maria Steen.
We then asked both first and second preference vote intention for each voter, in order to give us options should candidates drop out. Which was just as well given Joanna Donnolly and Billy Kelleher either dropped out or were eliminated during fieldwork for the poll.
As such, for our final results we re-distributed the first preference vote of candidates that dropped out during the poll fieldwork, (Joanna Donnelly and Billy Kelleher) to their second preference options, and removed them from the field.
Mary Lou McDonald also confirmed she definitely wasn’t standing during the fieldwork period, but we made a decision to leave her in the results as she was always a proxy Sinn Féin candidate.
With all that in mind, today’s poll still provides an early indication of how people are thinking right now, even if some of the candidates and peoples support may well change over the next few weeks. After all, we have three confirmed party candidates in place, and a proxy candidate for Sinn Féin.
The first point to make is that the public are certainly not fully tuned in to the Presidential election as yet, with 36% of voters saying they are undecided as to who they will vote for.
Once these are excluded, Heather Humphries is leading the field with 22% support. Given she was only confirmed as the new official Fine Gael candidate a few days before the poll started, that is an impressive result. She has strong backing from Fine Gael voters but also tends to do better among older and more upmarket voters, and of course those in Connaught/Ulster counties. She also does surprising well among Fianna Fáil candidates, with at least 1 in 5 Fianna Fáil voters suggesting they would give her a first preference vote. She also secures 2 in 5 Labour voters, a significantly higher proportion than Catherine Connolly.
Mary Lou McDonald comes next at 20% support, suggesting she would have very much been in the running had she stood. While an alternative Sinn Féin candidate might not do as well, the party line seems very tight with 69% of Sinn Féin voters supporting her.
Jim Gavin lies in third place, taking 18% of the first preference vote, once Kelleher’s first preference are redistributed. While the two candidates were still in the field, Gavin secured 15% and Kelleher 7% of the first preference. So, the sum of the two, was higher than his final vote, and there is leakage evident. In fact, Gavin only secures just over half of Fianna Fáil voters’ support, so has work to do to build appeal among the base, but does pick up votes from Labour (1 in 5), the Green Party and Fine Gael.
Connelly is the last candidate in the lead pack right now. She secures 17% of the first preference vote, some five points behind Humphries, but close enough to still have an opportunity as the campaign progresses. Her support is very much focused among Social Democrat, PBP-Solidarity and independent voters, but she does pick up some votes from Sinn Féin, even with Mary Lou in the field suggesting she could do well if Sinn Féin were to back her. She doesn’t do so well among Labour voters however, despite the party nominating her, with just 7% backing her.
The other independent candidates are some way behind the top four in terms of support. Peter Casey secures just 6%, Maria Steen 5%, Nick Delehanty 4% and Gavin Sheridan just 2%.
That doesn’t mean an independent candidate can’t do better, or that support won’t change during the course of the campaign. We have certainly seen support for a candidate outside of the main parties do well in past elections, and there is time to have an impact, with a third of all voters still undecided.
In presidential elections campaigns matter more than ever. Past Presidential elections have seen a very fickle and volatile voter, so there is very much still a lot to play for in the weeks ahead.
Business Post RED C Opinion Poll Report – September 2025