Though he's a three-term incumbent in a district where Democrats hold an edge over Republicans, Democratic State Sen. John C. Astle said he's working harder this campaign season than ever before.
He's knocked on more doors, raised more money and done extensive polling.
"I'm just counting the days. This has been the hardest campaign I've had," Astle said. "This has been pretty exhausting."
The man who's been giving Astle, 63, a run for his money is freshman Del. Herbert H. McMillan.
"Astle has voted to the left on all [the] important issues over the years," said McMillan, 48. "We need someone more moderate and mainstream than him. My hope is people will look at the issues and will vote on the issues."
Republicans see the seat in District 30, which includes Annapolis and the Broadneck Peninsula, as one they can pick off.
"I'm one of the senators that's been targeted," Astle said.
Both contenders are attempting to frame themselves as the most moderate. Both say they are counting on crossover support and reaching unaffiliated voters, who make up about 18 percent of the district's voters. Registered Democrats comprise slightly more than 42 percent of the district with Republicans making up nearly 39 percent.
Astle said he's also counting on a national surge for Democrats to trickle down to his race.
"I always get a Republican crossover vote, and I think that will continue. I'm a moderate, people like me," Astle said. "I like guns, big dogs and pickup trucks."
Aside from his country-song sounding affinities, Astle points to his military background as a reason why he has crossover appeal. A Marine Corps veteran, he was shot down twice during combat in Vietnam and was awarded two Purple Hearts, according to his biographical information in the Maryland Manual. From 1971 to 1974, Astle flew Marine One, the presidential helicopter, for President Richard Nixon. Up until last year, he was a helicopter pilot for MedStar. He now works on the corporate level for the company.
Astle has been in the General Assembly for 24 years, having previously been a delegate.
In addition to their shared experience as legislators, Astle and McMillan share a military background, are pilots and live in Annapolis. Each also unsuccessfully ran for Annapolis mayor.
McMillan, a 1980 graduate of the Naval Academy, is a commander in the Navy Reserves and a pilot for American Airlines.
Both men are married. Astle has two children; McMillan has four.
Despite any similarities, both candidates are quick to point out their differences on the issues.
McMillan said he decided to abandon his delegate seat and challenge Astle because he says the senator has failed to represent the interests of the voters.
"I feel very strongly that people in District 30 didn't have somebody looking out for them," McMillan said.
As he's campaigned, McMillan said, he's encountered voters who are concerned about illegal immigration in the county and state, rising taxes, over-development and the environment.
He contends that his views - denying drivers' licenses' and in-state college tuition to illegal immigrants, fighting against property tax increases, preventing the government from using eminent domain, and opposing needle exchange programs - all fall in line with the district's "mainstream" voters.
"If you encourage [illegal immigration], you'll have more of it," McMillan said.
McMillan also points to his votes in the House that were against slots and against cuts to the state's open space program.
"I didn't vote the party line. ... I looked at things from an issues perspective," he said.
Astle said the concerns that he hears from voters are different. He considers McMillan too concervative.
Astle, who sits on the Senate Finance Committee, says he's got unfinished work to do. Chief among the loose ends, he said, is facilitating affordable health care.
He also said he supports the Chesapeake Bay Foundation's four-point plan for cleaning up the bay.
As of Oct. 27, McMillan had raised more than $262,000 and has about $35,000 on hand. Astle had raised more than $375,000 and has about $52,000 on email@example.com