 <p>I got it all sorted out now. My hook_theme is this:</p> <pre><code>function cssswitch_theme() { return array( 'cssswitch_display' =&gt; array( 'arguments' =&gt; array('node'), ), 'cssswitch_node_form' =&gt; array( 'arguments' =&gt; array('form' =&gt; NULL), 'template' =&gt; 'cssswitch-node-form.tpl.php', ), ); } </code></pre> <p>I created the file themes/garland/cssswitch-node-form.tpl.php Then I can have control over where to put any form elements like this:</p> <pre><code>&lt;style&gt; #edit-hour-start-wrapper, #edit-minute-start-wrapper, #edit-ampm-start-wrapper, #edit-hour-end-wrapper, #edit-minute-end-wrapper, #edit-ampm-end-wrapper { float:left; margin-right:25px; } &lt;/style&gt; &lt;div id="regform1"&gt; &lt;?php print drupal_render($form['title']); ?&gt; &lt;?php print drupal_render($form['cssfilename']); ?&gt; &lt;fieldset class="group-account-basics collapsible"&gt; &lt;legend&gt;Time Start&lt;/legend&gt; &lt;?php print drupal_render($form['hour_start']); ?&gt; &lt;?php print drupal_render($form['minute_start']); ?&gt; &lt;?php print drupal_render($form['ampm_start']); ?&gt; &lt;/fieldset&gt; &lt;fieldset class="group-account-basics collapsible"&gt;&lt;legend&gt;Time end&lt;/legend&gt; &lt;?php print drupal_render($form['hour_end']); ?&gt; &lt;?php print drupal_render($form['minute_end']); ?&gt; &lt;?php print drupal_render($form['ampm_end']); ?&gt; &lt;/fieldset&gt; &lt;/div&gt; &lt;?php print drupal_render($form['options']); ?&gt; &lt;?php print drupal_render($form['author']); ?&gt; &lt;?php print drupal_render($form['revision_information']); ?&gt; &lt;?php print drupal_render($form['path']); ?&gt; &lt;?php print drupal_render($form['attachments']); ?&gt; &lt;?php print drupal_render($form['comment_settings']); ?&gt; &lt;?php print drupal_render($form); ?&gt; </code></pre>