After I designed a theme to my SharePoint 2007 site I came across a small problem. Well it was not exactly a problem it was more of a hassle I encountered. The current SharePoint Intranet I was working on contained quite a lot of sites and I didn't want to change the site settings within each site in order to change the theme. Thankfully, SharePoint 2007 allows you to apply a Custom CSS from your theme.
In order to change the theme across the whole SharePoint Intranet carry out the following:
View the source of main portal homepage and look for a line which looks something like this:
<link rel="stylesheet" type="text/css" id="onetidThemeCSS" href="/_themes/Intranet/Intr1011-65001.css?rev=12%2E0%2E0%2E4518"/>
In Site Settings click on Masterpage and scroll down to the bottom of the page.
Select the "Specify a CSS file to be used by this publishing site and all sites that inherit from it" radio button.
Use the link from the CSS HTML tag above excluding anything after the query string. For example: ""/_themes/Intranet/Intr1011-65001.css".
Now the theme should be applied throughout the site. You can change the link for the Custom CSS by changing the directory path.