Highway 31 (AKA the Selkirk Highway) is a highway through the Selkirk Mountains connecting Balfour at Highway 3A and Galena Bay at Highway 3. Basically, it connects the Crowsnest Highway with Revelstoke and the Revelstoke and Mica Dams. It is one of the few numbered routes in British Columbia that is not fully paved, along with Highway 20.
Highway 31 starts in Balfour, at the ferry terminal. It goes north along the west shore of Kootenay Lake through Queens Bay, Ainsworth Hot Springs, and Mirror Lake before reaching Kaslo. It then continues north through Shutty Bench, Lardeau, and Howser.
From Howser, Highway 31 travels northwest, and passes through Goat Range Provincial Park. It then continues northwest along the eastern shore of Trout Lake to the town of Trout Lake. It then continues past Staubert Lake to Galena Bay, where it ends at a junction with Highway 23.