MHSAA Provides Update on Football Playoff Hopefuls, Bracket Reveal Schedule
By
Geoff Kimmerly
MHSAA.com senior editor
October 17, 2023
Here is a list of Michigan High School Athletic Association football playing schools, displaying their win-loss records and playoff averages through the eighth week of the season, plus information on this season's MHSAA Playoffs bracket and Finals schedule announcements.
Schools on this list are divided by division and ordered by playoff average. The top 32 teams by playoff average in each 11-player division and top 16 teams by playoff average in each 8-player division will qualify for the MHSAA Football Playoffs beginning Oct. 27. Divisions were determined prior to the start of the season, and the lists below include not only teams currently positioned to potentially qualify, but also the next eight teams in each division.
To review a list of all football playoff schools, individual school playoff point details and to report errors, visit the Football Playoff Point Summary page of the MHSAA Website.
The announcement of the qualifiers and first-round pairings for both the 11 and 8-player playoffs will take place at 6 p.m. Sunday, Oct. 22, on the “Selection Sunday Show” on Bally Sports Detroit Extra and its website – https://www.ballysports.com/detroit/. The playoff qualifiers and pairings will be posted to the MHSAA Website following the Selection Sunday Show, and times and dates will be added Monday, Oct. 23. The MHSAA also will announce the order for this season’s 11-Player Finals, to be played Nov. 25-26 at Ford Field, during the Selection Sunday Show.
11-PLAYER DIVISION 1
1. Rockford, 8-0, 82.125
2. Northville, 8-0, 79.500
3. Davison, 8-0, 79.250
4. Lake Orion, 8-0, 78.625
5. Saline, 8-0, 78.375
6. Belleville, 8-0, 78.125
7. West Bloomfield, 6-2, 73.625
8. Utica Eisenhower, 7-1, 72.750
9. Grandville, 6-2, 72.125
10. Westland John Glenn, 7-1, 71.875
11. Southfield Arts & Technology, 7-1, 71.250
12. Clinton Township Chippewa Valley, 6-2, 69.250
13. Macomb Dakota, 6-2, 66.750
14. Novi, 6-2, 64.500
15. St. Clair Shores Lakeview, 6-2, 60.875
16. Clarkston, 4-4, 59.500
16. Grand Blanc, 5-3, 59.500
18. Dearborn Fordson, 5-3, 58.875
19. Detroit Cass Tech, 6-2, 58.607
20. Ann Arbor Pioneer, 5-3, 57.375
21. Grand Ledge, 6-2, 57.232
22. Lapeer, 5-3, 57.125
23. Detroit Catholic Central, 6-2, 57.097
24. Hudsonville, 5-3, 56.375
25. Sterling Heights Stevenson, 4-4, 56.250
26. Rochester Adams, 5-3, 55.625
27. Brighton, 4-4, 52.500
28. Romeo, 3-5, 51.750
29. Troy, 5-3, 50.625
30. Ann Arbor Huron, 4-4, 49.750
31. Holland West Ottawa, 3-5, 48.750
32. Oxford, 3-5, 46.750
33. Utica, 3-5, 46.625
34. East Kentwood, 3-5, 46.500
35. Brownstown Woodhaven, 3-5, 42.750
35. Howell, 3-5, 42.750
37. New Baltimore Anchor Bay, 6-Feb, 42.250
38. Plymouth, 3-5, 42.000
39. Monroe, 3-5, 41.500
40. Hartland, 3-5, 41.250
11-PLAYER DIVISION 2
1. Grosse Pointe South, 7-1, 72.375
2. Gibraltar Carlson, 7-1, 70.750
3. Portage Central, 7-1, 70.214
4. Birmingham Seaholm, 7-1, 69.286
5. Allen Park, 7-1, 67.750
6. Caledonia, 6-2, 67.625
7. Muskegon, 6-2, 66.375
8. Warren De La Salle Collegiate, 6-2, 65.250
9. Portage Northern, 7-1, 64.964
10. Byron Center, 7-1, 64.875
11. Dexter, 6-2, 64.750
11. Saginaw Heritage, 6-2, 64.750
13. Muskegon Mona Shores, 6-2, 62.750
13. Waterford Mott, 6-2, 62.750
15. East Lansing, 6-2, 61.821
16. Detroit U of D Jesuit, 6-1, 61.032
17. Birmingham Groves, 6-2, 60.875
18. Roseville, 6-2, 60.375
19. Milford, 6-2, 60.000
20. Port Huron Northern, 6-2, 59.500
21. Livonia Franklin, 5-3, 58.875
22. Muskegon Reeths-Puffer, 6-2, 56.375
23. Grand Rapids Forest Hills Northern, 6-2, 56.000
24. Warren Mott, 5-3, 55.625
25. White Lake Lakeland, 5-3, 54.250
26. Midland, 5-3, 52.000
27. North Farmington, 4-4, 51.750
28. Traverse City Central, 4-4, 50.250
29. Livonia Churchill, 4-4, 48.750
30. Warren Cousino, 5-3, 48.000
31. Oak Park, 3-5, 46.411
32. Harrison Township L'Anse Creuse, 3-5, 45.250
33. Lansing Everett, 4-4, 45.214
34. Midland Dow, 4-4, 44.500
35. Dearborn Heights Crestwood, 5-3, 42.750
36. Detroit Renaissance, 4-4, 41.375
37. South Lyon East, 3-5, 41.250
38. Temperance Bedford, 3-5, 40.625
39. Jackson, 4-4, 40.125
40. Orchard Lake St. Mary's, 3-5, 39.875
11-PLAYER DIVISION 3
1. Walled Lake Western, 7-1, 71.625
2. Grand Rapids Forest Hills Central, 7-1, 70.625
3. Mount Pleasant, 7-1, 69.975
4. Mason, 8-0, 68.696
5. Auburn Hills Avondale, 7-1, 65.625
6. Gaylord, 8-0, 64.571
7. Port Huron, 7-1, 63.375
8. Parma Western, 7-1, 62.143
9. Southgate Anderson, 6-2, 61.607
10. DeWitt, 5-2, 59.536
11. Fenton, 6-2, 58.875
12. East Grand Rapids, 6-2, 58.250
13. Zeeland West, 6-2, 57.875
14. St. Joseph, 5-3, 56.339
15. Lowell, 5-3, 55.000
16. Stevensville Lakeshore, 5-3, 53.714
17. Trenton, 4-4, 52.875
18. Battle Creek Harper Creek, 6-2, 52.125
19. Riverview, 7-1, 52.000
20. Marquette, 5-2, 51.786
21. Coopersville, 6-2, 51.000
22. Grosse Pointe North, 6-2, 50.625
23. Zeeland East, 5-3, 49.875
24. Petoskey, 5-3, 48.482
25. Holly, 5-3, 47.375
26. River Rouge, 4-4, 46.556
27. Detroit Martin Luther King, 4-4, 46.458
28. Linden, 4-4, 46.125
29. Warren Fitzgerald, 4-4, 45.375
30. Cadillac, 4-4, 44.607
31. Grand Rapids Northview, 4-4, 44.500
32. Bay City Western, 4-4, 44.125
33. Redford Thurston, 5-3, 43.250
34. Richland Gull Lake, 5-3, 42.732
35. Cedar Springs, 4-4, 42.375
36. Flint Carman-Ainsworth, 3-5, 39.875
37. Detroit University Prep Science & Math, 5-3, 39.554
38. Jackson Northwest, 4-4, 39.125
39. Fowlerville, 3-5, 36.625
40. Sparta, 4-4, 36.125
40. Waterford Kettering, 3-5, 36.125
11-PLAYER DIVISION 4
1. Goodrich, 7-1, 62.000
2. Whitehall, 8-0, 61.250
3. Paw Paw, 8-0, 60.982
4. Redford Union, 7-1, 59.625
5. Chelsea, 7-1, 59.250
6. Harper Woods, 5-3, 57.875
7. Portland, 8-0, 57.375
8. Hastings, 6-2, 57.179
9. Carleton Airport, 7-1, 55.625
10. Lansing Sexton, 7-1, 55.250
11. Niles, 7-1, 55.000
12. Adrian, 6-2, 53.625
13. Spring Lake, 6-2, 52.125
14. Ada Forest Hills Eastern, 6-2, 51.750
14. Grand Rapids South Christian, 6-2, 51.750
16. Croswell-Lexington, 7-1, 51.500
17. Freeland, 7-1, 50.750
18. Lake Fenton, 6-2, 49.750
19. Haslett, 5-3, 49.732
20. Marysville, 6-2, 49.625
21. Allendale, 6-2, 48.875
22. Big Rapids, 7-1, 48.125
23. Madison Heights Lamphere, 6-2, 47.625
24. Detroit East English, 5-3, 46.125
25. Charlotte, 6-2, 46.000
26. Ortonville Brandon, 4-4, 44.125
27. Tecumseh, 4-4, 43.732
28. Dearborn Divine Child, 4-4, 43.714
29. Wayland, 5-3, 42.750
30. Edwardsburg, 4-4, 42.250
31. Ionia, 4-4, 40.375
32. Sault Ste. Marie, 5-3, 38.732
33. Hamilton, 4-4, 38.500
33. Hudsonville Unity Christian, 3-5, 38.500
35. Vicksburg, 3-5, 38.250
36. Detroit Country Day, 3-4, 38.143
37. North Branch, 4-4, 37.250
38. Livonia Clarenceville, 3-Apr, 36.946
39. Ludington, 4-4, 36.500
40. New Boston Huron, 4-4, 35.875
11-PLAYER DIVISION 5
1. Grand Rapids West Catholic, 8-0, 69.000
2. Corunna, 8-0, 66.250
3. Grand Rapids Catholic Central, 7-1, 64.625
4. Pontiac Notre Dame Prep, 7-0, 59.732
5. Belding, 7-1, 55.375
5. Marine City, 7-1, 55.375
7. Williamston, 6-2, 55.000
8. Frankenmuth, 7-1, 54.125
9. Macomb Lutheran North, 7-1, 47.786
10. Dearborn Heights Robichaud, 5-3, 46.875
11. Ogemaw Heights, 7-1, 46.661
12. Flint Hamady, 7-0, 46.446
13. Howard City Tri County, 7-1, 46.000
14. Gladwin, 7-1, 45.804
15. Detroit Southeastern, 5-3, 45.750
16. Kingsford, 7-1, 44.875
17. Romulus Summit Academy North, 6-2, 44.304
18. Saginaw Swan Valley, 5-3, 43.375
19. Armada, 5-3, 43.250
19. Muskegon Oakridge, 5-3, 43.250
21. Detroit Denby, 8-0, 42.250
22. Flat Rock, 5-3, 41.750
23. Berrien Springs, 5-2, 40.339
24. Birch Run, 5-3, 39.125
24. South Haven, 5-3, 39.125
26. Romulus, 4-4, 38.125
27. Ann Arbor Father Gabriel Richard, 6-2, 37.000
28. Richmond, 4-4, 35.875
29. Comstock Park, 4-4, 35.125
30. Yale, 4-4, 34.625
31. Essexville Garber, 4-4, 34.000
32. Dundee, 5-3, 32.625
33. Warren Lincoln, 5-3, 32.125
34. Milan, 3-5, 31.125
35. Standish-Sterling, 4-4, 30.750
36. Dowagiac, 4-4, 30.286
37. Allegan, 4-4, 29.357
38. Benton Harbor, 3-5, 29.286
39. Detroit Cody, 4-4, 28.554
40. Newaygo, 3-5, 28.250
11-PLAYER DIVISION 6
1. Almont, 8-0, 59.875
2. Warren Michigan Collegiate, 8-0, 50.696
3. Constantine, 7-1, 48.125
4. Ecorse, 7-0, 47.536
5. Manistee, 6-2, 46.125
6. Kingsley, 6-2, 44.536
7. Gladstone, 6-2, 44.196
8. Negaunee, 7-1, 43.625
9. Detroit Edison, 6-2, 42.804
10. Chesaning, 7-1, 41.000
11. Reed City, 5-3, 40.875
12. Clawson, 6-2, 40.500
13. Kalamazoo Hackett Catholic Prep, 5-3, 40.357
14. Clare, 6-2, 40.125
15. Hart, 7-1, 38.875
16. Montague, 4-4, 37.625
17. Michigan Center, 6-2, 36.500
18. Kent City, 6-2, 36.375
19. Detroit Pershing, 5-3, 35.875
20. Ovid-Elsie, 4-4, 34.125
21. Detroit Old Redford, 7-1, 34.000
22. Grayling, 5-3, 33.982
23. Buchanan, 5-3, 33.786
24. Lansing Catholic, 3-5, 33.375
25. Central Montcalm, 4-4, 33.250
26. Clinton Township Clintondale, 4-4, 33.000
27. Boyne City, 4-4, 32.500
28. Lake City, 6-2, 32.125
29. Mason County Central, 5-3, 31.875
30. Olivet, 3-5, 31.750
31. Midland Bullock Creek, 5-3, 29.625
32. Ida, 4-4, 29.375
33. Detroit Voyageur College Prep, 4-4, 28.804
34. Remus Chippewa Hills, 3-5, 27.500
35. Parchment, 4-4, 27.375
36. Calumet, 3-5, 26.750
37. Watervliet, 3-5, 26.536
38. Brooklyn Columbia Central, 4-4, 26.375
39. Durand, 3-5, 26.250
40. Houghton, 2-6, 24.375
11-PLAYER DIVISION 7
1. Jackson Lumen Christi, 7-1, 55.429
2. Napoleon, 8-0, 44.000
2. North Muskegon, 8-0, 44.000
4. Millington, 8-0, 43.786
5. Clinton, 7-1, 43.429
6. Lawton, 7-1, 42.786
7. Menominee, 6-2, 42.292
8. Monroe St. Mary Catholic Central, 4-4, 38.625
9. Charlevoix, 7-1, 38.232
10. Pewamo-Westphalia, 7-1, 36.875
11. Montrose, 6-2, 36.625
12. Manchester, 6-2, 34.500
12. Schoolcraft, 6-2, 34.500
14. Grosse Pointe Woods University Liggett, 6-2, 33.500
15. Benzie Central, 5-3, 32.750
15. Union City, 6-2, 32.750
17. Detroit Central, 4-4, 32.500
18. Beaverton, 5-3, 32.375
19. Cass City, 6-2, 32.000
20. Bath, 5-3, 31.500
20. Blissfield, 4-4, 31.500
22. Detroit Loyola, 3-5, 30.250
23. Traverse City St Francis, 3-4, 30.125
24. Grass Lake, 5-3, 29.500
25. Perry, 5-3, 29.125
26. Laingsburg, 4-4, 28.875
26. McBain, 5-3, 28.875
28. Sandusky, 5-3, 28.625
29. Burton Bendle, 4-4, 26.411
30. Elkton-Pigeon-Bay Port Laker, 4-4, 26.375
30. Hemlock, 3-5, 26.375
32. Coloma, 3-5, 25.482
33. Houghton Lake, 4-4, 25.125
34. Leslie, 3-5, 24.000
35. Jonesville, 3-5, 23.375
36. Manistique, 4-4, 22.929
37. Ravenna, 3-5, 22.750
38. Sanford Meridian, 2-6, 22.625
39. Bad Axe, 3-5, 21.375
39. Lakeview, 3-5, 21.375
11-PLAYER DIVISION 8
1. Ottawa Lake Whiteford, 8-0, 43.542
2. New Lothrop, 7-1, 41.875
3. Ubly, 8-0, 41.750
4. Ithaca, 8-0, 40.750
5. Beal City, 8-0, 40.250
6. Hudson, 7-1, 39.375
7. Addison, 8-0, 38.500
8. Saugatuck, 7-1, 38.375
9. Fowler, 7-1, 37.875
9. Harbor Beach, 7-1, 37.875
11. Sterling Heights Parkway Christian, 7-1, 35.500
12. East Jordan, 7-1, 35.357
13. White Pigeon, 8-0, 34.417
14. Muskegon Catholic Central, 5-3, 34.375
15. Iron Mountain, 8-0, 34.304
16. Evart, 6-2, 34.125
17. Saginaw Michigan Lutheran Seminary, 6-2, 33.375
18. Clarkston Everest Collegiate, 6-2, 32.625
19. Marlette, 6-2, 32.000
20. Frankfort, 6-2, 30.857
21. Riverview Gabriel Richard, 4-4, 29.292
22. Ishpeming, 5-3, 28.720
23. Burton Bentley, 6-2, 28.339
24. Marine City Cardinal Mooney, 4-4, 27.625
25. Sand Creek, 4-4, 26.458
26. Bark River-Harris, 5-3, 26.429
27. Mount Clemens, 4-4, 26.250
28. Petersburg Summerfield, 5-3, 26.083
29. Maple City Glen Lake, 4-4, 25.482
30. Rochester Hills Lutheran Northwest, 4-4, 25.125
31. Arts & Technology Academy of Pontiac, 5-3, 24.500
31. Centreville, 4-4, 24.500
33. Saginaw Nouvel, 3-5, 23.911
34. Saranac, 4-4, 23.375
35. Allen Park Cabrini, 3-5, 21.375
35. Decatur, 3-5, 21.375
35. Waterford Our Lady of the Lakes, 3-5, 21.375
35. White Cloud, 4-4, 21.375
39. Detroit Douglass, 3-5, 21.000
40. Mancelona, 3-5, 20.482
8-PLAYER DIVISION 1
1. Pickford, 8-0, 36.250
2. Brown City, 8-0, 36.036
3. Kingston, 7-1, 34.411
4. St. Ignace, 7-1, 34.357
5. Norway, 6-2, 33.000
6. Alcona, 7-1, 32.750
7. Carson City-Crystal, 8-0, 32.500
8. Indian River Inland Lakes, 7-1, 32.107
9. Merrill, 7-1, 31.625
10. Marcellus, 6-2, 30.375
10. Mendon, 6-2, 30.375
12. Central Lake, 6-2, 30.107
13. Martin, 6-2, 30.000
14. Gobles, 6-2, 29.625
15. Mesick, 6-2, 29.196
16. Rudyard, 5-3, 29.071
17. Newberry, 6-2, 28.875
18. Gaylord St. Mary, 6-2, 28.500
19. Concord, 5-3, 27.839
20. Bellevue, 5-3, 27.250
21. Mayville, 5-3, 26.286
22. Brethren, 5-3, 26.179
23. Blanchard Montabella, 5-3, 25.750
24. Rogers City, 4-4, 25.571
8-PLAYER DIVISION 2
1. Adrian Lenawee Christian, 8-0, 36.250
2. Climax-Scotts, 8-0, 34.375
3. Marion, 7-0, 34.107
4. Pittsford, 7-1, 32.000
5. Mount Pleasant Sacred Heart, 7-1, 31.250
5. Portland St. Patrick, 7-1, 31.250
7. Au Gres-Sims, 7-1, 30.875
8. Bay City All Saints, 7-1, 30.714
9. Deckerville, 6-2, 30.536
10. Crystal Falls Forest Park, 7-1, 30.500
11. Posen, 7-0, 29.875
12. Morrice, 6-2, 29.250
13. Akron-Fairgrove, 6-2, 29.089
14. Lake Linden-Hubbell, 5-3, 28.375
15. Camden-Frontier, 5-3, 26.875
16. Powers North Central, 6-2, 26.304
17. Wyoming Tri-unity Christian, 5-3, 26.125
18. Cedarville, 6-2, 25.125
19. Fulton, 5-3, 24.250
20. Colon, 4-4, 23.375
21. Litchfield, 4-4, 22.625
22. Ashley, 4-4, 22.464
23. New Haven Merritt Academy, 3-Apr, 22.161
24. Britton Deerfield, 2-6, 21.357
'Mighty' Forest Park Rides Overpowering Start to 5th Finals Championship
By
Jason Juno
Special for MHSAA.com
November 23, 2024
MARQUETTE — The Crystal Falls Forest Park tradition continues.
The Trojans won their fifth MHSAA Finals championship in their 15th title game appearance 42-20 over Morrice on Saturday in the 8-player Division 2 contest at the Superior Dome.
Forest Park (12-1) took advantage of two Morrice fumbles to take a 28-0 lead into halftime. The Orioles came alive in the second half, but they couldn’t overcome such a start.
It was the second 8-player title for Forest Park with the first coming in 2017, and the first for coach Brian Fabbri, who started as a lineman in two 11-player championship games (2004 and 2005) for the Trojans.
He was thrilled to help keep the tradition alive.
“I absolutely love it,” Fabbri said. “I’m blessed to be able to have my name up there with the Mettlachs, Santillis, Graffs. It’s unbelievable.”
Dick Mettlach led Forest Park to back-to-back titles in 1975 and 1976. Bill Santilli took Forest Park to seven title games and won the 2007 championship. Dave Graff was the head coach of the 2017 champion.
“We’re the fifth one to win it; it just feels awesome,” said Forest Park senior Kevin Giuliani, who at 6-foot-5 and 270 pounds was named the Upper Peninsula’s top lineman by media vote recently.
Forest Park’s first-half dominance proved to be the difference in this championship clincher.
The Trojans got the ball first and capped an 11-play, 53-yard drive with a four-yard touchdown run by senior Grayson Sundell midway through the first quarter.
Forest Park’s Noah Starr recovered an onside kick on the ensuing kickoff, but Morrice came up with a big stop on fourth down in the red zone.
Any momentum from that evaporated quickly. The Orioles went three-and-out in their first offensive possession of the game, and Forest Park doubled its lead on the first play after getting the ball back. Sophomore running back Dax Huuki went 58 yards for a touchdown and Dietrich Rasner, who made all six extra points he tried in the game, made it 14-0 two minutes into the second quarter.
Morrice started its next possession with good field position at midfield but fumbled on the second play, and Nik Stephens recovered it at the Forest Park 45. It took the Trojans eight plays to score, and it was Stephens with the eight-yard run to paydirt for a 21-0 advantage.
The Orioles coughed it up again, this time on the third play of their next possession, with Vic Giuliani recovering it.
Huuki scored his second touchdown of the day, a four-yard rush with 10 seconds left in the half. It was another methodical drive of eight plays to go 50 yards. Forest Park led 28-0 at the half.
“Getting that quick score before half was huge for us,” Fabbri said.
The Trojans ended the half with 184 rushing yards on 33 carries. Morrice had only 11 offensive plays the whole half, thanks in part to their turnovers.
That changed during the second half – just not enough to put the game in any serious doubt.
Morrice (11-2) picked up its first first down during the first possession of the second half, and got its first big play, a 32-yard run by Joel Fisher that set the Orioles up at the Forest Park 5. Two plays later, he ran in a score and the lead was down to 28-6. Fisher led Morrice with 99 yards rushing on 12 carries.
The Trojans added a third-quarter touchdown of their own as Stephens ran five yards for a score on the ensuing possession to make it 35-6. Morrice’s Wyatt Cartier ran one yard for a touchdown in the early stages of the fourth quarter, and Fisher returned a punt 85 yards for a TD with 5:30 left in the game, making it 35-20.
“I knew they were a good team. We knew it was coming,” Fabbri said. “It was only a matter of time, and it happened. We had enough cushion there. We made enough big plays at the end.”
The last came a minute later, when Forest Park scored on a 49-yard rush by Stephens, his third touchdown of the day — half of his carries went for scores — and the Trojans were celebrating a championship soon after.
Morrice coach Kendall Crockett said he was proud of his team for fighting the entire game. The Orioles obviously competed much better during the second half as they accumulated 155 of their 194 total yards.
“We hung onto the ball, first of all. That was kind of a big deal for us,” he said. “... As physical as they were in that first half, I thought that we really fought back in the second half, didn’t quit and kept playing ball.”
That physical play has been a staple of Forest Park football since their first state title. Forest Park ran for 184 yards in the first half and finished with 291 on 47 carries — Huuki led with 136 yards on 19 carries. Fullback Trent Kannich ran for fewer yards, 68, but he was a factor as well as Crockett pointed out how hard he hit.
“(Huuki’s) a sophomore, but he runs like a senior,” Fabbri said. “He’s battle-tested. He stepped up when he had to and made some plays.”
Huuki said Morrice was a physical team as well, but Forest Park was determined to go home with a win.
“That was just put into our head going into this week — the most physical team with the most grit, and the mightiest team’s going to win,” he said. “So we just came in wanting it all.”
The Trojans did it in front of a huge sea of Forest Park fans, who chanted, “U.P. Power!” when it became certain the Trojans were going to win late in the fourth quarter.
“It doesn’t seem real,” Kevin Giuliani said. “I’m just so happy. Words can’t explain what I feel like right now. I feel like I’m on top of the world right now.”
PHOTOS (Top) Crystal Falls Forest Park players swarm coach Brian Fabbri (holding trophy) in celebration Saturday at the Superior Dome. (Middle) Forest Park’s Kevin Giuliani and Brody Starr (5) bring down an Orioles ball carrier. (Below) Morrice’s Joel Fisher (2) breaks away from the Forest Park defense for a long second-half touchdown run. (Photos by Cara Kamps. Click for more.)