a:6:{i:0;s:32799:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>USA TOUR</h1></div>
						<p class="breadcrumb ar uu small"><a href="https://www.balajitravelsandevents.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="https://www.balajitravelsandevents.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> USA TOUR</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, Los Angeles, San Francisco, Denver</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.balajitravelsandevents.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="USA TOUR - 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="189366"/>
						</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_20/597019/297183.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/597019/297183.jpg"  width="150" height="104"    alt="USA TOUR" title="USA TOUR" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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> New York City
										</p>
										<p class="aj">Welcome to NY!! Our representative will be at the airport for private pick up. Pick up details for each airport is given below. We will need the contact number of the passengers to facilitate transfers. ****One carry on and one suitcase per person only***** Experience a World class New York hotel located in Fashionable area of Midtown Manhattan when you check into the Luxurious midtown property PARKER with breathtaking views of Central Park and the Manhattan skyline. (Check in time 3 PM). ****Please note that the hotel may take your Credit card at the time of check in towards Incidentals. The hold on the card will be released once the guests check out if no charges are incurred********** Porterage is not included in the cost. Meet your tour manager at 7 pm in the hotel lobby to start the tour. Enjoy a wonderful buffet dinner at restaurant walking distance from the hotel. After dinner, enjoy free time at Times Square on own to see the city in action at night. Overnight at Hotel.</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
										</p>
										<p class="aj">Depart from the hotel at 8 am in the morning for your breakfast at an American restaurant. After breakfast, proceed to go on to the Statue of Liberty Ferry from Battery Park. View the world famous iconic Statue symbolizing the country’s freedom. Lunch on own. Make a pit stop to see the “NY BULL” on Wall St. This bronze statue weighs 3200 kgs & is a symbol of financial optimism & prosperity. Enjoy a scenic view from the top of Freedom tower observation deck. This is now the tallest building on the Western Hemisphere and stands in place of Twin towers. We will make a photo stop at Ground Zero (entrance to 9/11 memorial is not included). Get down to get a closer look at Rockefeller center comprising of 19 high rise commercial buildings. Declared a national historic monument, you will be able to get quick photos of this landmark. Explore Souvenir shopping to take some excellent mementos back home. Dinner at Indian Restaurant. See New York at its best from a double-decker bus. In “The City that Never Sleeps,” the best sightseeing happens after the sun goes down. Discover the brilliant lights, stunning views and vibrant nightlife with double decker Night Tour! Overnight at hotel.</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> Washington, D.C.
										</p>
										<p class="aj">Get an early start to your day after breakfast & drive to Philadelphia (approximately 2 hours’ drive without traffic. Enjoy an entertaining guided tour of the largest city in Pennsylvania State (guided city tour). Our entertaining tour guide is a history buff, and he will relate the love of the city and a real sense of Philadelphia’s place in history to the group. Lunch on own. On your way from Philadelphia to DC, stop at DC’s latest happening waterfront destination with shopping, restaurants and DC’s latest attraction- Skywheel. This stately Observation wheel takes the riders as high as 180 Ft above the river, giving a wonderful bird’s eye view of the Potomac River. Enjoy a Dinner enroute to the hotel. Check into Marriott Tysons or Similar.</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> Harrisburg
										</p>
										<p class="aj">Today after breakfast, Enjoy a city tour of DC with a specialized guide covering all the major landmarks. See all the key attractions in DC and learn about the history and trivia that surrounds Washington on this interactive tour of the capital city. You will visit the major monuments on this quick and efficient. At the end of the city tour, you will be given time at Air & space museum (1 hour and 30 minutes) to view all the different exhibits related to space & Aeronautics. Lunch on own. You will also be given time to visit museum of Natural history (1 hour and 30 minutes). Follow the amazing smell of cocoa beans on a delicious journey in an immersive chocolate ride at Hershey’s (2 hours’ drive). Dinner at Indian restaurant & check into Hotel (Hilton Harrisburg or Similar).</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> Niagara Falls
										</p>
										<p class="aj">After breakfast, proceed to do the Pennsylvania Capitol tour (if open for tours). The Pennsylvania State Capitol is the seat of government for the U.S. state of Pennsylvania and is in downtown Harrisburg. After an inside peek at the political hub of the state, follow the sweet scent of grapes to enjoy some wine tasting at Mt.Hope Winery-perfect way to bond with your fellow travellers. You will need some retail therapy after this sweet destination and this calls for a trip to Tanger outlet mall offering a lot of designer brand labels for cheap including American outfitters, Banana Republican, Michael Kors, Polo Ralph Lauren. Lunch on own. Proceed to Niagara Falls (approximately 6 hours of drive). Dinner at Indian restaurant enroute. View the illumination of falls at night. This illumination includes a range of colors that alternate throughout the evening and shine over all of Niagara Falls & stay overnight at hotel (Sheraton at the falls or similar)</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
										</p>
										<p class="aj">The hotel is walking distance to the park. There will be no coach on this day of the tour. Today after breakfast, enjoy a 30 minute IMAX movie at the Niagara adventure theatre. To view you next attraction, Cave of the Winds, you will take an elevator ride- 175 feet below to get to a feel the power of Falls first hand. Geared-up in a souvenir rain poncho and specially designed sandals, guests follow wooden walkways along Niagara River to the Hurricane Deck. Do not forget to take an extra pair of clothes as you will definitely get wet. You will also take a closer look at the Bridal Veil falls in a boat ride abroad Maid of the mist. Lunch on own. Evening Free on own. Dinner at Indian restaurant & overnight at hotel.</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> Las Vegas
										</p>
										<p class="aj">After breakfast, our representative will pick you up from the hotel for airport transfer based on your individual flights (please note that check out time is 11 am). Packed breakfast option is not available for passengers taking an early flight.<br />
Welcome to LAS VEGAS!!!! Your pick up will be done by our airport representative at Baggage claim for Domestic passengers on a private basis. (in order for us to coordinate the pick-up, we need a valid contact number for the passengers).Check into Hotel PARIS (Check in time 4 PM). ****Please note that the hotel may take your Credit card at the time of check in towards Incidentals. The hold on the card will be released once the guests check out if no charges are incurred. If you would like to do an early check in, please check in with the front desk for any supplemental charges. Meet your tour manager at 6 pm in the hotel lobby to start the tour. Take a ride 46 stories up in an Exhilarating, adrenaline charged glass elevator of Eiffel tower in PARIS hotel to get an amazing 360 degree views of the city. This attraction is half scale replica of world famous Paris, France Landmark and the views of bright, colorful lights are unmatched from the top (the attraction is open till 1 am and you can explore it on own. Tickets will be handed over by TM). Dinner will be at the Indian restaurant (walking distance from the hotel). Overnight at hotel. There will be no coach this day!!!</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> Las Vegas
										</p>
										<p class="aj">Today is a free day on own. If you have booked your Grand Canyon through us, our Tour manager will drop you off at the pickup location for your tour and Breakfast will be packed for those passengers taking the Grand Canyon coach tours. For passengers, choosing to not take the Grand Canyon, we will be arranging breakfast (continental) at St. Louis Café. Meet your Tour Manager in the evening for Dinner at the Indian restaurant and get on board Double-decker bus. As dusk falls, the city turns on. See the dazzling neon lights as you travel down the strip and roll past casinos, wedding chapels and historic landmarks into the heart of downtown. Dinner at the Indian restaurant. Overnight at the hotel. There will be no coach this day !!!</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> Los Angeles
										</p>
										<p class="aj">After buffet breakfast at the hotel, have an early start & depart for Los Angeles. Enjoy some retail therapy at Barstow outlet mall for shopping and visit some of the most famous stores like Michael Kors and Nike. Lunch on own. Visit OUE Skyspace and experience a Panoramic 360- degree View from the second tallest building West of Mississippi. The building structure is designed to withstand earthquakes to the magnitude of 8.3 on Richter scale. You will be taken to the 70th floor to get a wonderful view of the city. You can also slide from one level of the building to another to get a glimpse of the city in its glory. Proceed for city tour of Los Angeles. Enjoy a guided tour of Los Angeles by our experienced tour guide. Drive through the busy streets of Avenue of Stars, Kodak theatre and rodeo drive. Get your picture of the famous Hollywood sign from one of the vantage points. Enjoy a wonderful buffet dinner at the Indian restaurant. Check into Hotel for Overnight stay.</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)
										</p>
										<p class="aj">After breakfast at the hotel, You will then be taken to Universal Studios to enjoy the full day at the park. This Sprawling Amusement park with thrilling theme rides, restaurants, shows, shops and one of the oldest real working movie studio in use is definitely a unique & fun filled experience for the whole family. Visit world famous store to get some local stuff for reasonable prices and shop for family and friends back home. Free time at Walmart. Dinner at Indian restaurant. Overnight at Hotel. ****** the itinerary in Los Angeles is subject to change based on traffic conditions.</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> (San Francisco )
											</p>
											<p class="aj">Today after breakfast, you will drive to Natural bridges park (approximately 6 hours). This park and beach offer an excellent vantage point for viewing shore birds, migrating whales, as well as seals and otters playing offshore.<br />
Sync in a little more with nature and enjoy time at Santa Cruz beach. You will get to see California’s oldest surviving amusement park right next to the coast line. Free time to enjoy the stunning views of the bay. Lunch will be enroute. From here, you will get to Enjoy buffet dinner at the Indian restaurant. Overnight at Hotel.</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
											</p>
											<p class="aj">You will have a full day to enjoy in San Francisco today. After breakfast at the hotel, enjoy the amazing skyline of San Francisco on BAY CRUISE with spectacular views of Alcatraz, Golden Gate Bridge & Bay Bridge. An Audio tour in 16 languages is available to get detailed history of this great city. Lunch on own. Your guide today will cover all the major highlights of the city in an in-depth city tour including TWIN PEAKS, San Francisco's Twin Peaks are two prominent hills near the centre of the city. Each one stands at about 922 feet tall, and they offer amazing views of the Bay Area all the way down to the water. Enjoy a wonderful ride aboard Cable car (the world’s last manually operated Cable car system- if operational). Enjoy and Discover San Francisco’s Biggest landmarks and attractions in awe inspiring a 3D movie that has you flying with your feet dangling over the city by the bay. The Flyer SF is the perfect way to end your tour. Enjoy buffet dinner at the Indian restaurant. Overnight at hotel.</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> San Francisco
											</p>
											<p class="aj">Today after breakfast, check out from the hotel (check out time is 11 am). The hotel offers a complimentary shuttle to the airport. Please check with the bell desk regarding shuttle timings. If you have any early flight & no shuttle is operational, please take a cab on own.</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>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Some Advance Percentage of total booking amount</li><li>
Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.balajitravelsandevents.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="USA TOUR - 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="189366"/>
						</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="https://www.balajitravelsandevents.com/dehradun-tour-packages.htm" title="Dehradun Tour Packages">Dehradun</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/almora-tour-packages.htm" title="Almora Tour Packages">Almora</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/gangtok-tour-packages.htm" title="Gangtok Tour Packages">Gangtok</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/singapore-city-tour-packages.htm" title="Singapore Tour Packages">Singapore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/bangkok-tour-packages.htm" title="Bangkok Tour Packages">Bangkok</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/patnitop-tour-packages.htm" title="Patnitop Tour Packages">Patnitop</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/punakha-tour-packages.htm" title="Punakha Tour Packages">Punakha</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/gangotri-tour-packages.htm" title="Gangotri Tour Packages">Gangotri</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/alleppey-tour-packages.htm" title="Alleppey Tour Packages">Alleppey</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/kuala-lumpur-tour-packages.htm" title="Kuala Lumpur Tour Packages">Kuala Lumpur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/paro-tour-packages.htm" title="Paro Tour Packages">Paro</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/nuwara-eliya-tour-packages.htm" title="Nuwara Eliya Tour Packages">Nuwara Eliya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/kochi-tour-packages.htm" title="Kochi Tour Packages">Kochi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/joshimath-tour-packages.htm" title="Joshimath Tour Packages">Joshimath</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/thimphu-tour-packages.htm" title="Thimphu Tour Packages">Thimphu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/goa-city-tour-packages.htm" title="Goa City Tour Packages">Goa City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/cherrapunji-tour-packages.htm" title="Cherrapunji Tour Packages">Cherrapunji</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/kandy-tour-packages.htm" title="Kandy Tour Packages">Kandy</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/shillong-tour-packages.htm" title="Shillong Tour Packages">Shillong</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/katra-tour-packages.htm" title="Katra Tour Packages">Katra</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/pelling-tour-packages.htm" title="Pelling Tour Packages">Pelling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/haridwar-tour-packages.htm" title="Haridwar Tour Packages">Haridwar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/thekkady-tour-packages.htm" title="Thekkady Tour Packages">Thekkady</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/siliguri-tour-packages.htm" title="Siliguri Tour Packages">Siliguri</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/colombo-tour-packages.htm" title="Colombo Tour Packages">Colombo</a> <b class="alpha50 bn small">(2)</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="https://www.balajitravelsandevents.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(19)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.balajitravelsandevents.com/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/mountaineering-holidays-catid.htm" title="Mountaineering Packages">Mountaineering</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.balajitravelsandevents.com/valley-holidays-catid.htm" title="Valley Packages">Valley</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>
				</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:49:"Book USA TOUR - 12 Nights / 13 Days Tour Packages";i:2;s:157:"book usa tour - 12 nights / 13 days tour packages, adventure tour packages, washington, new york, las vegas, los angeles, san francisco, denver tour packages";i:3;s:199:"Balaji Travels and Events offers USA TOUR - 12 Nights / 13 Days tour package, budget Adventure tour packages for Washington, New York, Las Vegas, Los Angeles, San Francisco, Denver at exciting price.";i:4;s:447:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Washington, New York, Las Vegas, Los Angeles, San Francisco, Denver"        
		                 },
		      "description": "",
		      "name": "USA TOUR",
		      "telephone": "+91-9399110763"
		    }
		    </script>
			";i:5;N;}