<?php


 include('plc/includes/connection.php');
 
?>


<!doctype html>
<html class="no-js" lang="en">

<head>
    <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5851246149474600"
     crossorigin="anonymous"></script>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>HOME || MRITTIKA NOKHA</title>
	
    <meta name="description" content="Mrittika noksha embodies who we are, individually and as a company, and reflects our core values and the path we follow in pursuit of providing our clients with unmatched performance, unparalleled accountability, and the highest-level of satisfaction in the industry.">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    
    
    <meta property="og:url"                content="https://mrittikanoksha.com/" />
<meta property="og:type"               content="article" />
<meta property="og:title"              content="MRITTIKA NOKHA" />
<meta property="og:description"        content="We complete the work with our skilled craftsmen. Moreover we determine the quality by inspection by the Engineer." />
<meta property="og:image"              content="http://emsm.mrittikanoksha.com/plc/content/upload/IMG_20211118_122907.jpg" />
    
    <!-- Place favicon.ico in the root directory -->
    <link rel="shortcut icon" type="image/x-icon" href="plc/images/icon.png">
    <link rel="apple-touch-icon" href="apple-touch-icon.png">
    

    <!-- All css files are included here. -->
    <!-- Bootstrap fremwork main css -->
    <link rel="stylesheet" href="plc/css/bootstrap.min.css">
    <!-- Owl Carousel  main css -->
    <link rel="stylesheet" href="plc/css/owl.carousel.min.css">
    <link rel="stylesheet" href="plc/css/owl.theme.default.min.css">
    <!-- This core.css file contents all plugings css file. -->
    <link rel="stylesheet" href="plc/css/core.css">
    <!-- Theme shortcodes/elements style -->
    <link rel="stylesheet" href="plc/css/shortcode/shortcodes.css">
    <!-- Theme main style -->
    <link rel="stylesheet" href="plc/style.css">
    <!-- Responsive css -->
    <link rel="stylesheet" href="plc/css/responsive.css">
    <!-- User style -->
    <link rel="stylesheet" href="plc/css/custom.css">


    <!-- Modernizr JS -->
    <script src="plc/js/vendor/modernizr-2.8.3.min.js"></script>
	
		<style>
	
	
.icon-bar a {
  text-decoration: none;
  vertical-align: middle;
  text-align: center;
  line-height: 3;
}

.icon-bar a p {
  color: white;
  position: relative;
  left: -10px;
  font-family: 'Lato';
}

#sidebar {
  height: 250px;
  width: 10px;
  position: fixed;
  text-align: center;
  padding: 10px;
  margin-left: 10px;
}

p i {
  left: 30px;
  position: relative;
  vertical-align: middle;
  text-align: center;
  font-size: 24px;
}

.social {
  margin-left: -200px;
  width: 230px;
  padding: 0;
  display: inline-table;
  height: 0px;
  background-color: rgba(128, 128, 128, 0.73);
  -moz-transition-property: margin-left;
  -moz-transition-duration: 0.2s;
  -moz-transition-delay: 0.2s;
  -ms-transition-property: margin-left;
  -ms-transition-duration: 0.2s;
  -ms-transition-delay: 0.2s;
  -o-transition-property: margin-left;
  -o-transition-duration: 0.2s;
  -o-transition-delay: 0.2s;
  -webkit-transition-property: margin-left;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-delay: 0.2s;
  box-shadow: 0px 0px 6px 0px #3E3D3D;
  cursor: pointer;
}

.social:hover {
  margin-left: -30px;
  width: 230px;
  background-color: #3b5998;
}

.facebook:hover {
  background-color: #3b5998;
}

.facebook {
  background-color: #3b5998;
}

.twitter:hover {
  background-color: #4099FF;
}

.twitter {
  background-color: #4099FF;
}

.google:hover {
  background-color: #DD4B39;
}

.google {
  background-color: #DD4B39;
}

.linkedin p i {
  left: 20px;
}

.google p i {
  left: 35px;
}

.youtube p i {
  left: 18px;
}

.youtube:hover {
  background-color: #E52D27;
}

.youtube {
  background-color: #E52D27;
}

.linkedin:hover {
  background-color: #0976B4;
}

.linkedin {
  background-color: #0976B4;
}
	</style>
	
	
	
	
</head>

