A Democrat and a Republican are neck-and-neck in a Pennsylvania special House election viewed as a test ahead of November’s mid-term polls.
The solidly Republican 18th congressional district race pits Democrat Conor Lamb against Republican lawmaker Rick Saccone.
The two are competing to replace Tim Murphy, who resigned last October.
But celebrations will be short-lived, as the winner will begin campaigning for a seat in a different district.
Due to new district boundaries imposed by the state Supreme Court in January, the 18th district will be split up into four different districts in November’s poll.
With votes counted in every precinct, Mr Lamb has 49.8% – just ahead of Mr Saccone (49.6%).
Absentee ballots are now being counted.
The final outcome could set the tone for November’s mid-term elections, when Republicans will fight to keep majority in both the US House of Representatives and the Senate.
President Donald Trump won the working-class Pennsylvania district by more than 20 points in the 2016 presidential election, but the race has become unexpectedly tight despite his efforts.
The president has visited the district twice during the campaign, while Republicans have spent millions of dollars to keep a firm Republican grasp on the seat.
The vice-president, the president’s eldest son and daughter have also visited the state to campaign.
Meanwhile, a Democratic victory could add momentum to the party’s hopes of capturing control of the House of Representatives in November.
Who are the candidates?
Marine veteran Conor Lamb, a 33-year-old former prosecutor, has promised not to support Democratic Congresswoman Nancy Pelosi and has taken up relatively conservative positions for his party.
He has said he opposes new gun restrictions, but backs expanded background checks, and declared himself personally opposed to abortion.
His Republican opponent Rick Saccone, 60, is a four-term state lawmaker, Air Force veteran and former counterintelligence officer who has referred to himself as Mr Trump’s “wingman”.
The district’s previous lawmaker, Republican Tim Murphy, resigned last year after admitting to having an extra-marital affair.
The winner will have to turn his attention to a new race ahead after a victory party draws to a close.
The new boundaries imposed by the state’s high court means the district will not exist in its current form in November.
The winner will serve out the rest of the year and then have to begin campaigning in one of the newly drawn districts. The deadline to file to run in November is 20 March.