An unusually contentious season of municipal elections has come to an end, and 2018 races for legislature and Congress are already well under way in North Carolina.

Nationally, Election Day 2017 is being viewed as a huge victory for Democrats, particularly in states like Virginia and New Jersey where there were races for governor. But it's a bit harder to draw big conclusions from North Carolina's election results, where hundreds of local races were mostly nonpartisan -- at least technically -- and involved a long list of disparate issues.

What can we learn from the marquee mayoral battles and the lower-profile races across the state? Here are my takeaways:

Big city Republicans are nearly extinct: While the Republican Party remains as strong as ever in the legislature, rural counties and small-to-medium towns, changing demographics make it nearly impossible for the GOP to compete in Charlotte, Raleigh and other major cities. The NCGOP bet big on Charlotte mayoral candidate Kenny Smith and incumbent Fayetteville mayor Nat Robertson -- spending heavily and using its voice to criticize the Democrats.

It didn't work. Smith's loss, by a much wider margin than many expected, indicates that Pat McCrory might be the last Republican to ever lead Charlotte. Fayetteville had been the largest city with a Republican mayor. But with Robertson's loss, that distinction will likely go to High Point, the state's ninth largest city, where Republican Jay Wagner had a narrow lead over his opponent.

In its election night news release, the NCGOP didn't even mention its Charlotte and Fayetteville candidates, instead focusing on Republican victories in Greenville and Andrews. You might not be familiar with Andrews -- it's a town of 1,800 in the far western end of the state, and not exactly politically influential.

Sometimes party doesn't matter: In other big cities like Raleigh and Durham, voters had to choose between two liberals, with no Republicans on the ballot at all. Raleigh's race was particularly interesting this year because a registered Democrat, Charles Francis, challenged a well-liked mayor who is similarly liberal but is a registered independent.

Democratic Party loyalists faced a conundrum as the Wake County party endorsed Francis. Many leading Democrats, including former Gov. Jim Hunt, stood by incumbent Nancy McFarlane, while Francis supporters cried foul. McFarlane won, showing that many voters won't always base decisions solely on party labels.

But race does matter: The N.C. Democratic Party's African-American Caucus said party leaders' failure to support Francis was an example of black Democrats being treated as "political sharecroppers."

That's a clear signal that party leaders will need to show they're committed to electing African-American candidates in 2018. If they don't, African-Americans might just sit out a crucial election for Democrats.

The neighborhood-level maps of election results in Raleigh and Durham should also be a wake-up call for leaders. In both cities, white neighborhoods largely supported the white mayoral candidate, while minority and lower-income neighborhoods backed the African-American candidate. Some of that can be chalked up to voters' tendency to pick candidates who look like them, but it's also a sign that minorities in North Carolina's urban areas aren't happy with the status quo.

Every vote actually does count: Municipal elections are great for watching democracy in action on the smallest of scales -- in North Carolina's tiniest towns. In Brookford, a town of 370 people near Hickory, an election for town alderman was determined by a single vote. Any of the 40 voters who picked Charles Bargsley could have kept him out of office had they picked his opponent.

It's easy to get cynical about politics these days, but elections like the one in Brookford should inspire us all to keep voting.

Colin Campbell is editor of the Insider State Government News Service. Follow him at NCInsider.com or @RaleighReporter. Write to him at ccampbell@ncinsider.com.