Author: James Kaiser

James Kaiser is an award-winning writer and photographer. He’s written and sold more than 100,000 guidebooks for Yosemite, Grand Canyon, Acadia and Joshua Tree National Parks. By combining thoughtful, intelligent writing with dramatic photography and detailed maps, Kaiser’s guidebooks give travelers the tools they need to make every moment of their vacation count. See more from James Kaiser at: jameskaiser.com.

[gravityform id="25" title="false" description="false"]
<div class='gf_browser_unknown gform_wrapper' id='gform_wrapper_25' ><form method='post' enctype='multipart/form-data' id='gform_25' action='/blog/author/james-kaiser/'> <div class='gform_body'><ul id='gform_fields_25' class='gform_fields top_label form_sublabel_below description_below'><li id='field_25_1' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_25_1' >First Name<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_25_1' type='text' value='' class='medium' placeholder='First name' aria-required="true" aria-invalid="false" /></div></li><li id='field_25_2' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_25_2' >Email<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_25_2' type='text' value='' class='medium' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_25' class='gform_button button' value='Get Your Guide' onclick='if(window["gf_submitting_25"]){return false;} window["gf_submitting_25"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_25"]){return false;} window["gf_submitting_25"]=true; jQuery("#gform_25").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_25' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='25' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_25' value='WyJbXSIsIjU3ZTliNjU4YTQxNTJjNTdhOTAwMjQ2MDBjZGU1YmJmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_25' id='gform_target_page_number_25' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_25' id='gform_source_page_number_25' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div><script type='text/javascript'> jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 25) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [25, 1]) } ); </script>