a:6:{i:0;s:29024:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>GRAND USA TOUR PACKAGE</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.nktoursandtravels.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.nktoursandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> GRAND USA TOUR PACKAGE</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					
											<p class="mb5px"><b>Duration :</b> 
						12 Nights / 13 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Washington, New York, Las Vegas, San Francisco, Denver, Borana</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 349000 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.nktoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="GRAND USA TOUR PACKAGE - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="188737"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/495496/295814.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/495496/295814.jpg"  height="150"  width="150"    alt="GRAND USA TOUR PACKAGE" title="GRAND USA TOUR PACKAGE" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="headHr">
					            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 1:</b> Cochin To New York
										</p>
										<p class="aj">Welcome to the "Big Apple," the "City That Never Sleeps" — New York is a city of superlatives: America's biggest; its most exciting; its business and cultural capitals; the nation's trendsetter. For more than a century, it has been one of the world's major centers of commerce and finance. Upon arrival at the airport, transfer to the hotel. (Meals: Lunch, Dinner) .</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 2:</b> New York City Tour
										</p>
										<p class="aj">After breakfast, we proceed for a City tour of New York. The sightseeing will include USA’s famous landmark, “Statue of Liberty.” We will take a ferry ride to Liberty Island for a spectacular view of the New York City Skyline. Next we experience the view of a lifetime of the One World Observatory. Later in the day we will see Rockefeller Center, Wall Street, Ground Zero and Central Park, Times Square, United Nations and Trump Tower. Evening, Illuminated tour of Manhattan - Experience New York, the ‘city that never sleeps,’ magically lit up after dark. Drive past illuminated landmarks like the Empire State Building, Times Square, Rockefeller Center, and the neighborhoods of SoHo and Chinatown. Later enjoy dinner. (Meals: Breakfast, Lunch, Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 3:</b> New York - Washington
										</p>
										<p class="aj">Today, we depart to Washington DC by road; (approx. 5 hours). It is the capital city of the United States of America and a Guide to the Historic Neighborhoods and Monuments. Upon arrival, you will check in to the hotel. Later, explore the capital city of US. Visit the White House, Lincoln Memorial, Supreme Court, the Capitol Building, the Smithsonian Air and Space museum, Museum of Natural history, Union Station, World War II Memorial Building, Pentagon building and Washington monument and enjoy dinner. (Meals: Breakfast, Lunch, Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 4:</b> Washington - Luray Caverns
										</p>
										<p class="aj">After breakfast, check out of the hotel and proceed to the town of Luray, VA, home of the Luray Caverns. Perhaps the most famous attraction in the Luray Caverns is The Great Stalactite Organ, a giant mechanized instrument that uses naturally formed stalagmites as its pipes. Later enjoy dinner. (Meals: Breakfast, Lunch, Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 5:</b> Washington DC – Corning - USA side Niagara Falls
										</p>
										<p class="aj">After breakfast, check out of the hotel and proceed to Harrisburg for the Hershey’s Chocolate World. Later, proceed to Niagara by road (approx. 5 hours). En-route visit the famous Corning Glass museum. Reach Niagara to view the famous falls, which form one of the natural wonders of the World. Check in to your hotel, freshen up, visit the shops for buying souvenirs & in the evening get back to hotel to go for dinner. After dinner, transfer back to the hotel. You can also visit the illumination on the falls on your own tonight. (Meals: Breakfast, Lunch, Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 6:</b> Niagara Falls - Discovery Pass
										</p>
										<p class="aj">There is nowhere else in the world where you can ride the world famous Maid of the Mist Boat Tour, walk within feet of the Falls at the Cave of the Winds, meet the legends at the Niagara Adventure Theatre, get hands-on at the Discovery Center and go under the sea at the Aquarium of Niagara. (Meals: Breakfast, Lunch, Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 7:</b> Niagara - Las Vegas - City Tour
										</p>
										<p class="aj">Today, fly to Las Vegas. Upon arrival, proceed to the hotel for check-in. Later, we proceed for the city tour in Las Vegas, experiencing the spectacular Colorful Dancing Fountain water fountains of the Bellagio, the Pirate Ships at Treasure Island, Downtown Vegas, and of course Fremont street, where over 12 million lights create a free show with pumping music. Later, proceed to visit the Stratosphere Tower. View the city in 360-degree panorama at Las Vegas' Stratosphere Tower, the tallest freestanding observation tower in the United States at 1,149 feet. Later, drop off at Indian restaurant for dinner. Please note, restaurant for dinner is walking distance from the hotel. (Meals: Breakfast, Lunch, Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 8:</b> Grand Canyon West Rim Tour with Skywalk (Optional) + Evening Chris Angel Show
										</p>
										<p class="aj">Spend the day at the Grand Canyon with our bus tour, including a Hoover Dam Photo stop along the way and the New Wonder of the West, The SKYWALK. Later in the evening, proceed to Chris Angel Show at Luxor Hotel. Later, proceed to the restaurant for your dinner. (Meals: Breakfast, Lunch, Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 9:</b> Las Vegas - Los Angeles - City Tour - Madame Tussaud’s Hollywood
										</p>
										<p class="aj">Enjoy breakfast at the hotel, and then depart to Los Angeles by road (approx. 4.5 hours). On arrival, proceed for a guided city tour - we will drive you through the “Entertainment capital of the world,” Hollywood, Hollywood Walk of Fame, Beverly Hills, Grumman Chinese Theater, Sunset strip, Rodeo Drive for the world’s most expensive shopping, and Chinatown for some good bargains. Later, visit the famous Madame Tussaud’s museum; meet 125 of Hollywood's top celebrities! Later, proceed for dinner and enjoy a mouthwatering spread at a lovely restaurant. (Meals: Breakfast, Lunch, Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 10:</b> Los Angeles - Universal Studios
										</p>
										<p class="aj">Join us today for a tour of Universal Studios, which has always been known for its innovative rides and attractions and is designed to let visitors experience the movies like never before. A trip to Universal is like a trip into the heart of Hollywood. With films and TV shows always in production, one never knows who they might see wandering the sidewalks of the park. Later enjoy dinner. (Meals: Breakfast, Lunch, Dinner)</p>
										</td>
										</tr>
										</table>					
										</div><div id="show_more_content" style="display:none;">
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 11:</b> Los Angeles - San Francisco
											</p>
											<p class="aj">After breakfast, we depart for San Francisco by road (approx. 8 hours), which is one of the few North American cities to achieve the legendary status of such places as Paris or London. The city's well-known hills offer stunning views of the Pacific Ocean and San Francisco Bay and 17 mile drive. In addition to its diversity and charm, San Francisco is a gateway to Silicon Valley, America's premier high technology center. Upon arrival, check in to the hotel. Later enjoy dinner. (Meals: Breakfast, Lunch, Dinner)</p>
											</td>	
											</tr>
											</table>				
											</div>
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 12:</b> San Francisco City tour & Bay Cruise
											</p>
											<p class="aj">Today, we proceed on a sightseeing tour of San Francisco. You will visit the famous Golden Gate Bridge, with the world’s highest bridge towers. Continue on to Twin Peaks, Lombard Street, Cable Car, Pier 39, Nob Hill, Civic Center, Union Square and Fisherman’s Wharf, Palace of Fine Arts, Bay Cruise & other highlights. Later enjoy dinner. (Meals: Breakfast, Lunch, Dinner)</p>
											</td>	
											</tr>
											</table>				
											</div>
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 13:</b> Departure from San Francisco to Cochin
											</p>
											<p class="aj">After breakfast, spend some time at leisure. Take some time out for additional shopping, or, proceed to the airport to board the flight for your next destination. (Meals: Breakfast)</p>
											</td>	
											</tr>
											</table>				
											</div>					
									</div>									<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
																	<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Return airfare on Emirates airlines</li><li>
USA tourist visa</li><li>
Travel insurance</li><li>
02ns @ New York @ Holiday Inn Nj / similar</li><li>
02ns @ Washington @ Holiday Inn Express / similar</li><li>
02ns @ Niagara @ Hampton Inn bufalo / similar</li><li>
02ns @ Las Vegas @ Hotel Westgate / similar</li><li>
02ns @ Los Angels @ Hotel Best western covina / similar</li><li>
02ns @ San Francisco @ Comfort Inn SFO / similar</li><li>
Daily breakfast at hotel</li><li>
12 Lunch +12 Dinner at restuarant</li><li>
Return airport transfers</li><li>
Guided city tour at New York , Washington, Las Vegas , Los Angels and Sanfrancisco</li><li>
Sightseeings includes (Statue of Liberty Cruise, One World Observatory, Luray Caverns, Smithsonian Air & Space Museum, Museum of natural history, Corning Glass museum, Hershey’s chocolate world, Niagara Discovery Pass, Madame Tussaud’s Hollywood, Stratosphere Tower, Chris Angel Show, Universal Studio, 17 mile drive, Bay cruise)</li><li>
All transfers on Pvt basis</li><li>
Services of Tour Manager from Alhind Holidays</li><li>
All current taxes</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Any changes in Govt taxation</li><li>
GST 5% of the total amount</li><li>
Any expenses not mentioned in the inclusions</li><li>
Any other expenses in personal nature</li><li>
Internal flight Baggage charges, Portage charges,Laundry charges, telephone charges,</li><li>
Expense of Visa interview</li><li>
Tips</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>More than 25 days of departure</li><li>
· 40% of the land package + non-refundable services, if any</li><li>
· Remaining 60% before 25 days of departure</li><li>
Within 25 days of departure</li><li>
100%  Payment at booking creation</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>349000</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</div>
					 							<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>20 days or more prior to departure</li><li>
35% of the package OR min prepayment, whichever is higher</li><li>
Within 20 days to departure</li><li>
100% of the package cost</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.nktoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="GRAND USA TOUR PACKAGE - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="188737"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/rishikesh-tour-packages.htm" title="Rishikesh Tour Packages">Rishikesh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/mussoorie-tour-packages.htm" title="Mussoorie Tour Packages">Mussoorie</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/dehradun-tour-packages.htm" title="Dehradun Tour Packages">Dehradun</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/haridwar-tour-packages.htm" title="Haridwar Tour Packages">Haridwar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/medak-tour-packages.htm" title="Medak Tour Packages">Medak</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/havelock-tour-packages.htm" title="Havelock Tour Packages">Havelock</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/bagdogra-tour-packages.htm" title="Bagdogra Tour Packages">Bagdogra</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/darjeeling-tour-packages.htm" title="Darjeeling Tour Packages">Darjeeling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/dalhousie-tour-packages.htm" title="Dalhousie Tour Packages">Dalhousie</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/corbett-tour-packages.htm" title="Corbett Tour Packages">Corbett</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/nainital-tour-packages.htm" title="Nainital Tour Packages">Nainital</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/abu-dhabi-tour-packages.htm" title="Abu Dhabi Tour Packages">Abu Dhabi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/joshimath-tour-packages.htm" title="Joshimath Tour Packages">Joshimath</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/new-york-tour-packages.htm" title="New York Tour Packages">New York</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/denver-tour-packages.htm" title="Denver Tour Packages">Denver</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/kuala-lumpur-tour-packages.htm" title="Kuala Lumpur Tour Packages">Kuala Lumpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/singapore-city-tour-packages.htm" title="Singapore Tour Packages">Singapore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/likabali-tour-packages.htm" title="Likabali Tour Packages">Likabali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/las-vegas-tour-packages.htm" title="Las Vegas Tour Packages">Las Vegas</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/genting-tour-packages.htm" title="Genting Tour Packages">Genting</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/dubai-tour-packages.htm" title="Dubai Tour Packages">Dubai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/kedarnath-tour-packages.htm" title="Kedarnath Tour Packages">Kedarnath</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/borana-tour-packages.htm" title="Borana Tour Packages">Borana</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/srinagar-tour-packages.htm" title="Srinagar Tour Packages">Srinagar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/colombo-tour-packages.htm" title="Colombo Tour Packages">Colombo</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nktoursandtravels.com/washington-tour-packages.htm" title="Washington Tour Packages">Washington</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nktoursandtravels.com/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:63:"Book GRAND USA TOUR PACKAGE - 12 Nights / 13 Days Tour Packages";i:2;s:174:"book grand usa tour package - 12 nights / 13 days tour packages, beach and islands tour packages, washington, new york, las vegas, san francisco, denver, borana tour packages";i:3;s:222:"N. K. Enterprise Tours & Travel offers GRAND USA TOUR PACKAGE - 12 Nights / 13 Days tour package, budget Beach and Islands tour packages for Washington, New York, Las Vegas, San Francisco, Denver, Borana at exciting price.";i:4;s:456:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Washington, New York, Las Vegas, San Francisco, Denver, Borana"        
		                 },
		      "description": "",
		      "name": "GRAND USA TOUR PACKAGE",
		      "telephone": "+91-7289828165"
		    }
		    </script>
			";i:5;N;}