<body>





    <!--[if lt IE 8]>
        <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
    <![endif]-->  

    <!-- Body main wrapper start -->
    <div class="wrapper">
	
	
	
	<div id="header" class="htc-header">
            <!-- Start Header Top -->
            <div class="htc__header__top bg__cat--1">
                <div class="container">
                    <div class="row">
                        <div class="col-md-6 col-lg-6 col-sm-6 col-xs-12">
                            <ul class="heaher__top__left">
                                <li><i class="fa fa-clock-o"></i>8.30 AM  -  9.30 PM</li>
                                <li><a href="tel:01819727289"><i class="fa fa-phone"></i>01819 72 72 89</a></li>
                            </ul>
                        </div>
                        <div class="col-md-6 col-lg-6 col-sm-6 col-xs-12">
                            <div class="header__top__right">
                                <ul class="login-register">
                                    <li><a href="3">LOGIN</a></li>
                                    <li class="separator">/</li>
                                    <li><a href="3">REGISTER</a></li>
                                </ul>
                                <div class="heaher__top__btn">
                                    <a href="#">HOME</a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <!-- End Header Top -->
            <!-- Start Mainmenu Area--> 
            <div id="sticky-header-with-topbar" class="mainmenu__wrap sticky__header">
                <div class="container">
                    <div class="row">
                        <div class="col-md-2 col-sm-6 col-xs-7">
                            <div class="logo">
                                <a href="index.php">
                                    <img src="plc/images/sinply-construction.png" alt="logo image">
                                </a>
                            </div>
                        </div>
                        <div class="col-md-8 col-sm-6 col-xs-5">
                            <nav class="main__menu__nav  hidden-xs hidden-sm">
                                <ul class="main__menu">
                                    <li><a href="index.php">HOME</a></li>
                                    <li><a href="#">ABOUT</a></li>
                                    <li class="drop">
									<a href="plc/tutorials/tutorial.php">Tutorial</a>
										<ul class="dropdown">
                                            <li><a href="plc/tutorials/videos.php">Videos</a></li>
                                            <li><a href="plc/tutorials/tips.php">Tips</a></li>
                                            <li><a href="plc/tutorials/product.php">product</a></li>
                                            <li><a href="plc/tutorials/residential.php">Residential</a></li>
                                           
                                        </ul>
									</li>
                                    <li class="drop">
									<a href="plc/services/services.php">SERVICES</a>
                                        <ul class="dropdown">
                                            <li><a href="plc/services/industrial.php">Industrial</a></li>
                                            <li><a href="plc/services/commercial.php">Commercial</a></li>
                                            <li><a href="plc/services/emergency.php">Emergency</a></li>
                                            <li><a href="plc/services/residential.php">Residential</a></li>
                                           
                                        </ul>
                                    </li>
									<li class="drop">
									<a href="plc/project/projects.php">PROJECTS</a>
                                        
                                    </li>
                                    
                                    <li><a href="#">BLOG</a></li>
                                    <li><a href="plc/contact/contact.php">CONTACT</a></li>
                                </ul>
                            </nav>
                            <div class="mobile-menu clearfix visible-xs visible-sm">
                                <nav id="mobile_dropdown">
                                    <ul>
                                    <li><a href="index.php">HOME</a></li>
                                    <li><a href="#">ABOUT</a></li>
                                    <li class="drop">
									<a href="plc/tutorials/tutorial.php">Tutorial</a>
										<ul class="dropdown">
                                            <li><a href="plc/tutorials/videos.php">Videos</a></li>
                                            <li><a href="plc/tutorials/tips.php">Tips</a></li>
                                            <li><a href="plc/tutorials/product.php">Product</a></li>
                                            <li><a href="plc/tutorials/residential.php">Residential</a></li>
                                           
                                        </ul>
									</li>
                                    <li class="drop">
									<a href="plc/services/services.php">SERVICES</a>
                                        <ul class="dropdown">
                                            <li><a href="plc/services/industrial.php">Industrial</a></li>
                                            <li><a href="plc/services/commercial.php">Commercial</a></li>
                                            <li><a href="plc/services/emergency.php">Emergency</a></li>
                                            <li><a href="plc/services/residential.php">Residential</a></li>
                                           
                                        </ul>
                                    </li>
									<li class="drop">
									<a href="plc/project/projects.php">PROJECTS</a>
                                        
                                    </li>
                                    
                                    <li><a href="#">BLOG</a></li>
                                    <li><a href="#">CONTACT</a></li>
                                </ul>
                                </nav>
                            </div> 
                        </div>
                        <div class="col-md-2 col-sm-6 hidden-xs">
                            <div class="htc__header__search">
                                <input type="text" placeholder="SEARCH">
                                <a href="#"><i class="fa fa-search"></i></a>
                            </div>
                        </div>
                    </div>
                    <div class="mobile-menu-area"></div>
                </div>
            </div>
            <!--End Mainmenu Area -->
        </div>
        
        
        
        
        <div id="sidebar" style="position: fixed; z-index: 2147483647; display: block;">
		<div class="icon-bar">
  <div class="social facebook">
    <a href=" https://www.facebook.com/mrittikanoksha" target="_blank">
      <p>Like on Facebook <i class="fa fa-facebook "></i> </p>
    </a>
  </div>
  <div class="social twitter">
    <a href="https://twitter.com/EngrKamrulHasa7" target="_blank">
      <p>Follow on Twitter<i class="fa fa-twitter"></i> </p>
    </a>
  </div>
  <div class="social google">
    <a href=" https://www.plus.google.com " target="_blank">
      <p>&nbspAdd on Google+<i class="fa fa-google-plus"></i> </p>
    </a>
  </div>
  <div class="social youtube">
    <a href="https://www.youtube.com/channel/UCGwe-YeGJq_qC753_tmUudQ" target="_blank">
      <p>Subscribe on Youtube<i class="fa fa-youtube-play"></i> </p>
    </a>
  </div>
  <div class="social linkedin">
    <a href="https://www.linkedin.com/in/engr-kamrul-hasan-b44a1519b/" target="_blank">
      <p>Connect on LinkedIn<i class="fa fa-linkedin"></i> </p>
    </a>
  </div>
