<?php
require('../includes/header.php');

   
 
?>


<!doctype html>
<html class="no-js" lang="en">


<head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>Contact || Simply Construction HTML5 Template</title>
    <meta name="description" content="Total Power Solution , Electric , Electrician">
    <meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:url"                content="https://powerlinksctg.com/" />
<meta property="og:type"               content="article" />
<meta property="og:title"              content="POWER LINKS CTG" />
<meta property="og:description"        content="POWERLINKSCTG has been proud to serve local businesses for many years, providing high quality and reliable electrical services you can trust. No matter what issue you’re experiencing with your business’s electricity, we guarantee that we will quickly identify the problem and find a lasting solution." />
<meta property="og:image"              content="https://powerlinksctg.com/plc/images/about/45.png" />



    <!-- Modernizr JS -->
    <script src="plc/js/vendor/modernizr-2.8.3.min.js"></script>
</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">
    
        <!-- End Header Style -->
        <!-- Start Bradcaump area -->
        <div class="ht__bradcaump__area" data--black__overlay="6" style="background: rgba(0, 0, 0, 0) url(images/bg/5.jpg) no-repeat scroll center center / cover ;">
            <div class="ht__bradcaump__wrap">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12">
                            <div class="bradcaump__inner text-center">
                                <h2 class="bradcaump-title">CONTACT</h2>
                                <nav class="bradcaump-inner">
                                  <a class="breadcrumb-item" href="index.html">Home</a>
                                  <span class="brd-separetor">-</span>
                                  <span class="breadcrumb-item active">Contact</span>
                                </nav>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
		<div style="font-weight:bold; text-align: center;"  class="alert-info">
				    <?php
				    if(isset($_GET['msg'])) echo $_GET['msg'];
				    ?>
				</div>
        <!-- End Bradcaump area -->
        <!-- Start Contact Address -->
        <section class="htc__contact__area bg__white ptb--150">
            <div class="container">
                <div class="row pb--100">
                    <div class="col-md-12">
                        <div class="htc__contact__inner">
                            <h2 class="title__line--5">CONTACT INFORMATION</h2>
                            <p>Power Links Ctg has been caring entire electrical services for 17+ years with fame, prestige and experience providing commercial, industrial and residential electrical services as well as new construction, renovations, preventative maintenance, emergency service and more electrical services to our clients throughout Chottogram, Bangladesh. </p>
                        </div>
                        <div class="htc__contact__address add-res bg__cat--1">
            <div class="container">
                <div class="row">
                    <div class="col-md-12">
                        <div class="htc__contact__wrap clearfix">
                            <!-- Start Single Address -->
                            <div class="ht__address__inner">
                                <div class="ht__address__icon map-pin">
                                    <i class="zmdi zmdi-pin"></i>
                                </div>
                                <div class="ht__address__details">
                                    <p>Green Valley, Taxtaile Nasirabad <br>Chottogram, Bangladesh</p>
                                </div>
                            </div>
                            <!-- End Single Address -->
                            <!-- Start Single Address -->
                            <div class="ht__address__inner">
                                <div class="ht__address__icon glob">
                                    <i class="fa fa-globe" aria-hidden="true"></i>
                                </div>
                                <div class="ht__address__details">
                                    <p><a href="#">info@powerlinksctg.com</a></p>
                                    <p><a href="#">powerlinksctg.com</a></p>
                                </div>
                            </div>
                            <!-- End Single Address -->
                            <!-- Start Single Address -->
                            <div class="ht__address__inner">
                                <div class="ht__address__icon">
                                    <i class="fa fa-phone" aria-hidden="true"></i>
                                </div>
                                <div class="ht__address__details">
                                    <p><a href="#">01818 80 60 91</a></p>
                                    <p><a href="#">01575 00 01 92</a></p>
                                </div>
                            </div>
                            <!-- End Single Address -->
                        </div>
                    </div>
                </div>
            </div>
        </div>
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-12">
                        <div class="htc__google__map">
                            <h2 class="title__line--5">WHERE WE LOCATED</h2>
                            <div class="map__contacts">
                                <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d230.58283487481123!2d91.80955535447734!3d22.379088766157636!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x30acd9db642f1d71%3A0x6118fcfac9536da0!2sPOWER%20LINKS%20CTG!5e0!3m2!1sen!2sbd!4v1671813246873!5m2!1sen!2sbd" width="100%" height="400" style="border:1;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-12">
                        <div class="htc__contact__form__wrap">
                            <h2 class="title__line--5">SEND US A MESSAGE</h2>
                            <div class="contact-form-wrap">
							
                                <form  action="contact_save.php" method="post">
                                    <div class="single-contact-inner">
                                        <div class="single-contact-form">
                                            <div class="contact-box name">
                                                <span>Your Name*</span>
                                                <input type="text" name="name" required placeholder="Your Name...">
                                            </div>
                                            <div class="contact-box subject">
                                                <span>Your Phone Number*</span>
                                                <input type="text" name="phone" required placeholder="Your Phone Number...">
                                            </div>
											<div class="contact-box email">
                                                <span>Your Email</span>
                                                <input type="email" name="email"  placeholder="Email...">
                                            </div>
                                            <div class="contact-box subject">
                                                <span>Subject*</span>
                                                <input type="text" name="subject" required placeholder="Subject...">
                                            </div>
                                        </div>
                                        <div class="single-contact-form">
                                            <div class="contact-box message">
                                                <span>Message*</span>
                                                <textarea name="message" required placeholder="Your Message..."></textarea>
                                            </div>
                                            <div class="contact-btn">
                                                <button class="htc__btn btn--theme" type="submit" name="contactsave" class="">SEND NOW</button>
                                            </div>
                                        </div>
                                    </div>
                                </form>
                            </div>
                                                        
                        </div>
                    </div>
                </div>
            </div>
        </section>
        <!-- End Contact Address -->
        <!-- 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>
            
            </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>

    <!-- Google Map js -->
	
    

    <!-- 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('../includes/footer.php');
?>