a:6:{i:0;s:32365:"				<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-->				
									<div class="h1"><h1>Festival Trip Three nights four days</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.dargyallingtt.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.dargyallingtt.com/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Festival Trip Three nights four days</p> 
									
						<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> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Thimphu</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="http://www.dargyallingtt.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Festival Trip Three nights four days - 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="107816"/>
						</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_13/364514/178712.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/364514/178712.jpg"  width="150" height="150"    alt="Festival Trip Three nights four days" title="Festival Trip Three nights four days" /></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> Bhutan
										</p>
										<p class="aj">Among the various tshechus in Bhutan, the Festival of Thimphu Tshechu, instituted in 1867 by the 4th Desi Tenzin Rabgye, is one of the biggest festivals in the capital city of Bhutan and draws a major tourist attraction from around the world. Plan your visit to Bhutan to coincide with this festival held in September or October each year. This festival provides a real appreciation of both the Buddhist faith and the Bhutanese way of life.<br />
Thimphu Tshechu program, DAY ONE:<br />
The Dance of the Four Stag (Shacham): This shows how Guru Rimpoche subdued the God of the Wind, who created much unhappiness in this world and rode the stag which was the god’s mount. The dancers in the role of stags wear yellow knee-length skirts and masks of horned deer.<br />
Dance of the Three Kinds of Ging (Pelage Gingsum): This is the visual representation of Zangtho Peleri, the heavenly paradise of Guru Rimpoche, as seen by Pema Lingpa. The dancers show how to subdue the demons that are creating obstacles to religion. Although the demons are fleeing throughout the three worlds, the Ging (beings that are emanations of Guru Rimpoche) with the sticks can find them , thanks to their knowledge. They catch them with the hook of compassion, beat them with the stick of wisdom and tie them with the noose of compassion. The Lords of the cremation grounds bring a box that contains the mind and the body of these demons. Then the Ging with the swords purify the atmosphere from evil deeds that are caused by the demons. After the demons have been vanquished, the Ging with the drums dance with happiness. For the dance with the sticks the Ging wear animal masks, and for the dance with the swords and the drums, they wear terrifying masks.<br />
Dance of the Heroes (Pacham) When Pema Lingpa arrived at Zangtho Pelri, he saw Guru Rimpoche sitting among his assistants in the center of a limitless mandala (mystic geocentric figure) which was made of lines of rainbow beams. This dance is to lead the believers of the human world into the presence of Guru Rimpoche. The dancers wear yellow skirts and golden crowns without a mask. They carry a small bell (dri-lbu) and a small drum (damaru).<br />
Dance of the Stag and the Hounds (Shawo Shachi) This dance represents the conversion of Buddhism of the hunter Gonpo Dorji by the Saint Milarepa. It is performed like a play in two parts. The first part takes place the first day and the second part is on the second day of the Thimphu festival. The first part is quite comical; the hunter’s servant appears and jokes with the clowns. Then comes the hunter, crowned with leaves, carrying a bow and arrows and accompanied by his tow dog. The servant jokes very irreverently with his master who, before going hunting, must perform some good-luck rituals. The priest, who is called, performs the ritual in ways contrary to the Buddhist tradition, while the atsaras (clowns) and the servant go on with their jokes.<br />
Dance with Guitar (Dranyeo Cham): This is a cheerful dance to celebrate the diffusion of Drukpa lineage in Bhutan by Shabdrung Ngawang Namgyal. The dancers carry swords and are dressed in a circular headdress and heavy woolen clothes with felt boots, a long black skirt, yellow shirt and brown coat. One dancer carries a guitar called a dranyen.</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> Thimphu Tshechu Program,
										</p>
										<p class="aj">Black Hat Dance (Shana)The dancers wear brocade dresses, wide brimmed black hats and black aprons with an image representing the protecting deities whose images are kept in the goenkhang (chapel). The black-hat dancers assume the appearance of yogis who have the power of killing andrecreating life. It is believed that the gestures of the dancers’ hands are transformed into mudras (sacred mystic gestures) and their feet, which pound the earth, form a mandala. The dancers first build a mandala and then cut the demons into pieces. Thus, they take possession of the earth in order to protect it and they dance the special thunderbolt step to impress their power on it. Because of its importance, the Shabdrung himself used to perform this ritual. This is a ground purification rite, also performed for the construction of dzongs, temples and chortens. Its aim is to conciliate the malevolent beings of the ground in order to take possession of the site from them.<br />
Dance of the 21 Black Hats with Drums (Shaa Nga Cham) In honor of the victory of religion over the enemies, the black hats beat the great drums of Buddhism. The sound of the drums represents the religion itself, which cannot be represented in any other way because it has no visible form. The dancers wear large black hats, felt boots and a long, colorful, brocade dress.Kyecham An accompanying dance is performed by dancers carrying swords and wearing knee-length yellow skirts, bare-feet and animal masks.<br />
Dance of the Noblemen and the Ladies (Pholeg Moleg) This dance depicts events in the life of King Norzang. It is a comical and very crude play rather than a dance. The actors are two princesses, an old couple and the clowns. The prince goes to war and leave the princesses in the care of the old couple. As soon as they depart, the clowns frolic with the princesses and corrupt the old woman who is also misbehaving. When the princes return, they are scandalized by the behavior and cut off the noses of the princesses and the old lady as punishment. Then a doctor is called to put the nose back, but the old woman smells so much that the doctor has to use a stick because he does not want to approach her. Finally, the princes marry the princesses and everybody is reconciled.<br />
Dance of the Drums from Dramitse (Dramitse Nga Cham) The learned lama Kuenga Gyeltshen, son of Pema Lingpa, had vision of Guru Rimpoche and his paradise Zangtho Pelri during his meditation. The attendants of Guru Rimpoche were transformed into one 100 kinds of peaceful and terrifying deities. They took in their left hand a big drum and in their right hand a drumstick and they performed a dance. Kuenga Gyeltshen came to Dramitse Goemba in Eastern Bhutan and established the tradition of this dance, which depicts his vision. The players hold big drums and wear knee-length yellow skirts and animal mask. Dance of the Stag and the Hounds (Shawo Shachi) This is the conclusion of the dance staged on the first day and is more serious and religious. Milarepa appears, wearing a long white dress and a white hat, holding a pilgrim’s staff. He holds his right hand near his ear and sings in a soft voice. The dogs, the stag and the hunter arrive and Milarepa converts them with his song. The conversion is symbolized by a rope that the dogs and the hunter have to jump.</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> Thimphu Tshechu Program
										</p>
										<p class="aj">Dance of the Lords of the Cremation Grounds (Durdag) This dance was composed by the Shabdrung Ngawang Namgyal. The dancers represent the protectors of the religion who live in the eight cremation grounds on the external edges of the symbolic Mount Sumeru. They wear short white skirts, white boots, and white skull masks.<br />
Dance of the Terrifying Deities (Tungam) This dance is performed with the aim of delivering the beings by showing them Zangtho Pelri. The costumes are beautiful brocade dresses, boots and terrifying masks. This dramatic dance has a very deep symbolic meaning, namely that a sacrificial murder is performed. First the dancers representing the gods try to enclose the bad spirits in a circle and in a box. Once this is done, Guru Rimpoche, in the form of Dorji Drakpo (fierce thunderbolt), kills them with a phorbu (ritual dagger). He thus saves the world from them and delivers them into salvation at the same time.<br />
Dance of the Rakshas and the Judgement of the Dead (Raksha Mangcham) This is based on the Bardo Thoedrol (Book of the Dead), a text hidden by Guru Rimpoche and rediscovered Karma Lingpa in the 14th century. This is one of the most important dances of the Tshechu and is watched carefully by many old people in preparation for their own death. When all beings, die, they wander in the Bardo (intermediate state) waiting to be led by the love of the Buddha into the pure fields where no suffering exists. However, the Buddhas assume both peaceful and terrifying forms. Those who didn’t adore the Buddhist doctrine do not recognize the Buddhism in their terrifying form and are frightened and cannot be led into the paradises. Shinje Chhogyel, Lord of Death, estimates the value of the white and black deeds during the judgement. Also present are the White God and Black Demon who live with every being from birth, and all the helpers who emanate under numerous forms. These include; the ox-headed justice minister, the wild hog-headed helper who takes account of the black and white deeds, the Khyung-headed bird who holds a small sword to cut the root of the three poisons (ignorance, envy, anger) and a big hammer to destroy the rocky mountains of sins, a lion-headed helper holds a lasso representing love and an iron chain representing compassion, the fierce bear-headed helper holds the magical noose binding the means and wisdom together and a saw to cut selfishness, a serpent-headed helper holds a mirror reflecting all actions, and the monkey-headed helper weighs them on a scale. All these helpers are called rakshas and they separate the black actions from the white actions of all beings. The frightening Court of Justice cannot be avoided by the damned beings. But after enduring certain sufferings, their sins are washed away and they are purified. This dance shows everyone that if they devote themselves to virtuous actions, they will be sent immediately to the pure fields and paradises. Then after life, when they have to cross the Bardo and meet the helpers and the assembly of peaceful and terrifying deities, they recognize them as incarnations of Buddha and are delivered from the frightening Bardo. The dance is like a play and lasts over two hours. First is the long dance of all the rakshas, the helpers of Shinje. Then Shinje himself appears, symbolized by a huge puppet holding a mirror. The White God and the Black Demon enter with them. The Judgement begins. The Black Demon and his helpers perform a dance. The sinner, dressed in black and wearing a red hat, is frightened and tries to escape but is recaptured each time. From his basket a freshly severed cow’s head is taken, implying that the sinner was responsible for killing it. As the judge weighs his actions, the White God sings of the merits of the man and the Black Demon expounds the sins. Finally a black strip of cloth symbolizing the road to hell is spread and the sinner is sent to hell. After a general dance everyone sits again. Another man arrives, clad in white and holding a prayer flag and a ceremonial scarf. The same scene is re-enacted and at the conclusion a white strip of cloth, representing the road to heaven, is deployed. Fairies elaborately dressed in brocade and bone-ornaments come to fetch him. At the last moment, the Black Demon, furious at having lost a being, tries to grasp the virtuous man but the White God protects him.<br />
<br />
Bird Watching<br />
<br />
Bhutan is a paradise for bird lovers and ornithologists. Over 670 species of birds have been recorded and many more are yet to be discovered. Around 50 species of the known birds are winter migrants. These include ducks, waders, birds of prey, thrushes, finches and buntings.The country is an important wintering ground for the rare Black necked crane. They can be spotted in Phobjikha in Western Bhutan, Bumthang in Central Bhutan and in Bomdeling in Eastern Bhutan. They migrate to these winter roosting places in the months of September and October and fly back to Tibet between February and March.The following is a comprehensive list of the endangered birds of Bhutan:<br />
<br />
1. Baer’s Pochard<br />
2. Beautiful Nuthatch<br />
3. Black-necked Stork<br />
4. Blackish-breasted Babbler<br />
5. Blyth’s Kingfisher<br />
6. Chestnut-breasted Partridge<br />
7. Dark-rumped Swift<br />
8. Eurasian Curlew<br />
9. Eurasian Peregrine Falcon<br />
10. Ferruginous Duck<br />
11. Gray-crowned Prinia<br />
12. Great Hornbill<br />
13. Lesser Fish-eagle<br />
14. Palla’s Fish-eagle<br />
15. Pallid Harrier<br />
16. Rufous-necked Hornbill<br />
17. Rufous-throated Wren-babbler<br />
18. Satyr Tragopan<br />
19. Ward’s Trogon<br />
20. White-rumped Vulture<br />
21. White-throated Bushcat<br />
22. Woodsnipe<br />
23. Yellow-rumped Honeyguide<br />
24. Black-necked Crane<br />
25. Imperial Heron<br />
26. White-bellied Heron</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> Departure
										</p>
										<p class="aj">Tour End</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																</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 
* 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. 
* 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="http://www.dargyallingtt.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Festival Trip Three nights four days - 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="107816"/>
						</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.dargyallingtt.com/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.dargyallingtt.com/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(8)</b></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.dargyallingtt.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.dargyallingtt.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(8)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Thimphu</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.dargyallingtt.com/tour-packages/tourin-bhutan-six-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/364514/178709.jpg"  alt="Tour in Bhutan Six days" title="Tour in Bhutan Six days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.dargyallingtt.com/tour-packages/tourin-bhutan-six-days.htm" title="Tour in Bhutan Six days"><h3>Tour In Bhutan Six Days</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Thimphu, Paro</p>
															<div class="mt10px small">
							<form name="pkg_107813" id="pkg_107813" method="post" action="http://www.dargyallingtt.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.dargyallingtt.com/tour-packages/tourin-bhutan-six-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Tour in Bhutan Six days - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="107813"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.dargyallingtt.com/tour-packages/tourin-bhutan-eight-nights-nine-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/364514/178711.jpg"  alt="Tour in Bhutan Eight nights nine days" title="Tour in Bhutan Eight nights nine days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.dargyallingtt.com/tour-packages/tourin-bhutan-eight-nights-nine-days.htm" title="Tour in Bhutan Eight nights nine days"><h3>Tour In Bhutan Eight Nights Nine Days</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Thimphu, Paro</p>
															<div class="mt10px small">
							<form name="pkg_107815" id="pkg_107815" method="post" action="http://www.dargyallingtt.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.dargyallingtt.com/tour-packages/tourin-bhutan-eight-nights-nine-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Tour in Bhutan Eight nights nine days - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="107815"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.dargyallingtt.com/tour-packages/introducing-magical-bhutan3-nights4-days-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/364514/177918.jpg"  alt="Introducing Magical Bhutan: 3 nights 4 days Tour" title="Introducing Magical Bhutan: 3 nights 4 days Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.dargyallingtt.com/tour-packages/introducing-magical-bhutan3-nights4-days-tour.htm" title="Introducing Magical Bhutan: 3 nights 4 days Tour"><h3>Introducing Magical Bhutan: 3 Nights 4 Day..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Thimphu, Paro</p>
															<div class="mt10px small">
							<form name="pkg_107024" id="pkg_107024" method="post" action="http://www.dargyallingtt.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.dargyallingtt.com/tour-packages/introducing-magical-bhutan3-nights4-days-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Introducing Magical Bhutan: 3 nights 4 days Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="107024"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.dargyallingtt.com/tour-packages/tourin-bhutan-three-nights-four-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/364514/178706.jpg"  alt="Tour in Bhutan Three nights four days" title="Tour in Bhutan Three nights four days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.dargyallingtt.com/tour-packages/tourin-bhutan-three-nights-four-days.htm" title="Tour in Bhutan Three nights four days"><h3>Tour In Bhutan Three Nights Four Days</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Thimphu, Paro</p>
															<div class="mt10px small">
							<form name="pkg_107810" id="pkg_107810" method="post" action="http://www.dargyallingtt.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.dargyallingtt.com/tour-packages/tourin-bhutan-three-nights-four-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Tour in Bhutan Three nights four days - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="107810"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.dargyallingtt.com/tour-packages/two-nights-three-days-tourin-bhutan.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/364514/178705.jpg"  alt="Two nights three days Tour in Bhutan" title="Two nights three days Tour in Bhutan"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.dargyallingtt.com/tour-packages/two-nights-three-days-tourin-bhutan.htm" title="Two nights three days Tour in Bhutan"><h3>Two Nights Three Days Tour In Bhutan</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Thimphu, Paro</p>
															<div class="mt10px small">
							<form name="pkg_107809" id="pkg_107809" method="post" action="http://www.dargyallingtt.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.dargyallingtt.com/tour-packages/two-nights-three-days-tourin-bhutan.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Two nights three days Tour in Bhutan - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="107809"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.dargyallingtt.com/tour-packages/tourin-bhutan-five-nights-six-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/364514/178708.jpg"  alt="Tour in Bhutan Five nights six days" title="Tour in Bhutan Five nights six days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.dargyallingtt.com/tour-packages/tourin-bhutan-five-nights-six-days.htm" title="Tour in Bhutan Five nights six days"><h3>Tour In Bhutan Five Nights Six Days</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Thimphu, Paro</p>
															<div class="mt10px small">
							<form name="pkg_107812" id="pkg_107812" method="post" action="http://www.dargyallingtt.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.dargyallingtt.com/tour-packages/tourin-bhutan-five-nights-six-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Tour in Bhutan Five nights six days - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="107812"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:75:"Book Festival Trip Three nights four days - 3 Nights / 4 Days Tour Packages";i:2;s:128:"book festival trip three nights four days - 3 nights / 4 days tour packages, lakes & rivers tour packages, thimphu tour packages";i:3;s:170:"Dargyalling Tours & Treks offers Festival Trip Three nights four days - 3 Nights / 4 Days tour package, budget Lakes & Rivers tour packages for Thimphu at exciting price.";i:4;s:414:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thimphu"        
		                 },
		      "description": "",
		      "name": "Festival Trip Three nights four days",
		      "telephone": "+975-17694913"
		    }
		    </script>
			";i:5;N;}