</div>
</div>
		
	
		<div style="font-weight:bold; text-align: center;"  class="alert-info">
				    <?php
				    if(isset($_GET['msg'])) echo $_GET['msg'];
				    ?>
				</div>
		
        
        <!-- Start Slider Area -->
        <div class="slider__container" >
            <div class="slider__activation__wrap owl-carousel owl-theme">
                <!-- Start Single Slide -->
				<?php $sqli=$conn->query("Select * from content where Id=12");
        foreach ($sqli as $key => $row) {
							?>
                <div class="slide slider__fixed--height slide__align--center" class="mySlides fade" style="background: rgba(0, 0, 0, 0) url(http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>) no-repeat scroll 0 0 / cover;" data--black__overlay="6">
                    <div class="container">
                        <div class="row">
						
                            <div class="col-md-12 col-lg-12">
                                <div class="slider__inner">
                                    <h4><?php echo $row ['Name']; ?></h4>
                                    <h1><?php echo $row ['Title']; ?></h1>
                                    <p><?php echo $row ['Description1']; ?></p>
                                    <div class="slider__btn">
                                        <a class="htc__btn" href="#">CONTACT US</a>
                                    </div>
                                </div>
                            </div>
							
                        </div>
                    </div>
                    <div class="htc__slider__fornt__img">
                        <img src="plc/images/slider/1.png" alt="slider images">
                    </div>
                </div>
				<?php } ?>
                <!-- End Single Slide -->
                <!-- Start Single Slide -->
				<?php $sqli=$conn->query("Select * from content where Id=13");
        foreach ($sqli as $key => $row) {
							?>
                <div class="slide slider__fixed--height slide__align--center" class="mySlides fade" style="background: rgba(0, 0, 0, 0) url(http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>) no-repeat scroll 0 0 / cover;" data--black__overlay="6">
                    <div class="container">
                        <div class="row">
						
                            <div class="col-md-12 col-lg-12">
                                <div class="slider__inner">
                                    <h4><?php echo $row ['Name']; ?></h4>
                                    <h1><?php echo $row ['Title']; ?></h1>
                                    <p><?php echo $row ['Description1']; ?></p>
                                    <div class="slider__btn">
                                        <a class="htc__btn" href="#">CONTACT US</a>
                                    </div>
                                </div>
                            </div>
							
                        </div>
                    </div>
                    <div class="htc__slider__fornt__img">
                        <img src="plc/images/slider/1.png" alt="slider images">
                    </div>
                </div>
				<?php } ?>
                <!-- End Single Slide -->
				<!-- Start Single Slide -->
				<?php $sqli=$conn->query("Select * from content where Id=14");
        foreach ($sqli as $key => $row) {
							?>
                <div class="slide slider__fixed--height slide__align--center" class="mySlides fade" style="background: rgba(0, 0, 0, 0) url(http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>) no-repeat scroll 0 0 / cover;" data--black__overlay="6">
                    <div class="container">
                        <div class="row">
						
                            <div class="col-md-12 col-lg-12">
                                <div class="slider__inner">
                                    <h4><?php echo $row ['Name']; ?></h4>
                                    <h1><?php echo $row ['Title']; ?></h1>
                                    <p><?php echo $row ['Description1']; ?></p>
                                    <div class="slider__btn">
                                        <a class="htc__btn" href="#">CONTACT US</a>
                                    </div>
                                </div>
                            </div>
							
                        </div>
                    </div>
                    <div class="htc__slider__fornt__img">
                        <img src="plc/images/slider/1.png" alt="slider images">
                    </div>
                </div>
				<?php } ?>
                <!-- End Single Slide -->
            </div>
        </div>
        <!-- Start Slider Area -->
		
        <!-- Start Offer Area -->
        <section class="htc__offer__area htc__offer--2 pb--120 bg__gray">
            <div class="container">
                <div class="row">
                    <div class="col-md-4 col-lg-4 col-sm-6 col-xs-12">
                        <div class="offer">
                            <div class="offer__icon">
                                <img src="plc/images/icons/1.png" alt="icon images">
                            </div>
							<?php $sqli=$conn->query("Select * from content where Id=1");
        foreach ($sqli as $key => $row) {
  ?>
                            <div class="offer__details">
                                <h2><a href="#"><?php echo $row ['Name']; ?></a></h2>
                                <p><?php echo $row ['Description1']; ?></p>
                            </div>
							<?php } ?>
                        </div>
                    </div>
                    <div class="col-md-4 col-lg-4 col-sm-6 col-xs-12 xmt-40">
                        <div class="offer separator">
                            <div class="offer__icon">
                                <img src="plc/images/icons/2.png" alt="icon images">
                            </div>
							<?php $sqli=$conn->query("Select * from content where Id=2");
        foreach ($sqli as $key => $row) {
  ?>
                            <div class="offer__details">
                                <h2><a href="#"><?php echo $row ['Name']; ?></a></h2>
                                <p><?php echo $row ['Description1']; ?></p>
                            </div>
							<?php } ?>
                        </div>
                    </div>
                    <div class="col-md-4 col-lg-4 hidden-sm col-xs-12 xmt-40">
                        <div class="offer separator">
                            <div class="offer__icon">
                                <img src="plc/images/icons/3.png" alt="icon images">
                            </div>
                            <?php $sqli=$conn->query("Select * from content where Id=3");
        foreach ($sqli as $key => $row) {
  ?>
                            <div class="offer__details">
                                <h2><a href="#"><?php echo $row ['Name']; ?></a></h2>
                                <p><?php echo $row ['Description1']; ?></p>
                            </div>
							<?php } ?>
                        </div>
                    </div>
                </div>
            </div>
            <div class="h1__offer__image">
                <img src="plc/images/icons/tols.png" alt="">
            </div>
        </section>
        <!-- End Offer Area -->
        <!-- Start About Area -->
        <section class="htc__about__area about--2 text__pos ptb--150 bg__white">
            <div class="container">
                <div class="row">
                    <div class="col-xs-12">
                        <div class="section__title text-center">
						<?php $sqli=$conn->query("Select * from content where Id=4");
        foreach ($sqli as $key => $row) {
							?>
                            <h2 class="title__line"><?php echo $row ['Name']; ?> <span class="text--theme"><?php echo $row ['Title']; ?></span></h2>
                            <p><?php echo $row ['Description1']; ?></p>
							
							
							<?php } ?>
                        </div>
                    </div>
                </div>
                <div class="row mt--70">
				<?php $sqli=$conn->query("Select * from content where Id=5");
        foreach ($sqli as $key => $row) {
							?>
                    <div class="col-md-4 col-lg-3 col-lg-offset-1 col-sm-6 col-xs-12">
                        <div class="about foo">
						
                            <div class="about__inner">
                                <h2><a href="#"><?php echo $row ['Name']; ?></a></h2>
                                <p><?php echo $row ['Description1']; ?></br></br></br></br></br></br></br></br></br>.</p>
                                <div class="about__btn">
                                    <a href="#">READ MORE</a>
                                </div>
                                <div class="about__icon">
                                    <img src="plc/images/icons/4.png" alt="icon images">
                                </div>
                            </div>
                            <div class="about__inner about__hober__info">
                                <h2><a href="#"><?php echo $row ['Title']; ?></a></h2>
                                <p><?php echo $row ['Description2']; ?></br></br></br></br></br></br></br></br></br>.</p>
                                <div class="about__btn">
                                    <a href="#">আরও . . . . . </a>
                                </div>
                                <div class="about__icon">
                                    <img src="plc/images/icons/4.png" alt="icon images">
                                </div>
                            </div>
                        </div>
                    </div>
					<?php } ?>
					
					<?php $sqli=$conn->query("Select * from content where Id=6");
        foreach ($sqli as $key => $row) {
							?>
                    <div class="col-md-4 col-lg-3 col-lg-offset-1 col-sm-6 col-xs-12">
                        <div class="about foo">
						
                            <div class="about__inner">
                                <h2><a href="#"><?php echo $row ['Name']; ?></a></h2>
                                <p><?php echo $row ['Description1']; ?></br></br></br></br></br></br></br></br></br>.</p>
                                <div class="about__btn">
                                    <a href="#">READ MORE</a>
                                </div>
                                <div class="about__icon">
                                    <img src="plc/images/icons/5.png" alt="icon images">
                                </div>
                            </div>
                            <div class="about__inner about__hober__info">
                                <h2><a href="#"><?php echo $row ['Title']; ?></a></h2>
                                <p><?php echo $row ['Description2']; ?></br></br></br></br></br></br></br></br></br>.</p>
                                <div class="about__btn">
                                    <a href="#">আরও . . . . . </a>
                                </div>
                                <div class="about__icon">
                                    <img src="plc/images/icons/5.png" alt="icon images">
                                </div>
                            </div>
                        </div>
                    </div>
					<?php } ?>
					

                    <?php $sqli=$conn->query("Select * from content where Id=7");
        foreach ($sqli as $key => $row) {
							?>
                    <div class="col-md-4 col-lg-3 col-lg-offset-1 col-sm-6 col-xs-12">
                        <div class="about foo">
						
                            <div class="about__inner">
                                <h2><a href="#"><?php echo $row ['Name']; ?></a></h2>
                                <p><?php echo $row ['Description1']; ?></br>.</p>
                                <div class="about__btn">
                                    <a href="#">READ MORE</a>
                                </div>
                                <div class="about__icon">
                                    <img src="plc/images/icons/6.png" alt="icon images">
                                </div>
                            </div>
                            <div class="about__inner about__hober__info">
                                <h2><a href="#"><?php echo $row ['Title']; ?></a></h2>
                                <p><?php echo $row ['Description2']; ?></br>.</p>
                                <div class="about__btn">
                                    <a href="#">আরও . . . . . </a>
                                </div>
                                <div class="about__icon">
                                    <img src="plc/images/icons/6.png" alt="icon images">
                                </div>
                            </div>
                        </div>
                    </div>
					<?php } ?>
                </div>
            </div>
            <div class="text__shape">
                <h2>SIMPLY</h2>
            </div>
        </section>
        <!-- End About Area -->
        
        
         
        <!-- start About Area -->
        <section class="htc__service__area service--2 bg__gray">
            <div class="container-fluid">
                <div class="row">
                    <div class="service__section__wrap clearfix">
                        <!-- Start Single Service -->
                        <div class="col-md-5 col-lg-4 col-sm-12 col-xs-12">
                            <div class="service__thumb">
							<?php $sqli=$conn->query("Select * from content where Id=8");
        foreach ($sqli as $key => $row) {
							?>
                                <img src='http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>' alt="about image" style="
    height: 550px;
    width: 400px;
">
                            </div>
                        </div>
                        <!-- End Single Service -->
                        <div class="col-md-7 col-lg-8 col-sm-12 col-xs-12 h1__service pt--40 pb--30">
						
                            <div class="row">
                                <div class="col-xs-12">
                                    <div class="section__title text-left">
                                        <h2 class="title__line"><?php echo $row ['Name']; ?> <span class="text--theme"><?php echo $row ['Title']; ?></span></h2>
                                        <p><?php echo $row ['Description1']; ?></p>
                                    </div>
                                </div>
                            </div>
							<?php } ?>
                            <div class="row">
                                <!-- Start Single Service -->
                                <div class="col-md-4 col-lg-4 col-sm-4 col-xs-12">
                                    <div class="service">
									<?php $sqli=$conn->query("Select * from content where Id=9");
        foreach ($sqli as $key => $row) {
							?>
                                        <div class="service__thumb">
                                            <a href="#">
                                                <img src='http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>' alt="service images">
                                            </a>
                                            <div class="service__hover">
                                                <div class="service__action">
                                                    <a href="plc/services/residential.php"><?php echo $row ['Name']; ?></a>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="service__details">
                                            <h2><a href="plc/services/residential.php"><?php echo $row ['Title']; ?></a></h2>
                                        </div>
										<?php } ?>
                                    </div>
                                </div>
                                <!-- End Single Service -->
                                <!-- Start Single Service -->
                                <div class="col-md-4 col-lg-4 col-sm-4 col-xs-12">
                                    <div class="service">
									<?php $sqli=$conn->query("Select * from content where Id=10");
        foreach ($sqli as $key => $row) {
							?>
                                        <div class="service__thumb">
                                            <a href="#">
                                                <img src='http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>' alt="service images">
                                            </a>
                                            <div class="service__hover">
                                                <div class="service__action">
                                                    <a href="plc/services/residential.php"><?php echo $row ['Name']; ?></a>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="service__details">
                                            <h2><a href="plc/services/residential.php"><?php echo $row ['Title']; ?></a></h2>
                                        </div>
										<?php } ?>
                                    </div>
                                </div>
                                <!-- End Single Service -->
                                <!-- Start Single Service -->
                                <div class="col-md-4 col-lg-4 col-sm-4 col-xs-12">
                                    <div class="service">
									<?php $sqli=$conn->query("Select * from content where Id=11");
        foreach ($sqli as $key => $row) {
							?>
                                        <div class="service__thumb">
                                            <a href="#">
                                                <img src='http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>' alt="service images">
                                            </a>
                                            <div class="service__hover">
                                                <div class="service__action">
                                                    <a href="plc/services/residential.php"><?php echo $row ['Name']; ?></a>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="service__details">
                                            <h2><a href="plc/services/residential.php"><?php echo $row ['Title']; ?></a></h2>
                                        </div>
										<?php } ?>
                                    </div>
                                </div>
                                <!-- End Single Service -->
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>
		
        <!-- End About Area -->
        <!-- Start Latest Project Area -->
        <section class="htc__latest__project__area ptb--150 bg__white text__pos">
            <div class="container">
			<?php $sqli=$conn->query("Select * from content where Id=15");
        foreach ($sqli as $key => $row) {
							?>
                <div class="row">
                    <div class="col-xs-12">
                        <div class="section__title text-center">
                            <h2 class="title__line"><?php echo $row ['Name']; ?> <span class="text--theme"><?php echo $row ['Title']; ?></span></h2>
                            <p></p>
                        </div>
                    </div>
                </div>
                <div class="row">
                    <div class="htc__latest__project__wrap h1__project clearfix mt--30">
                        <!-- Start Single Project -->
                        <div class="col-md-5 col-lg-5 hidden-sm col-xs-12">
                            <div class="project__itm foo">
                                <div class="project__thumb">
                                    <a href="single-project.html">
                                        <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="project images">
                                    </a>
                                    <div class="project__hover__info">
                                        <div class="project__action">
                                            <h2><a href="#"><?php echo $row ['Description1']; ?></a></h2>
                                            <h4><?php echo $row ['Description2']; ?></h4>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Project -->
                        <div class="col-md-7 col-lg-7 col-sm-12 col-xs-12">
                            <div class="row">
							<?php $sqli=$conn->query("Select * from content where Id=16");
        foreach ($sqli as $key => $row) {
							?>
                                <div class="col-md-6 col-sm-6 col-xs-12">
                                    <div class="project__itm foo">
                                        <div class="project__thumb">
                                            <a href="#">
                                                <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="project images">
                                            </a>
                                            <div class="project__hover__info">
                                                <div class="project__action">
                                                    <h2><a href="#"><?php echo $row ['Description1']; ?></a></h2>
                                                    <h4><?php echo $row ['Description2']; ?></h4>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
								<?php } ?>
                                <?php $sqli=$conn->query("Select * from content where Id=17");
        foreach ($sqli as $key => $row) {
							?>
                                <div class="col-md-6 col-sm-6 col-xs-12">
                                    <div class="project__itm foo">
                                        <div class="project__thumb">
                                            <a href="#">
                                                <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="project images">
                                            </a>
                                            <div class="project__hover__info">
                                                <div class="project__action">
                                                    <h2><a href="#"><?php echo $row ['Description1']; ?></a></h2>
                                                    <h4><?php echo $row ['Description2']; ?></h4>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
								<?php } ?>
                                <?php $sqli=$conn->query("Select * from content where Id=18");
        foreach ($sqli as $key => $row) {
							?>
                                <div class="col-md-6 col-sm-6 col-xs-12">
                                    <div class="project__itm foo">
                                        <div class="project__thumb">
                                            <a href="#">
                                                <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="project images">
                                            </a>
                                            <div class="project__hover__info">
                                                <div class="project__action">
                                                    <h2><a href="#"><?php echo $row ['Description1']; ?></a></h2>
                                                    <h4><?php echo $row ['Description2']; ?></h4>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
								<?php } ?>
                                <?php $sqli=$conn->query("Select * from content where Id=19");
        foreach ($sqli as $key => $row) {
							?>
                                <div class="col-md-6 col-sm-6 col-xs-12">
                                    <div class="project__itm foo">
                                        <div class="project__thumb">
                                            <a href="#">
                                                <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="project images">
                                            </a>
                                            <div class="project__hover__info">
                                                <div class="project__action">
                                                    <h2><a href="#"><?php echo $row ['Description1']; ?></a></h2>
                                                    <h4><?php echo $row ['Description2']; ?></h4>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
								<?php } ?>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="text__shape">
                <h2>PROJECTS</h2>
            </div>
        </section>
        <!-- End Latest Project Area -->
        <!-- Start Counter Up Area -->
        <section class="htc__counterup__area count--2 h1__countdown bg__gray">
            <div class="container-fluid">
                <div class="row">
				<?php $sqli=$conn->query("Select * from content where Id=20");
        foreach ($sqli as $key => $row) {
							?>
                    <div class="col-md-4 col-sm-12 col-xs-12">
                        <div class="counterup__left__thumb">
                            <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="images">
                        </div>
                    </div>
                    <div class="col-md-8 col-sm-12 col-xs-12">
                        <div class="htc__callto__action">
						
                            <h2><?php echo $row ['Name']; ?> <span class="text--theme"><?php echo $row ['Title']; ?></span> <?php echo $row ['Description1']; ?></h2>
                            <p><?php echo $row ['Description2']; ?></p>
                            <div class="htc__call__btn">
                                <a class="htc__btn" href="#">HOME</a>
                            </div>
							<?php } ?>
                        </div>
						<?php $sqli=$conn->query("Select * from content where Id=21");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="htc__counterup__wrap" style="background: rgba(0, 0, 0, 0) url(plc/images/icons/10.png) no-repeat scroll center center / cover ;">
                            <!-- Start Single Fact -->
                            <div class="funfact">
                                <div class="fact__details">
                                    <div class="funfact__count__inner">
                                        <div class="fact__count ">
                                            <span class="count"><?php echo $row ['Name']; ?></span>
                                        </div>
                                    </div>
                                    <div class="fact__title">
                                        <h2>PROJECTS</h2>
                                    </div>
                                </div>
                            </div> 
                            <!-- End Single Fact -->
                            <!-- Start Single Fact -->
                            <div class="funfact hidden-md">
                                <div class="fact__details">
                                    <div class="funfact__count__inner">
                                        <div class="fact__count ">
                                            <span class="count"><?php echo $row ['Title']; ?></span>
                                        </div>
                                    </div>
                                    <div class="fact__title">
                                        <h2>CLIENTS</h2>
                                    </div>
                                </div>
                            </div> 
                            <!-- End Single Fact -->
                            <!-- Start Single Fact -->
                            <div class="funfact">
                                <div class="fact__details">
                                    <div class="funfact__count__inner">
                                        <div class="fact__count ">
                                            <span class="count"><?php echo $row ['Description1']; ?></span>
                                        </div>
                                    </div>
                                    <div class="fact__title">
                                        <h2>SUCCESS</h2>
                                    </div>
                                </div>
                            </div> 
                            <!-- End Single Fact -->
                            <!-- Start Single Fact -->
                            <div class="funfact">
                                <div class="fact__details">
                                    <div class="funfact__count__inner">
                                        <div class="fact__count ">
                                            <span class="count"><?php echo $row ['Description2']; ?></span>
                                        </div>
                                    </div>
                                    <div class="fact__title">
                                        <h2>AWARDS</h2>
                                    </div>
                                </div>
                            </div> 
                            <!-- End Single Fact -->
                        </div>
						<?php } ?>
                    </div>
                </div>
            </div>
        </section>
        <!-- End Counter Up Area -->
        <!-- Start Team Area -->
        <section class="htc__team__area bg__white h1__team--one ptb--150 text__pos">
            <div class="container">
                <div class="row">
                    <div class="col-xs-12">
					<?php $sqli=$conn->query("Select * from content where Id=22");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="section__title text-center">
                            <h2 class="title__line"> <span class="text--theme"><?php echo $row ['Name']; ?> </span><?php echo $row ['Title']; ?></h2>
                            <div class="htc__call__btn">
                                <a class="htc__btn" href="#">DETAILS</a>
                            </div>
                        </div>
						<?php } ?>
                    </div>
                </div>
                <div class="row">
                    <div class="htc__team__wrap clearfix mt--30">
                        <!-- Start Single Team -->
						<?php $sqli=$conn->query("Select * from content where Id=23");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="col-md-3 col-lg-3 col-sm-4 col-xs-12">
						
                            <div class="team foo">
                                <div class="team__inner">
                                    <div class="team__thumb">
                                        <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="team image">
                                    </div>
                                    <div class="team__hover__info">
                                        <ul class="team__social__link">
                                            <li><a href="#" target="_blank"><i class="fa fa-twitter"></i></a></li>

                                            <li><a href="#" target="_blank"><i class="fa fa-instagram"></i></a></li>

                                            <li><a href="<?php echo $row ['Description1']; ?>" target="_blank"><i class="fa fa-facebook"></i></a></li>

                                            <li><a href="#" target="_blank"><i class="fa fa-google-plus"></i></a></li>
                                        </ul>
                                    </div>
                                </div>
                                <div class="team__details">
                                    <h2><a href="#"><?php echo $row ['Name']; ?></a></h2>
                                    <h4><?php echo $row ['Title']; ?></h4>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Team -->
                        
                        <!-- Start Single Team -->
						<?php $sqli=$conn->query("Select * from content where Id=24");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="col-md-3 col-lg-3 col-sm-4 col-xs-12">
                            <div class="team foo">
                                <div class="team__inner">
                                    <div class="team__thumb">
                                        <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="team image" >
                                    </div>
                                    <div class="team__hover__info">
                                        <ul class="team__social__link">
                                            <li><a href="#" target="_blank"><i class="fa fa-twitter"></i></a></li>

                                            <li><a href="#" target="_blank"><i class="fa fa-instagram"></i></a></li>

                                            <li><a href="<?php echo $row ['Description1']; ?>" target="_blank"><i class="fa fa-facebook"></i></a></li>

                                            <li><a href="#" target="_blank"><i class="fa fa-google-plus"></i></a></li>
                                        </ul>
                                    </div>
                                </div>
                                <div class="team__details">
                                    <h2><a href="#"><?php echo $row ['Name']; ?></a></h2>
                                    <h4><?php echo $row ['Title']; ?></h4>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Team -->
                        
                        <!-- Start Single Team -->
						<?php $sqli=$conn->query("Select * from content where Id=25");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="col-md-3 col-lg-3 col-sm-4 col-xs-12">
                            <div class="team foo">
                                <div class="team__inner">
                                    <div class="team__thumb">
                                        <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="team image" >
                                    </div>
                                    <div class="team__hover__info">
                                        <ul class="team__social__link">
                                            <li><a href="#" target="_blank"><i class="fa fa-twitter"></i></a></li>

                                            <li><a href="#" target="_blank"><i class="fa fa-instagram"></i></a></li>

                                            <li><a href="<?php echo $row ['Description1']; ?>" target="_blank"><i class="fa fa-facebook"></i></a></li>

                                            <li><a href="#" target="_blank"><i class="fa fa-google-plus"></i></a></li>
                                        </ul>
                                    </div>
                                </div>
                                <div class="team__details">
                                    <h2><a href="#"><?php echo $row ['Name']; ?></a></h2>
                                    <h4><?php echo $row ['Title']; ?></h4>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Team -->
                        <!-- Start Single Team -->
						<?php $sqli=$conn->query("Select * from content where Id=26");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="col-md-3 col-lg-3 col-sm-4 col-xs-12">
                            <div class="team foo">
                                <div class="team__inner">
                                    <div class="team__thumb">
                                        <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="team image" >
                                    </div>
                                    <div class="team__hover__info">
                                        <ul class="team__social__link">
                                            <li><a href="#" target="_blank"><i class="fa fa-twitter"></i></a></li>

                                            <li><a href="#" target="_blank"><i class="fa fa-instagram"></i></a></li>

                                            <li><a href="<?php echo $row ['Description1']; ?>" target="_blank"><i class="fa fa-facebook"></i></a></li>

                                            <li><a href="#" target="_blank"><i class="fa fa-google-plus"></i></a></li>
                                        </ul>
                                    </div>
                                </div>
                                <div class="team__details">
                                    <h2><a href="#"><?php echo $row ['Name']; ?></a></h2>
                                    <h4><?php echo $row ['Title']; ?></h4>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Team -->
                    </div>
                </div>
            </div>
            <div class="text__shape">
                <h2>TEAM</h2>
            </div>
        </section>
        <!-- End Team Area -->
        <!-- Start Testimonial Area -->
        <section class="htc__testimonial__area ptb--130" data--gray__overlay="9.5" style="background: rgba(0, 0, 0, 0) url(plc/images/bg/CLIENTS.jpg) no-repeat fixed center center / cover ;">
            <div class="container">
                <div class="row">
                    <div class="col-md-6 col-lg-5 col-sm-12 col-xs-12">
					<?php $sqli=$conn->query("Select * from content where Id=27");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="htc__testimonial__wrap">
                            <div class="section__title text-left">
                                <h2 class="title__line"><?php echo $row ['Name']; ?> <span class="text--theme"><?php echo $row ['Title']; ?></span></h2>
                                <p><?php echo $row ['Description1']; ?></p>
                            </div>
							<?php } ?>
                            <div class="testimonial__activation clearfix">
                                 <!-- Start Single Testimonial -->
								 <?php $sqli=$conn->query("Select * from content where Id=28");
        foreach ($sqli as $key => $row) {
							?>
                                <div class="testimonial">
                                    <div class="testimonial__thumb">
                                         <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="clint image">
                                    </div>
                                    <div class="testimonial__details">
                                        <div class="tes__icon">
                                            <i class="fa fa-quote-right"></i>
                                        </div>
                                        <p><?php echo $row ['Description2']; ?></p>
                                        <h2><a href="<?php echo $row ['Description1']; ?>"><?php echo $row ['Title']; ?></a></h2>
                                        <h4><?php echo $row ['Name']; ?></h4>
                                    </div>
                                </div>
								<?php } ?>
                                 <!-- End Single Testimonial -->
                                 <!-- Start Single Testimonial -->
								 <?php $sqli=$conn->query("Select * from content where Id=29");
        foreach ($sqli as $key => $row) {
							?>
                                <div class="testimonial">
                                    <div class="testimonial__thumb">
                                         <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="clint image">
                                    </div>
                                    <div class="testimonial__details">
                                        <div class="tes__icon">
                                            <i class="fa fa-quote-right"></i>
                                        </div>
                                        <p><?php echo $row ['Description2']; ?></p>
                                        <h2><a href="<?php echo $row ['Description1']; ?>"><?php echo $row ['Title']; ?></a></h2>
                                        <h4><?php echo $row ['Name']; ?></h4>
                                    </div>
                                </div>
								<?php } ?>
                                 <!-- End Single Testimonial -->
                                 <!-- Start Single Testimonial -->
								 <?php $sqli=$conn->query("Select * from content where Id=30");
        foreach ($sqli as $key => $row) {
							?>
                                <div class="testimonial">
                                    <div class="testimonial__thumb">
                                         <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="clint image">
                                    </div>
                                    <div class="testimonial__details">
                                        <div class="tes__icon">
                                            <i class="fa fa-quote-right"></i>
                                        </div>
                                        <p><?php echo $row ['Description2']; ?></p>
                                        <h2><a href="<?php echo $row ['Description1']; ?>"><?php echo $row ['Title']; ?></a></h2>
                                        <h4><?php echo $row ['Name']; ?></h4>
                                    </div>
                                </div>
								<?php } ?>
                                 <!-- End Single Testimonial -->
                            </div>
                        </div>
                    </div>
                    <div class="col-md-6 col-lg-6  col-lg-offset-1 col-sm-12 col-xs-12 smt-40">
                        <div class="reguest__quote">
						<?php $sqli=$conn->query("Select * from content where Id=31");
        foreach ($sqli as $key => $row) {
							?>
                            <div class="section__title text-left">
                                <h2 class="title__line"><?php echo $row ['Name']; ?> <span class="text--theme"><?php echo $row ['Title']; ?></span></h2>
                                <p><?php echo $row ['Description1']; ?></p>
                            </div>
							<?php } ?>
                            <form  action="plc/index_mes_save.php" method="post">
                                <div class="clint__comment__form">
                                    <div class="single__cl__form">
                                        <input name="name" type="text" required placeholder="Name">
                                        <input name="email" type="email" required placeholder="Email">
                                    </div>
                                    <div class="single__cl__form">
                                        <input name="phone" type="tel" required placeholder="Phone">
                                        <input name="subject" type="text" placeholder="Subject">
                                    </div>
                                    <div class="single__cl__message">
                                        <textarea name="message" required placeholder="Massage"></textarea>
                                    </div>
                                    <div class="clint__submit__btn">
                                        <button class="submit htc__btn" name="contactsave" type="submit">
                                            SEND MESSAGE 
                                        </button>
                                    </div>
                                </div>
                            </form>
                            
                        </div>
                    </div>
                </div>
            </div>
        </section>
        <!-- End Testimonial Area -->
	
	
	<?php $sqli=$conn->query("Select * from content where Id=32");
        foreach ($sqli as $key => $row) {
							?>
	                <div class="slide slider__fixed--height slide__align--center" style="background: rgba(0, 0, 0, 0) url(http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>) no-repeat scroll 0 0 / cover;" data--black__overlay="6">
                    <div class="container">
                        <div class="row">
                            <div class="col-md-12 col-lg-12">
                                <div class="slider__inner">
                                    <h1><?php echo $row ['Name']; ?></h1>
                                    <h1></h1>
                                    <p><?php echo $row ['Description1']; ?></br><?php echo $row ['Description2']; ?></p>
                                    <div class="slider__btn">
                                        <a class="htc__btn" href="#">CONTACT US</a>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    
                </div>
				<?php } ?>
	
	
	
	 <!-- Start Blog Area -->
        <section class="htc__blog__area pt--150 bg__white">
            <div class="container">
                <div class="row">
                    <div class="section__title text-center">
                        <h2 class="title__line">LATEST <span class="text--theme">BLOG</span></h2>
                        <p>==================</p>
                    </div>
                </div>
                <div class="row">
                    <div class="htc__blog__wrap mt--30 clearfix">
                        <!-- Start Single Blog -->
						<?php $sqli=$conn->query("Select * from content where Id=33");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="col-md-4 col-lg-4 col-sm-6 col-xs-12">
                            <div class="blog foo">
                                <div class="blog__thumb">
                                    <a href="blog-details.html">
                                        <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="blog image">
                                    </a>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Blog -->
                        <!-- Start Single Blog -->
						<?php $sqli=$conn->query("Select * from content where Id=34");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="col-md-4 col-lg-4 col-sm-6 col-xs-12">
                            <div class="blog foo">
                                <div class="blog__thumb">
                                    <a href="blog-details.html">
                                        <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="blog image">
                                    </a>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Blog -->
                        <!-- Start Single Blog -->
						<?php $sqli=$conn->query("Select * from content where Id=35");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="col-md-4 col-lg-4 col-sm-6 col-xs-12">
                            <div class="blog foo">
                                <div class="blog__thumb">
                                    <a href="blog-details.html">
                                        <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="blog image">
                                    </a>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Blog -->
						<!-- Start Single Blog -->
						<?php $sqli=$conn->query("Select * from content where Id=36");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="col-md-4 col-lg-4 col-sm-6 col-xs-12">
                            <div class="blog foo">
                                <div class="blog__thumb">
                                    <a href="blog-details.html">
                                        <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="blog image">
                                    </a>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Blog -->
						<!-- Start Single Blog -->
						<?php $sqli=$conn->query("Select * from content where Id=37");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="col-md-4 col-lg-4 col-sm-6 col-xs-12">
                            <div class="blog foo">
                                <div class="blog__thumb">
                                    <a href="blog-details.html">
                                        <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="blog image">
                                    </a>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Blog -->
						<!-- Start Single Blog -->
						<?php $sqli=$conn->query("Select * from content where Id=38");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="col-md-4 col-lg-4 col-sm-6 col-xs-12">
                            <div class="blog foo">
                                <div class="blog__thumb">
                                    <a href="blog-details.html">
                                        <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="blog image">
                                    </a>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Blog -->
						<!-- Start Single Blog -->
						<?php $sqli=$conn->query("Select * from content where Id=39");
        foreach ($sqli as $key => $row) {
							?>
                        <div class="col-md-8 col-lg-4 hidden-sm col-xs-12">
                            <div class="blog foo">
                                <div class="blog__thumb">
                                    <a href="blog-details.html">
                                        <img src="http://emsm.mrittikanoksha.com/plc/content/upload/<?php echo $row ['FileName']; ?>" alt="blog image">
                                    </a>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Blog -->
                    </div>
                </div>
            </div>
        </section>
        <!-- End Blog Area -->
		
		
        <!-- Start Newsletter Area -->
        <section class="htc__newsletter__area ptb--90 bg__gray">
            <div class="container">
                <div class="row">
                    <div class="col-xs-12">
                        <div class="newsletter__wrap">
                            <h2 class="title__line">SUBSCRIBE <span class="text--theme">NEWSLETTER</span></h2>
                            <h4>Subscribe our newsletter and get latest update</h4>
                            <div class="newsletter__form">
                                <div class="input__box">
                                    <div id="mc_embed_signup">
                                        <form action="#" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
                                            <div id="mc_embed_signup_scroll" class="htc__news__inner">
                                                <div class="news__input">
                                                    <input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="Email Address" required>
                                                </div>
                                                <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
                                                <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_6bbb9b6f5827bd842d9640c82_05d85f18ef" tabindex="-1" value=""></div>
                                                <div class="clearfix subscribe__btn"><input type="submit" value="SUBSCRIBE NOW" name="subscribe" id="mc-embedded-subscribe" class="bst__btn btn--white__color">
                                                    
                                                </div>
                                            </div>
                                        </form>
                                        
                                    </div>
                                </div>        
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
        </section>
        <!-- End Newsletter Area -->
        
    </div>
    <!-- Body main wrapper end -->

    <!-- Placed js at the end of the document so the pages load faster -->

    <!-- jquery latest version -->
    <script src="plc/js/vendor/jquery-1.12.0.min.js"></script>
    <!-- Bootstrap framework js -->
    <script src="plc/js/bootstrap.min.js"></script>
    <!-- All js plugins included in this file. -->
    <script src="plc/js/plugins.js"></script>
    <script src="plc/js/slick.min.js"></script>
    <script src="plc/js/owl.carousel.min.js"></script>
    <!-- Waypoints.min.js. -->
    <script src="plc/js/waypoints.min.js"></script>
    <!-- Main js file that contents all jQuery plugins activation. -->
    <script src="plc/js/main.js"></script>

</body>


</html>
<?php
require('plc/includes/footer.php');

   
 
?>


