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

Today’s poll would suggest the political landscape in Ireland remains stable, with no party recording any significant change. Over the last six RED C polls in as many months, we have seen both Fine Gael and Sinn Féin locked in a dead heat, with any gap between the two landing within margin of error.
The two parties have maintained a consistent level of support based on both age and socio-economic class. Sinn Féin dominate the youth vote (44%) and working class groups (40%), while Fine Gael hold a strong command of the grey vote (41%) and those in slightly higher social grades (34%).
With both parties having consolidated their bases, the middle cohort of 35-54 year olds are poised to play a pivotal role in the ability of either party to be the dominant force in the formation of the next government. As it stands the two parties are polling similarly well (SF 28%, FG 26%), however Sinn Féin has held a lead over Fine Gael amongst this age cohort in every RED C poll this year, with the gap closing in June.
Housing is a key issue for voters in this age bracket, particularly within Dublin Bay South which boasts some of the highest rents in the country. Last month’s RED C poll saw Sinn Féin lead on trust for housing nationally, but they lagged behind Fine Gael on other key issues such as health, the economy, covid, jobs and crime.
The by-election in Dublin Bay South could be seen as a dry run of future voter patterns in the next general election. At Fine Gael’s Ard Fheis last weekend, Leo Varadkar set out an ambitious goal of building 40,000 homes per year over the next 10 years, suggesting the Tánaiste is indeed very much in campaign mode.
Sinn Fein also need to ensure that their supporters actually vote, with the age profile of supporters more likely to suggest they won’t turn out as strongly as those for Fine Gael. RED C poll results include a voter turnout weighting from which the Sinn Fein share is pushed down slightly as a result.
With some Irish people relishing in the schadenfreude of the DUP leader Edwin Poots’ resignation last week, and the more serious issues surrounding Brexit and the Northern Ireland protocol, many are increasingly talking about the prospect of a United Ireland in their own lifetime, perhaps most notably the Tánaiste.
The public are less convinced of its possibility. While there is certainly not a clear majority either way, when questioned this month people appear pessimistic that there will be a United Ireland for this generation, with 45% believing the Island will not be reunified in their life time, versus the 39% that believe it will.
Some have criticised the timing of the Tánaiste’s statements, deeming them unhelpful, however the message was likely to resonate more with Sinn Féin voters (49% agree) than his own party members (36%); though this may be partly due to the inherent age profile of both party voters.
Though party support remains stable from our last poll across all parties, there has been a definite shift in public perception of government performance on the vaccine roll-out. 71% of the population approve of the job government is doing on the vaccine rollout, demonstrating a 30 point increase on April’s poll.
While it is a good sign for the country to see the majority of all party voters approve of the vaccine programme, Fianna Fáil will be disappointed with how little party preference has changed over the past few months. Perhaps compounded by uncertainty over the Delta variant and lack of certainty for Irish aviation, a perceived deferral of responsibility to NPHET, or recent controversies such as the HSE data breach and the National Maternity hospital, Irish voters are simply not looking to champion the party who lead the government at this time.
So where is Fianna Fáil’s vote going? With less than half of their voters (47%) from the Feb 2020 election giving the party a first preference in our current poll, the lapsed vote is split evenly between both right and left leaning parties, with Fine Gael and Sinn Féin taking the lions share.
To be losing strength in both legs, while already shouldering an enormous burden of a pandemic, its fiscal fallout, a housing crisis and tensions in NI, is not a desirable position for any party to be in when there are two larger parties waiting to push you over. The by-election on 8th of July will act as a litmus test to prove if Fianna Fáil are still a contender in what is looking increasingly like a two party race in terms of popularity with the electorate.