Help
RSS
API
Feed
Maltego
Contact
Domain > www.pacificqatar.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2015-03-03
192.185.26.144
(
ClassC
)
2024-09-12
74.220.219.222
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Thu, 12 Sep 2024 09:27:49 GMTServer: ApacheLocation: https://www.pacificqatar.com/Content-Length: 237Content-Type: text/html; charsetiso-8859-1 !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN>html>head>title>301 Moved Permanently/title>/head>body>h1>Moved Permanently/h1>p>The document has moved a hrefhttps://www.pacificqatar.com/>here/a>./p>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Thu, 12 Sep 2024 09:27:49 GMTServer: ApacheCache-Control: no-cache, privateSet-Cookie: XSRF-TOKENeyJpdiI6ImNOSDdGT0dXN1BzSEp6M0R5b2s3bVE9PSIsInZhbHVlIjoiQmpUZ3I2dDVtdUxBM1NMTmJzZk9JQUNNUjJTWE1GYSs4MkFUOEpvQ3ZKbFhpbjZUb1dheWN1SVRYM09SMVlNbyIsIm1hYyI6IjM1MmU0NzJkN2UzMWY1NDUwMTA4ODk5MWM3NjYyM2RjOTRmOTkxMjY1NjNiM2JhMjhmNzg1ZTU1OGI2NDRmYmUifQ%3D%3D; expiresThu, 12-Sep-2024 11:27:49 GMT; Max-Age7200; path/Set-Cookie: pacific_sessioneyJpdiI6Ilh6aUFyRGJWUHZ4c2pUSGtDWUFwa3c9PSIsInZhbHVlIjoiZDJlY0lJMk9JVlpnSEFKc1dyRUoyWXl6XC9sNXRPQmFsXC9scllVbUNqRURhRDNKK08xTUlzU1JOcSt4MFM0SnU3IiwibWFjIjoiZTA2NGFjY2I2OTA0NjgyY2M3MDkzZjY1ODY1MWM2Yzg2MmMyMDA0ZmNiMTVkZWNmMGJiZGUxNTMzMDhiMzU0NiJ9; expiresThu, 12-Sep-2024 11:27:49 GMT; Max-Age7200; path/; httponlyUpgrade: h2,h2cConnection: UpgradeVary: Accept-Encodinghost-header: c2hhcmVkLmJsdWVob3N0LmNvbQTransfer-Encoding: chunkedContent-Type: text/html; charsetUTF-8 !DOCTYPE html>html langen>head> meta charsetUTF-8> meta namedescription contentPacific Trading and Contracting is one of the leading manufacturer and supplier of Uniforms and Promotional/ corporate gift Items in Doha Qatar. By Offering Superior Quality Products, Timely Delivery, Best Customer Service and Competitive Prices, Pacific Trading and Contracting has won the hearts of many reputed government and private enterprises in The State of Qatar. At Pacific Trading and Contracting , leading uniform supplier in Qatar in various kinds of high-quality top uniforms provides, T-Shirts, Polo shirt, Corporate Uniforms, Hospitality Uniforms, Medical Uniforms, Security Uniforms, Sports Uniforms, Catering uniforms, School uniforms, Industrial uniforms, Sweatshirt, Fleece Jacket, Hooded sweatshirt, hoodies, sportswear, work wear, chef coat, kitchen apron, medical scrub and uniform, business shirt, jeans, denims, trousers, shorts, jackets, long pants, cargo pants, cap & hat and coverall, jogger, safety vest, tunics, track pants, tracksuits, nursing uniforms, housekeeping uniforms, workers jackets, office staff uniforms, lab coats etc. Find uniform suppliers in Doha, Qatar with us. Are you looking for top corporate gifts suppliers in Doha Qatar? We are the Leading Corporate gifts supplier in Qatar provides, Calendars, Diary, Lanyard, Badge Reel and ID Holder, USB Flash drive, Power banks, Crystal awards, Medals, Trophies, Key Chain, Water Bottles, Labels, Pens, Ceramic/Sublimation Mug, Cap, Clock, Travel Kit, Portfolio, Organizer, Passport Holder, Key Holder, Leather Wallet, Bags, Calculator, Radio, Watches, Eco friendly products, Qatar National day products, Lanyards, Name Badges, Trophy, Reel badge, pen, memory stick, hotel supplies, giveaways etc. Add your customized features to our readymade uniforms and promotional gifts. We offer a verity of Uniforms, corporate /Promotional gifts that can be branded with your personalized company logo or motto. We are ruling also Best Hotel amenity supplier in Qatar Doha, Printing services and WPS Services. Your search for the best suppliers of Uniforms and promotional /corporate gifts in Doha – Qatar ends here> meta namekeywords contentuniform supplier in Qatar, promotional gifts in Qatar, promotional giveaways in Qatar, USB supplier in Qatar, flash drive supplier in Qatar, lanyards supplier in Qatar, awards, plaque and medals supplier in Qatar, corporate uniforms in Qatar, customized uniforms in Qatar, personalized gifts supplier in Qatar, polo t-shirts supplier in Qatar, scrub suites in Qatar, aprons in Qatar, chef uniforms supplier in Qatar, hotel uniforms in Qatar, restaurant uniforms in Qatar, security uniforms in Qatar, school uniforms in Qatar, medical uniforms in Qatar, sports uniforms in Qatar, industrial uniforms in Qatar, hospitality uniforms in Qatar, uniforms in Doha, promotional gifts in Doha, uniforms with branding in Qatar, promotional gifts with branding in Qatar, national day promotional product supplier in Qatar, calendars & diaries supplier in Qatar, mugs, bottle supplier in Qatar, badge reels and id holder supplier in Qatar, winter jacket supplier in Qatar, caps with branding in Qatar, writing instruments supplier awards supplier in Qatar, pacific uniforms and gifts supplier in Qatar, hotel amenities supplier in Qatar> meta nameviewport contentwidthdevice-width, initial-scale1, shrink-to-fitno> !-- Title --> title>Uniforms supplier | Corporate gifts supplier | Pacific Qatar /title> !-- Favicon --> link relicon hrefhttps://www.pacificqatar.com/img/core-img/favicon.png> !-- Owl Stylesheets --> link relstylesheet hrefhttps://www.pacificqatar.com/css/owl.carousel.css> link relstylesheet hrefhttps://www.pacificqatar.com/css/owl.theme.css> !-- Stylesheet --> link relstylesheet hrefhttps://www.pacificqatar.com/css/styles.css> link relstylesheet hrefhttps://www.pacificqatar.com/css/responsive.css> link relstylesheet hrefhttps://www.pacificqatar.com/css/toastr.min.css> link relpreconnect hrefhttps://fonts.googleapis.com> link relpreconnect hrefhttps://fonts.gstatic.com crossorigin> link hrefhttps://fonts.googleapis.com/css2?familyTajawal:wght@200;300;400;500;700;800;900&displayswap relstylesheet> style> /* #ytplayer {pointer-events: none;} */ /style>style typetext/css>.bs-example { font-family: sans-serif; position: relative; margin: 100px;}.typeahead, .tt-query, .tt-hint { border: 2px solid #CCCCCC; border-radius: 8px; font-size: 22px; /* Set input font size */ height: 30px; line-height: 30px; outline: medium none; padding: 8px 12px; width: 396px;}.typeahead { background-color: #FFFFFF;}.typeahead:focus { border: 2px solid #0097CF;}.tt-query { box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;}.tt-hint { color: #999999;}.tt-menu { background-color: #FFFFFF; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 8px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); margin-top: 12px; padding: 8px 0; width: 422px;}.tt-suggestion { font-size: 22px; /* Set suggestion dropdown font size */ padding: 3px 20px;}.tt-suggestion:hover { cursor: pointer; background-color: #0097CF; color: #FFFFFF;}.tt-suggestion p { margin: 0;}/style> !-- Global site tag (gtag.js) - Google Analytics -->script async srchttps://www.googletagmanager.com/gtag/js?idUA-154895481-1>/script>script> window.dataLayer window.dataLayer || ; function gtag(){dataLayer.push(arguments);} gtag(js, new Date()); gtag(config, UA-154895481-1);/script>!-- Google Tag Manager -->script>(function(w,d,s,l,i){wlwl||;wl.push({gtm.start:new Date().getTime(),event:gtm.js});var fd.getElementsByTagName(s)0,jd.createElement(s),dll!dataLayer?&l+l:;j.asynctrue;j.srchttps://www.googletagmanager.com/gtm.js?id+i+dl;f.parentNode.insertBefore(j,f);})(window,document,script,dataLayer,GTM-TC2W8Q2);/script>!-- End Google Tag Manager -->meta namep:domain_verify content59f5306bcf49779df5f5aa6eb0236c30/>/head>!--body oncontextmenureturn false onselectstartreturn false ondragstartreturn false>-->!-- Google Tag Manager (noscript) -->noscript>iframe srchttps://www.googletagmanager.com/ns.html?idGTM-TC2W8Q2height0 width0 styledisplay:none;visibility:hidden>/iframe>/noscript>!-- End Google Tag Manager (noscript) --> body class > div idp_wrapper> header classheader-area> div classclassy-nav-container breakpoint-off> div classcontainer-fluid full> !-- Classy Menu --> div classmain-nav> !-- Logo --> a classnav-brand hrefhttps://www.pacificqatar.com>img srchttps://www.pacificqatar.com/img/core-img/logo.png classimg-fluid alt>/a> !-- Menu --> button onclickopenNav() classnav_menu_toggler_icon>span classfa fa-bars>/span>/button> div idmySidenav classm-menu msidenav> a hrefjavascript:void(0) classclosebtn onclickcloseNav()>×/a> div classhd_search> form classsearch_bx actionhttps://www.pacificqatar.com/list-product> button classserachI typesubmit>img srchttps://www.pacificqatar.com/img/img/search-icon.svg classimg-fluid alt>/button> input typetext value namesearch placeholderSearch for Gifts, Uniorms and more classform-control typeahead> /form> ul> li class>a hrefhttps://www.pacificqatar.com/about>ABOUT US/a>/li> li class>a hrefhttps://www.pacificqatar.com/catelogue>CATALOGUE/a>/li> li class>a hrefhttps://www.pacificqatar.com/clients>CLIENTS/a>/li> li class>a hrefhttps://www.pacificqatar.com/contact-us>CONTACT US/a>/li> /ul> /div> div classmenu-container clearfix> nav classmanu clearfix> ul> li>a hrefhttps://www.pacificqatar.com>HOME/a>/li> li classsub-mnu> a classmCat hrefhttps://www.pacificqatar.com/product-category/uniforms>UNIFORMS/a> ul classmain-dropdown > li classsub_col> ul classm-sb> li classmsb-sec> strong>a hrefhttps://www.pacificqatar.com/product-category/uniforms/polo-t-shirts>POLO T-SHIRTS/a>/strong> /li> /ul> ul classm-sb> li classmsb-sec> strong>a hrefhttps://www.pacificqatar.com/product-category/uniforms/medical-uniform>MEDICAL UNIFORM/a>/strong> /li> /ul> ul classm-sb> li classmsb-sec> strong>a hrefhttps://www.pacificqatar.com/product-category/uniforms/sports-uniforms>SPORTS UNIFORMS/a>/strong> /li> /ul> /li> li classsub_col> ul classm-sb> li classmsb-sec> strong>a classm_sub_cat hrefhttps://www.pacificqatar.com/product-category/uniforms/t-shirts-&-caps>T-SHIRTS & CAPS/a>/strong> ul> li>a hrefhttps://www.pacificqatar.com/product-category/uniforms/t-shirts-&-caps/t-shirts>T-SHIRTS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/uniforms/t-shirts-&-caps/caps>CAPS/a>/li> /ul> /li> /ul> ul classm-sb> li classmsb-sec> strong>a hrefhttps://www.pacificqatar.com/product-category/uniforms/industrial-uniforms>INDUSTRIAL UNIFORMS/a>/strong> /li> /ul> /li> li classsub_col> ul classm-sb> li classmsb-sec> strong>a hrefhttps://www.pacificqatar.com/product-category/uniforms/corporate-uniforms>CORPORATE UNIFORMS/a>/strong> /li> /ul> ul classm-sb> li classmsb-sec> strong>a hrefhttps://www.pacificqatar.com/product-category/uniforms/medical-uniform>MEDICAL UNIFORM/a>/strong> /li> /ul> /li> li classsub_col> ul classm-sb> li classmsb-sec> strong>a hrefhttps://www.pacificqatar.com/product-category/uniforms/hospitality-uniforms>HOSPITALITY UNIFORMS/a>/strong> /li> /ul> ul classm-sb> li classmsb-sec> strong>a hrefhttps://www.pacificqatar.com/product-category/uniforms/school-uniforms>SCHOOL UNIFORMS/a>/strong> /li> /ul> /li> li classsub_col> ul classm-sb> li classmsb-sec> strong>a hrefhttps://www.pacificqatar.com/product-category/uniforms/hotel-uniforms>HOTEL UNIFORMS/a>/strong> /li> /ul> ul classm-sb> li classmsb-sec> strong>a hrefhttps://www.pacificqatar.com/product-category/uniforms/salon-uniforms>SALON UNIFORMS/a>/strong> /li> /ul> /li> /ul> /li> li classsub-mnu> a classmCat hrefhttps://www.pacificqatar.com/product-category/promotional-gifts>PROMOTIONAL GIFTS/a> ul classmain-dropdown > li classsub_col> ul classm-sb> li classmsb-sec> strong>a classm_sub_cat hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/technology-gifts>TECHNOLOGY GIFTS/a>/strong> ul> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/technology-gifts/usb-flash-drive>USB FLASH DRIVE/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/technology-gifts/power-banks-&-chargers>POWER BANKS & CHARGERS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/technology-gifts/earphones-&-speakers>EARPHONES & SPEAKERS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/technology-gifts/car-chargers>CAR CHARGERS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/technology-gifts/mouse-pads>MOUSE PADS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/technology-gifts/computer-accessories>COMPUTER ACCESSORIES/a>/li> /ul> /li> /ul> ul classm-sb> li classmsb-sec> strong>a classm_sub_cat hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/diaries-&-calendars>DIARIES & CALENDARS/a>/strong> ul> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/diaries-&-calendars/calendars>CALENDARS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/diaries-&-calendars/diaries>DIARIES/a>/li> /ul> /li> /ul> /li> li classsub_col> ul classm-sb> li classmsb-sec> strong>a classm_sub_cat hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/general-gifts>GENERAL GIFTS/a>/strong> ul> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/general-gifts-12/keyholder-2>KEYHOLDER 2/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/general-gifts-12/eco-friendly-products>Eco-friendly products/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/general-gifts-12/qatar-national-day-products.>QATAR NATIONAL DAY PRODUCTS./a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/general-gifts-12/cap>Cap/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/general-gifts-12/gift-sets>GIFT SETS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/general-gifts-12/genaral-products>GENARAL PRODUCTS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/general-gifts-12/childrens-gift>CHILDRENS GIFT/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/general-gifts-12/sublimation-gifts>SUBLIMATION GIFTS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/general-gifts/christmas-gifts>CHRISTMAS GIFTS/a>/li> /ul> /li> /ul> ul classm-sb> li classmsb-sec> strong>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/bags>BAGS/a>/strong> /li> /ul> /li> li classsub_col> ul classm-sb> li classmsb-sec> strong>a classm_sub_cat hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/lanyards-&-badge-holders>LANYARDS & BADGE HOLDERS/a>/strong> ul> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/lanyards-&-badge-holders/lanyards>LANYARDS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/lanyards-&-badge-holders/badge-reels-&-holders>BADGE REELS & HOLDERS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/lanyards-&-badge-holders/name-badges>NAME BADGES/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/lanyards-&-badge-holders/badges-and-pins>BADGES AND PINS/a>/li> /ul> /li> /ul> ul classm-sb> li classmsb-sec> strong>a classm_sub_cat hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/drinkware>DRINKWARE/a>/strong> ul> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/drinkware/mugs>MUGS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/drinkware/travel-mug>TRAVEL MUG/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/drinkware/water-bottle>WATER BOTTLE/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/drinkware/metal-water-bottles>METAL WATER BOTTLES/a>/li> /ul> /li> /ul> /li> li classsub_col> ul classm-sb> li classmsb-sec> strong>a classm_sub_cat hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/awards-and-plaque>AWARDS AND PLAQUE/a>/strong> ul> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/awards-and-plaque/crystal-awards>CRYSTAL AWARDS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/awards-and-plaque/acrylic-award>ACRYLIC AWARD/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/awards-and-plaque/plaque-awards>PLAQUE AWARDS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/awards-and-plaque/trophies>TROPHIES/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/awards-and-plaque/medals>MEDALS/a>/li> /ul> /li> /ul> ul classm-sb> li classmsb-sec> strong>a classm_sub_cat hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/office-and-desk>OFFICE AND DESK/a>/strong> ul> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/office-and-desk/notebooks>NOTEBOOKS/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/office-and-desk/calculator>CALCULATOR/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/office-and-desk/business-card-holder>BUSINESS CARD HOLDER/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/office-and-desk/clocks-&-watches>CLOCKS & WATCHES/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/office-and-desk/desk-accessories>DESK ACCESSORIES/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/office-and-desk/padfolios>PADFOLIOs/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/office-and-desk/sticky-notes>STICKY NOTES/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/office-and-desk/stress-toys>Stress toys/a>/li> /ul> /li> /ul> /li> li classsub_col> ul classm-sb> li classmsb-sec> strong>a classm_sub_cat hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments>WRITING INSTRUMENTS/a>/strong> ul> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/plastic-pen>PLASTIC PEN/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/metal-pen>METAL PEN/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/novelty-pen>NOVELTY PEN/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/stylus-pen>STYLUS PEN/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/bic-pen>BIC PEN/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/parker-pen>PARKER PEN/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/waterman-pen>WATERMAN PEN/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/maxema-pen>MAXEMA PEN/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/podir-pen>PODIR PEN/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/eco-friendly-pen>ECO FRIENDLY PEN/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/pen-cases>PEN CASES/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/raphael-pen>RAPHAEL PEN/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/dorniel-designs-pen>DORNIEL DESIGNS PEN/a>/li> li>a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments/pencil>PENCIL/a>/li> /ul> /li> /ul> /li> /ul> /li> li classsub-mnu> a classmCat hrefhttps://www.pacificqatar.com/product-category/hotel-amenities>HOTEL AMENITIES/a> ul classmain-dropdown > li classsub_col> ul classm-sb> li classmsb-sec> strong>a hrefhttps://www.pacificqatar.com/product-category/hotel-amenities/bath-linen>Bath Linen/a>/strong> /li> /ul> /li> /ul> /li> li classsub-mnu lst_mnu>a classmCat href#>SERVICES/a> ul classmain-dropdown serv_drp> li classsub_col> ul classm-sb> li >a hrefhttps://www.pacificqatar.com/service-list/branding>Branding/a>/li> li >a hrefhttps://www.pacificqatar.com/service-list/tailoring>TAILORING/a>/li> /ul> /li> /ul> /li> /ul> /nav> /div> /div> !-- Get Tickets Button --> ul classsocial> li>a hrefhttp://www.facebook.com target_blank>img srchttps://www.pacificqatar.com/img/core-img/fb.png altFacebook>/a> /li> li>a hrefhttp://www.instagram.com target_blank>img srchttps://www.pacificqatar.com/img/core-img/insta.png altInstagram>/a>/li> li>a hrefhttp://www.linkedin.co target_blank>img srchttps://www.pacificqatar.com/img/core-img/linked-in.png altLinkedIn>/a>/li> li>a hrefhttp://www.twitter.com target_blank>img srchttps://www.pacificqatar.com/img/core-img/twitter.png altTwitter>/a>/li> /ul> /div> /div> /div> /header> !-- Header Area End --> !-- Welcome Area Start -->section classwelcome-area>div idcarouselExampleControls classcarousel slide data-ridecarousel> div classcarousel-inner> div classcarousel-item> !-- img classd-block w-100 srchttps://pacificqatar.com/media/4482/uniform2-01.jpg altpacific> --> div classslide_parallax> img srchttps://pacificqatar.com/media/4482/uniform2-01.jpg altUniforms banner> /div> /div> div classcarousel-item> !-- img classd-block w-100 srchttps://pacificqatar.com/media/4483/promotional-gifts-01.jpg altpacific> --> div classslide_parallax> img srchttps://pacificqatar.com/media/4483/promotional-gifts-01.jpg altPromotional gifts> /div> /div> div classcarousel-item> !-- img classd-block w-100 srchttps://pacificqatar.com/media/4484/hotel-aminities-01.jpg altpacific> --> div classslide_parallax> img srchttps://pacificqatar.com/media/4484/hotel-aminities-01.jpg altHotel Amenities> /div> /div> div classcarousel-item> !-- img classd-block w-100 srchttps://pacificqatar.com/media/4649/%40024-banner.jpg altpacific> --> div classslide_parallax> img srchttps://pacificqatar.com/media/4649/%40024-banner.jpg altnewyear> /div> /div> /div> /div> !-- Scroll Icon --> div classicon-scroll idscrollDown>/div>/section>!-- section classwelcome-area> div classwelcome-slides owl-carousel> div classsingle-welcome-slide bg-img bg-overlay jarallax stylebackground-image: url(https://pacificqatar.com/media/4482/uniform2-01.jpg);> div classcontainer h-100> div classrow h-100 align-items-center> Welcome Text div classcol-12> div classwelcome-text-two text-center> /div> /div> /div> /div> /div> div classsingle-welcome-slide bg-img bg-overlay jarallax stylebackground-image: url(https://pacificqatar.com/media/4483/promotional-gifts-01.jpg);> div classcontainer h-100> div classrow h-100 align-items-center> Welcome Text div classcol-12> div classwelcome-text-two text-center> /div> /div> /div> /div> /div> div classsingle-welcome-slide bg-img bg-overlay jarallax stylebackground-image: url(https://pacificqatar.com/media/4484/hotel-aminities-01.jpg);> div classcontainer h-100> div classrow h-100 align-items-center> Welcome Text div classcol-12> div classwelcome-text-two text-center> /div> /div> /div> /div> /div> div classsingle-welcome-slide bg-img bg-overlay jarallax stylebackground-image: url(https://pacificqatar.com/media/4649/%40024-banner.jpg);> div classcontainer h-100> div classrow h-100 align-items-center> Welcome Text div classcol-12> div classwelcome-text-two text-center> /div> /div> /div> /div> /div> /div> Scroll Icon div classicon-scroll idscrollDown>/div>/section> --> !-- Welcome Area End --> !-- About Us Area Start -->div classabt> div classrow> div classwrapper-left> div classscroll>/div> /div> div classnp section-padding-100-0 about-us-area idabout> div classcontainer-fluid> div classrow> div classcol-md-6 np> hr> h1>WHO WE ARE/h1> div classpd> p>Established in the year 2011, Pacific Trading and Contracting is one of the leading manufacturer and supplier of Uniforms and Promotional/ corporate gift Items in Doha Qatar. By Offering Superior Quality Products, Timely Delivery, Best Customer Service and Competitive Prices, Pacific Trading and Contracting has won the hearts of many reputed government and private enterprises in The State of Qatar.At Pacific Trading and Contracting , We do provide follows Uniforms: T-Shirts, Polo shirt, Corporate Uniforms, Hospitality Uniforms, Medical Uniforms, Security Uniforms, Sports Uniforms, Catering uniforms, School uniforms, Industrial uniforms, Sweatshirt, Fleece Jackets, Hooded sweatshirt, hoodies, sportswear, work wear, chef coats, kitchen apron, medical scrub and uniform, business shirt, jeans, denims, trousers, shorts, jackets, long pants, cargo pants, cap & hat and coverall, jogger, safety vest, tunics, track pants, tracksuits, nursing uniforms, housekeeping uniforms, workers jackets, office staff uniforms, lab coats etc. All Promotional /corporate gift services such as Calendars, Diary, Lanyard, Badge Reel and ID Holder, USB Flash drive, Power banks, Crystal awards and Medals, Key Chain, Water Bottles, Labels, Pens, Ceramic/Sublimation Mugs, Cap, Clock, Travel Kit, Portfolio, Organizer, Passport Holder, Key Holder, Leather Wallet, Bags, Calculator, Radio, Watches, Eco friendly products, Qatar National day products. Add your customized features to our readymade uniforms and promotional giveaways. We offer a verity of Uniforms, corporate /Promotional gifts that can be branded with your personalized company logo or motto. And other services like Hotel amenity services, Printing services and WPS Services. Are you looking for best supplier of Uniforms and promotional /corporate gifts in Doha - Qatar? Your search ends here!With Pacific trading and contracting you can be rest assured of our professional and friendly service to create an exciting marketing strategy for your company. Our experienced and specialized team will assist you from start to finish – making you and your company goes from good to great!/p> a hrefhttps://www.pacificqatar.com/about>Read More/a> /div> /div> div classcol-md-5 video> iframe classembed-responsive-item width100% height100% srchttps://www.youtube.com/embed/Inbnr3CD7Ho?autoplay1&showinfo0&controls0&loop1&rel0&mute1 frameborder0 allowaccelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture allowfullscreen>/iframe> /div> /div> /div> /div> /div> /div> !-- About Us Area End --> !-- Services Area Start -->section classservices-area> div classcontainer-fluid full> !--hr>--> !--h1>OUR PRODUCTS/h1>--> div classuniforms> div classp-outr> a hrefhttps://www.pacificqatar.com/product-category/uniforms> h2>UNIFORMS/h2> /a> div classowl-carousel owl-theme product-slider> div classproduct-box> a hrefhttps://www.pacificqatar.com/product-category/uniforms/polo-t-shirts classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/586/polo-tshirts.jpg classimg-responsive pr-cr alt> div classstick>POLO T-SHIRTS/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-category/uniforms/t-shirts-&-caps classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/3374/tshirts-and-cap.jpg classimg-responsive pr-cr alt> div classstick>T-SHIRTS & CAPS/div> /div> /a> /div> div classproduct-box> a hrefhttps://www.pacificqatar.com/product-category/uniforms/corporate-uniforms classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/603/corporate-uniforms2.jpg classimg-responsive pr-cr alt> div classstick>CORPORATE UNIFORMS/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-category/uniforms/hospitality-uniforms classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/612/HOSPITALITY-UNIFORMS3.jpg classimg-responsive pr-cr alt> div classstick>HOSPITALITY UNIFORMS/div> /div> /a> /div> div classproduct-box> a hrefhttps://www.pacificqatar.com/product-category/uniforms/hotel-uniforms classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/613/hotel-uniform1.jpg classimg-responsive pr-cr alt> div classstick>HOTEL UNIFORMS/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-category/uniforms/medical-uniform classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/609/medical-uniform.jpg classimg-responsive pr-cr alt> div classstick>MEDICAL UNIFORM/div> /div> /a> /div> div classproduct-box> a hrefhttps://www.pacificqatar.com/product-category/uniforms/school-uniforms classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/611/school-uniform1.jpg classimg-responsive pr-cr alt> div classstick>SCHOOL UNIFORMS/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-category/uniforms/salon-uniforms classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/614/salon-uniform-1.jpg classimg-responsive pr-cr alt> div classstick>SALON UNIFORMS/div> /div> /a> /div> div classproduct-box> a hrefhttps://www.pacificqatar.com/product-category/uniforms/sports-uniforms classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/616/sports-uniform-1.jpg classimg-responsive pr-cr alt> div classstick>SPORTS UNIFORMS/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-category/uniforms/industrial-uniforms classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/615/industrial-uniforms1.jpg classimg-responsive pr-cr alt> div classstick>INDUSTRIAL UNIFORMS/div> /div> /a> /div> /div> /div> /div> div classuniforms> div classp-outr> a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts> h2>PROMOTIONAL GIFTS/h2> /a> div classowl-carousel owl-theme product-slider> div classproduct-box> a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/technology-gifts classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/580/technological-gifts3.jpg classimg-responsive pr-cr altfeatured test> div classstick>TECHNOLOGY GIFTS/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/general-gifts classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/577/GIFT-SET.jpg classimg-responsive pr-cr alt> div classstick>GENERAL GIFTS/div> /div> /a> /div> div classproduct-box> a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/lanyards-&-badge-holders classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/576/landyard-and-badge-reels2.jpg classimg-responsive pr-cr alt> div classstick>LANYARDS & BADGE HOLDERS/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/awards-and-plaque classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/578/awards-and-plaque-1.jpg classimg-responsive pr-cr alt> div classstick>AWARDS AND PLAQUE/div> /div> /a> /div> div classproduct-box> a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/writing-instruments classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/574/writing-instruments.jpg classimg-responsive pr-cr alt> div classstick>WRITING INSTRUMENTS/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/office-and-desk classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/584/OFFICE-AND-DESK2.jpg classimg-responsive pr-cr alt> div classstick>OFFICE AND DESK/div> /div> /a> /div> div classproduct-box> a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/drinkware classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/575/mugs-3.jpg classimg-responsive pr-cr alt> div classstick>DRINKWARE/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/diaries-&-calendars classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/585/OFFICE-AND-DESK1.jpg classimg-responsive pr-cr alt> div classstick>DIARIES & CALENDARS/div> /div> /a> /div> div classproduct-box> a hrefhttps://www.pacificqatar.com/product-category/promotional-gifts/bags classitem wow fadeInUp data-wow-delay0.2s> div classslide-box > img stylewidth:100%;object-fit: cover; srchttps://pacificqatar.com/media/1202/awards-and-plaque.jpg classimg-responsive pr-cr alt> div classstick>BAGS/div> /div> /a> /div> /div> /div> /div> /div>/section>section classservices-area> div classcontainer-fluid full> !--hr>--> div classprinting p-outr> !--a hrefhttps://www.pacificqatar.com/service-list/branding>h2>Branding/h2>/a>--> h2>OUR SERVICES/h2> div classowl-carousel owl-theme pr-sr> a hrefhttps://www.pacificqatar.com/service-list/branding classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/618/screen-printing-home-view.jpg styleobject-fit: contain; classimg-responsive sr-cr altspeakers> div classstick>SCREEN PRINTING/div> /div> /a> a hrefhttps://www.pacificqatar.com/service-list/branding classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/621/SUBLIMATION-PRINTING-H.jpg styleobject-fit: contain; classimg-responsive sr-cr altspeakers> div classstick>SUBLIMATION PRINTING/div> /div> /a> a hrefhttps://www.pacificqatar.com/service-list/branding classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/623/UV-Printing-HPV1.jpg styleobject-fit: contain; classimg-responsive sr-cr altspeakers> div classstick>UV PRINTING/div> /div> /a> a hrefhttps://www.pacificqatar.com/service-list/branding classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/625/heat-transfer-printing-1.jpg styleobject-fit: contain; classimg-responsive sr-cr altspeakers> div classstick>HEAT TRANSFER PRINTING/div> /div> /a> a hrefhttps://www.pacificqatar.com/service-list/branding classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/627/PAD-PRINTING-HPV.jpg styleobject-fit: contain; classimg-responsive sr-cr altspeakers> div classstick>PAD PRINTING/div> /div> /a> a hrefhttps://www.pacificqatar.com/service-list/branding classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/629/embroidery-hpv.jpg styleobject-fit: contain; classimg-responsive sr-cr altspeakers> div classstick>EMBROIDERY/div> /div> /a> a hrefhttps://www.pacificqatar.com/service-list/branding classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/631/engraving-hpv.jpg styleobject-fit: contain; classimg-responsive sr-cr altspeakers> div classstick>LASER CUTTING & ENGRAVING/div> /div> /a> a hrefhttps://www.pacificqatar.com/service-list/branding classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/633/embosing-hpv.jpg styleobject-fit: contain; classimg-responsive sr-cr altspeakers> div classstick>EMBOSSING/div> /div> /a> /div> /div> /div>/section> !-- Services Area End --> section classservices-area ad-section> div classouter-main-ad> div classprinting p-outr> div classowl-carousel owl-theme ad-slider> div classslide-parallax stylebackground-image:url(https://pacificqatar.com/media/4049/Pac-new-2.jpg); altadvertisment> div classcontainer> div classrow> div classcol-md-12> div classcontent> h3>PROMOTIONAL/h3> h4>DRINKWARES/h4> p>p>Its a The new website was developed with our customers in mind, providing more /p>p>information and a clean, easy-to-navigate design. The new website features improved /p>p>search features, more detailed product specifications, and live support. Additionally, /p>p>our team is constantly working to add more information and content to the site./p> /p> button typebutton classbtn btn-light>a hrefhttps://pacificqatar.com/product-category/promotional-gifts/drinkware>View more/a>/button> /div> /div> /div> /div> /div> div classslide-parallax stylebackground-image:url(https://pacificqatar.com/media/4045/new-2.jpg); altadvertisment> div classcontainer> div classrow> div classcol-md-12> div classcontent> h3>CUSTOMIZED/h3> h4>GIFT SET/h4> p>p>Contains 4 products as listed beside. packed in a cardboard gift box/p>p>with a cushion inside for product protection and better presentation./p>p>Contains 4 products as listed beside. packed in a cardboard gift box/p>p>with a cushion inside for product protection and better presentation./p> /p> /div> /div> /div> /div> /div> /div> /div> /div>/section> section classservices-area> div classcontainer-fluid full> div classprinting p-outr> h2>NEW ARRIVALS/h2> div classowl-carousel owl-theme pr-sr> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/christmas-gifts/long-christmas-knitted-beanie classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4645/cx1532.jpg styleobject-fit: contain; classimg-responsive sr-cr altLong Christmas knitted beanie> div classstick>Long Christmas knitted beanie/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/christmas-gifts/christmas-hat classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4642/cx1015.jpg styleobject-fit: contain; classimg-responsive sr-cr altChristmas hat> div classstick>Christmas hat/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/christmas-gifts/felt-christmas-dwarf classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4637/cx1482.jpg styleobject-fit: contain; classimg-responsive sr-cr altFelt Christmas dwarf> div classstick>Felt Christmas dwarf/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/christmas-gifts/kitchen-apron-with-christmas-pattern classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4633/cx1496.jpg styleobject-fit: contain; classimg-responsive sr-cr altKitchen apron with Christmas pattern> div classstick>Kitchen apron with Christmas pattern/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/christmas-gifts/led-fairy-lights-string-5m classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4628/mo6611.jpg styleobject-fit: contain; classimg-responsive sr-cr altLED fairy lights string 5m> div classstick>LED fairy lights string 5m/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/christmas-gifts/set-of-4-christmas-erasers classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4624/cx1526.jpg styleobject-fit: contain; classimg-responsive sr-cr altSet of 4 Christmas erasers> div classstick>Set of 4 Christmas erasers/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/christmas-gifts/christmas-ornament-tree classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4619/cx1488.jpg styleobject-fit: contain; classimg-responsive sr-cr altChristmas ornament tree> div classstick>Christmas ornament tree/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/christmas-gifts/slate-hanger-tree-shaped classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4616/cx1433.jpg styleobject-fit: contain; classimg-responsive sr-cr altSlate hanger tree shaped> div classstick>Slate hanger tree shaped/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/drinkware/water-bottle/tumbler-with-handle-&-straw-ss-double-wall-900ml classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4608/Tumbler-with-Handle-and-Straw-TM-042.jpg styleobject-fit: contain; classimg-responsive sr-cr altTumbler with Handle & Straw SS Double Wall 900ml> div classstick>Tumbler with Handle & Straw SS Double Wall 900ml/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/eco-friendly-products/promotional-travel-tumbler-450ml-stainless-steel classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4600/SS-Tumbler-with-Cork-Base-TM-010.jpg styleobject-fit: contain; classimg-responsive sr-cr altPromotional Travel Tumbler 450ml Stainless Steel> div classstick>Promotional Travel Tumbler 450ml Stainless Steel/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/gift-sets/sadu-design-corporate-gift-set-gs-049 classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4596/SADU-Design-Corporate-Gift-Sets-GS-049.jpg styleobject-fit: contain; classimg-responsive sr-cr altSADU Design Corporate Gift Set GS-049> div classstick>SADU Design Corporate Gift Set GS-049/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/gift-sets/sadu-design-corporate-gift-set-gs-048 classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4592/SADU-Gift-Sets-GS-048.jpg styleobject-fit: contain; classimg-responsive sr-cr altSADU Design Corporate Gift Set GS-048> div classstick>SADU Design Corporate Gift Set GS-048/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/drinkware/water-bottle/double-wall-glass-bottles-with-sadu-sleeve-500ml classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4586/Glass-Bottle-with-SADU-Sleeve-TM-036.jpg styleobject-fit: contain; classimg-responsive sr-cr altDouble Wall Glass Bottles with SADU Sleeve 500ml> div classstick>Double Wall Glass Bottles with SADU Sleeve 500ml/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/christmas-gifts/seed-paper-xmas-ornament classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4578/cx1517.jpg styleobject-fit: contain; classimg-responsive sr-cr altSeed paper Xmas ornament> div classstick>Seed paper Xmas ornament/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/christmas-gifts/christmas-hat-rpet classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4576/cx1525.jpg styleobject-fit: contain; classimg-responsive sr-cr altChristmas hat RPET> div classstick>Christmas hat RPET/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/christmas-gifts/teapot-borosilicate-glass-850ml classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4573/mo9963.jpg styleobject-fit: contain; classimg-responsive sr-cr altTeapot borosilicate glass 850ml> div classstick>Teapot borosilicate glass 850ml/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/christmas-gifts/large-gift-paper-bag classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4570/mo8809.jpg styleobject-fit: contain; classimg-responsive sr-cr altLarge Gift paper bag> div classstick>Large Gift paper bag/div> /div> /a> a hrefhttps://www.pacificqatar.com/product-detail/promotional-gifts/general-gifts/childrens-gift/plush-reindeer-with-hoodie classitem wow fadeInUp data-wow-delay0.2s> div classslide-box> img srchttps://pacificqatar.com/media/4566/cx1469.jpg styleobject-fit: contain; classimg-responsive sr-cr altPlush reindeer with hoodie> div classstick>Plush reindeer with hoodie/div> /div> /a> /div> /div> /div>/section> !-- Client Area Start -->section classclients-area> div classcontainer-fluid full> hr> h1>OUR CLIENTS/h1> div classuniforms> br>br> !-- div classowl-carousel owl-theme clients> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/161/download.png classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/892/RKH-Qitarat.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/890/Qatar-Airways.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/891/Hamad-Medical-Corporation.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/893/Doha-Bank.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/894/Qatar-Foundation.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/895/Qatar-Petrolium.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/896/Qatar-University.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/897/Sidra-Medicine.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/898/National-Sport-Day.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/899/Kempinski.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/900/Sheraton-Grand.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/3760/Google-Logo.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/3761/FIFA-2022-LOGO.webp classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/3762/Cbq.qa-logo.png classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/3763/primary-health-care-corporation-phcc-logo-vector.png classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/3764/moph%281%29.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/3765/site_logo_square_white.png classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/3766/UDSTHLOGO-01.png classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/3769/1200px-WaldorfLogo.png classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/3771/McDonalds-Logo-1968.png classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/3772/output-onlinepngtools-18.png classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/3773/pih-baladna.jpg classimg-responsive altspeakers> /div> /div> div classitem wow fadeInUp data-wow-delay0.2s> div styledisplay: flex;align-items: center;> img classcl srchttps://pacificqatar.com/media/3774/Al_Jazeera_Media_Network_Logo.svg.png classimg-responsive altspeakers> /div> /div> /div> --> div classowl-carousel owl-theme> div classitem> h4>img srchttps://pacificqatar.com/media/161/download.png classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/892/RKH-Qitarat.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/890/Qatar-Airways.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/891/Hamad-Medical-Corporation.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/893/Doha-Bank.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/894/Qatar-Foundation.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/895/Qatar-Petrolium.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/896/Qatar-University.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/897/Sidra-Medicine.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/898/National-Sport-Day.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/899/Kempinski.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/900/Sheraton-Grand.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/3760/Google-Logo.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/3761/FIFA-2022-LOGO.webp classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/3762/Cbq.qa-logo.png classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/3763/primary-health-care-corporation-phcc-logo-vector.png classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/3764/moph%281%29.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/3765/site_logo_square_white.png classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/3766/UDSTHLOGO-01.png classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/3769/1200px-WaldorfLogo.png classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/3771/McDonalds-Logo-1968.png classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/3772/output-onlinepngtools-18.png classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/3773/pih-baladna.jpg classimg-responsive altlogo1> /h4> /div> div classitem> h4>img srchttps://pacificqatar.com/media/3774/Al_Jazeera_Media_Network_Logo.svg.png classimg-responsive altlogo1> /h4> /div> /div> /div> /div> /section> !-- Client Area End --> !-- Strenght Area Start -->section classstrength-area> div classcontainer-fluid full> div classrow> div classcol-md-4 flex-box> div classimg> img srcimg/core-img/projects-icon.png altProjects done> /div> div classpr> span classvalue> 1000+ /span>br> span classspec>Projectsbr> done/span> /div> /div> div classcol-md-4 flex-box> div classimg> img srcimg/core-img/team-icon.png altProjects done> /div> div classpr> span classvalue> 100+ /span>br> span classspec>Peoplebr> In Team/span> /div> /div> div classcol-md-4 flex-box> div classimg> img srcimg/core-img/client-icon.png altProjects done> /div> div classpr> span classvalue> 500+ /span>br> span classspec>Clientsbr> In Qatar/span> /div> /div> /div> /div>/section> !-- Strenght Area End --> !-- Contact Area Start -->!--section classcontact-area> div classcontainer-fluid full> div classrow> div classcol-md-4 text-center flex-box bx> span classred>ADDRESS/span>br>br> span classdetails> Qatar, Doha,br> Al Nasr Street, br>Mirqab Mall, Core 8, 1st Floor, br>Office. No. F50 /span> /div> div classcol-md-4 text-center flex-box bx> span classred>SOCIAL MEDIA/span>br>br> span classdetails> ul classsocial-ftr> li>a hrefhttps://www.facebook.com/pacificqtr/ target_blank>img srcimg/core-img/fb-icon.png altFacebbok>/a>/li> li>a hrefhttps://instagram.com/pacific_qtr?igshidhsv9e071cbol target_blank>img srcimg/core-img/insta-icon.png altInstrgram>/a>/li> li>a hrefhttps://www.facebook.com/pacificqtr/ target_blank>img srcimg/core-img/linkedin-icon.png altLinkedin>/a>/li> li>a hrefhttps://www.facebook.com/pacificqtr/ target_blank>img srcimg/core-img/twitter-icon.png altTwitter>/a>/li> /ul> /span> /div> div classcol-md-4 text-center flex-box bx> span classred>CONTACT/span>br>br> p classdetails>T: a hreftel:974 4478 8636>+974 4478 8636/a>/p> p classdetails>F: a hreftel:974 4486 6260>+974 4486 6260/a>/p> p classdetails>enquiry@pacificqatar.com/p> /div> /div> /div>/section>--> !-- Contact Area Start -->!-- Footer Area Start -->section classfooter-area> div classcontainer-fluid full> div classrow> div classcol-md-4> img srchttps://www.pacificqatar.com/img/core-img/footer-logo.png altLogo classfooter-logo> div classfoot-des> p> Established in the year 2011, Pacific Trading and Contracting is one of the leading manufacturer and supplier of Uniforms and Promotional/ corporate gift Items in Doha Qatar. By Offering Superior Quality Products, Timely Delivery, Best Customer Service and Competitive Prices, Pacific Trading and /p> /div> div class > span classdetails> ul classsocial-ftr> li>a hrefhttps://www.facebook.com/pacificqtr/ target_blank>img srchttps://www.pacificqatar.com/img/core-img/fb-bl.png altFacebbok>/a>/li> li>a hrefhttps://www.instagram.com/pacificqatargroup/ target_blank>img srchttps://www.pacificqatar.com/img/core-img/insta-a.png altInstrgram>/a>/li> li>a hrefhttps://www.facebook.com/pacificqtr/ target_blank>img srchttps://www.pacificqatar.com/img/core-img/linked.png altLinkedin>/a>/li> li>a hrefhttps://twitter.com/PacificQatar?t9McLW-E3__r4lelmVNeLAw&s09 target_blank>img srchttps://www.pacificqatar.com/img/core-img/twit.png altTwitter>/a>/li> /ul> /span> /div> /div> div classcol-md-2> div classcommen-det> h3>CONTACT/h3> ul> li>T: a hreftel:974 4478 8636>+974 4478 8636/a>/li> li>F: a hreftel:974 4486 6260>+974 4486 6260/a>/li> li>a hrefmailto:enquiry@pacificqatar.com>enquiry@pacificqatar.com/a>/li> /ul> /div> /div> div classcol-md-3> div classcommen-det> h3>ADDRESS/h3> ul> ul>li>Qatar, Doha,/li>li>Al Nasr Street,/li>li>Mirqab Mall, Core 8, 1st Floor,/li>li>Office. No. F50/li>/ul> /ul> /div> /div> div classcol-md-3> div classcommen-det location-box> h3>MAP LOCATION/h3> p>Pacific Uniforms and Corporate Gifts located at span>1st Floor, Office.No. F50, Mirqab Mall, Al Nasr Street, Doha - Qatar/span> /p> iframe srchttps://www.google.com/maps/embed?pb!1m18!1m12!1m3!1d3607.912977302066!2d51.49773781501117!3d25.273512683860755!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3e45dad755e39321%3A0x93dcdbb57d828b4b!2sPacific%20Trading%20%26%20Contracting%20W.L.L!5e0!3m2!1sen!2sin!4v1632733391224!5m2!1sen!2sin width100% height200 styleborder:0; allowfullscreen loadinglazy>/iframe> span classcopy-right>© 2024 Pacific Trading & Contracting WLL. All rights reserved./span>br> /div> /div> !--div classcol-md-4 copy>--> !--span classpowered>Powered by : a hrefhttp://www.auraqatar.com target_blank>img srchttps://www.pacificqatar.com/img/core-img/aura-logo.png altAura>/a>/span>--> !--/div>--> /div> div classrow> div classfoot-bot> ul classf-links> li>a hrefhttps://www.pacificqatar.com>HOME/a>/li> li>a hrefhttps://www.pacificqatar.com/about>ABOUT US/a>/li> li>a hrefhttps://www.pacificqatar.com/catelogue>CATELOGUE/a>/li> li>a hrefhttps://www.pacificqatar.com/clients>CLIENTS/a>/li> li>a hrefhttps://www.pacificqatar.com/contact-us>CONTACT US/a>/li> li>a hrefhttps://www.pacificqatar.com/sitemap>SITE MAP/a>/li> /ul> /div> /div> /div>/section>!-- Enquire Icon -->!-- div classicon-enquire>a href# idcontact>img srchttps://www.pacificqatar.com/img/core-img/enquire.png classimg-fluid altEnquire>/a>/div> -->!-- a href# classenqNow idcontact onclickopenNav()>Enquire nkkkkkkkow/a> -->!--a href# classenqNow onclickopenEnq()>Enquire now/a> -->div idcontactForm> a classclose href#popup1>×/a>br> h1>Enquire Now/h1> form actionhttps://www.pacificqatar.com/enqire-now methodPOST> input typehidden name_token valueybScRohJgXjLnuHdUsPmIZosCSHtznscO3TeR7Oo> input placeholderName namename typetext required /> input placeholderEmail nameemail typeemail required /> input placeholderPhone namephone typetext required /> textarea placeholdermessage namemessage required>/textarea> input classformBtn typesubmit /> /form>/div>!-- **** All JS Files ***** --> !-- jQuery 2.2.4 --> script srchttps://www.pacificqatar.com/js/jquery.min.js>/script> !-- Bootstrap --> script srchttps://www.pacificqatar.com/js/bootstrap.min.js>/script> !-- Owl --> script srchttps://www.pacificqatar.com/js/owl.carousel.min.js>/script> !-- All Plugins --> script srchttps://www.pacificqatar.com/js/confer.bundle.js>/script> !-- Active --> script srchttps://www.pacificqatar.com/js/default-assets/active.js>/script>!-- Start of Zendesk Widget script -->!-- script idze-snippet srchttps://static.zdassets.com/ekr/snippet.js?keyec7b62be-9213-4b06-84ec-5ca1b7fe0e14> /script> -->!-- End of Zendesk Widget script --> script>$(window).bind(load resize scroll,function(e) { var y $(window).scrollTop(); $(.slide_parallax).filter(function() { return $(this).offset().top (y + $(window).height()) && $(this).offset().top + $(this).height() > y; }).css(background-position, 0px + parseInt(-y / 3) + px);});$(document).ready(function () { $(.carousel-inner .carousel-item:first).addClass(active); $(.carousel).carousel({ interval: 4000, pause: false, wrap:true, })});/script> !-- swipe start -->script src//cdnjs.cloudflare.com/ajax/libs/jquery.touchswipe/1.6.4/jquery.touchSwipe.min.js>/script>script typetext/javascript> $(.carousel).swipe({ swipe: function (event, direction, distance, duration, fingerCount, fingerData) { if (direction left) $(this).carousel(next); if (direction right) $(this).carousel(prev); }, allowPageScroll: vertical });/script>!-- swipe end -->script> $(document).ready(function () { var owl $(.owl-carousel); owl.owlCarousel({ items: 6, loop: true, dots:false, margin: 10, autoplay: true, slideTransition: linear, autoplayTimeout: 0, autoplaySpeed: 3000, autoplayHoverPause: false, responsive: { 0: { items: 1 }, 600: { items: 3 }, 1000: { items: 6 } } });});//*******************************************//***CODE BELOW> This is a custom owl carousel js, you can add it by pasting the code below into a js file and use it in your website./** * Owl carousel * @version 2.0.0 * @author Bartosz Wojciechowski * @license The MIT License (MIT) * @todo Lazy Load Icon * @todo prevent animationend bubling * @todo itemsScaleUp * @todo Test Zepto * @todo stagePadding calculate wrong active classes */;(function($, window, document, undefined) { var drag, state, e; /** * Template for status information about drag and touch events. * @private */ drag { start: 0, startX: 0, startY: 0, current: 0, currentX: 0, currentY: 0, offsetX: 0, offsetY: 0, distance: null, startTime: 0, endTime: 0, updatedX: 0, targetEl: null }; /** * Template for some status informations. * @private */ state { isTouch: false, isScrolling: false, isSwiping: false, direction: false, inMotion: false }; /** * Event functions references. * @private */ e { _onDragStart: null, _onDragMove: null, _onDragEnd: null, _transitionEnd: null, _resizer: null, _responsiveCall: null, _goToLoop: null, _checkVisibile: null }; /** * Creates a carousel. * @class The Owl Carousel. * @public * @param {HTMLElement|jQuery} element - The element to create the carousel for. * @param {Object} options - The options */ function Owl(element, options) { /** * Current settings for the carousel. * @public */ this.settings null; /** * Current options set by the caller including defaults. * @public */ this.options $.extend({}, Owl.Defaults, options); /** * Plugin element. * @public */ this.$element $(element); /** * Caches informations about drag and touch events. */ this.drag $.extend({}, drag); /** * Caches some status informations. * @protected */ this.state $.extend({}, state); /** * @protected * @todo Must be documented */ this.e $.extend({}, e); /** * References to the running plugins of this carousel. * @protected */ this._plugins {}; /** * Currently suppressed events to prevent them from beeing retriggered. * @protected */ this._supress {}; /** * Absolute current position. * @protected */ this._current null; /** * Animation speed in milliseconds. * @protected */ this._speed null; /** * Coordinates of all items in pixel. * @todo The name of this member is missleading. * @protected */ this._coordinates ; /** * Current breakpoint. * @todo Real media queries would be nice. * @protected */ this._breakpoint null; /** * Current width of the plugin element. */ this._width null; /** * All real items. * @protected */ this._items ; /** * All cloned items. * @protected */ this._clones ; /** * Merge values of all items. * @todo Maybe this could be part of a plugin. * @protected */ this._mergers ; /** * Invalidated parts within the update process. * @protected */ this._invalidated {}; /** * Ordered list of workers for the update process. * @protected */ this._pipe ; $.each(Owl.Plugins, $.proxy(function(key, plugin) { this._pluginskey0.toLowerCase() + key.slice(1) new plugin(this); }, this)); $.each(Owl.Pipe, $.proxy(function(priority, worker) { this._pipe.push({ filter: worker.filter, run: $.proxy(worker.run, this) }); }, this)); this.setup(); this.initialize(); } /** * Default options for the carousel. * @public */ Owl.Defaults { items: 3, loop: false, center: false, slideTransition: , mouseDrag: true, touchDrag: true, pullDrag: true, freeDrag: false, margin: 0, stagePadding: 0, merge: false, mergeFit: true, autoWidth: false, startPosition: 0, rtl: false, smartSpeed: 250, fluidSpeed: false, dragEndSpeed: false, responsive: {}, responsiveRefreshRate: 200, responsiveBaseElement: window, responsiveClass: false, fallbackEasing: swing, info: false, nestedItemSelector: false, itemElement: div, stageElement: div, // Classes and Names themeClass: owl-theme, baseClass: owl-carousel, itemClass: owl-item, centerClass: center, activeClass: active }; /** * Enumeration for width. * @public * @readonly * @enum {String} */ Owl.Width { Default: default, Inner: inner, Outer: outer }; /** * Contains all registered plugins. * @public */ Owl.Plugins {}; /** * Update pipe. */ Owl.Pipe { filter: width, items, settings , run: function(cache) { cache.current this._items && this._itemsthis.relative(this._current); } }, { filter: items, settings , run: function() { var cached this._clones, clones this.$stage.children(.cloned); if (clones.length ! cached.length || (!this.settings.loop && cached.length > 0)) { this.$stage.children(.cloned).remove(); this._clones ; } } }, { filter: items, settings , run: function() { var i, n, clones this._clones, items this._items, delta this.settings.loop ? clones.length - Math.max(this.settings.items * 2, 4) : 0; for (i 0, n Math.abs(delta / 2); i n; i++) { if (delta > 0) { this.$stage.children().eq(items.length + clones.length - 1).remove(); clones.pop(); this.$stage.children().eq(0).remove(); clones.pop(); } else { clones.push(clones.length / 2); this.$stage.append(itemsclonesclones.length - 1.clone().addClass(cloned)); clones.push(items.length - 1 - (clones.length - 1) / 2); this.$stage.prepend(itemsclonesclones.length - 1.clone().addClass(cloned)); } } } }, { filter: width, items, settings , run: function() { var rtl (this.settings.rtl ? 1 : -1), width (this.width() / this.settings.items).toFixed(3), coordinate 0, merge, i, n; this._coordinates ; for (i 0, n this._clones.length + this._items.length; i n; i++) { merge this._mergersthis.relative(i); merge (this.settings.mergeFit && Math.min(merge, this.settings.items)) || merge; coordinate + (this.settings.autoWidth ? this._itemsthis.relative(i).width() + this.settings.margin : width * merge) * rtl; this._coordinates.push(coordinate); } } }, { filter: width, items, settings , run: function() { var i, n, width (this.width() / this.settings.items).toFixed(3), css { width: Math.abs(this._coordinatesthis._coordinates.length - 1) + this.settings.stagePadding * 2, padding-left: this.settings.stagePadding || , padding-right: this.settings.stagePadding || }; this.$stage.css(css); css { width: this.settings.autoWidth ? auto : width - this.settings.margin }; cssthis.settings.rtl ? margin-left : margin-right this.settings.margin; if (!this.settings.autoWidth && $.grep(this._mergers, function(v) { return v > 1 }).length > 0) { for (i 0, n this._coordinates.length; i n; i++) { css.width Math.abs(this._coordinatesi) - Math.abs(this._coordinatesi - 1 || 0) - this.settings.margin; this.$stage.children().eq(i).css(css); } } else { this.$stage.children().css(css); } } }, { filter: width, items, settings , run: function(cache) { cache.current && this.reset(this.$stage.children().index(cache.current)); } }, { filter: position , run: function() { this.animate(this.coordinates(this._current)); } }, { filter: width, position, items, settings , run: function() { var rtl this.settings.rtl ? 1 : -1, padding this.settings.stagePadding * 2, begin this.coordinates(this.current()) + padding, end begin + this.width() * rtl, inner, outer, matches , i, n; for (i 0, n this._coordinates.length; i n; i++) { inner this._coordinatesi - 1 || 0; outer Math.abs(this._coordinatesi) + padding * rtl; if ((this.op(inner, , begin) && (this.op(inner, >, end))) || (this.op(outer, , begin) && this.op(outer, >, end))) { matches.push(i); } } this.$stage.children(. + this.settings.activeClass).removeClass(this.settings.activeClass); this.$stage.children(:eq( + matches.join(), :eq() + )).addClass(this.settings.activeClass); if (this.settings.center) { this.$stage.children(. + this.settings.centerClass).removeClass(this.settings.centerClass); this.$stage.children().eq(this.current()).addClass(this.settings.centerClass); } } } ; /** * Initializes the carousel. * @protected */ Owl.prototype.initialize function() { this.trigger(initialize); this.$element .addClass(this.settings.baseClass) .addClass(this.settings.themeClass) .toggleClass(owl-rtl, this.settings.rtl); // check support this.browserSupport(); if (this.settings.autoWidth && this.state.imagesLoaded ! true) { var imgs, nestedSelector, width; imgs this.$element.find(img); nestedSelector this.settings.nestedItemSelector ? . + this.settings.nestedItemSelector : undefined; width this.$element.children(nestedSelector).width(); if (imgs.length && width 0) { this.preloadAutoWidthImages(imgs); return false; } } this.$element.addClass(owl-loading); // create stage this.$stage $( + this.settings.stageElement + classowl-stage/>) .wrap(div classowl-stage-outer>); // append stage this.$element.append(this.$stage.parent()); // append content this.replace(this.$element.children().not(this.$stage.parent())); // set view width this._width this.$element.width(); // update view this.refresh(); this.$element.removeClass(owl-loading).addClass(owl-loaded); // attach generic events this.eventsCall(); // attach generic events this.internalEvents(); // attach custom control events this.addTriggerableEvents(); this.trigger(initialized); }; /** * Setups the current settings. * @todo Remove responsive classes. Why should adaptive designs be brought into IE8? * @todo Support for media queries by using `matchMedia` would be nice. * @public */ Owl.prototype.setup function() { var viewport this.viewport(), overwrites this.options.responsive, match -1, settings null; if (!overwrites) { settings $.extend({}, this.options); } else { $.each(overwrites, function(breakpoint) { if (breakpoint viewport && breakpoint > match) { match Number(breakpoint); } }); settings $.extend({}, this.options, overwritesmatch); delete settings.responsive; // responsive class if (settings.responsiveClass) { this.$element.attr(class, function(i, c) { return c.replace(/\b owl-responsive-\S+/g, ); }).addClass(owl-responsive- + match); } } if (this.settings null || this._breakpoint ! match) { this.trigger(change, { property: { name: settings, value: settings } }); this._breakpoint match; this.settings settings; this.invalidate(settings); this.trigger(changed, { property: { name: settings, value: this.settings } }); } }; /** * Updates option logic if necessery. * @protected */ Owl.prototype.optionsLogic function() { // Toggle Center class this.$element.toggleClass(owl-center, this.settings.center); // if items number is less than in body if (this.settings.loop && this._items.length this.settings.items) { this.settings.loop false; } if (this.settings.autoWidth) { this.settings.stagePadding false; this.settings.merge false; } }; /** * Prepares an item before add. * @todo Rename event parameter `content` to `item`. * @protected * @returns {jQuery|HTMLElement} - The item container. */ Owl.prototype.prepare function(item) { var event this.trigger(prepare, { content: item }); if (!event.data) { event.data $( + this.settings.itemElement + />) .addClass(this.settings.itemClass).append(item) } this.trigger(prepared, { content: event.data }); return event.data; }; /** * Updates the view. * @public */ Owl.prototype.update function() { var i 0, n this._pipe.length, filter $.proxy(function(p) { return thisp }, this._invalidated), cache {}; while (i n) { if (this._invalidated.all || $.grep(this._pipei.filter, filter).length > 0) { this._pipei.run(cache); } i++; } this._invalidated {}; }; /** * Gets the width of the view. * @public * @param {Owl.Width} dimensionOwl.Width.Default - The dimension to return. * @returns {Number} - The width of the view in pixel. */ Owl.prototype.width function(dimension) { dimension dimension || Owl.Width.Default; switch (dimension) { case Owl.Width.Inner: case Owl.Width.Outer: return this._width; default: return this._width - this.settings.stagePadding * 2 + this.settings.margin; } }; /** * Refreshes the carousel primarily for adaptive purposes. * @public */ Owl.prototype.refresh function() { if (this._items.length 0) { return false; } var start new Date().getTime(); this.trigger(refresh); this.setup(); this.optionsLogic(); // hide and show methods helps here to set a proper widths, // this prevents scrollbar to be calculated in stage width this.$stage.addClass(owl-refresh); this.update(); this.$stage.removeClass(owl-refresh); this.state.orientation window.orientation; this.watchVisibility(); this.trigger(refreshed); }; /** * Save internal event references and add event based functions. * @protected */ Owl.prototype.eventsCall function() { // Save events references this.e._onDragStart $.proxy(function(e) { this.onDragStart(e); }, this); this.e._onDragMove $.proxy(function(e) { this.onDragMove(e); }, this); this.e._onDragEnd $.proxy(function(e) { this.onDragEnd(e); }, this); this.e._onResize $.proxy(function(e) { this.onResize(e); }, this); this.e._transitionEnd $.proxy(function(e) { this.transitionEnd(e); }, this); this.e._preventClick $.proxy(function(e) { this.preventClick(e); }, this); }; /** * Checks window `resize` event. * @protected */ Owl.prototype.onThrottledResize function() { window.clearTimeout(this.resizeTimer); this.resizeTimer window.setTimeout(this.e._onResize, this.settings.responsiveRefreshRate); }; /** * Checks window `resize` event. * @protected */ Owl.prototype.onResize function() { if (!this._items.length) { return false; } if (this._width this.$element.width()) { return false; } if (this.trigger(resize).isDefaultPrevented()) { return false; } this._width this.$element.width(); this.invalidate(width); this.refresh(); this.trigger(resized); }; /** * Checks for touch/mouse drag event type and add run event handlers. * @protected */ Owl.prototype.eventsRouter function(event) { var type event.type; if (type mousedown || type touchstart) { this.onDragStart(event); } else if (type mousemove || type touchmove) { this.onDragMove(event); } else if (type mouseup || type touchend) { this.onDragEnd(event); } else if (type touchcancel) { this.onDragEnd(event); } }; /** * Checks for touch/mouse drag options and add necessery event handlers. * @protected */ Owl.prototype.internalEvents function() { var isTouch isTouchSupport(), isTouchIE isTouchSupportIE(); if (this.settings.mouseDrag){ this.$stage.on(mousedown, $.proxy(function(event) { this.eventsRouter(event) }, this)); this.$stage.on(dragstart, function() { return false }); this.$stage.get(0).onselectstart function() { return false }; } else { this.$element.addClass(owl-text-select-on); } if (this.settings.touchDrag && !isTouchIE){ this.$stage.on(touchstart touchcancel, $.proxy(function(event) { this.eventsRouter(event) }, this)); } // catch transitionEnd event if (this.transitionEndVendor) { this.on(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd, false); } // responsive if (this.settings.responsive ! false) { this.on(window, resize, $.proxy(this.onThrottledResize, this)); } }; /** * Handles touchstart/mousedown event. * @protected * @param {Event} event - The event arguments. */ Owl.prototype.onDragStart function(event) { var ev, isTouchEvent, pageX, pageY, animatedPos; ev event.originalEvent || event || window.event; // prevent right click if (ev.which 3 || this.state.isTouch) { return false; } if (ev.type mousedown) { this.$stage.addClass(owl-grab); } this.trigger(drag); this.drag.startTime new Date().getTime(); this.speed(0); this.state.isTouch true; this.state.isScrolling false; this.state.isSwiping false; this.drag.distance 0; pageX getTouches(ev).x; pageY getTouches(ev).y; // get stage position left this.drag.offsetX this.$stage.position().left; this.drag.offsetY this.$stage.position().top; if (this.settings.rtl) { this.drag.offsetX this.$stage.position().left + this.$stage.width() - this.width() + this.settings.margin; } // catch position // ie to fix if (this.state.inMotion && this.support3d) { animatedPos this.getTransformProperty(); this.drag.offsetX animatedPos; this.animate(animatedPos); this.state.inMotion true; } else if (this.state.inMotion && !this.support3d) { this.state.inMotion false; return false; } this.drag.startX pageX - this.drag.offsetX; this.drag.startY pageY - this.drag.offsetY; this.drag.start pageX - this.drag.startX; this.drag.targetEl ev.target || ev.srcElement; this.drag.updatedX this.drag.start; // to do/check // prevent links and images dragging; if (this.drag.targetEl.tagName IMG || this.drag.targetEl.tagName A) { this.drag.targetEl.draggable false; } $(document).on(mousemove.owl.dragEvents mouseup.owl.dragEvents touchmove.owl.dragEvents touchend.owl.dragEvents, $.proxy(function(event) {this.eventsRouter(event)},this)); }; /** * Handles the touchmove/mousemove events. * @todo Simplify * @protected * @param {Event} event - The event arguments. */ Owl.prototype.onDragMove function(event) { var ev, isTouchEvent, pageX, pageY, minValue, maxValue, pull; if (!this.state.isTouch) { return; } if (this.state.isScrolling) { return; } ev event.originalEvent || event || window.event; pageX getTouches(ev).x; pageY getTouches(ev).y; // Drag Direction this.drag.currentX pageX - this.drag.startX; this.drag.currentY pageY - this.drag.startY; this.drag.distance this.drag.currentX - this.drag.offsetX; // Check move direction if (this.drag.distance 0) { this.state.direction this.settings.rtl ? right : left; } else if (this.drag.distance > 0) { this.state.direction this.settings.rtl ? left : right; } // Loop if (this.settings.loop) { if (this.op(this.drag.currentX, >, this.coordinates(this.minimum())) && this.state.direction right) { this.drag.currentX - (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length); } else if (this.op(this.drag.currentX, , this.coordinates(this.maximum())) && this.state.direction left) { this.drag.currentX + (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length); } } else { // pull minValue this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum()); maxValue this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum()); pull this.settings.pullDrag ? this.drag.distance / 5 : 0; this.drag.currentX Math.max(Math.min(this.drag.currentX, minValue + pull), maxValue + pull); } // Lock browser if swiping horizontal if ((this.drag.distance > 8 || this.drag.distance -8)) { if (ev.preventDefault ! undefined) { ev.preventDefault(); } else { ev.returnValue false; } this.state.isSwiping true; } this.drag.updatedX this.drag.currentX; // Lock Owl if scrolling if ((this.drag.currentY > 16 || this.drag.currentY -16) && this.state.isSwiping false) { this.state.isScrolling true; this.drag.updatedX this.drag.start; } this.animate(this.drag.updatedX); }; /** * Handles the touchend/mouseup events. * @protected */ Owl.prototype.onDragEnd function(event) { var compareTimes, distanceAbs, closest; if (!this.state.isTouch) { return; } if (event.type mouseup) { this.$stage.removeClass(owl-grab); } this.trigger(dragged); // prevent links and images dragging; this.drag.targetEl.removeAttribute(draggable); // remove drag event listeners this.state.isTouch false; this.state.isScrolling false; this.state.isSwiping false; // to check if (this.drag.distance 0 && this.state.inMotion ! true) { this.state.inMotion false; return false; } // prevent clicks while scrolling this.drag.endTime new Date().getTime(); compareTimes this.drag.endTime - this.drag.startTime; distanceAbs Math.abs(this.drag.distance); // to test if (distanceAbs > 3 || compareTimes > 300) { this.removeClick(this.drag.targetEl); } closest this.closest(this.drag.updatedX); this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed); this.current(closest); this.invalidate(position); this.update(); // if pullDrag is off then fire transitionEnd event manually when stick // to border if (!this.settings.pullDrag && this.drag.updatedX this.coordinates(closest)) { this.transitionEnd(); } this.drag.distance 0; $(document).off(.owl.dragEvents); }; /** * Attaches `preventClick` to disable link while swipping. * @protected * @param {HTMLElement} target - The target of the `click` event. */ Owl.prototype.removeClick function(target) { this.drag.targetEl target; $(target).on(click.preventClick, this.e._preventClick); // to make sure click is removed: window.setTimeout(function() { $(target).off(click.preventClick); }, 300); }; /** * Suppresses click event. * @protected * @param {Event} ev - The event arguments. */ Owl.prototype.preventClick function(ev) { if (ev.preventDefault) { ev.preventDefault(); } else { ev.returnValue false; } if (ev.stopPropagation) { ev.stopPropagation(); } $(ev.target).off(click.preventClick); }; /** * Catches stage position while animate (only CSS3). * @protected * @returns */ Owl.prototype.getTransformProperty function() { var transform, matrix3d; transform window.getComputedStyle(this.$stage.get(0), null).getPropertyValue(this.vendorName + transform); // var transform this.$stage.css(this.vendorName + transform) transform transform.replace(/matrix(3d)?\(|\)/g, ).split(,); matrix3d transform.length 16; return matrix3d ! true ? transform4 : transform12; }; /** * Gets absolute position of the closest item for a coordinate. * @todo Setting `freeDrag` makes `closest` not reusable. See #165. * @protected * @param {Number} coordinate - The coordinate in pixel. * @return {Number} - The absolute position of the closest item. */ Owl.prototype.closest function(coordinate) { var position -1, pull 30, width this.width(), coordinates this.coordinates(); if (!this.settings.freeDrag) { // check closest item $.each(coordinates, $.proxy(function(index, value) { if (coordinate > value - pull && coordinate value + pull) { position index; } else if (this.op(coordinate, , value) && this.op(coordinate, >, coordinatesindex + 1 || value - width)) { position this.state.direction left ? index + 1 : index; } return position -1; }, this)); } if (!this.settings.loop) { // non loop boundries if (this.op(coordinate, >, coordinatesthis.minimum())) { position coordinate this.minimum(); } else if (this.op(coordinate, , coordinatesthis.maximum())) { position coordinate this.maximum(); } } return position; }; /** * Animates the stage. * @public * @param {Number} coordinate - The coordinate in pixels. */ Owl.prototype.animate function(coordinate) { this.trigger(translate); this.state.inMotion this.speed() > 0; if (this.support3d) { this.$stage.css({ transform: translate3d( + coordinate + px + ,0px, 0px), transition: (this.speed() / 1000) + s + this.settings.slideTransition }); } else if (this.state.isTouch) { this.$stage.css({ left: coordinate + px }); } else { this.$stage.animate({ left: coordinate }, this.speed() / 1000, this.settings.fallbackEasing, $.proxy(function() { if (this.state.inMotion) { this.transitionEnd(); } }, this)); } }; /** * Sets the absolute position of the current item. * @public * @param {Number} position - The new absolute position or nothing to leave it unchanged. * @returns {Number} - The absolute position of the current item. */ Owl.prototype.current function(position) { if (position undefined) { return this._current; } if (this._items.length 0) { return undefined; } position this.normalize(position); if (this._current ! position) { var event this.trigger(change, { property: { name: position, value: position } }); if (event.data ! undefined) { position this.normalize(event.data); } this._current position; this.invalidate(position); this.trigger(changed, { property: { name: position, value: this._current } }); } return this._current; }; /** * Invalidates the given part of the update routine. * @param {String} part - The part to invalidate. */ Owl.prototype.invalidate function(part) { this._invalidatedpart true; } /** * Resets the absolute position of the current item. * @public * @param {Number} position - The absolute position of the new item. */ Owl.prototype.reset function(position) { position this.normalize(position); if (position undefined) { return; } this._speed 0; this._current position; this.suppress( translate, translated ); this.animate(this.coordinates(position)); this.release( translate, translated ); }; /** * Normalizes an absolute or a relative position for an item. * @public * @param {Number} position - The absolute or relative position to normalize. * @param {Boolean} relativefalse - Whether the given position is relative or not. * @returns {Number} - The normalized position. */ Owl.prototype.normalize function(position, relative) { var n (relative ? this._items.length : this._items.length + this._clones.length); if (!$.isNumeric(position) || n 1) { return undefined; } if (this._clones.length) { position ((position % n) + n) % n; } else { position Math.max(this.minimum(relative), Math.min(this.maximum(relative), position)); } return position; }; /** * Converts an absolute position for an item into a relative position. * @public * @param {Number} position - The absolute position to convert. * @returns {Number} - The converted position. */ Owl.prototype.relative function(position) { position this.normalize(position); position position - this._clones.length / 2; return this.normalize(position, true); }; /** * Gets the maximum position for an item. * @public * @param {Boolean} relativefalse - Whether to return an absolute position or a relative position. * @returns {Number} */ Owl.prototype.maximum function(relative) { var maximum, width, i 0, coordinate, settings this.settings; if (relative) { return this._items.length - 1; } if (!settings.loop && settings.center) { maximum this._items.length - 1; } else if (!settings.loop && !settings.center) { maximum this._items.length - settings.items; } else if (settings.loop || settings.center) { maximum this._items.length + settings.items; } else if (settings.autoWidth || settings.merge) { revert settings.rtl ? 1 : -1; width this.$stage.width() - this.$element.width(); while (coordinate this.coordinates(i)) { if (coordinate * revert > width) { break; } maximum ++i; } } else { throw Can not detect maximum absolute position. } return maximum; }; /** * Gets the minimum position for an item. * @public * @param {Boolean} relativefalse - Whether to return an absolute position or a relative position. * @returns {Number} */ Owl.prototype.minimum function(relative) { if (relative) { return 0; } return this._clones.length / 2; }; /** * Gets an item at the specified relative position. * @public * @param {Number} position - The relative position of the item. * @return {jQuery|Array.jQuery>} - The item at the given position or all items if no position was given. */ Owl.prototype.items function(position) { if (position undefined) { return this._items.slice(); } position this.normalize(position, true); return this._itemsposition; }; /** * Gets an item at the specified relative position. * @public * @param {Number} position - The relative position of the item. * @return {jQuery|Array.jQuery>} - The item at the given position or all items if no position was given. */ Owl.prototype.mergers function(position) { if (position undefined) { return this._mergers.slice(); } position this.normalize(position, true); return this._mergersposition; }; /** * Gets the absolute positions of clones for an item. * @public * @param {Number} position - The relative position of the item. * @returns {Array.Number>} - The absolute positions of clones for the item or all if no position was given. */ Owl.prototype.clones function(position) { var odd this._clones.length / 2, even odd + this._items.length, map function(index) { return index % 2 0 ? even + index / 2 : odd - (index + 1) / 2 }; if (position undefined) { return $.map(this._clones, function(v, i) { return map(i) }); } return $.map(this._clones, function(v, i) { return v position ? map(i) : null }); }; /** * Sets the current animation speed. * @public * @param {Number} speed - The animation speed in milliseconds or nothing to leave it unchanged. * @returns {Number} - The current animation speed in milliseconds. */ Owl.prototype.speed function(speed) { if (speed ! undefined) { this._speed speed; } return this._speed; }; /** * Gets the coordinate of an item. * @todo The name of this method is missleanding. * @public * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`. * @returns {Number|Array.Number>} - The coordinate of the item in pixel or all coordinates. */ Owl.prototype.coordinates function(position) { var coordinate null; if (position undefined) { return $.map(this._coordinates, $.proxy(function(coordinate, index) { return this.coordinates(index); }, this)); } if (this.settings.center) { coordinate this._coordinatesposition; coordinate + (this.width() - coordinate + (this._coordinatesposition - 1 || 0)) / 2 * (this.settings.rtl ? -1 : 1); } else { coordinate this._coordinatesposition - 1 || 0; } return coordinate; }; /** * Calculates the speed for a translation. * @protected * @param {Number} from - The absolute position of the start item. * @param {Number} to - The absolute position of the target item. * @param {Number} factorundefined - The time factor in milliseconds. * @returns {Number} - The time in milliseconds for the translation. */ Owl.prototype.duration function(from, to, factor) { return Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed)); }; /** * Slides to the specified item. * @public * @param {Number} position - The position of the item. * @param {Number} speed - The time in milliseconds for the transition. */ Owl.prototype.to function(position, speed) { if (this.settings.loop) { var distance position - this.relative(this.current()), revert this.current(), before this.current(), after this.current() + distance, direction before - after 0 ? true : false, items this._clones.length + this._items.length; if (after this.settings.items && direction false) { revert before + this._items.length; this.reset(revert); } else if (after > items - this.settings.items && direction true) { revert before - this._items.length; this.reset(revert); } window.clearTimeout(this.e._goToLoop); this.e._goToLoop window.setTimeout($.proxy(function() { this.speed(this.duration(this.current(), revert + distance, speed)); this.current(revert + distance); this.update(); }, this), 30); } else { this.speed(this.duration(this.current(), position, speed)); this.current(position); this.update(); } }; /** * Slides to the next item. * @public * @param {Number} speed - The time in milliseconds for the transition. */ Owl.prototype.next function(speed) { speed speed || false; this.to(this.relative(this.current()) + 1, speed); }; /** * Slides to the previous item. * @public * @param {Number} speed - The time in milliseconds for the transition. */ Owl.prototype.prev function(speed) { speed speed || false; this.to(this.relative(this.current()) - 1, speed); }; /** * Handles the end of an animation. * @protected * @param {Event} event - The event arguments. */ Owl.prototype.transitionEnd function(event) { // if css2 animation then event object is undefined if (event ! undefined) { event.stopPropagation(); // Catch only owl-stage transitionEnd event if ((event.target || event.srcElement || event.originalTarget) ! this.$stage.get(0)) { return false; } } this.state.inMotion false; this.trigger(translated); }; /** * Gets viewport width. * @protected * @return {Number} - The width in pixel. */ Owl.prototype.viewport function() { var width; if (this.options.responsiveBaseElement ! window) { width $(this.options.responsiveBaseElement).width(); } else if (window.innerWidth) { width window.innerWidth; } else if (document.documentElement && document.documentElement.clientWidth) { width document.documentElement.clientWidth; } else { throw Can not detect viewport width.; } return width; }; /** * Replaces the current content. * @public * @param {HTMLElement|jQuery|String} content - The new content. */ Owl.prototype.replace function(content) { this.$stage.empty(); this._items ; if (content) { content (content instanceof jQuery) ? content : $(content); } if (this.settings.nestedItemSelector) { content content.find(. + this.settings.nestedItemSelector); } content.filter(function() { return this.nodeType 1; }).each($.proxy(function(index, item) { item this.prepare(item); this.$stage.append(item); this._items.push(item); this._mergers.push(item.find(data-merge).andSelf(data-merge).attr(data-merge) * 1 || 1); }, this)); this.reset($.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0); this.invalidate(items); }; /** * Adds an item. * @todo Use `item` instead of `content` for the event arguments. * @public * @param {HTMLElement|jQuery|String} content - The item content to add. * @param {Number} position - The relative position at which to insert the item otherwise the item will be added to the end. */ Owl.prototype.add function(content, position) { position position undefined ? this._items.length : this.normalize(position, true); this.trigger(add, { content: content, position: position }); if (this._items.length 0 || position this._items.length) { this.$stage.append(content); this._items.push(content); this._mergers.push(content.find(data-merge).andSelf(data-merge).attr(data-merge) * 1 || 1); } else { this._itemsposition.before(content); this._items.splice(position, 0, content); this._mergers.splice(position, 0, content.find(data-merge).andSelf(data-merge).attr(data-merge) * 1 || 1); } this.invalidate(items); this.trigger(added, { content: content, position: position }); }; /** * Removes an item by its position. * @todo Use `item` instead of `content` for the event arguments. * @public * @param {Number} position - The relative position of the item to remove. */ Owl.prototype.remove function(position) { position this.normalize(position, true); if (position undefined) { return; } this.trigger(remove, { content: this._itemsposition, position: position }); this._itemsposition.remove(); this._items.splice(position, 1); this._mergers.splice(position, 1); this.invalidate(items); this.trigger(removed, { content: null, position: position }); }; /** * Adds triggerable events. * @protected */ Owl.prototype.addTriggerableEvents function() { var handler $.proxy(function(callback, event) { return $.proxy(function(e) { if (e.relatedTarget ! this) { this.suppress( event ); callback.apply(this, .slice.call(arguments, 1)); this.release( event ); } }, this); }, this); $.each({ next: this.next, prev: this.prev, to: this.to, destroy: this.destroy, refresh: this.refresh, replace: this.replace, add: this.add, remove: this.remove }, $.proxy(function(event, callback) { this.$element.on(event + .owl.carousel, handler(callback, event + .owl.carousel)); }, this)); }; /** * Watches the visibility of the carousel element. * @protected */ Owl.prototype.watchVisibility function() { // test on zepto if (!isElVisible(this.$element.get(0))) { this.$element.addClass(owl-hidden); window.clearInterval(this.e._checkVisibile); this.e._checkVisibile window.setInterval($.proxy(checkVisible, this), 500); } function isElVisible(el) { return el.offsetWidth > 0 && el.offsetHeight > 0; } function checkVisible() { if (isElVisible(this.$element.get(0))) { this.$element.removeClass(owl-hidden); this.refresh(); window.clearInterval(this.e._checkVisibile); } } }; /** * Preloads images with auto width. * @protected * @todo Still to test */ Owl.prototype.preloadAutoWidthImages function(imgs) { var loaded, that, $el, img; loaded 0; that this; imgs.each(function(i, el) { $el $(el); img new Image(); img.onload function() { loaded++; $el.attr(src, img.src); $el.css(opacity, 1); if (loaded > imgs.length) { that.state.imagesLoaded true; that.initialize(); } }; img.src $el.attr(src) || $el.attr(data-src) || $el.attr(data-src-retina); }); }; /** * Destroys the carousel. * @public */ Owl.prototype.destroy function() { if (this.$element.hasClass(this.settings.themeClass)) { this.$element.removeClass(this.settings.themeClass); } if (this.settings.responsive ! false) { $(window).off(resize.owl.carousel); } if (this.transitionEndVendor) { this.off(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd); } for ( var i in this._plugins) { this._pluginsi.destroy(); } if (this.settings.mouseDrag || this.settings.touchDrag) { this.$stage.off(mousedown touchstart touchcancel); $(document).off(.owl.dragEvents); this.$stage.get(0).onselectstart function() {}; this.$stage.off(dragstart, function() { return false }); } // remove event handlers in the .owl.carousel namespace this.$element.off(.owl); this.$stage.children(.cloned).remove(); this.e null; this.$element.removeData(owlCarousel); this.$stage.children().contents().unwrap(); this.$stage.children().unwrap(); this.$stage.unwrap(); }; /** * Operators to calculate right-to-left and left-to-right. * @protected * @param {Number} a - The left side operand. * @param {String} o - The operator. * @param {Number} b - The right side operand. */ Owl.prototype.op function(a, o, b) { var rtl this.settings.rtl; switch (o) { case : return rtl ? a > b : a b; case >: return rtl ? a b : a > b; case >: return rtl ? a b : a > b; case : return rtl ? a > b : a b; default: break; } }; /** * Attaches to an internal event. * @protected * @param {HTMLElement} element - The event source. * @param {String} event - The event name. * @param {Function} listener - The event handler to attach. * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not. */ Owl.prototype.on function(element, event, listener, capture) { if (element.addEventListener) { element.addEventListener(event, listener, capture); } else if (element.attachEvent) { element.attachEvent(on + event, listener); } }; /** * Detaches from an internal event. * @protected * @param {HTMLElement} element - The event source. * @param {String} event - The event name. * @param {Function} listener - The attached event handler to detach. * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not. */ Owl.prototype.off function(element, event, listener, capture) { if (element.removeEventListener) { element.removeEventListener(event, listener, capture); } else if (element.detachEvent) { element.detachEvent(on + event, listener); } }; /** * Triggers an public event. * @protected * @param {String} name - The event name. * @param {*} datanull - The event data. * @param {String} namespace.owl.carousel - The event namespace. * @returns {Event} - The event arguments. */ Owl.prototype.trigger function(name, data, namespace) { var status { item: { count: this._items.length, index: this.current() } }, handler $.camelCase( $.grep( on, name, namespace , function(v) { return v }) .join(-).toLowerCase() ), event $.Event( name, owl, namespace || carousel .join(.).toLowerCase(), $.extend({ relatedTarget: this }, status, data) ); if (!this._supressname) { $.each(this._plugins, function(name, plugin) { if (plugin.onTrigger) { plugin.onTrigger(event); } }); this.$element.trigger(event); if (this.settings && typeof this.settingshandler function) { this.settingshandler.apply(this, event); } } return event; }; /** * Suppresses events. * @protected * @param {Array.String>} events - The events to suppress. */ Owl.prototype.suppress function(events) { $.each(events, $.proxy(function(index, event) { this._supressevent true; }, this)); } /** * Releases suppressed events. * @protected * @param {Array.String>} events - The events to release. */ Owl.prototype.release function(events) { $.each(events, $.proxy(function(index, event) { delete this._supressevent; }, this)); } /** * Checks the availability of some browser features. * @protected */ Owl.prototype.browserSupport function() { this.support3d isPerspective(); if (this.support3d) { this.transformVendor isTransform(); // take transitionend event name by detecting transition var endVendors transitionend, webkitTransitionEnd, transitionend, oTransitionEnd ; this.transitionEndVendor endVendorsisTransition(); // take vendor name from transform name this.vendorName this.transformVendor.replace(/Transform/i, ); this.vendorName this.vendorName ! ? - + this.vendorName.toLowerCase() + - : ; } this.state.orientation window.orientation; }; /** * Get touch/drag coordinats. * @private * @param {event} - mousedown/touchstart event * @returns {object} - Contains X and Y of current mouse/touch position */ function getTouches(event) { if (event.touches ! undefined) { return { x: event.touches0.pageX, y: event.touches0.pageY }; } if (event.touches undefined) { if (event.pageX ! undefined) { return { x: event.pageX, y: event.pageY }; } if (event.pageX undefined) { return { x: event.clientX, y: event.clientY }; } } } /** * Checks for CSS support. * @private * @param {Array} array - The CSS properties to check for. * @returns {Array} - Contains the supported CSS property name and its index or `false`. */ function isStyleSupported(array) { var p, s, fake document.createElement(div), list array; for (p in list) { s listp; if (typeof fake.styles ! undefined) { fake null; return s, p ; } } return false ; } /** * Checks for CSS transition support. * @private * @todo Realy bad design * @returns {Number} */ function isTransition() { return isStyleSupported( transition, WebkitTransition, MozTransition, OTransition )1; } /** * Checks for CSS transform support. * @private * @returns {String} The supported property name or false. */ function isTransform() { return isStyleSupported( transform, WebkitTransform, MozTransform, OTransform, msTransform )0; } /** * Checks for CSS perspective support. * @private * @returns {String} The supported property name or false. */ function isPerspective() { return isStyleSupported( perspective, webkitPerspective, MozPerspective, OPerspective, MsPerspective )0; } /** * Checks wether touch is supported or not. * @private * @returns {Boolean} */ function isTouchSupport() { return ontouchstart in window || !!(navigator.msMaxTouchPoints); } /** * Checks wether touch is supported or not for IE. * @private * @returns {Boolean} */ function isTouchSupportIE() { return window.navigator.msPointerEnabled; } /** * The jQuery Plugin for the Owl Carousel * @public */ $.fn.owlCarousel function(options) { return this.each(function() { if (!$(this).data(owlCarousel)) { $(this).data(owlCarousel, new Owl(this, options)); } }); }; /** * The constructor for the jQuery Plugin * @public */ $.fn.owlCarousel.Constructor Owl;})(window.Zepto || window.jQuery, window, document);/** * Lazy Plugin * @version 2.0.0 * @author Bartosz Wojciechowski * @license The MIT License (MIT) */;(function($, window, document, undefined) { /** * Creates the lazy plugin. * @class The Lazy Plugin * @param {Owl} carousel - The Owl Carousel */ var Lazy function(carousel) { /** * Reference to the core. * @protected * @type {Owl} */ this._core carousel; /** * Already loaded items. * @protected * @type {Array.jQuery>} */ this._loaded ; /** * Event handlers. * @protected * @type {Object} */ this._handlers { initialized.owl.carousel change.owl.carousel: $.proxy(function(e) { if (!e.namespace) { return; } if (!this._core.settings || !this._core.settings.lazyLoad) { return; } if ((e.property && e.property.name position) || e.type initialized) { var settings this._core.settings, n (settings.center && Math.ceil(settings.items / 2) || settings.items), i ((settings.center && n * -1) || 0), position ((e.property && e.property.value) || this._core.current()) + i, clones this._core.clones().length, load $.proxy(function(i, v) { this.load(v) }, this); while (i++ n) { this.load(clones / 2 + this._core.relative(position)); clones && $.each(this._core.clones(this._core.relative(position++)), load); } } }, this) }; // set the default options this._core.options $.extend({}, Lazy.Defaults, this._core.options); // register event handler this._core.$element.on(this._handlers); } /** * Default options. * @public */ Lazy.Defaults { lazyLoad: false } /** * Loads all resources of an item at the specified position. * @param {Number} position - The absolute position of the item. * @protected */ Lazy.prototype.load function(position) { var $item this._core.$stage.children().eq(position), $elements $item && $item.find(.owl-lazy); if (!$elements || $.inArray($item.get(0), this._loaded) > -1) { return; } $elements.each($.proxy(function(index, element) { var $element $(element), image, url (window.devicePixelRatio > 1 && $element.attr(data-src-retina)) || $element.attr(data-src); this._core.trigger(load, { element: $element, url: url }, lazy); if ($element.is(img)) { $element.one(load.owl.lazy, $.proxy(function() { $element.css(opacity, 1); this._core.trigger(loaded, { element: $element, url: url }, lazy); }, this)).attr(src, url); } else { image new Image(); image.onload $.proxy(function() { $element.css({ background-image: url( + url + ), opacity: 1 }); this._core.trigger(loaded, { element: $element, url: url }, lazy); }, this); image.src url; } }, this)); this._loaded.push($item.get(0)); } /** * Destroys the plugin. * @public */ Lazy.prototype.destroy function() { var handler, property; for (handler in this.handlers) { this._core.$element.off(handler, this.handlershandler); } for (property in Object.getOwnPropertyNames(this)) { typeof thisproperty ! function && (thisproperty null); } } $.fn.owlCarousel.Constructor.Plugins.Lazy Lazy;})(window.Zepto || window.jQuery, window, document);/** * AutoHeight Plugin * @version 2.0.0 * @author Bartosz Wojciechowski * @license The MIT License (MIT) */;(function($, window, document, undefined) { /** * Creates the auto height plugin. * @class The Auto Height Plugin * @param {Owl} carousel - The Owl Carousel */ var AutoHeight function(carousel) { /** * Reference to the core. * @protected * @type {Owl} */ this._core carousel; /** * All event handlers. * @protected * @type {Object} */ this._handlers { initialized.owl.carousel: $.proxy(function() { if (this._core.settings.autoHeight) { this.update(); } }, this), changed.owl.carousel: $.proxy(function(e) { if (this._core.settings.autoHeight && e.property.name position){ this.update(); } }, this), loaded.owl.lazy: $.proxy(function(e) { if (this._core.settings.autoHeight && e.element.closest(. + this._core.settings.itemClass) this._core.$stage.children().eq(this._core.current())) { this.update(); } }, this) }; // set default options this._core.options $.extend({}, AutoHeight.Defaults, this._core.options); // register event handlers this._core.$element.on(this._handlers); }; /** * Default options. * @public */ AutoHeight.Defaults { autoHeight: false, autoHeightClass: owl-height }; /** * Updates the view. */ AutoHeight.prototype.update function() { this._core.$stage.parent() .height(this._core.$stage.children().eq(this._core.current()).height()) .addClass(this._core.settings.autoHeightClass); }; AutoHeight.prototype.destroy function() { var handler, property; for (handler in this._handlers) { this._core.$element.off(handler, this._handlershandler); } for (property in Object.getOwnPropertyNames(this)) { typeof thisproperty ! function && (thisproperty null); } }; $.fn.owlCarousel.Constructor.Plugins.AutoHeight AutoHeight;})(window.Zepto || window.jQuery, window, document);/** * Video Plugin * @version 2.0.0 * @author Bartosz Wojciechowski * @license The MIT License (MIT) */;(function($, window, document, undefined) { /** * Creates the video plugin. * @class The Video Plugin * @param {Owl} carousel - The Owl Carousel */ var Video function(carousel) { /** * Reference to the core. * @protected * @type {Owl} */ this._core carousel; /** * Cache all video URLs. * @protected * @type {Object} */ this._videos {}; /** * Current playing item. * @protected * @type {jQuery} */ this._playing null; /** * Whether this is in fullscreen or not. * @protected * @type {Boolean} */ this._fullscreen false; /** * All event handlers. * @protected * @type {Object} */ this._handlers { resize.owl.carousel: $.proxy(function(e) { if (this._core.settings.video && !this.isInFullScreen()) { e.preventDefault(); } }, this), refresh.owl.carousel changed.owl.carousel: $.proxy(function(e) { if (this._playing) { this.stop(); } }, this), prepared.owl.carousel: $.proxy(function(e) { var $element $(e.content).find(.owl-video); if ($element.length) { // $element.css(display, none); this.fetch($element, $(e.content)); } }, this) }; // set default options this._core.options $.extend({}, Video.Defaults, this._core.options); // register event handlers this._core.$element.on(this._handlers); this._core.$element.on(click.owl.video, .owl-video-play-icon, $.proxy(function(e) { console.log(clicked); this.play(e); }, this)); }; /** * Default options. * @public */ Video.Defaults { video: false, videoHeight: false, videoWidth: false }; /** * Gets the video ID and the type (YouTube/Vimeo only). * @protected * @param {jQuery} target - The target containing the video data. * @param {jQuery} item - The item containing the video. */ Video.prototype.fetch function(target, item) { var type target.attr(data-vimeo-id) ? vimeo : youtube, id target.attr(data-vimeo-id) || target.attr(data-youtube-id), width target.attr(data-width) || this._core.settings.videoWidth, height target.attr(data-height) || this._core.settings.videoHeight, url target.attr(href); if (url) { id url.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v|v\/)?(A-Za-z0-9._%-*)(\&\S+)?/); if (id3.indexOf(youtu) > -1) { type youtube; } else if (id3.indexOf(vimeo) > -1) { type vimeo; } else { throw new Error(Video URL not supported.); } id id6; } else { throw new Error(Missing video URL.); } this._videosurl { type: type, id: id, width: width, height: height }; item.attr(data-video, url); this.thumbnail(target, this._videosurl); }; /** * Creates video thumbnail. * @protected * @param {jQuery} target - The target containing the video data. * @param {Object} info - The video info object. * @see `fetch` */ Video.prototype.thumbnail function(target, video) { var tnLink, icon, path, dimensions video.width && video.height ? stylewidth: + video.width + px;height: + video.height + px; : , customTn target.find(img), srcType src, lazyClass , settings this._core.settings, create function(path) { icon div classowl-video-play-icon>/div>; if (settings.lazyLoad) { tnLink div classowl-video-tn + lazyClass + + srcType + + path + >/div>; } else { tnLink div classowl-video-tn styleopacity:1;background-image:url( + path + )>/div>; } target.after(tnLink); target.after(icon); }; // wrap video content into owl-video-wrapper div target.wrap(div classowl-video-wrapper + dimensions + >/div>); if (this._core.settings.lazyLoad) { srcType data-src; lazyClass owl-lazy; } // custom thumbnail if (customTn.length) { create(customTn.attr(srcType)); // customTn.remove(); return false; } if (video.type youtube) { path http://img.youtube.com/vi/ + video.id + /hqdefault.jpg; create(path); } else if (video.type vimeo) { $.ajax({ type: GET, url: http://vimeo.com/api/v2/video/ + video.id + .json, jsonp: callback, dataType: jsonp, success: function(data) { path data0.thumbnail_large; create(path); } }); } }; /** * Stops the current video. * @public */ Video.prototype.stop function() { this._core.trigger(stop, null, video); this._playing.find(.owl-video-frame).remove(); this._playing.find(img).css(display,block); this._playing.removeClass(owl-video-playing); this._playing null; }; /** * Starts the current video. * @public * @param {Event} ev - The event arguments. */ Video.prototype.play function(ev) { var target $(ev.target || ev.srcElement), item target.closest(. + this._core.settings.itemClass), video this._videositem.attr(data-video), width video.width || 100%, height video.height || this._core.$stage.height(), html, wrap; target.prev().find(img).css(display,none); this._core.trigger(play, null, video); if (this._playing) { this.stop(); } if (video.type youtube) { html iframe width + width + height + height + srchttp://www.youtube.com/embed/ + video.id + ?autoplay1&v + video.id + frameborder0 allowfullscreen>/iframe>; } else if (video.type vimeo) { html iframe srchttp://player.vimeo.com/video/ + video.id + ?autoplay1 width + width + height + height + frameborder0 webkitallowfullscreen mozallowfullscreen allowfullscreen>/iframe>; } item.addClass(owl-video-playing); this._playing item; wrap $(div styleheight: + height + px; width: + width + px classowl-video-frame> + html + /div>); target.after(wrap); }; /** * Checks whether an video is currently in full screen mode or not. * @todo Bad style because looks like a readonly method but changes members. * @protected * @returns {Boolean} */ Video.prototype.isInFullScreen function() { // if Vimeo Fullscreen mode var element document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement; if (element && $(element).parent().hasClass(owl-video-frame)) { this._core.speed(0); this._fullscreen true; } if (element && this._fullscreen && this._playing) { return false; } // comming back from fullscreen if (this._fullscreen) { this._fullscreen false; return false; } // check full screen mode and window orientation if (this._playing) { if (this._core.state.orientation ! window.orientation) { this._core.state.orientation window.orientation; return false; } } return true; }; /** * Destroys the plugin. */ Video.prototype.destroy function() { var handler, property; this._core.$element.off(click.owl.video); for (handler in this._handlers) { this._core.$element.off(handler, this._handlershandler); } for (property in Object.getOwnPropertyNames(this)) { typeof thisproperty ! function && (thisproperty null); } }; $.fn.owlCarousel.Constructor.Plugins.Video Video;})(window.Zepto || window.jQuery, window, document);/** * Animate Plugin * @version 2.0.0 * @author Bartosz Wojciechowski * @license The MIT License (MIT) */;(function($, window, document, undefined) { /** * Creates the animate plugin. * @class The Navigation Plugin * @param {Owl} scope - The Owl Carousel */ var Animate function(scope) { this.core scope; this.core.options $.extend({}, Animate.Defaults, this.core.options); this.swapping true; this.previous undefined; this.next undefined; this.handlers { change.owl.carousel: $.proxy(function(e) { if (e.property.name position) { this.previous this.core.current(); this.next e.property.value; } }, this), drag.owl.carousel dragged.owl.carousel translated.owl.carousel: $.proxy(function(e) { this.swapping e.type translated; }, this), translate.owl.carousel: $.proxy(function(e) { if (this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) { this.swap(); } }, this) }; this.core.$element.on(this.handlers); }; /** * Default options. * @public */ Animate.Defaults { animateOut: false, animateIn: false }; /** * Toggles the animation classes whenever an translations starts. * @protected * @returns {Boolean|undefined} */ Animate.prototype.swap function() { if (this.core.settings.items ! 1 || !this.core.support3d) { return; } this.core.speed(0); var left, clear $.proxy(this.clear, this), previous this.core.$stage.children().eq(this.previous), next this.core.$stage.children().eq(this.next), incoming this.core.settings.animateIn, outgoing this.core.settings.animateOut; if (this.core.current() this.previous) { return; } if (outgoing) { left this.core.coordinates(this.previous) - this.core.coordinates(this.next); previous.css( { left: left + px } ) .addClass(animated owl-animated-out) .addClass(outgoing) .one(webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend, clear); } if (incoming) { next.addClass(animated owl-animated-in) .addClass(incoming) .one(webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend, clear); } }; Animate.prototype.clear function(e) { $(e.target).css( { left: } ) .removeClass(animated owl-animated-out owl-animated-in) .removeClass(this.core.settings.animateIn) .removeClass(this.core.settings.animateOut); this.core.transitionEnd(); } /** * Destroys the plugin. * @public */ Animate.prototype.destroy function() { var handler, property; for (handler in this.handlers) { this.core.$element.off(handler, this.handlershandler); } for (property in Object.getOwnPropertyNames(this)) { typeof thisproperty ! function && (thisproperty null); } }; $.fn.owlCarousel.Constructor.Plugins.Animate Animate;})(window.Zepto || window.jQuery, window, document);/** * Autoplay Plugin * @version 2.0.0 * @author Bartosz Wojciechowski * @license The MIT License (MIT) */;(function($, window, document, undefined) { /** * Creates the autoplay plugin. * @class The Autoplay Plugin * @param {Owl} scope - The Owl Carousel */ var Autoplay function(scope) { this.core scope; this.core.options $.extend({}, Autoplay.Defaults, this.core.options); this.handlers { translated.owl.carousel refreshed.owl.carousel: $.proxy(function() { this.autoplay(); }, this), play.owl.autoplay: $.proxy(function(e, t, s) { this.play(t, s); }, this), stop.owl.autoplay: $.proxy(function() { this.stop(); }, this), mouseover.owl.autoplay: $.proxy(function() { if (this.core.settings.autoplayHoverPause) { this.pause(); } }, this), mouseleave.owl.autoplay: $.proxy(function() { if ( this.core.settings.autoplayHoverPause && this.core.$element.find(.owl-video-playing).length 0 ) { this.autoplay(); } }, this) }; this.core.$element.on(this.handlers); }; /** * Default options. * @public */ Autoplay.Defaults { autoplay: false, autoplayTimeout: 5000, autoplayHoverPause: false, autoplaySpeed: false }; /** * @protected * @todo Must be documented. */ Autoplay.prototype.autoplay function() { if (this.core.settings.autoplay && !this.core.state.videoPlay) { window.clearTimeout(this.interval); this.interval window.setTimeout($.proxy(function() { this.play(); }, this), this.core.settings.autoplayTimeout); } else { window.clearTimeout(this.interval); } }; /** * Starts the autoplay. * @public * @param {Number} timeout - ... * @param {Number} speed - ... * @returns {Boolean|undefined} - ... * @todo Must be documented. */ Autoplay.prototype.play function(timeout, speed) { // if tab is inactive - doesnt work in IE10 if (document.hidden true) { return; } if (this.core.state.isTouch || this.core.state.isScrolling || this.core.state.isSwiping || this.core.state.inMotion) { return; } if (this.core.settings.autoplay false) { window.clearInterval(this.interval); return; } this.core.next(this.core.settings.autoplaySpeed); }; /** * Stops the autoplay. * @public */ Autoplay.prototype.stop function() { window.clearInterval(this.interval); }; /** * Pauses the autoplay. * @public */ Autoplay.prototype.pause function() { window.clearInterval(this.interval); }; /** * Destroys the plugin. */ Autoplay.prototype.destroy function() { var handler, property; window.clearInterval(this.interval); for (handler in this.handlers) { this.core.$element.off(handler, this.handlershandler); } for (property in Object.getOwnPropertyNames(this)) { typeof thisproperty ! function && (thisproperty null); } }; $.fn.owlCarousel.Constructor.Plugins.autoplay Autoplay;})(window.Zepto || window.jQuery, window, document);/** * Navigation Plugin * @version 2.0.0 * @author Artus Kolanowski * @license The MIT License (MIT) */;(function($, window, document, undefined) { use strict; /** * Creates the navigation plugin. * @class The Navigation Plugin * @param {Owl} carousel - The Owl Carousel. */ var Navigation function(carousel) { /** * Reference to the core. * @protected * @type {Owl} */ this._core carousel; /** * Indicates whether the plugin is initialized or not. * @protected * @type {Boolean} */ this._initialized false; /** * The current paging indexes. * @protected * @type {Array} */ this._pages ; /** * All DOM elements of the user interface. * @protected * @type {Object} */ this._controls {}; /** * Markup for an indicator. * @protected * @type {Array.String>} */ this._templates ; /** * The carousel element. * @type {jQuery} */ this.$element this._core.$element; /** * Overridden methods of the carousel. * @protected * @type {Object} */ this._overrides { next: this._core.next, prev: this._core.prev, to: this._core.to }; /** * All event handlers. * @protected * @type {Object} */ this._handlers { prepared.owl.carousel: $.proxy(function(e) { if (this._core.settings.dotsData) { this._templates.push($(e.content).find(data-dot).andSelf(data-dot).attr(data-dot)); } }, this), add.owl.carousel: $.proxy(function(e) { if (this._core.settings.dotsData) { this._templates.splice(e.position, 0, $(e.content).find(data-dot).andSelf(data-dot).attr(data-dot)); } }, this), remove.owl.carousel prepared.owl.carousel: $.proxy(function(e) { if (this._core.settings.dotsData) { this._templates.splice(e.position, 1); } }, this), change.owl.carousel: $.proxy(function(e) { if (e.property.name position) { if (!this._core.state.revert && !this._core.settings.loop && this._core.settings.navRewind) { var current this._core.current(), maximum this._core.maximum(), minimum this._core.minimum(); e.data e.property.value > maximum ? current > maximum ? minimum : maximum : e.property.value minimum ? maximum : e.property.value; } } }, this), changed.owl.carousel: $.proxy(function(e) { if (e.property.name position) { this.draw(); } }, this), refreshed.owl.carousel: $.proxy(function() { if (!this._initialized) { this.initialize(); this._initialized true; } this._core.trigger(refresh, null, navigation); this.update(); this.draw(); this._core.trigger(refreshed, null, navigation); }, this) }; // set default options this._core.options $.extend({}, Navigation.Defaults, this._core.options); // register event handlers this.$element.on(this._handlers); } /** * Default options. * @public * @todo Rename `slideBy` to `navBy` */ Navigation.Defaults { nav: false, navRewind: true, navText: prev, next , navSpeed: false, navElement: div, navContainer: false, navContainerClass: owl-nav, navClass: owl-prev, owl-next , slideBy: 1, dotClass: owl-dot, dotsClass: owl-dots, dots: true, dotsEach: false, dotData: false, dotsSpeed: false, dotsContainer: false, controlsClass: owl-controls } /** * Initializes the layout of the plugin and extends the carousel. * @protected */ Navigation.prototype.initialize function() { var $container, override, options this._core.settings; // create the indicator template if (!options.dotsData) { this._templates $(div>) .addClass(options.dotClass) .append($(span>)) .prop(outerHTML) ; } // create controls container if needed if (!options.navContainer || !options.dotsContainer) { this._controls.$container $(div>) .addClass(options.controlsClass) .appendTo(this.$element); } // create DOM structure for absolute navigation this._controls.$indicators options.dotsContainer ? $(options.dotsContainer) : $(div>).hide().addClass(options.dotsClass).appendTo(this.$element); this._controls.$indicators.on(click, div, $.proxy(function(e) { var index $(e.target).parent().is(this._controls.$indicators) ? $(e.target).index() : $(e.target).parent().index(); e.preventDefault(); this.to(index, options.dotsSpeed); }, this)); // create DOM structure for relative navigation $container options.navContainer ? $(options.navContainer) : $(div>).addClass(options.navContainerClass).prependTo(this._controls.$container); this._controls.$next $( + options.navElement + >); this._controls.$previous this._controls.$next.clone(); this._controls.$previous .addClass(options.navClass0) .html(options.navText0) .hide() .prependTo($container) .on(click, $.proxy(function(e) { this.prev(options.navSpeed); }, this)); this._controls.$next .addClass(options.navClass1) .html(options.navText1) .hide() .appendTo($container) .on(click, $.proxy(function(e) { this.next(options.navSpeed); }, this)); // override public methods of the carousel for (override in this._overrides) { this._coreoverride $.proxy(thisoverride, this); } } /** * Destroys the plugin. * @protected */ Navigation.prototype.destroy function() { var handler, control, property, override; for (handler in this._handlers) { this.$element.off(handler, this._handlershandler); } for (control in this._controls) { this._controlscontrol.remove(); } for (override in this.overides) { this._coreoverride this._overridesoverride; } for (property in Object.getOwnPropertyNames(this)) { typeof thisproperty ! function && (thisproperty null); } } /** * Updates the internal state. * @protected */ Navigation.prototype.update function() { var i, j, k, options this._core.settings, lower this._core.clones().length / 2, upper lower + this._core.items().length, size options.center || options.autoWidth || options.dotData ? 1 : options.dotsEach || options.items; if (options.slideBy ! page) { options.slideBy Math.min(options.slideBy, options.items); } if (options.dots || options.slideBy page) { this._pages ; for (i lower, j 0, k 0; i upper; i++) { if (j > size || j 0) { this._pages.push({ start: i - lower, end: i - lower + size - 1 }); j 0, ++k; } j + this._core.mergers(this._core.relative(i)); } } } /** * Draws the user interface. * @todo The option `dotData` wont work. * @protected */ Navigation.prototype.draw function() { var difference, i, html , options this._core.settings, $items this._core.$stage.children(), index this._core.relative(this._core.current()); if (options.nav && !options.loop && !options.navRewind) { this._controls.$previous.toggleClass(disabled, index 0); this._controls.$next.toggleClass(disabled, index > this._core.maximum()); } this._controls.$previous.toggle(options.nav); this._controls.$next.toggle(options.nav); if (options.dots) { difference this._pages.length - this._controls.$indicators.children().length; if (options.dotData && difference ! 0) { for (i 0; i this._controls.$indicators.children().length; i++) { html + this._templatesthis._core.relative(i); } this._controls.$indicators.html(html); } else if (difference > 0) { html new Array(difference + 1).join(this._templates0); this._controls.$indicators.append(html); } else if (difference 0) { this._controls.$indicators.children().slice(difference).remove(); } this._controls.$indicators.find(.active).removeClass(active); this._controls.$indicators.children().eq($.inArray(this.current(), this._pages)).addClass(active); } this._controls.$indicators.toggle(options.dots); } /** * Extends event data. * @protected * @param {Event} event - The event object which gets thrown. */ Navigation.prototype.onTrigger function(event) { var settings this._core.settings; event.page { index: $.inArray(this.current(), this._pages), count: this._pages.length, size: settings && (settings.center || settings.autoWidth || settings.dotData ? 1 : settings.dotsEach || settings.items) }; } /** * Gets the current page position of the carousel. * @protected * @returns {Number} */ Navigation.prototype.current function() { var index this._core.relative(this._core.current()); return $.grep(this._pages, function(o) { return o.start index && o.end > index; }).pop(); } /** * Gets the current succesor/predecessor position. * @protected * @returns {Number} */ Navigation.prototype.getPosition function(successor) { var position, length, options this._core.settings; if (options.slideBy page) { position $.inArray(this.current(), this._pages); length this._pages.length; successor ? ++position : --position; position this._pages((position % length) + length) % length.start; } else { position this._core.relative(this._core.current()); length this._core.items().length; successor ? position + options.slideBy : position - options.slideBy; } return position; } /** * Slides to the next item or page. * @public * @param {Number} speedfalse - The time in milliseconds for the transition. */ Navigation.prototype.next function(speed) { $.proxy(this._overrides.to, this._core)(this.getPosition(true), speed); } /** * Slides to the previous item or page. * @public * @param {Number} speedfalse - The time in milliseconds for the transition. */ Navigation.prototype.prev function(speed) { $.proxy(this._overrides.to, this._core)(this.getPosition(false), speed); } /** * Slides to the specified item or page. * @public * @param {Number} position - The position of the item or page. * @param {Number} speed - The time in milliseconds for the transition. * @param {Boolean} standardfalse - Whether to use the standard behaviour or not. */ Navigation.prototype.to function(position, speed, standard) { var length; if (!standard) { length this._pages.length; $.proxy(this._overrides.to, this._core)(this._pages((position % length) + length) % length.start, speed); } else { $.proxy(this._overrides.to, this._core)(position, speed); } } $.fn.owlCarousel.Constructor.Plugins.Navigation Navigation;})(window.Zepto || window.jQuery, window, document);/** * Hash Plugin * @version 2.0.0 * @author Artus Kolanowski * @license The MIT License (MIT) */;(function($, window, document, undefined) { use strict; /** * Creates the hash plugin. * @class The Hash Plugin * @param {Owl} carousel - The Owl Carousel */ var Hash function(carousel) { /** * Reference to the core. * @protected * @type {Owl} */ this._core carousel; /** * Hash table for the hashes. * @protected * @type {Object} */ this._hashes {}; /** * The carousel element. * @type {jQuery} */ this.$element this._core.$element; /** * All event handlers. * @protected * @type {Object} */ this._handlers { initialized.owl.carousel: $.proxy(function() { if (this._core.settings.startPosition URLHash) { $(window).trigger(hashchange.owl.navigation); } }, this), prepared.owl.carousel: $.proxy(function(e) { var hash $(e.content).find(data-hash).andSelf(data-hash).attr(data-hash); this._hasheshash e.content; }, this) }; // set default options this._core.options $.extend({}, Hash.Defaults, this._core.options); // register the event handlers this.$element.on(this._handlers); // register event listener for hash navigation $(window).on(hashchange.owl.navigation, $.proxy(function() { var hash window.location.hash.substring(1), items this._core.$stage.children(), position this._hasheshash && items.index(this._hasheshash) || 0; if (!hash) { return false; } this._core.to(position, false, true); }, this)); } /** * Default options. * @public */ Hash.Defaults { URLhashListener: false } /** * Destroys the plugin. * @public */ Hash.prototype.destroy function() { var handler, property; $(window).off(hashchange.owl.navigation); for (handler in this._handlers) { this._core.$element.off(handler, this._handlershandler); } for (property in Object.getOwnPropertyNames(this)) { typeof thisproperty ! function && (thisproperty null); } } $.fn.owlCarousel.Constructor.Plugins.Hash Hash;})(window.Zepto || window.jQuery, window, document);// $(document).ready(function () {// var owl $(.owl-carousel);// owl.owlCarousel({// margin: 10,// nav: true,// loop: true,// autoplay: true,// responsive: {// 0: {// items: 1// },// 600: {// items: 4// },// 1000: {// items: 4// }// }// })// })// if ($.fn.owlCarousel) {// var clients $(.clients);// clients.owlCarousel({// items: 8,// loop: true,// margin: 20,// autoplay: true,// slideTransition: linear,// autoplayTimeout: 0,// autoplaySpeed: 3000,// autoplayHoverPause: false, // responsive: {// 0: {// items: 1// },// 600: {// items: 4// },// 1000: {// items: 6// }// }// })// }/script> script> $.ajaxSetup({ headers: { X-CSRF-TOKEN: ybScRohJgXjLnuHdUsPmIZosCSHtznscO3TeR7Oo } }); var owl $(.welcome-slides); owl.owlCarousel({ margin: 10, items: 1, nav: false, dots:false, loop: true, autoplay: true, // responsive: { // 0: { // items: 1 // }, // 600: { // items: 1 // }, // 1000: { // items: 1 // } // } }) var owl $(.rl_pdts); owl.owlCarousel({ margin: 10, nav: true, loop: true, autoplay: true, smartSpeed: 1000, autoplayTimeout: 4000, responsive: { 0: { items: 1 }, 600: { items: 4 }, 1000: { items: 4 } } }) if ($.fn.owlCarousel) { var clients $(.clients); clients.owlCarousel({ items: 5, loop: true, autoplay: true, smartSpeed: 1000, autoplayTimeout: 10, nav: true, responsive: { 0: { items: 1 }, 600: { items: 4 }, 1000: { items: 6 } } }) } if ($.fn.owlCarousel) { var clients $(.ad-slider); clients.owlCarousel({ margin: 10, nav: true, dots:false, loop: true, // margin:30, items: 1, autoplay: true, smartSpeed: 1000, autoplayTimeout: 4000, responsive: { 0: { items: 1 }, 600: { items: 1 }, 1000: { items: 1 } } }) } if ($.fn.owlCarousel) { var clients $(.pr-sr); clients.owlCarousel({ margin: 10, nav: true, loop: true, margin:30, autoplay: true, smartSpeed: 1000, autoplayTimeout: 4000, responsive: { 0: { items: 2 }, 600: { items: 3 }, 1000: { items: 6 } } }) } if ($.fn.owlCarousel) { var clients $(.product-slider); clients.owlCarousel({ margin: 10, nav: true, loop: true, margin:30, autoplay: true, smartSpeed: 1000, autoplayTimeout: 4000, responsive: { 0: { items: 2 }, 600: { items: 3 }, 1000: { items: 4 } } }) } // contact form animations $(#contact).click(function() { $(#contactForm).fadeToggle(); }) $(document).mouseup(function(e) { var container $(#contactForm); if (!container.is(e.target) // if the target of the click isnt the container... && container.has(e.target).length 0) // ... nor a descendant of the container { container.fadeOut(); } }); $(.close).click(function() { $(#contactForm).css(display, none) }) setTimeout(() > { $(#toast-container).remove(); }, 2500); /script>/div>div idbghm-ovly>/div>div idmySideenq classsideenq> !-- Enquire Icon --> !-- div classicon-enquire>a href# idcontact>img srchttps://www.pacificqatar.com/img/core-img/enquire.png classimg-fluid altEnquire>/a>/div> -->!-- a href# classenqNow idcontact onclickopenNav()>Enquire nkkkkkkkow/a> -->div idenqNow classenqNow onclickopenEnq()>Enquire now/div> !-- a hrefjavascript:void(0) classclosebtn onclickcloseEnq()>×/a> --> div classcontact_from_area mb-100 clearfix> !-- Contact Heading --> div classcontact-heading> h4>Enquiry Form/h4> /div> div classcontact_form> form actionhttps://www.pacificqatar.com/enqire-now methodpost> input typehidden name_token valueybScRohJgXjLnuHdUsPmIZosCSHtznscO3TeR7Oo> div classcontact_input_area> div classrow> !-- Form Group --> div classcol-12 col-lg-6> div classform-group> input typetext classform-control mb-30 value namename idname placeholderFull Name required> /div> /div> !-- Form Group --> div classcol-12 col-lg-6> div classform-group> input typetext classform-control mb-30 value namecompany idcompany placeholderCompany Name> /div> /div> !-- Form Group --> div classcol-12 col-lg-6> div classform-group> input typeemail classform-control mb-30 value nameemail idemail placeholderE-mail required> /div> /div> !-- Form Group --> div classcol-12 col-lg-6> div classform-group> input typetext classform-control mb-30 value namephone idcontact_number placeholderContact Number> /div> /div> !-- Form Group --> div classcol-12> div classform-group> textarea namemessage classform-control mb-30 idmessage cols30 rows6 placeholderMessage required>/textarea> /div> /div> !-- Form Group --> !-- Button --> div classcol-12> button typesubmit classbtn confer-btn>Submit i classzmdi zmdi-long-arrow-right>/i>/button> /div> /div> /div> /form> /div> /div>/div>!-- Modal -->!--div classmodal fade idexampleModal tabindex-1 roledialog aria-labelledbyexampleModalLabel aria-hiddentrue>-->!-- div classmodal-dialog roledocument>-->!-- div classmodal-content>-->!-- div classmodal-header>-->!-- h5 classmodal-title idexampleModalLabel>Modal title/h5>-->!-- button typebutton classclose data-dismissmodal aria-labelClose>-->!-- span aria-hiddentrue>×/span>-->!-- /button>-->!-- /div>-->!-- div classmodal-body>-->!-- ...-->!-- /div>-->!-- div classmodal-footer>-->!-- button typebutton classbtn btn-secondary data-dismissmodal>Close/button>-->!-- button typebutton classbtn btn-primary>Save changes/button>-->!-- /div>-->!-- /div>-->!-- /div>-->!--/div>-->script typetext/javascript srchttps://www.pacificqatar.com/js/navScript.js>/script>script typetext/javascript srchttps://www.pacificqatar.com/js/parallax.js>/script>script typetext/javascript>// get window widthvar mwidth $(window).width();// check if window width is smaller then 1024px (mobile or tabletif(mwidth 768) { // if yes then ... $(.mCat).click(function(e) { // this should prevent the clicking functionality e.preventDefault(); }); $(.m_sub_cat).click(function(e) { // this should prevent the clicking functionality e.preventDefault(); });}if(mwidth 901) { // if yes then ... $(.mCat).click(function(e) { // this should prevent the clicking functionality e.preventDefault(); });}// $(window).on(load, function() {// $(#exampleModal).modal(show);// }); /script>!--script typetext/javascript srchttps://www.pacificqatar.com/js/typeahead.bundle.js>/script>-->!--script typetext/javascript>-->!--var products new Bloodhound({-->!-- datumTokenizer: Bloodhound.tokenizers.obj.whitespace(name),-->!-- queryTokenizer: Bloodhound.tokenizers.whitespace,-->!-- prefetch: https://www.pacificqatar.com/list-product?search,-->!-- remote: {-->!-- url: https://www.pacificqatar.com/list-product?search%QUERY%,-->!-- wildcard: %QUERY%-->!-- }-->!--});-->!--setTimeout(function(){-->!-- $(.typeahead).typeahead({-->!-- minLength: 0-->!--}, {-->!-- name: products,-->!-- display: name,-->!-- source: products-->!--});-->!--$(.typeahead).on(typeahead:selected, function(event, datum) {-->!-- window.location.replace(https://www.pacificqatar.com/product-detail/+datum.link);-->!--}); -->!--},100)-->!--/script>-->/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]