<!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' );

The final pre-election poll of the 2024 General Election shows the three main parties are still all neck and neck in terms of first preference vote share. While momentum appears to be with Sinn Féin in the final week, and against Fine Gael, it is Fianna Fáil who take the largest share and also appear to be the best placed of the three main parties to benefit from vote transfers .
Fianna Fáil secure 21% of the first preference vote share, the same level they were on in our last poll earlier this month, so no great momentum as we move into the final days of the campaign. However, this does mean they are the largest of the three parties in terms of vote share, albeit within margin of error.
Perhaps more importantly, our analysis of second preference votes at a candidate level suggests that Fianna Fáil is probably the most transfer friendly of all parties as well, securing 21% of the second preference votes overall. They firstly secure a very good share of second preference voters within the Finan Fáil stable, with almost half of their first preference voters also giving their preferred candidate’s running mate a second preference vote. They also secure strong transfers from Fine Gael as well as from Labour, Independent Ireland and independent candidates This appears to set them to potentially secure a greater seat share than what would be projected from their first preference vote share alone.

Sinn Féin do appear to have some momentum, as some floating voters have moved back to the party during the campaign. The small gains they made at the start of the campaign are reinforced in this poll where they secure 20% of the first preference vote, a gain of 2% in the last 2 weeks. This is however still well below the first preference vote share they achieved at the last general election, and even further behind the highs that the party saw in mid election polls. The other concern for the party is that when we prompt for vote using candidate lists in each constituency, their vote share actually falls back again to 19%, suggesting that their support remains somewhat flaky.
Our transfer analysis also shows that Sinn Féin is still not very transfer friendly. It only secures 13% of the second preference votes when candidate lists are shown to voters. Only a third of people that give Sinn Féin a first preference go on to also give the party a second preference. They also get very low transfers from Fine Gael or Fianna Fáil first preferences. While they do somewhat better among Social Democrats and Aontú, there are of course far fewer votes here to be shared around.
Of the big three, Fine Gael is the party in decline, but perhaps not as steeply as has been suggested elsewhere. RED C polls never suggested the party was significantly ahead of the others in the early days of the campaign, so they had less space to fall. In our poll, we do see their vote share decline, but only by 2% to leave them securing 20% of the first preference vote. This is well within the margin of error of the other two parties, and I would imagine that will be a relief to the party in the final days of campaigning.
When we look at vote share by candidate lists in each constituency, they also pull back some of that loss, leaving them securing 21% of the first preference vote. So, they are certainly still in contention to secure a good seat share, albeit with something of a negative trend going into the final days.
The high turnover of incumbents also potentially damages their possible seat gains, as they do not appear to be as transfer friendly as Fianna Fáil. Overall, they secure 17% of the second preference votes, which is better than Sinn Féin, but not as strong as Fianna Fáil. Similar to Sinn Fein, they also only secure conversion of a third of their own first preference votes to a second preference vote,and currently transfer quite heavily to Fianna Fáil candidates instead.
For the other parties, the landscape in the final days remains very stable vs previous polls. Independent candidates continue to secure a very high 14% share of the first preference vote, while Independent Ireland secure another 4%. Independent candidates also perform slightly better when candidate lists are provided in each constituency.
Social Democrats also look like they will perform strongly, securing 6% of the vote, although this does fall back slightly to 5% when candidate lists are shown suggesting they may not have the candidates for all those that wanted to vote for the party. This is also the case for the Green Party and Aontú, both of whom fall back from 4% to 3% when candidate lists are shown. Labour on the other hand secures 4% in both the party and candidate lists, suggesting their vote share is possibly more secure than others.
We know from recent elections that many voters are inclined now to only fully make their final decision in the final couple of days, so things could still change over the course of the final days. But as it stands, the picture remains that all three of the larger parties are still in the hunt for the largest seat share, with perhaps Fianna Fáil best placed of the three.
Download the report below
Business Post RED C Opinion Poll Report – 27th November 2024
Listen to the Busines Post final poll podcast here