PageSourceSearch

https://www.sensualite.cz/kategorie/plet/

html sensualite.cz collected 2026-10-02 13:59:58 UTC 269,533 bytes, 5,554 lines download raw bytes

1<!DOCTYPE html>
2<html id="ctl00_html1" xmlns="http://www.w3.org/1999/xhtml" lang="cs" xml:lang="cs">
3<head id="ctl00_Head1">
3<script>
4window.dataLayer = window.dataLayer || [];
5function gtag(){dataLayer.push(arguments);}
6gtag('consent', 'default',   {'ad_storage': 'denied', 
7                                            'ad_user_data': 'denied', 
8                                            'ad_personalization': 'denied', 
9                                            'analytics_storage': 'denied',
10                                            'functionality_storage': 'denied',
11                                            'personalization_storage': 'denied',
12                                            'security_storage': 'denied',
13                                            'anonymize_ip': true, 'client_id': 'w4n3pp33tdhvqsynxrxr1g2h', 
14                                            'debug_mode': false });
15</script>
vendor: 65 bytes, lines 15-16
15
16<script async src="https://www.googletagmanager.com/gtag/js?id=
16G-L8G9W5N2FL
vendor: 13 bytes, line 16
16"></script>
17<script>
18gtag('js', new Date());
19
20gtag('config', 'G-L8G9W5N2FL');
21</script>
vendor: 2 bytes, line 21
21
22<script>
23dataLayer = [{
24'ecomm_pagetype' : 'category', 
25'category_id' : '9740000101:7740000101',
26'category_name' : 'Zdraví a krása | Osobní péče | Kosmetika | Péče o pleť | Čisticí pleťové přípravky',
27'category_name_default' : 'Kategorie > Pleť',
28'customerCategory': 'B2C',
29'customerCategoryId': '2500000101'
30}]; </script>
30<script>
31window.dataLayer = window.dataLayer || [];
32function gtag(){dataLayer.push(arguments);}
33gtag('consent', 'default',   {'ad_storage': 'denied', 
34                                            'ad_user_data': 'denied', 
35                                            'analytics_storage': 'denied',
36                                            'ad_personalization': 'denied', 
37                                            'functionality_storage': 'denied',
38                                            'personalization_storage': 'denied',
39                                            'security_storage': 'denied',
40                                            'anonymize_ip': true, 'client_id': 'w4n3pp33tdhvqsynxrxr1g2h' });
41</script>
vendor: 63 bytes, line 41
41<script async src="https://www.googletagmanager.com/gtag/js?id=
41AW-1035942262
vendor: 13 bytes, line 41
41"></script>
42<script>
43gtag('js', new Date());
44
45gtag('config', 'AW-1035942262',{'allow_enhanced_conversions':true});
46</script>
vendor: 2 bytes, line 46
46
47<script>
48gtag('event','view_item_list', {
49'send_to': 'AW-1035942262',
50'value': '',
51});
52</script>
vendor: 2 bytes, line 52
52
53<script>
54gtag('event','view_item_list',{"user_id":"8f6589ba82a680b405acf73c61f8971e","item_list_name":"Kategorie | Pleť","items":[{"item_id":"3L6J000101","item_name":"MARIA GALLAND Book Collection The Iconic set vyživující pleťové kosmetiky \t\t  ","index":0,"price":1892.56,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"YK6J000101","item_name":"MARIA GALLAND Cleansing Ritual Kosmetický set bonbon pro odlíčení pleti \t\t  ","index":1,"price":818.18,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"XK6J000101","item_name":"MARIA GALLAND Firming Kosmetický set na lifting pleti \t\t  ","index":2,"price":2223.14,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"VK6J000101","item_name":"MARIA GALLAND Illuminating Kosmetický set pro zářivou a hydratovanou pleť \t\t  ","index":3,"price":1809.92,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"WK6J000101","item_name":"MARIA GALLAND Nourishing Kosmetický set pro výživu pleti  \t\t  ","index":4,"price":1975.21,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"ZK6J000101","item_name":"MARIA GALLAND Nourishing Ritual Kosmetický set bonbon pro výživu pleti \t\t  ","index":5,"price":487.6,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"RM6J000101","item_name":"THALGO Cold Cream Marine set vyživující pleťové kosmetiky    ","index":6,"price":1586.78,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"MM6J000101","item_name":"THALGO Éveil à la Mer Skin Radiance kosmetický set pro odlíčení pleti    ","index":7,"price":966.94,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"1N6J000101","item_name":"THALGO Exception Marine set zpevňující pleťové kosmetiky    ","index":8,"price":3140.5,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"OM6J000101","item_name":"THALGO Express Beauty kosmetický set pleťových masek    ","index":9,"price":818.18,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"LM6J000101","item_name":"THALGO Hyalu-Procollagène Secret Santa kosmetický set zpevňující na pleť    ","index":10,"price":669.42,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"TM6J000101","item_name":"THALGO Hyalu-Procollagène set zpevňující pleťové kosmetiky    ","index":11,"price":2247.93,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"7N6J000101","item_name":"THALGO Men set kosmetiky pro muže    ","index":12,"price":1479.34,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"UM6J000101","item_name":"THALGO Prodige des Océans set vyživující pleťové kosmetiky    ","index":13,"price":4793.39,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"0N6J000101","item_name":"THALGO Silicium Lift set liftingové pleťové kosmetiky    ","index":14,"price":2504.13,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"KM6J000101","item_name":"THALGO Source Marine Secret Santa kosmetický set hydratační na pleť    ","index":15,"price":669.42,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"QM6J000101","item_name":"THALGO Source Marine set hydratační pleťové kosmetiky    ","index":16,"price":1487.6,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"SM6J000101","item_name":"THALGO Spiruline Boost set vyhlazující pleťové kosmetiky    ","index":17,"price":1900.83,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"RK6J000101","item_name":"MARIA GALLAND Adventní kalendář s pleťovou kosmetikou, vzorky a dárky \t\t  ","index":18,"price":2719.01,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"AL5J000101","item_name":"DR. HAUSCHKA Adventní kalendář    ","index":19,"price":2239.67,"discount":0.
540,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"CL5J000101","item_name":"DR. HAUSCHKA Dárková sada Čistota - čistící rituál    ","index":20,"price":685.95,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"BL5J000101","item_name":"DR. HAUSCHKA Dárková sada Klid - rituál pro duševní pohodu    ","index":21,"price":537.19,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"EL5J000101","item_name":"DR. HAUSCHKA Dárková sada Rozkvět - obnovující rituál    ","index":22,"price":1115.7,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"DL5J000101","item_name":"DR. HAUSCHKA Dárková sada Svěžest - hydratační rituál    ","index":23,"price":876.03,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"0L6J000101","item_name":"MARIA GALLAND Book Collection The Affectionate Hydra set pleťové kosmetiky \t\t  ","index":24,"price":1148.76,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"},{"item_id":"1L6J000101","item_name":"MARIA GALLAND Book Collection The Affectionate Lift set pleťové kosmetiky \t\t  ","index":25,"price":1561.98,"discount":0.0,"item_category":"Kategorie","item_category2":"Pleť"}]});
55</script>
55
56<title>
57	Profesionální pleťová kosmetika vaši pleť skutečně rozmazlí a omladí | SENSUALITE.CZ
58</title><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=10.0" />
59        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
60        
60<script type='text/javascript' src="/scripts/unbundled/jquery.min.js"></script>
60
61        
62        
62<script src="/scripts/ie.js" language="javascript" type="text/javascript"></script>
62
63    
64
65<link rel="preconnect" href="https://www.google.com" crossorigin>
66<link rel="dns-prefetch" href="https://www.google.com">
67
68<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
69<link rel="dns-prefetch" href="https://fonts.gstatic.com">
70
71<link rel="preconnect" href="https://www.google-analytics.com" crossorigin>
72<link rel="dns-prefetch" href="https://www.google-analytics.com">
73
74<link rel="preconnect" href="https://analytics.google.com" crossorigin>
75<link rel="dns-prefetch" href="https://analytics.google.com">
76
77<link rel="preconnect" href="https://connect.facebook.net" crossorigin>
78<link rel="dns-prefetch" href="https://connect.facebook.net">
79
80<link rel="preload" as="font" href="https://fonts.gstatic.com/s/muli/v26/7Auwp_0qiz-afT3GLRrX.woff2" crossorigin>
81<link rel="preload" as="font" href="https://fonts.gstatic.com/s/muli/v26/7Auwp_0qiz-afTLGLQ.woff2" crossorigin>
82
83
84
85<script src="/scripts/unbundled/jquery-ui.min.js"></script>
vendor: 2 bytes, line 85
85
86<script src="/scripts/unbundled/bootstrap.min.js"></script>
86
87
88<meta name="facebook-domain-verification" content="bgv0ml4twzt4qaetmbs9ls2l5ktyb9" />
89
90<script type="text/javascript" src="/scripts/jquery.easy-autocomplete.js"></script>
90
91
92<script id="mcjs">!function(c,h,i,m,p){m=c.createElement(h),p=c.getElementsByTagName(h)[0],m.async=1,m.src=i,p.parentNode.insertBefore(m,p)}(document,"script","https://chimpstatic.com/mcjs-connected/js/users/0a9c9df0313ac3ca7bac9b0eb/86e3b5c236fef9187e2990ce4.js");</script>
92
93
94
95<script async src="https://scripts.luigisbox.tech/LBX-561731.js"></script>
95<link media="all" href="/App_Themes/Default/bootstrap.min.css?v=10ff36bb2a6e73ade20b203d33645de5" type="text/css" rel="stylesheet" /><link media="all" href="/App_Themes/Default/easyautocomplete.css?v=126b089c01e60e382cd20293cb6a2d46" type="text/css" rel="stylesheet" /><link media="all" href="/App_Themes/Default/fonts.css?v=06109c12deae0f9ee6392d4d37c23ccd" type="text/css" rel="stylesheet" /><link media="all" href="/App_Themes/Default/jquery.fancybox.min.css?v=f6e0deb061084f28af2fced43f3c71a3" type="text/css" rel="stylesheet" /><link media="all" href="/App_Themes/Default/owl.carousel.css?v=ea98152e4fdeb4032847eb8ec4bc9d0f" type="text/css" rel="stylesheet" /><link media="all" href="/App_Themes/Default/owl.theme.default.css?v=a1e70807b5e5aadea4fd9570a8070d77" type="text/css" rel="stylesheet" /><link media="all" href="/App_Themes/Default/screen.css?v=6e6a3ad718660723a21bda70af16b94a" type="text/css" rel="stylesheet" /><link media="all" href="/App_Themes/Default/xcustom.css?v=c056561ad9f0f58995794a51e458f1f2" type="text/css" rel="stylesheet" /><meta name="description" content="Dopřejte své pleti přesně to, co potřebuje. ❤️ Hýčkejte ji luxusní pečující kosmetikou renomovaných profesionálních značek. Vaše pleť bude opět omlazená a rozzářená. Víme to, protože ji sami používáme na sobě i na zákaznicích v našem kosmetickém salonu. Zboží přímo od výrobců." /><meta name="keywords" content="pleťová kosmetika, kosmetika na pleť, pleťový krém, krém proti vráskám, omlazující krém, krém na vrásky, pleťové sérum, sérum na pleť, oční krém, luxusní kosmetika, kosmetika na vrásky, kosmetika proti stárnutí, pleťová maska" /><meta name="author" content="Martin Procházka" /><meta name="copyright" content="SENSUALITE2021" /><meta name="robots" content="index,follow" /><meta name="googlebot" content="index,follow" /><link rel='preconnect' href='//c.seznam.cz'>
96
97                            
97<script src='https://c.seznam.cz/js/rc.js'></script>
97 
98                            
98<script>
99                                
100
101                                var retargetingConf = {
102                                    rtgId: 20149,
103                                    
104                                    consent: 0
105                                };
106                                window.rc.consent = 0
107                                window.rc.retargetingHit(retargetingConf);
108                            </script>
108<!--[if lt IE 9]>
108<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
108<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
108<![endif]-->
108<script type="text/javascript" language="Javascript" src="/scripts/jquery.nivo.slider.js"></script>
108<style type="text/css">
109	.ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_TCWebPartZone1_0 { border-color:Black;border-width:1px;border-style:Solid; }
110	.ctl00_ewpz1_mainTemplateCtrl_TCWebPartZone1b_0 { border-color:Black;border-width:1px;border-style:Solid; }
111
112</style></head>
113<body id="ctl00_bodymaster">
114    
115    <form method="post" action="/kategorie/plet/" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">
116<div class="aspNetHidden">
117<input type="hidden" name="__WPPS" id="__WPPS" value="s" />
118<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
119<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
120<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
121<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPZwUPOGRmMjA5ZTM0YzFkNTJkmd7b6eyE2aiNr+3vJU6TSe3tfIs=" />
122</div>
123
124<script type="text/javascript">
125//<![CDATA[
126var theForm = document.forms['aspnetForm'];
127if (!theForm) {
128    theForm = document.aspnetForm;
129}
130function __doPostBack(eventTarget, eventArgument) {
131    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
132        theForm.__EVENTTARGET.value = eventTarget;
133        theForm.__EVENTARGUMENT.value = eventArgument;
134        theForm.submit();
135    }
136}
137//]]>
138</script>
138
139
140
141<script src="/WebResource.axd?d=Cr6NY1haBII3CUWgTf-vRxkAVYzK1FJ6XORbJp5zHXYb1faJ2WnIXBUQYE-i4nGMszzp_Bd8NNpxf0uVdI32lDKWS0A1&amp;t=638901608248157332" type="text/javascript"></script>
141
142
143
144<script type="text/javascript">
145//<![CDATA[
146var __cultureInfo = {"name":"cs-CZ","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":",","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":" ","CurrencySymbol":"Kč","NaNSymbol":"NaN","CurrencyNegativePattern":8,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-∞","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":",","NumberGroupSeparator":" ","CurrencyPositivePattern":3,"PositiveInfinitySymbol":"∞","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":",","PercentGroupSeparator":" ","PercentSymbol":"%","PerMilleSymbol":"‰","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"dop.","Calendar":{"MinSupportedDateTime":"\/Date(-62135596800000)\/","MaxSupportedDateTime":"\/Date(253402297199999)\/","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":".","FirstDayOfWeek":1,"CalendarWeekRule":2,"FullDateTimePattern":"dddd d. MMMM yyyy H:mm:ss","LongDatePattern":"dddd d. MMMM yyyy","LongTimePattern":"H:mm:ss","MonthDayPattern":"d. MMMM","PMDesignator":"odp.","RFC1123Pattern":"ddd, dd MMM yyyy HH\u0027:\u0027mm\u0027:\u0027ss \u0027GMT\u0027","ShortDatePattern":"dd.MM.yyyy","ShortTimePattern":"H:mm","SortableDateTimePattern":"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\u0027-\u0027MM\u0027-\u0027dd HH\u0027:\u0027mm\u0027:\u0027ss\u0027Z\u0027","YearMonthPattern":"MMMM yyyy","AbbreviatedDayNames":["ne","po","út","st","čt","pá","so"],"ShortestDayNames":["ne","po","út","st","čt","pá","so"],"DayNames":["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],"AbbreviatedMonthNames":["led","úno","bře","dub","kvě","čvn","čvc","srp","zář","říj","lis","pro",""],"MonthNames":["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec",""],"IsReadOnly":false,"NativeCalendarName":"Gregoriánský kalendář","AbbreviatedMonthGenitiveNames":["led","úno","bře","dub","kvě","čvn","čvc","srp","zář","říj","lis","pro",""],"MonthGenitiveNames":["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince",""]},"eras":[1,"n. l.",null,0]};//]]>
147</script>
147
148
149<script src="/ScriptResource.axd?d=JLPvQCe79CMbnupy1Gw_l-8pG_7krA5qC2o0PaW7tIF2yz74Duh32ebddUL2UKxVYoXrogGXs_yQiGyzTGbDPyUEO-5d0Vsv9NQfr_2CPzolVg_BPkdMBupmv3MFEDN6M2fPD3H4bI2U8FrLkONBCpVCxcg1&amp;t=5c0e0825" type="text/javascript"></script>
vendor: 2 bytes, line 149
149
150<script src="/ScriptResource.axd?d=ZSlWV-saEH3R2M3u8ZSRpICNWAa1IAES3J1XO9-87VImt0T286xSlcRSuRX0mqI1YWdemKFL25HeOcGp_Y5uvWqD-cJb33-4BOa1lCayGCuLiq1OA8qUpR8zxh9rJ-sPquWz94eFSp0YYzrA80szMwRK96-YOumEr6uFA56InFiMf6rm0&amp;t=5c0e0825" type="text/javascript"></script>
vendor: 2 bytes, line 150
150
151<script type="text/javascript">
152//<![CDATA[
153var PageMethods = function() {
154PageMethods.initializeBase(this);
155this._timeout = 0;
156this._userContext = null;
157this._succeeded = null;
158this._failed = null;
159}
160PageMethods.prototype = {
161_get_path:function() {
162 var p = this.get_path();
163 if (p) return p;
164 else return PageMethods._staticInstance.get_path();},
165GetAutoCompleteSearchTextDiskSystems:function(prefixText,count,contextKey,succeededCallback, failedCallback, userContext) {
166return this._invoke(this._get_path(), 'GetAutoCompleteSearchTextDiskSystems',false,{prefixText:prefixText,count:count,contextKey:contextKey},succeededCallback,failedCallback,userContext); },
167GetAutoCompleteSearchTextDOLTAK2025:function(prefixText,count,contextKey,succeededCallback, failedCallback, userContext) {
168return this._invoke(this._get_path(), 'GetAutoCompleteSearchTextDOLTAK2025',false,{prefixText:prefixText,count:count,contextKey:contextKey},succeededCallback,failedCallback,userContext); },
169GetAutoCompleteSearchTextFREESTORE:function(prefixText,count,contextKey,succeededCallback, failedCallback, userContext) {
170return this._invoke(this._get_path(), 'GetAutoCompleteSearchTextFREESTORE',false,{prefixText:prefixText,count:count,contextKey:contextKey},succeededCallback,failedCallback,userContext); },
171GetAutoCompleteAllStorecards:function(prefixText,count,contextKey,succeededCallback, failedCallback, userContext) {
172return this._invoke(this._get_path(), 'GetAutoCompleteAllStorecards',false,{prefixText:prefixText,count:count,contextKey:contextKey},succeededCallback,failedCallback,userContext); },
173CheckCountryPopup:function(succeededCallback, failedCallback, userContext) {
174return this._invoke(this._get_path(), 'CheckCountryPopup',false,{},succeededCallback,failedCallback,userContext); },
175GetAutoCompleteSearchTextTOPWET:function(prefixText,count,contextKey,succeededCallback, failedCallback, userContext) {
176return this._invoke(this._get_path(), 'GetAutoCompleteSearchTextTOPWET',false,{prefixText:prefixText,count:count,contextKey:contextKey},succeededCallback,failedCallback,userContext); },
177PostAutoCompleteSearchAddToCartTOPWET:function(itemId,quantity,succeededCallback, failedCallback, userContext) {
178return this._invoke(this._get_path(), 'PostAutoCompleteSearchAddToCartTOPWET',false,{itemId:itemId,quantity:quantity},succeededCallback,failedCallback,userContext); },
179GetAutoCompleteSearchTextSTART2022:function(prefixText,count,contextKey,succeededCallback, failedCallback, userContext) {
180return this._invoke(this._get_path(), 'GetAutoCompleteSearchTextSTART2022',false,{prefixText:prefixText,count:count,contextKey:contextKey},succeededCallback,failedCallback,userContext); },
181GetAutoCompleteSearchText:function(prefixText,count,contextKey,succeededCallback, failedCallback, userContext) {
182return this._invoke(this._get_path(), 'GetAutoCompleteSearchText',false,{prefixText:prefixText,count:count,contextKey:contextKey},succeededCallback,failedCallback,userContext); },
183PostAutoCompleteSearchAddToCart:function(itemId,quantity,succeededCallback, failedCallback, userContext) {
184return this._invoke(this._get_path(), 'PostAutoCompleteSearchAddToCart',false,{itemId:itemId,quantity:quantity},succeededCallback,failedCallback,userContext); },
185CategoryGridGetRows:function(currpage,pagerows,succeededCallback, failedCallback, userContext) {
186return this._invoke(this._get_path(), 'CategoryGridGetRows',false,{currpage:currpage,pagerows:pagerows},succeededCallback,failedCallback,userContext); }}
187PageMethods.registerClass('PageMethods',Sys.Net.WebServiceProxy);
188PageMethods._staticInstance = new PageMethods();
189PageMethods.set_path = function(value) { PageMethods._staticInstance.set_path(value); }
190PageMethods.get_path = function() { return PageMethods._staticInstance.get_path(); }
191PageMethods.set_timeout = function(value) { PageMethods._staticInstance.set_timeout(value); }
192PageMethods.get_timeout = function() { return PageMethods._staticInstance.get_timeout(); }
193PageMethods.set_defaultUserContext = function(value) { PageMethods._staticInstance.set_defaultUserContext(value); }
194PageMethods.get_defaultUserContext = function() { return PageMethods._staticInstance.get_defaultUserContext(); }
195PageMethods.set_defaultSucceededCallback = function(value) { PageMethods._staticInstance.set_defaultSucceededCallback(value); }
196PageMethods.get_defaultSucceededCallback = function() { return PageMethods._staticInstance.get_defaultSucceededCallback(); }
197PageMethods.set_defaultFailedCallback = function(value) { PageMethods._staticInstance.set_defaultFailedCallback(value); }
198PageMethods.get_defaultFailedCallback = function() { return PageMethods._staticInstance.get_defaultFailedCallback(); }
199PageMethods.set_enableJsonp = function(value) { PageMethods._staticInstance.set_enableJsonp(value); }
200PageMethods.get_enableJsonp = function() { return PageMethods._staticInstance.get_enableJsonp(); }
201PageMethods.set_jsonpCallbackParameter = function(value) { PageMethods._staticInstance.set_jsonpCallbackParameter(value); }
202PageMethods.get_jsonpCallbackParameter = function() { return PageMethods._staticInstance.get_jsonpCallbackParameter(); }
203PageMethods.set_path("./");
204PageMethods.GetAutoCompleteSearchTextDiskSystems= function(prefixText,count,contextKey,onSuccess,onFailed,userContext) {PageMethods._staticInstance.GetAutoCompleteSearchTextDiskSystems(prefixText,count,contextKey,onSuccess,onFailed,userContext); }
205PageMethods.GetAutoCompleteSearchTextDOLTAK2025= function(prefixText,count,contextKey,onSuccess,onFailed,userContext) {PageMethods._staticInstance.GetAutoCompleteSearchTextDOLTAK2025(prefixText,count,contextKey,onSuccess,onFailed,userContext); }
206PageMethods.GetAutoCompleteSearchTextFREESTORE= function(prefixText,count,contextKey,onSuccess,onFailed,userContext) {PageMethods._staticInstance.GetAutoCompleteSearchTextFREESTORE(prefixText,count,contextKey,onSuccess,onFailed,userContext); }
207PageMethods.GetAutoCompleteAllStorecards= function(prefixText,count,contextKey,onSuccess,onFailed,userContext) {PageMethods._staticInstance.GetAutoCompleteAllStorecards(prefixText,count,contextKey,onSuccess,onFailed,userContext); }
208PageMethods.CheckCountryPopup= function(onSuccess,onFailed,userContext) {PageMethods._staticInstance.CheckCountryPopup(onSuccess,onFailed,userContext); }
209PageMethods.GetAutoCompleteSearchTextTOPWET= function(prefixText,count,contextKey,onSuccess,onFailed,userContext) {PageMethods._staticInstance.GetAutoCompleteSearchTextTOPWET(prefixText,count,contextKey,onSuccess,onFailed,userContext); }
210PageMethods.PostAutoCompleteSearchAddToCartTOPWET= function(itemId,quantity,onSuccess,onFailed,userContext) {PageMethods._staticInstance.PostAutoCompleteSearchAddToCartTOPWET(itemId,quantity,onSuccess,onFailed,userContext); }
211PageMethods.GetAutoCompleteSearchTextSTART2022= function(prefixText,count,contextKey,onSuccess,onFailed,userContext) {PageMethods._staticInstance.GetAutoCompleteSearchTextSTART2022(prefixText,count,contextKey,onSuccess,onFailed,userContext); }
212PageMethods.GetAutoCompleteSearchText= function(prefixText,count,contextKey,onSuccess,onFailed,userContext) {PageMethods._staticInstance.GetAutoCompleteSearchText(prefixText,count,contextKey,onSuccess,onFailed,userContext); }
213PageMethods.PostAutoCompleteSearchAddToCart= function(itemId,quantity,onSuccess,onFailed,userContext) {PageMethods._staticInstance.PostAutoCompleteSearchAddToCart(itemId,quantity,onSuccess,onFailed,userContext); }
214PageMethods.CategoryGridGetRows= function(currpage,pagerows,onSuccess,onFailed,userContext) {PageMethods._staticInstance.CategoryGridGetRows(currpage,pagerows,onSuccess,onFailed,userContext); }
215var gtc = Sys.Net.WebServiceProxy._generateTypedConstructor;
216Type.registerNamespace('WebCtrlLib');
217if (typeof(WebCtrlLib.CategoryGridItem) === 'undefined') {
218WebCtrlLib.CategoryGridItem=gtc("WebCtrlLib.CategoryGridItem");
219WebCtrlLib.CategoryGridItem.registerClass('WebCtrlLib.CategoryGridItem');
220}
221function WebForm_OnSubmit() {
222null;
223return true;
224}
225//]]>
226</script>
226
227
228<div class="aspNetHidden">
229
230	<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="9E3BDDCF" />
231</div>
232        
232<script type="text/javascript">
233//<![CDATA[
234Sys.WebForms.PageRequestManager._initialize('ctl00$ScriptManager1', 'aspnetForm', ['tctl00$ewpz1$mainTemplateCtrl$TemplateCtrl1$updatePanelCart2','','tctl00$ewpz1$mainTemplateCtrl$TemplateCtrl1$SearchNavBar20$upDocumentType','','tctl00$ewpz1$mainTemplateCtrl$TemplateCtrl1$updatePanelCart3','','tctl00$ewpz1$mainTemplateCtrl$updatePanelMain','','tctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$updatePanelENews','','tctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$updatePanelAddToCart','','tctl00$updatePanel1',''], ['ctl00$ScriptManager1',''], [], 90, 'ctl00');
235//]]>
236</script>
236
237<input type="hidden" name="ctl00$ScriptManager1" id="ctl00_ScriptManager1" />
238<script type="text/javascript">
239//<![CDATA[
240Sys.Application.setServerId("ctl00_ScriptManager1", "ctl00$ScriptManager1");
241Sys.Application._enableHistoryInScriptManager();
242//]]>
243</script>
243
244
245        
245<script language="JavaScript" type="text/javascript">
246            var prm = Sys.WebForms.PageRequestManager.getInstance();
247            prm.add_initializeRequest(InitializeRequest);
248            prm.add_endRequest(EndRequest);
249        </script>
249
250
251        <span id="ctl00_webPartManager1"></span>
252        
253
254        
255
256        
257
258        <div class='maindiv-null'>
259            <div id="megadiv-null">
260                <div id="ctl00_ewpz1_mainTemplateCtrl">
261	
262
263<div class='homepage'>
264<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1">
265		
266
267<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_TemplateCtrl8">
268
269		</div>
270
271<header class="">
272    <div class="container">
273        <div class="header-inner">
274            <div class="logo">
275                <a href="/">
276                    <img alt="Sensualité logo" src="/images/logo.svg" class="main-logo"/>
277                </a>
278            </div>
279
280            <div class="navigation classic-nav"> <!-- normal-nav nebo eshop-nav view-->
281                <nav class='navbar navbar-expand-lg navbar-light bg-light eshop-nav'>
282    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarMain"
283            aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
284    </button>
285
286    <div class="collapse navbar-collapse" id="navbarMain">
287	
288        <ul class="navbar-nav mr-auto">
289            <li class="dropdown eshop">
290		<a href='/kategorie/' class='mobile-eshop-btn'><span>E-shop</span><span class='smaller'>úvodní stránka</span></a><div class='filters-btn'><div>Nastavit filtr<span>hledání dle parametrů</span></div>
291		<div><img class='section-toggle' src='/images/eshop/filters-m.svg' alt=''></div></div><a class='nav-link active dropdown-toggle' href='/kategorie/' id='navbarDropdownEshop' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>E-shop</a><div class='dropdown-menu' aria-labelledby='navbarDropdownEshop'><div class='container'><div class='eshop-item to-eshop'><a href='/kategorie/' class='red'><span class='category-image'><img src='/images/eshop/cart-w2.svg' alt=''></span><span>JÍT DO ESHOPU</span></a></div><div class='eshop-item dropdown'><a href='/kategorie/liceni/'><span class='category-image'><img src='/images/eshop/liceni.svg' alt=''></span><span>Líčení</span></a><div class='dropdown-menu'><a href='/kategorie/liceni/nehty/'>Nehty</a><a href='/kategorie/liceni/oboci/'>Oboč&#237;</a><a href='/kategorie/liceni/oci/'>Oči</a><a href='/kategorie/liceni/rty/'>Rty</a><a href='/kategorie/liceni/tvar/'>Tv&#225;ř</a><a href='/kategorie/liceni/kosmeticke-sady/'>Kosmetick&#233; sady</a><a href='/kategorie/liceni/doplnky/'>Doplňky</a></div></div><div class='eshop-item dropdown'><a href='/kategorie/plet/'><span class='category-image'><img src='/images/eshop/plet.svg' alt=''></span><span>Pleť</span></a><div class='dropdown-menu'><a href='/kategorie/plet/odliceni-a-cisteni/'>Odl&#237;čen&#237; a čištěn&#237;</a><a href='/kategorie/plet/pece-o-plet/'>P&#233;če o pleť</a><a href='/kategorie/plet/pece-o-rty/'>P&#233;če o rty</a><a href='/kategorie/plet/pece-o-ocni-okoli/'>P&#233;če o očn&#237; okol&#237;</a><a href='/kategorie/plet/pripravky-na-holeni/'>Př&#237;pravky na holen&#237;</a><a href='/kategorie/plet/kosmeticke-sady/'>Kosmetick&#233; sady</a><a href='/kategorie/plet/doplnky-stravy-na-plet/'>
291Doplňky stravy na pleť</a><a href='/kategorie/plet/doplnky/'>Doplňky</a></div></div><div class='eshop-item dropdown'><a href='/kategorie/telo/'><span class='category-image'><img src='/images/eshop/telo.svg' alt=''></span><span>Tělo</span></a><div class='dropdown-menu'><a href='/kategorie/telo/deodoranty/'>Deodoranty</a><a href='/kategorie/telo/depilace-a-epilace/'>Depilace a epilace</a><a href='/kategorie/telo/hygiena-a-peeling/'>Hygiena a peeling</a><a href='/kategorie/telo/pece-o-telo/'>P&#233;če o tělo</a><a href='/kategorie/telo/pece-o-vousy/'>P&#233;če o vousy</a><a href='/kategorie/telo/pece-o-zuby/'>P&#233;če o zuby</a><a href='/kategorie/telo/zestihlujici-pradlo/'>Zešt&#237;hluj&#237;c&#237; pr&#225;dlo</a><a href='/kategorie/telo/kosmeticke-sady/'>Kosmetick&#233; sady</a><a href='/kategorie/telo/doplnky-stravy-na-telo/'>Doplňky stravy na tělo</a><a href='/kategorie/telo/doplnky/'>Doplňky</a></div></div><div class='eshop-item dropdown'><a href='/kategorie/vlasy/'><span class='category-image'><img src='/images/eshop/vlasy.svg' alt=''></span><span>Vlasy</span></a><div class='dropdown-menu'><a href='/kategorie/vlasy/barvy-na-vlasy/'>Barvy na vlasy</a><a href='/kategorie/vlasy/hrebeny-a-doplnky/'>Hřebeny a doplňky</a><a href='/kategorie/vlasy/kondicionery/'>Kondicion&#233;ry</a><a href='/kategorie/vlasy/masky-na-vlasy/'>Masky na vlasy</a><a href='/kategorie/vlasy/parfemy-na-vlasy/'>Parf&#233;my na vlasy</a><a href='/kategorie/vlasy/pece-o-pokozku-hlavy/'>P&#233;če o pokožku hlavy</a><a href='/kategorie/vlasy/styling/'>Styling</a><a href='/kategorie/vlasy/sampony/'>Šampony</a><a href='/kategorie/vlasy/vlasove-pece/'>Vlasov&#233; p&#233;če</a><a href='/kategorie/vlasy/doplnky-stravy-na-vlasy/'>Doplňky stravy na vlasy</a><a href='/kategorie/vlasy/kosmeticke-sety/'>Kosmetick&#233; sety</a></div></div><div class='eshop-item dropdown'><a href='/kategorie/sluneni/'><span class='category-image'><img src='/images/eshop/sluneni.svg' alt=''></span><span>Slunění</span></a><div class='dropdown-menu'><a href='/kategorie/sluneni/na-opalovani/'>Na opalov&#225;n&#237;</a><a href='/kategorie/sluneni/po-opalovani/'>Po opalov&#225;n&#237;</a><a href='/kategorie/sluneni/pred-opalovanim/'>Před opalov&#225;n&#237;m</a><a href='/kategorie/sluneni/samoopalovaci-produkty/'>Samoopalovac&#237; produkty</a><a href='/kategorie/sluneni/doplnky-stravy-na-opalovani/'>Doplňky stravy na opalov&#225;n&#237;</a><a href='/kategorie/sluneni/miniatury/'>Miniatury</a><a href='/kategorie/sluneni/testery/'>Testery</a><a href='/kategorie/sluneni/vzorky/'>Vzorky</a></div></div><div class='eshop-item dropdown'><a href='/kategorie/deti/'><span class='category-image'><img src='/images/eshop/deti.svg' alt=''></span><span>Děti</span></a><div class='dropdown-menu'><a href='/kategorie/deti/opalovani/'>Opalov&#225;n&#237;</a><a href='/kategorie/deti/plet/'>Pleť</a><a href='/kategorie/deti/telo/'>Tělo</a><a href='/kategorie/deti/vlasy/'>Vlasy</a><a href='/kategorie/deti/kosmeticke-sady/'>Kosmetick&#233; sady</a></div></div><div class='eshop-item dropdown'><a href='/kategorie/parfemy/'><span class='category-image'><img src='/images/eshop/parfemy.svg' alt=''></span><span>Parfémy</span></a><div class='dropdown-menu'><a href='/kategorie/parfemy/niche-parfemy/'>Niche parf&#233;my</a><a href='/kategorie/parfemy/parfemy-pro-zeny/'>Parf&#233;my pro ženy</a><a href='/kategorie/parfemy/parfemy-pro-muze/'>Parf&#233;my pro muže</a><a href='/kategorie/parfemy/kosmeticke-sady/'>Kosmetick&#233; sady</a></div></div><div class='eshop-item dropdown'><a href='/kategorie/niche/'><span class='category-image'><img src='/images/eshop/niche.svg' alt=''></span><span>Niche</span></a></div><div class='eshop-item dropdown'><a href='/kategorie/interierove-vune/'><span class='category-image'><img src='/images/eshop/ostatni.svg' alt=''></span><span>Interiérové vůně</span></a><div class='dropdown-menu'><a href='/kategorie/interierove-vune/vune-do-auta/'>Vůně do auta</a><a href='/kategorie/interierove-vune/vune-do-bytu/'>Vůně do bytu</a></div></div><div class='eshop-item dropdown'><a href='/kategorie/doplnky-stravy/'><span class='category-image'><img src='/images/eshop/doplnky.svg' alt=''></span><span>Doplňky stravy</span></a><div class='dropdown-menu'><a href='/kategorie/doplnky-stravy/doplnky-stravy-na-telo/'>Doplňky stravy na tělo</a><a href='/kategorie/doplnky-stravy/doplnky-stravy-na-plet/'>
291Doplňky stravy na pleť</a><a href='/kategorie/doplnky-stravy/doplnky-stravy-na-vlasy/'>Doplňky stravy na vlasy</a></div></div><div class='eshop-item dropdown'><a href='/kategorie/poukazy/'><span class='category-image'><img src='/images/eshop/poukazy.svg' alt=''></span><span>Poukazy</span></a></div><div class='eshop-item dropdown'><a href='/kategorie/zestihleni/'><span class='category-image'><img src='/images/eshop/zestihleni.svg' alt=''></span><span>Zeštíhlení</span></a></div><div class='eshop-item dropdown'><a href='/akce/' class='red'><span class='category-image'><img src='/images/eshop/akce.svg' alt=''></span><span>Akce</span></a></div><div class='mobile-classic-nav'><a href='/magazin' class='mobile-show'><span>Blog</span></a><a href='/salony.aspx' class='mobile-show'><span>Salony</span></a><a href='/znacky.aspx' class='mobile-show'><span>Značky</span></a><a href='/proc-my/' class='mobile-show'><span>Proč my?</span></a><a href='/press.aspx' class='mobile-show'><span>Press</span></a><a href='/kontakt.aspx' class='mobile-show'><span>Kontakty</span></a></div></div></div><div id="ctl00_webPartManager1_MetaDataNavBar1">
292
293		</div><div id="ctl00_webPartManager1_TreeConnectionProvider1">
294
295		</div>
296            </li>
297            <li>
298		<a href='/magazin' class='nav-link'>Blog</a>
299            </li>
300            <li class="dropdown normal salons">
301                <span class="toggle-arrow dropdown-toggle button-link" id="prodNavbarDropdown2" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></span>
302		<a href='/salony.aspx' class='nav-link dropdown-toggle mobile-redirect' id='navbarDropdown' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>Salony</a>
303
304
305                <div class="dropdown-menu" aria-labelledby="navbarDropdown">
306                    <div class="container">
307                        
308
309                        <div class="dropdown-section wide">
310                            <div class="section-head">
311				<a href='https://www.sensualite-beauty.cz'>
312                                	<img src="/images/face.svg" alt='Salon'>
313                                	<strong>Sensualité Beauty, brno</strong>
314				</a>
315                            </div>
316                            <ul>
317                                <li><a href="https://www.sensualite-beauty.cz/sluzby">Péče o pleť</a></li>
318                                <li><a href="https://www.sensualite-beauty.cz/sluzby">Kadeřnictví</a></li>
319                                <li><a href="https://www.sensualite-beauty.cz/sluzby">Péče o tělo</a></li>
320                                <li><a href="https://www.sensualite-beauty.cz/sluzby">Manikúra a pedikúra</a></li>
321                                <li><a href="https://www.sensualite-beauty.cz/sluzby">Péče pro muže</a></li>
322                            </ul>
323
324                            <a href="https://www.sensualite-beauty.cz" class="button more">Více o salonu</a>
325                        </div>
326
327                        <div class="dropdown-section wide">
328                            <div class="section-head">
329				<a href='/salony.aspx'>
330                                	<img src="/images/map-icon.svg" alt='Partnerské salony'>
331                                	<strong>Partnerské salony</strong>
332				</a>
333                            </div>
334                            <p>Naši zákazníci jsou pro nás nejdůležitější, proto s nimi chceme být v kontaktu.</p>
335                            <p>Rádi se s Vámi uslyšíme, napíšeme si anebo se osobně potkáme.</p>
336                            <a href="/salony.aspx" class="button more">Mapa salonů</a>
337                        </div>
338
339                        <div class="dropdown-section wide">
340                            <div class="section-head">
341				<a href='/pro-partnery.aspx'>
342                                	<img src="/images/hands.svg" alt='Proč pracovat s námi?'>
343                                	<strong>Proč pracovat s námi?</strong>
344				</a>
345                            </div>
346                            <p>Získejte zkušeného partnera, o kterého se můžete opřít. Pomůžeme vám posunout péči o krásu vašich klientů na vyšší úroveň.</p>
347                            <p>Spolupracujte s námi.</p>
348                            <a href="/kontakt.aspx" class="button more">Kontaktujte nás</a>
349                        </div>
350
351                        <div class="dropdown-section wide">
352                            <div class="section-head">
353				<a href='/odeslaneaktivity.aspx'>
354                                	<img src="/images/salon.svg" alt='Školení'>
355                                	<strong>
355Školení</strong>
356				</a>
357                            </div>
358                            <ul><li><a href='/skoleni/01-10-2026-zilina-thalgo-konference-pro-zeny-/'>THALGO Konference pro ženy </a></li><li><a href='/skoleni/22-10-2026-brno-2-maria-galland-uvedeni-novinek-a-setkani-zakazniku/'>MARIA GALLAND uvedení novinek a setkání zákazníků</a></li></ul>
359
360                            <a href="/odeslaneaktivity.aspx" class="button more">DALŠÍ ŠKOLENÍ</a>
361                        </div>
362
363                        
364                        <div class="dropdown-section wide">
365                            <div class="section-head">
366				<a href='/aktuality/'>
367                                	<img src="/images/news.svg" alt='Aktuality'>
368                                	<strong>Aktuality</strong>
369				</a>
370                            </div>
371			    <ul><li><a href='/aktualityb2b/dr-hauschka-nyni-v-nasi-distribuci/' class='title'>Dr. Hauschka nyn&#237; v naš&#237; distribuci</a></li><li><a href='/aktualityb2b/ziskejte-provize-z-prodeju-na-sensualite/' class='title'>Z&#237;skejte provize z prodejů na Sensualit&#233;</a></li><li><a href='/aktualityb2b/londontown-nehtova-kosmetika/' class='title'>LONDONTOWN nehtov&#225; kosmetika</a></li></ul>
372
373                            <a href="/aktuality/" class="button more">DALŠÍ AKTUALITY</a>
374                        </div>
375                    </div>
376
377                </div>
378            </li>
379            <li class="dropdown normal">
380                <span class="toggle-arrow dropdown-toggle button-link" id="prodNavbarDropdown4" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></span>
381
382		<a href='/znacky.aspx' class='nav-link' id='navbarDropdown3'>Značky</a>
383
384            </li>
385            <li>
386		<a href='/proc-my' class='nav-link'>Proč my?</a>
387            </li>
388            <li>
389		<a href='/press.aspx' class='nav-link'>Press</a>
390            </li>
391            <li>
392		<a href='/kontakt.aspx' class='nav-link'>Kontakty</a>
393            </li>
394        </ul>
395    </div>
396</nav>
397            </div>
398
399<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_updatePanelCart2">
400			 			
401            <div class="head-action-bar">
402                <ul>
403                    <li class='dropdown'>
404			<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_SearchNavBar20">
405				<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_SearchNavBar20_upDocumentType">
406					<div class='head-search-btn'><img src='/images/loupe.svg' alt='Vyhledat'></div><div class='form head-search'><div class='persoo-search-bar'></div><div class='main-search-bar'><div class='mobile-head'><strong>Vyhledat</strong><div class='head-search-btn'><img alt='Vyhledat' src='/images/close-menu-w.svg'></div></div><strong>Vyhledávání:</strong><input name="ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl1$SearchNavBar20$tbSearchText" type="search" id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_SearchNavBar20_tbSearchText" class="search-input" placeholder="Hledaný text" aria-label="Hledaný text" /><a id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_SearchNavBar20_BnVyhledat1" class="search-btn" href="javascript:__doPostBack(&#39;ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl1$SearchNavBar20$BnVyhledat1&#39;,&#39;&#39;)" style="cursor:pointer;">Vyhledat</a></div></div>
407				</div>
408			</div>
409                    </li>
410		    <li>
411                        <a href='/login?ReturnUrl=%2fkategorie%2fplet%2f'><img src='/images/user.svg' alt='Přihlásit se'></a>
412                    </li>
413		    	    <li class='head-cart'><a href='#'><img src='/images/cart.svg' alt='Košík'><span class='count'>0</span></a></li><li class='head-favorites'><a href='/filtr/oblibene/' title='Oblíbené zboží'><img src='/images/heart.svg' alt='Moje oblíbené kousky'><span class='count black'>0</span></a><div class='favorites-popup' ><img src='/images/fav-arrow.svg' alt=''><div class='left-side'><img src='/images/favorites.svg' alt='Moje oblíbené kousky'></div><div class='right-side'><span>Přihlaste se</span> a najdete tady své <strong>oblíbené kousky i příště!</strong></div></div></li>
414                    <li>
415                        <a href="https://www.sensualite.sk">
416                            <span class="text-flag">SK</span>
417                        </a>
418                    </li>
419                </ul>		
420
421		<div class='head-action-message'>Nakupte ještě za <strong>1 200&nbsp;Kč</strong> a máte <span class='green'>dopravu zdarma</span>!</div>
422            </div>
423	
424		</div>
425        </div>
426    </div>
427</header>
428
429<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_updatePanelCart3">
430			 			
431		<a id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_ctl24_bnCartEdit2OK" class="hide" href="javascript:__doPostBack(&#39;ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl1$ctl24$bnCartEdit2OK&#39;,&#39;&#39;)">OK</a><div class='added-to-cart-popup' ><div class='cart-popup-inner'><div class='popup-left-side'><strong>Doporučené produkty</strong><div class='recommended-products products-list'></div></div><div class='popup-right-side'><div class='title'>Vložili jste do košíku</div><div class='popup-close'>Zavřít <img src='/images/popup-close-w.svg' alt=''></div><div class='cart-products products-list'></div><div class='delivery-line'><div class='icon'><img src='/images/popup-truck.svg' alt=''></div><div class='desc'>Nakupte ještě za <strong>1 200&nbsp;Kč</strong> a máte <span class='green'>dopravu zdarma</span>!</div></div><div class='summary-line'><div>Mezisoučet</div><div class='price'>0&nbsp;Kč</div></div><div class='button-line'><a href="javascript:$('.added-to-cart-popup').fadeOut();void(0);" class='button eshop-back'>Zpět k nákupu&nbsp;<img src='/images/popup-close-w.svg' alt=''></a><a href='/webform5.aspx' class='button brown'>JÍT DO KOŠÍKU <img src='/images/cart-btn.svg' alt=''></a></div></div></div></div>
432		<div>
433
434			</div>
435		<div>
436
437			</div>
438		<div>
439
440			</div>
441	
442		</div>
443	</div>
444
445<div id="content" class="eshop">
446    <div class="container">
447        <aside id="ctl00_ewpz1_mainTemplateCtrl_sidebar" class="sidebar">
448            <div id="category-filter" class="form">
449                <div class="mobile-buttons">
450                    <a href="#" class="button close"><img class="section-toggle" src="/images/close-menu.svg" alt=''>Zavřít filtr</a>
451                    <a href="#" class="button apply">Filtrování 
452			
453		    </a>
454                </div>
455                <div class="filters-sections">
456                    <div id="ctl00_ewpz1_mainTemplateCtrl_TCWebPartZone1b">
457		<div class='filter-section categories'><div class='section-title open'>Kategorie <img class='section-toggle' src='/images/select-down.svg' alt='down'></div><div class='section-content long' style='display: block;'><div class='dropdown-tags'><div class='tag-item '><a href='/kategorie/liceni/' class='tag-title'>Líčení <span class='count'></span></a><div class='tag-list'><div class='checkbox-line'><a href='/kategorie/liceni/nehty/'>Nehty</a></div><div class='checkbox-line'><a href='/kategorie/liceni/oboci/'>Oboč&#237;</a></div><div class='checkbox-line'><a href='/kategorie/liceni/oci/'>Oči</a></div><div class='checkbox-line'><a href='/kategorie/liceni/rty/'>Rty</a></div><div class='checkbox-line'><a href='/kategorie/liceni/tvar/'>Tv&#225;ř</a></div><div class='checkbox-line'><a href='/kategorie/liceni/kosmeticke-sady/'>Kosmetick&#233; sady</a></div><div class='checkbox-line'><a href='/kategorie/liceni/doplnky/'>Doplňky</a></div></div></div><div class='tag-item  active'><a href='/kategorie/plet/' class='tag-title'>Pleť <span class='count'></span></a><div class='tag-list'><div class='checkbox-line'><a href='/kategorie/plet/odliceni-a-cisteni/'>Odl&#237;čen&#237; a čištěn&#237;</a></div><div class='checkbox-line'><a href='/kategorie/plet/pece-o-plet/'>P&#233;če o pleť</a></div><div class='checkbox-line'><a href='/kategorie/plet/pece-o-rty/'>P&#233;če o rty</a></div><div class='checkbox-line'><a href='/kategorie/plet/pece-o-ocni-okoli/'>P&#233;če o očn&#237; okol&#237;</a></div><div class='checkbox-line'><a href='/kategorie/plet/pripravky-na-holeni/'>Př&#237;pravky na holen&#237;</a></div><div class='checkbox-line'><a href='/kategorie/plet/kosmeticke-sady/'>Kosmetick&#233; sady</a></div><div class='checkbox-line'><a href='/kategorie/plet/doplnky-stravy-na-plet/'>
457Doplňky stravy na pleť</a></div><div class='checkbox-line'><a href='/kategorie/plet/doplnky/'>Doplňky</a></div></div></div><div class='tag-item '><a href='/kategorie/telo/' class='tag-title'>Tělo <span class='count'></span></a><div class='tag-list'><div class='checkbox-line'><a href='/kategorie/telo/deodoranty/'>Deodoranty</a></div><div class='checkbox-line'><a href='/kategorie/telo/depilace-a-epilace/'>Depilace a epilace</a></div><div class='checkbox-line'><a href='/kategorie/telo/hygiena-a-peeling/'>Hygiena a peeling</a></div><div class='checkbox-line'><a href='/kategorie/telo/pece-o-telo/'>P&#233;če o tělo</a></div><div class='checkbox-line'><a href='/kategorie/telo/pece-o-vousy/'>P&#233;če o vousy</a></div><div class='checkbox-line'><a href='/kategorie/telo/pece-o-zuby/'>P&#233;če o zuby</a></div><div class='checkbox-line'><a href='/kategorie/telo/zestihlujici-pradlo/'>Zešt&#237;hluj&#237;c&#237; pr&#225;dlo</a></div><div class='checkbox-line'><a href='/kategorie/telo/kosmeticke-sady/'>Kosmetick&#233; sady</a></div><div class='checkbox-line'><a href='/kategorie/telo/doplnky-stravy-na-telo/'>Doplňky stravy na tělo</a></div><div class='checkbox-line'><a href='/kategorie/telo/doplnky/'>Doplňky</a></div></div></div><div class='tag-item '><a href='/kategorie/vlasy/' class='tag-title'>Vlasy <span class='count'></span></a><div class='tag-list'><div class='checkbox-line'><a href='/kategorie/vlasy/barvy-na-vlasy/'>Barvy na vlasy</a></div><div class='checkbox-line'><a href='/kategorie/vlasy/hrebeny-a-doplnky/'>Hřebeny a doplňky</a></div><div class='checkbox-line'><a href='/kategorie/vlasy/kondicionery/'>Kondicion&#233;ry</a></div><div class='checkbox-line'><a href='/kategorie/vlasy/masky-na-vlasy/'>Masky na vlasy</a></div><div class='checkbox-line'><a href='/kategorie/vlasy/parfemy-na-vlasy/'>Parf&#233;my na vlasy</a></div><div class='checkbox-line'><a href='/kategorie/vlasy/pece-o-pokozku-hlavy/'>P&#233;če o pokožku hlavy</a></div><div class='checkbox-line'><a href='/kategorie/vlasy/styling/'>Styling</a></div><div class='checkbox-line'><a href='/kategorie/vlasy/sampony/'>Šampony</a></div><div class='checkbox-line'><a href='/kategorie/vlasy/vlasove-pece/'>Vlasov&#233; p&#233;če</a></div><div class='checkbox-line'><a href='/kategorie/vlasy/doplnky-stravy-na-vlasy/'>Doplňky stravy na vlasy</a></div><div class='checkbox-line'><a href='/kategorie/vlasy/kosmeticke-sety/'>Kosmetick&#233; sety</a></div></div></div><div class='tag-item '><a href='/kategorie/sluneni/' class='tag-title'>Slunění <span class='count'></span></a><div class='tag-list'><div class='checkbox-line'><a href='/kategorie/sluneni/na-opalovani/'>Na opalov&#225;n&#237;</a></div><div class='checkbox-line'><a href='/kategorie/sluneni/po-opalovani/'>Po opalov&#225;n&#237;</a></div><div class='checkbox-line'><a href='/kategorie/sluneni/pred-opalovanim/'>Před opalov&#225;n&#237;m</a></div><div class='checkbox-line'><a href='/kategorie/sluneni/samoopalovaci-produkty/'>Samoopalovac&#237; produkty</a></div><div class='checkbox-line'><a href='/kategorie/sluneni/doplnky-stravy-na-opalovani/'>Doplňky stravy na opalov&#225;n&#237;</a></div><div class='checkbox-line'><a href='/kategorie/sluneni/miniatury/'>Miniatury</a></div><div class='checkbox-line'><a href='/kategorie/sluneni/testery/'>Testery</a></div><div class='checkbox-line'><a href='/kategorie/sluneni/vzorky/'>Vzorky</a></div></div></div><div class='tag-item '><a href='/kategorie/deti/' class='tag-title'>Děti <span class='count'></span></a><div class='tag-list'><div class='checkbox-line'><a href='/kategorie/deti/opalovani/'>Opalov&#225;n&#237;</a></div><div class='checkbox-line'><a href='/kategorie/deti/plet/'>Pleť</a></div><div class='checkbox-line'><a href='/kategorie/deti/telo/'>Tělo</a></div><div class='checkbox-line'><a href='/kategorie/deti/vlasy/'>Vlasy</a></div><div class='checkbox-line'><a href='/kategorie/deti/kosmeticke-sady/'>Kosmetick&#233; sady</a></div></div></div><div class='tag-item '><a href='/kategorie/parfemy/' class='tag-title'>Parfémy <span class='count'></span></a><div class='tag-list'><div class='checkbox-line'><a href='/kategorie/parfemy/niche-parfemy/'>Niche parf&#233;my</a></div><div class='checkbox-line'><a href='/kategorie/parfemy/parfemy-pro-zeny/'>Parf&#233;my pro ženy</a></div><div class='checkbox-line'><a href='/kategorie/parfemy/parfemy-pro-muze/'>Parf&#233;my pro muže</a></div><div class='checkbox-line'><a href='/kategorie/parfemy/kosmeticke-sady/'>Kosmetick&#233; sady</a></div></div></div><div class='tag-item '><a href='/kategorie/niche/' class='tag-title'>Niche <span class='count'></span></a></div><div class='tag-item '><a href='/kategorie/interierove-vune/' class='tag-title'>Interiérové vůně <span class='count'></span></a><div class='tag-list'><div class='checkbox-line'><a href='/kategorie/interierove-vune/vune-do-auta/'>Vůně do auta</a></div><div class='checkbox-line'><a href='/kategorie/interierove-vune/vune-do-bytu/'>Vůně do bytu</a></div></div></div><div class='tag-item '><a href='/kategorie/doplnky-stravy/' class='tag-title'>Doplňky stravy <span class='count'></span></a><div class='tag-list'><div class='checkbox-line'><a href='/kategorie/doplnky-stravy/doplnky-stravy-na-telo/'>Doplňky stravy na tělo</a></div><div class='checkbox-line'><a href='/kategorie/doplnky-stravy/doplnky-stravy-na-plet/'>
457Doplňky stravy na pleť</a></div><div class='checkbox-line'><a href='/kategorie/doplnky-stravy/doplnky-stravy-na-vlasy/'>Doplňky stravy na vlasy</a></div></div></div><div class='tag-item '><a href='/kategorie/poukazy/' class='tag-title'>Poukazy <span class='count'></span></a></div><div class='tag-item '><a href='/kategorie/zestihleni/' class='tag-title'>Zeštíhlení <span class='count'></span></a></div></div></div></div><div class='filters-flags'><div class="checkbox-inline">
458			<label for="ctl00_webPartManager1_FilterNavBar2_cbNew"><input id="ctl00_webPartManager1_FilterNavBar2_cbNew" type="checkbox" name="ctl00$webPartManager1$FilterNavBar2$cbNew" class="checkbox-inline" onclick="__doPostBack(&#39;ctl00$webPartManager1$FilterNavBar2$cbNew&#39;,&#39;&#39;)" />Novinka</label>
459		</div><div class="checkbox-inline">
460			<label for="ctl00_webPartManager1_FilterNavBar2_cbSellout"><input id="ctl00_webPartManager1_FilterNavBar2_cbSellout" type="checkbox" name="ctl00$webPartManager1$FilterNavBar2$cbSellout" class="checkbox-inline" onclick="__doPostBack(&#39;ctl00$webPartManager1$FilterNavBar2$cbSellout&#39;,&#39;&#39;)" />Výprodej</label>
461		</div><div class="checkbox-inline">
462			<label for="ctl00_webPartManager1_FilterNavBar2_cbAction"><input id="ctl00_webPartManager1_FilterNavBar2_cbAction" type="checkbox" name="ctl00$webPartManager1$FilterNavBar2$cbAction" class="checkbox-inline" onclick="__doPostBack(&#39;ctl00$webPartManager1$FilterNavBar2$cbAction&#39;,&#39;&#39;)" />Akce</label>
463		</div></div><div class='filter-section categories chosen-tags'><div class='section-title remove open'>Značka<img class='section-toggle' src='/images/select-down.svg' alt='down'></div><div class='section-content' style='display: block;'><span class="checkbox-line"><input id="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_MU4G100101" type="checkbox" name="ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_MU4G100101" class="checkbox-line" onclick="__doPostBack(&#39;ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_MU4G100101&#39;,&#39;&#39;)" /><label for="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_MU4G100101">B'Kate</label></span><span class="checkbox-line"><input id="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_W7G3000101" type="checkbox" name="ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_W7G3000101" class="checkbox-line" onclick="__doPostBack(&#39;ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_W7G3000101&#39;,&#39;&#39;)" /><label for="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_W7G3000101">Coach</label></span><span class="checkbox-line"><input id="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_7Z7H100101" type="checkbox" name="ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_7Z7H100101" class="checkbox-line" onclick="__doPostBack(&#39;ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_7Z7H100101&#39;,&#39;&#39;)" /><label for="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_7Z7H100101">Cocosolis</label></span><span class="checkbox-line"><input id="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_GX7H100101" type="checkbox" name="ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_GX7H100101" class="checkbox-line" onclick="__doPostBack(&#39;ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_GX7H100101&#39;,&#39;&#39;)" /><label for="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_GX7H100101">Dr.Hauschka</label></span><span class="checkbox-line"><input id="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_WTIH000101" type="checkbox" name="ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_WTIH000101" class="checkbox-line" onclick="__doPostBack(&#39;ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_WTIH000101&#39;,&#39;&#39;)" /><label for="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_WTIH000101">Guess</label></span><span class="checkbox-line"><input id="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_4SO1000101" type="checkbox" name="ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_4SO1000101" class="checkbox-line" onclick="__doPostBack(&#39;ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_4SO1000101&#39;,&#39;&#39;)" /><label for="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_4SO1000101">Karl Lagerfeld</label></span><span class="checkbox-line"><input id="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_3ES1000101" type="checkbox" name="ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_3ES1000101" class="checkbox-line" onclick="__doPostBack(&#39;ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_3ES1000101&#39;,&#39;&#39;)" /><label for="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_3ES1000101">Maria Galland</label></span><span class="checkbox-line"><input id="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_WQQ4000101" type="checkbox" name="ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_WQQ4000101" class="checkbox-line" onclick="__doPostBack(&#39;ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_WQQ4000101&#39;,&#39;&#39;)" /><label for="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_WQQ4000101">Naif</label></span><span class="checkbox-line"><input id="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_D3YG100101" type="checkbox" name="ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_D3YG100101" class="checkbox-line" onclick="__doPostBack(&#39;ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_D3YG100101&#39;,&#39;&#39;)" /><label for="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_D3YG100101">Ramissio</label></span><span class="checkbox-line"><input id="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_HR55000101" type="checkbox" name="ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_HR55000101" class="checkbox-line" onclick="__doPostBack(&#39;ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_HR55000101&#39;,&#39;&#39;)" /><label for="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_HR55000101">Rexaline</label></span><span class="checkbox-line"><input id="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_WH83000101" type="checkbox" name="ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_WH83000101" class="checkbox-line" onclick="__doPostBack(&#39;ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_WH83000101&#39;,&#39;&#39;)" /><label for="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_WH83000101">Sensualité</label></span><span class="checkbox-line"><input id="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_BMW1000101" type="checkbox" name="ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_BMW1000101" class="checkbox-line" onclick="__doPostBack(&#39;ctl00$webPartManager1$ProducersFilterNavBar1$BnProducer_BMW1000101&#39;,&#39;&#39;)" /><label for="ctl00_webPartManager1_ProducersFilterNavBar1_BnProducer_BMW1000101">Thalgo</label></span></div></div><div class='filter-section categories chosen-tags'><div class='section-title'>Určení <img class='section-toggle' src='/images/select-down.svg' alt='down'></div><div class='section-content'><a href='/kategorie/plet/?page=1&amp;urceni=pro-muze'><span class='checkbox-line'><input id='pro-muze' type='checkbox' class='checkbox-line' onclick="javascript:window.location='/kategorie/plet/?page=1&amp;urceni=pro-muze';void(0);" aria-label='Pro muže'><label for='pro-muze'>Pro muže</label></span></a><a href='/kategorie/plet/?page=1&amp;urceni=pro-zeny'><span class='checkbox-line'><input id='pro-zeny' type='checkbox' class='checkbox-line' onclick="javascript:window.location='/kategorie/plet/?page=1&amp;urceni=pro-zeny';void(0);"><label for='pro-zeny'>Pro ženy</label></span></a><a href='/kategorie/plet/?page=1&amp;urceni=pro-deti'><span class='checkbox-line'><input id='pro-deti' type='checkbox' class='checkbox-line' onclick="javascript:window.location='/kategorie/plet/?page=1&amp;urceni=pro-deti';void(0);"><label for='pro-deti'>Pro děti</label></span></a></div></div>
464	</div>
465
466		    
467                </div>
468            </div>
469
470            <img src="/images/garance.svg" alt='garance'>
471        </aside>
472        <main class="content">
473	    
474	    <div class='category-banner sm-hide'><img src='/userdata/editor/images/2021/Bannery/Plet/banner_kategorie_1559x461_DH_plet_1026.webp' alt='Věnováno tobě.
475DR. HAUSCHKA
476100% certifikovaná, účinná přírodní kosmetika. Jiná už od roku 1967.'/><div class='banner-caption'><span style="color:#FFFFFF;">Věnováno tobě.</span></strong>
477<h2><span style="color:#FFFFFF;">DR. HAUSCHKA</span></h2>
478<p><span style="color:#FFFFFF;">100% certifikovaná, účinná přírodní kosmetika. Jiná už od roku 1967.</span></p><a href='https://www.sensualite.cz/kategorie/plet/?producersfilter=GX7H100101' class='button invert'>PROZKOUMAT</a></div></div><div class='category-banner sm-show'><a href='https://www.sensualite.cz/kategorie/plet/?producersfilter=GX7H100101'><img src='/userdata/editor/images/2021/Bannery/Plet/banner_kategorie_1080
478x1080_DH_1026_CZ.webp' alt='Věnováno tobě.
479DR. HAUSCHKA
480100% certifikovaná, účinná přírodní kosmetika. Jiná už od roku 1967.'/></a></div>	
481
482            <div class="breadcrumbs dark">
483	    	<ul itemscope itemtype='https://schema.org/BreadcrumbList'><li><a href='/'><img src='/images/home-w.svg' alt='home' /></a></li><li itemprop='itemListElement' itemscope itemtype='https://schema.org/ListItem'><a href='/kategorie/' itemprop='item'>Kategorie<meta itemprop='name' content='Kategorie' /></a><meta itemprop='position' content='1' /></li><li itemprop='itemListElement' itemscope itemtype='https://schema.org/ListItem'><a href='/kategorie/plet/' itemprop='item'>Pleť<meta itemprop='name' content='Pleť' /></a><meta itemprop='position' content='2' /></li></ol>
484	    </div>
485
486	    <div class='top-products-tabs'><div class='left-part'><ul class='tabs-line'><li><span>Top produkty</span></li><li><a href='/kategorie/plet/?list-tab=new'>Novinky</a></li><li><a href='/kategorie/plet/?list-tab=bestseller'>Doporučujeme</a></li><li><a href='/kategorie/plet/?list-tab=action'>Akce</a></li></ul></div><div class='right-part'><div class='sm-filters-toggle-btn'><img src='/images/filter-btn.svg' alt='Filtr'></div></div><div class='products-list owl-carousel inline'><div class='product'><div class='product-inner'><div class='photo-part'><div class='product-flags'><div class='flag'>1.</div><div class='flag discount'> -20%</div></div><div class='product-image'><a href='/thalgo-relaxacni-set-telove-kosmetiky--/'><img src='/userdata/cache_bk/158/P0YG100101.webp' alt='THALGO Relaxačn&#237; set tělov&#233; kosmetiky'></a></div></div><div class='desc-part'><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-relaxacni-set-telove-kosmetiky--/'>THALGO Relaxačn&#237; set tělov&#233; kosmetiky</a></h3><div class='product-bottom'><div class='old-price'>990&nbsp;Kč</div><div class='price'>792&nbsp;Kč</div></div></div></div></div><div class='product'><div class='product-inner'><div class='photo-part'><div class='product-flags'><div class='flag'>2.</div></div><div class='product-image'><a href='/maria-galland-252-hydra-global-esence-na-ocni-kontury--10-ml/'><img src='/userdata/cache_bk/158/LPXG100101.webp' alt='MARIA GALLAND 252 Hydra&#39;Global Esence na očn&#237; kontury '></a></div></div><div class='desc-part'><div class='category'><a href='/kategorie/plet/pece-o-ocni-okoli/'>P&#233;če o očn&#237; okol&#237;</a></div><h3><a href='/maria-galland-252-hydra-global-esence-na-ocni-kontury--10-ml/'>MARIA GALLAND 252 Hydra&#39;Global Esence na očn&#237; kontury </a></h3><div class='product-bottom'><div class='price'>1 190&nbsp;Kč</div></div></div></div></div><div class='product'><div class='product-inner'><div class='photo-part'><div class='product-flags'><div class='flag'>3.</div></div><div class='product-image'><a href='/thalgo-eveil-a-la-mer-morske-cistici-tuhe-pletove-mydlo-z-ras--100-g/'><img src='/userdata/cache_bk/158/XORG100101.webp' alt='THALGO &#201;veil &#224; la Mer Mořsk&#233; čistic&#237; tuh&#233; pleťov&#233; m&#253;dlo z řas '></a></div></div><div class='desc-part'><div class='category'><a href='/brand/thalgo/pletove-produkty/odlicovaci-rada-eveil-a-la-mer/'>Odličovac&#237; řada Eveil a la Mer</a></div><h3><a href='/thalgo-eveil-a-la-mer-morske-cistici-tuhe-pletove-mydlo-z-ras--100-g/'>THALGO &#201;veil &#224; la Mer Mořsk&#233; čistic&#237; tuh&#233; pleťov&#233; m&#253;dlo z řas </a></h3><div class='product-bottom'><div class='price'>400&nbsp;Kč</div></div></div></div></div><div class='product'><div class='product-inner'><div class='photo-part'><div class='product-flags'><div class='flag'>4.</div></div><div class='product-image'><a href='/dr-hauschka-adventni-kalendar--/'><img src='/userdata/cache_bk/158/FRXG100101.webp' alt='DR. HAUSCHKA Adventn&#237; kalend&#225;ř'></a></div></div><div class='desc-part'><div class='category'><a href='/kategorie/plet/kosmeticke-sady/'>Kosmetick&#233; sady</a></div><h3><a href='/dr-hauschka-adventni-kalendar--/'>DR. HAUSCHKA Adventn&#237; kalend&#225;ř</a></h3><div class='product-bottom'><div class='price'>2 710&nbsp;Kč</div></div></div></div></div><div class='product'><div class='product-inner'><div class='photo-part'><div class='product-flags'><div class='flag'>5.</div></div><div class='product-image'><a href='/thalgo-cold-cream-marine-nutri-comfort-bohaty-vyzivny-krem-na-suchou-plet-refill--50-ml/'><img src='/userdata/cache_bk/158/O4TG100101.webp' alt='THALGO Cold Cream Marine Nutri-Comfort bohat&#253; v&#253;živn&#253; kr&#233;m na suchou pleť refill'></a></div></div><div class='desc-part'><div class='category'><a href='/kategorie/plet/pece-o-plet/'>P&#233;
486če o pleť</a></div><h3><a href='/thalgo-cold-cream-marine-nutri-comfort-bohaty-vyzivny-krem-na-suchou-plet-refill--50-ml/'>THALGO Cold Cream Marine Nutri-Comfort bohat&#253; v&#253;živn&#253; kr&#233;m na suchou pleť refill</a></h3><div class='product-bottom'><div class='price'>1 240&nbsp;Kč</div></div></div></div></div><div class='product'><div class='product-inner'><div class='photo-part'><div class='product-flags'><div class='flag'>6.</div></div><div class='product-image'><a href='/maria-galland-60-osvezujici-cistici-a-odlicovaci-pletovy-gel--150ml/'><img src='/userdata/cache_bk/158/ADWG100101.webp' alt='MARIA GALLAND 60 Osvěžuj&#237;c&#237; čistic&#237; a odličovac&#237; pleťov&#253; gel'></a></div></div><div class='desc-part'><div class='category'><a href='/kategorie/plet/odliceni-a-cisteni/'>Odl&#237;čen&#237; a čištěn&#237;</a></div><h3><a href='/maria-galland-60-osvezujici-cistici-a-odlicovaci-pletovy-gel--150ml/'>MARIA GALLAND 60 Osvěžuj&#237;c&#237; čistic&#237; a odličovac&#237; pleťov&#253; gel</a></h3><div class='product-bottom'><div class='price'>1 150&nbsp;Kč</div></div></div></div></div><div class='product'><div class='product-inner'><div class='photo-part'><div class='product-flags'><div class='flag'>7.</div></div><div class='product-image'><a href='/thalgo-collagene-marine-beaute-kolagenovy-doplnek-stravy-pro-plet-vlasy-a-nehty--21-ks/'><img src='/userdata/cache_bk/158/51YG100101.webp' alt='THALGO Collag&#232;ne Marine Beaut&#233; Kolagenov&#253; doplněk stravy pro pleť, vlasy a nehty'></a></div></div><div class='desc-part'><div class='category'><a href='/brand/thalgo/doplnky-stravy/'>Doplňky stravy</a></div><h3><a href='/thalgo-collagene-marine-beaute-kolagenovy-doplnek-stravy-pro-plet-vlasy-a-nehty--21-ks/'>THALGO Collag&#232;ne Marine Beaut&#233; Kolagenov&#253; doplněk stravy pro pleť, vlasy a nehty</a></h3><div class='product-bottom'><div class='price'>1 560&nbsp;Kč</div></div></div></div></div><div class='product'><div class='product-inner'><div class='photo-part'><div class='product-flags'><div class='flag'>8.</div></div><div class='product-image'><a href='/dr-hauschka-obnovujici-kura-pro-aktivaci-pleti-28-ampulek-/'><img src='/userdata/cache_bk/158/KEUG100101.webp' alt='DR. HAUSCHKA Obnovuj&#237;c&#237; k&#250;ra pro aktivaci pleti'></a></div></div><div class='desc-part'><div class='category'><a href='/kategorie/plet/pece-o-plet/'>P&#233;če o pleť</a></div><h3><a href='/dr-hauschka-obnovujici-kura-pro-aktivaci-pleti-28-ampulek-/'>DR. HAUSCHKA Obnovuj&#237;c&#237; k&#250;ra pro aktivaci pleti</a></h3><div class='product-bottom'><div class='price'>1 920&nbsp;Kč</div></div></div></div></div><div class='product'><div class='product-inner'><div class='photo-part'><div class='product-flags'><div class='flag'>9.</div></div><div class='product-image'><a href='/maria-galland-641-lift-expert-liftingovy-pletovy-koncentrat-v-ampulkach--4-x-2-ml/'><img src='/userdata/cache_bk/158/HXXG100101.webp' alt='MARIA GALLAND 641 Lift&#39;Expert Liftingov&#253; pleťov&#253; koncentr&#225;t v ampulk&#225;ch'></a></div></div><div class='desc-part'><div class='category'><a href='/kategorie/plet/pece-o-plet/'>P&#233;če o pleť</a></div><h3><a href='/maria-galland-641-lift-expert-liftingovy-pletovy-koncentrat-v-ampulkach--4-x-2-ml/'>MARIA GALLAND 641 Lift&#39;Expert Liftingov&#253; pleťov&#253; koncentr&#225;t v ampulk&#225;ch</a></h3><div class='product-bottom'><div class='price'>890&nbsp;Kč</div></div></div></div></div><div class='product'><div class='product-inner'><div class='photo-part'><div class='product-flags'><div class='flag'>10.</div></div><div class='product-image'><a href='/maria-galland-1000-mille-pecujici-polstarkova-maska-pod-oci--4-pary/'><img src='/userdata/cache_bk/158/6HQG100101.webp' alt='MARIA GALLAND 1000 Mille Pečuj&#237;c&#237; polšt&#225;řkov&#225; maska pod oči '></a></div></div><div class='desc-part'><div class='category'><a href='/kategorie/plet/pece-o-ocni-okoli/'>P&#233;če o očn&#237; okol&#237;</a></div><h3><a href='/maria-galland-1000-mille-pecujici-polstarkova-maska-pod-oci--4-pary/'>MARIA GALLAND 1000 Mille Pečuj&#237;c&#237; polšt&#225;řkov&#225; maska pod oči </a></h3><div class='product-bottom'><div class='price'>1 650&nbsp;Kč</div></div></div></div></div></div></div>	    
487
488
489            <div id="ctl00_ewpz1_mainTemplateCtrl_updatePanelMain">
490		
491			<div class='category-title-header'><h1>Pleť </h1><div class='subcategories'><a href='/kategorie/plet/odliceni-a-cisteni/'>Odlíčení a čištění</a><a href='/kategorie/plet/pece-o-plet/'>
491Péče o pleť</a><a href='/kategorie/plet/pece-o-rty/'>Péče o rty</a><a href='/kategorie/plet/pece-o-ocni-okoli/'>Péče o oční okolí</a><a href='/kategorie/plet/pripravky-na-holeni/'>Přípravky na holení</a><a href='/kategorie/plet/kosmeticke-sady/'>Kosmetické sady</a><a href='/kategorie/plet/doplnky-stravy-na-plet/'>Doplňky stravy na pleť</a><a href='/kategorie/plet/doplnky/'>Doplňky</a></div></div>
492            		<div class='products-list-header'><div class='box-searchstorecardpropertiesfilter'></div><div class='sort-part'><strong>Seřadit podle:</strong><select name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ddlSort" onchange="javascript:setTimeout(&#39;__doPostBack(\&#39;ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ddlSort\&#39;,\&#39;\&#39;)&#39;, 0)" id="ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_ddlSort" class="form-control">
493			<option selected="selected" value="SC_X_NOVINKA_DATE DESC, SM_x_menu_global_posindex, SC_X_AKTIVNI_KARTA, ON_STORE, SC_NAME">Nejnovějš&#237;</option>
494			<option value="SC_NAME">N&#225;zvu</option>
495			<option value="SC_CODE">K&#243;du</option>
496			<option value="CENA_PO_SLEVE_SORT ASC">Od nejlevnějš&#237;ch</option>
497			<option value="CENA_PO_SLEVE_SORT DESC">Od nejdražš&#237;ch</option>
498
499		</select></div></div><div class='products-list categorygrid'><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-0' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-0','3L6J000101;0');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div></div><div class='product-image'><a href='/maria-galland-book-collection-the-iconic-set-vyzivujici-pletove-kosmetiky---/'><img src='/userdata/cache_bk/158/SOYG100101.webp' alt='MARIA GALLAND Book Collection The Iconic set vyživuj&#237;c&#237; pleťov&#233; kosmetiky 		  '></a></div><div class='category'><a href='/brand/maria-galland/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/maria-galland-book-collection-the-iconic-set-vyzivujici-pletove-kosmetiky---/'>MARIA GALLAND Book Collection The Iconic set vyživuj&#237;c&#237; pleťov&#233; kosmetiky 		  </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>2 290&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-0' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-0','3L6J000101;0');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl01" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-1' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-1','YK6J000101;1');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div></div><div class='product-image'><a href='/maria-galland-cleansing-ritual-kosmeticky-set-bonbon-pro-odliceni-pleti---/'><img src='/userdata/cache_bk/158/REYG100101.webp' alt='MARIA GALLAND Cleansing Ritual Kosmetick&#253; set bonbon pro odl&#237;čen&#237; pleti 		  '></a></div><div class='category'><a href='/brand/maria-galland/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/maria-galland-cleansing-ritual-kosmeticky-set-bonbon-pro-odliceni-pleti---/'>MARIA GALLAND Cleansing Ritual Kosmetick&#253; set bonbon pro odl&#237;čen&#237; pleti 		  </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>990&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-1' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-1','YK6J000101;1');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl02" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-2' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-2','XK6J000101;2');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div></div><div class='product-image'><a href='/maria-galland-firming-kosmeticky-set-na-lifting-pleti---/'><img src='/userdata/cache_bk/158/KEYG100101.webp' alt='MARIA GALLAND Firming Kosmetick&#253; set na lifting pleti 		  '></a></div><div class='category'><a href='/brand/maria-galland/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/maria-galland-firming-kosmeticky-set-na-lifting-pleti---/'>MARIA GALLAND Firming Kosmetick&#253; set na lifting pleti 		  </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>2 690&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-2' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-2','XK6J000101;2');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl03" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-3' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-3','VK6J000101;3');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div></div><div class='product-image'><a href='/maria-galland-illuminating-kosmeticky-set-pro-zarivou-a-hydratovanou-plet---/'><img src='/userdata/cache_bk/158/JEYG100101.webp' alt='MARIA GALLAND Illuminating Kosmetick&#253; set pro z&#225;řivou a hydratovanou pleť 		  '></a></div><div class='category'><a href='/brand/maria-galland/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/maria-galland-illuminating-kosmeticky-set-pro-zarivou-a-hydratovanou-plet---/'>MARIA GALLAND Illuminating Kosmetick&#253; set pro z&#225;řivou a hydratovanou pleť 		  </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>2 190&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-3' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-3','VK6J000101;3');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl04" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-4' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-4','WK6J000101;4');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div></div><div class='product-image'><a href='/maria-galland-nourishing-kosmeticky-set-pro-vyzivu-pleti---/'><img src='/userdata/cache_bk/158/OEYG100101.webp' alt='MARIA GALLAND Nourishing Kosmetick&#253; set pro v&#253;živu pleti  		  '></a></div><div class='category'><a href='/brand/maria-galland/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/maria-galland-nourishing-kosmeticky-set-pro-vyzivu-pleti---/'>MARIA GALLAND Nourishing Kosmetick&#253; set pro v&#253;živu pleti  		  </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>2 390&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-4' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-4','WK6J000101;4');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl05" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-5' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-5','ZK6J000101;5');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div></div><div class='product-image'><a href='/maria-galland-nourishing-ritual-kosmeticky-set-bonbon-pro-vyzivu-pleti---/'><img src='/userdata/cache_bk/158/WEYG100101.webp' alt='MARIA GALLAND Nourishing Ritual Kosmetick&#253; set bonbon pro v&#253;živu pleti 		  '></a></div><div class='category'><a href='/brand/maria-galland/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/maria-galland-nourishing-ritual-kosmeticky-set-bonbon-pro-vyzivu-pleti---/'>MARIA GALLAND Nourishing Ritual Kosmetick&#253; set bonbon pro v&#253;živu pleti 		  </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>590&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-5' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-5','ZK6J000101;5');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl06" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-6' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-6','RM6J000101;6');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>
499Limitovaná edice</div></div><div class='product-image'><a href='/thalgo-cold-cream-marine-set-vyzivujici-pletove-kosmetiky--/'><img src='/userdata/cache_bk/158/RSYG100101.webp' alt='THALGO Cold Cream Marine set vyživuj&#237;c&#237; pleťov&#233; kosmetiky    '></a></div><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-cold-cream-marine-set-vyzivujici-pletove-kosmetiky--/'>THALGO Cold Cream Marine set vyživuj&#237;c&#237; pleťov&#233; kosmetiky    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>1 920&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-6' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-6','RM6J000101;6');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl07" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-7' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-7','MM6J000101;7');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>Limitovaná edice</div></div><div class='product-image'><a href='/thalgo-eveil-a-la-mer-skin-radiance-kosmeticky-set-pro-odliceni-pleti--/'><img src='/userdata/cache_bk/158/2TYG100101.webp' alt='THALGO &#201;veil &#224; la Mer Skin Radiance kosmetick&#253; set pro odl&#237;čen&#237; pleti    '></a></div><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-eveil-a-la-mer-skin-radiance-kosmeticky-set-pro-odliceni-pleti--/'>THALGO &#201;veil &#224; la Mer Skin Radiance kosmetick&#253; set pro odl&#237;čen&#237; pleti    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>1 170&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-7' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-7','MM6J000101;7');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl08" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-8' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-8','1N6J000101;8');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>Limitovaná edice</div></div><div class='product-image'><a href='/thalgo-exception-marine-set-zpevnujici-pletove-kosmetiky--/'><img src='/userdata/cache_bk/158/CTYG100101.webp' alt='THALGO Exception Marine set zpevňuj&#237;c&#237; pleťov&#233; kosmetiky    '></a></div><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-exception-marine-set-zpevnujici-pletove-kosmetiky--/'>THALGO Exception Marine set zpevňuj&#237;c&#237; pleťov&#233; kosmetiky    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>3 800&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-8' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-8','1N6J000101;8');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl09" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-9' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-9','OM6J000101;9');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>
499Limitovaná edice</div></div><div class='product-image'><a href='/thalgo-express-beauty-kosmeticky-set-pletovych-masek--/'><img src='/userdata/cache_bk/158/ZSYG100101.webp' alt='THALGO Express Beauty kosmetick&#253; set pleťov&#253;ch masek    '></a></div><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-express-beauty-kosmeticky-set-pletovych-masek--/'>THALGO Express Beauty kosmetick&#253; set pleťov&#253;ch masek    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>990&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-9' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-9','OM6J000101;9');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl10" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-10' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-10','LM6J000101;10');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>Limitovaná edice</div></div><div class='product-image'><a href='/thalgo-hyalu-procollagene-secret-santa-kosmeticky-set-zpevnujici-na-plet--/'><img src='/userdata/cache_bk/158/QVYG100101.webp' alt='THALGO Hyalu-Procollag&#232;ne Secret Santa kosmetick&#253; set zpevňuj&#237;c&#237; na pleť    '></a></div><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-hyalu-procollagene-secret-santa-kosmeticky-set-zpevnujici-na-plet--/'>THALGO Hyalu-Procollag&#232;ne Secret Santa kosmetick&#253; set zpevňuj&#237;c&#237; na pleť    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>810&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-10' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-10','LM6J000101;10');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl11" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-11' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-11','TM6J000101;11');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>Limitovaná edice</div></div><div class='product-image'><a href='/thalgo-hyalu-procollagene-set-zpevnujici-pletove-kosmetiky--/'><img src='/userdata/cache_bk/158/OSYG100101.webp' alt='THALGO Hyalu-Procollag&#232;ne set zpevňuj&#237;c&#237; pleťov&#233; kosmetiky    '></a></div><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-hyalu-procollagene-set-zpevnujici-pletove-kosmetiky--/'>THALGO Hyalu-Procollag&#232;ne set zpevňuj&#237;c&#237; pleťov&#233; kosmetiky    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>2 720&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-11' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-11','TM6J000101;11');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl12" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-12' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-12','7N6J000101;12');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>
499Limitovaná edice</div></div><div class='product-image'><a href='/thalgo-men-set-kosmetiky-pro-muze--/'><img src='/userdata/cache_bk/158/ATYG100101.webp' alt='THALGO Men set kosmetiky pro muže    '></a></div><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-men-set-kosmetiky-pro-muze--/'>THALGO Men set kosmetiky pro muže    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>1 790&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-12' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-12','7N6J000101;12');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl13" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-13' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-13','UM6J000101;13');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>Limitovaná edice</div></div><div class='product-image'><a href='/thalgo-prodige-des-oceans-set-vyzivujici-pletove-kosmetiky--/'><img src='/userdata/cache_bk/158/LSYG100101.webp' alt='THALGO Prodige des Oc&#233;ans set vyživuj&#237;c&#237; pleťov&#233; kosmetiky    '></a></div><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-prodige-des-oceans-set-vyzivujici-pletove-kosmetiky--/'>THALGO Prodige des Oc&#233;ans set vyživuj&#237;c&#237; pleťov&#233; kosmetiky    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>5 800&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-13' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-13','UM6J000101;13');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl14" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-14' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-14','0N6J000101;14');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>Limitovaná edice</div></div><div class='product-image'><a href='/thalgo-silicium-lift-set-liftingove-pletove-kosmetiky--/'><img src='/userdata/cache_bk/158/FTYG100101.webp' alt='THALGO Silicium Lift set liftingov&#233; pleťov&#233; kosmetiky    '></a></div><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-silicium-lift-set-liftingove-pletove-kosmetiky--/'>THALGO Silicium Lift set liftingov&#233; pleťov&#233; kosmetiky    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>3 030&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-14' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-14','0N6J000101;14');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl15" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-15' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-15','KM6J000101;15');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>
499Limitovaná edice</div></div><div class='product-image'><a href='/thalgo-source-marine-secret-santa-kosmeticky-set-hydratacni-na-plet--/'><img src='/userdata/cache_bk/158/6TYG100101.webp' alt='THALGO Source Marine Secret Santa kosmetick&#253; set hydratačn&#237; na pleť    '></a></div><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-source-marine-secret-santa-kosmeticky-set-hydratacni-na-plet--/'>THALGO Source Marine Secret Santa kosmetick&#253; set hydratačn&#237; na pleť    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>810&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-15' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-15','KM6J000101;15');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl16" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-16' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-16','QM6J000101;16');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>Limitovaná edice</div></div><div class='product-image'><a href='/thalgo-source-marine-set-hydratacni-pletove-kosmetiky--/'><img src='/userdata/cache_bk/158/TSYG100101.webp' alt='THALGO Source Marine set hydratačn&#237; pleťov&#233; kosmetiky    '></a></div><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-source-marine-set-hydratacni-pletove-kosmetiky--/'>THALGO Source Marine set hydratačn&#237; pleťov&#233; kosmetiky    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>1 800&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-16' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-16','QM6J000101;16');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl17" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-17' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-17','SM6J000101;17');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>Limitovaná edice</div></div><div class='product-image'><a href='/thalgo-spiruline-boost-set-vyhlazujici-pletove-kosmetiky--/'><img src='/userdata/cache_bk/158/PSYG100101.webp' alt='THALGO Spiruline Boost set vyhlazuj&#237;c&#237; pleťov&#233; kosmetiky    '></a></div><div class='category'><a href='/brand/thalgo/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/thalgo-spiruline-boost-set-vyhlazujici-pletove-kosmetiky--/'>THALGO Spiruline Boost set vyhlazuj&#237;c&#237; pleťov&#233; kosmetiky    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>2 300&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-17' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-17','SM6J000101;17');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl18" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-18' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-18','RK6J000101;18');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div></div><div class='product-image'><a href='/maria-galland-adventni-kalendar-s-pletovou-kosmetikou-vzorky-a-darky---/'><img src='/userdata/cache_bk/158/EEYG100101.webp' alt='MARIA GALLAND Adventn&#237; kalend&#225;ř s pleťovou kosmetikou, vzorky a d&#225;rky 		  '></a></div><div class='category'><a href='/brand/maria-galland/darkove-kazety/'>D&#225;rkov&#233; kazety</a></div><h3><a href='/maria-galland-adventni-kalendar-s-pletovou-kosmetikou-vzorky-a-darky---/'>MARIA GALLAND Adventn&#237; kalend&#225;ř s pleťovou kosmetikou, vzorky a d&#225;rky 		  </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>3 290&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-18' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-18','RK6J000101;18');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl19" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-19' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-19','AL5J000101;19');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>
499Limitovaná edice</div></div><div class='product-image'><a href='/dr-hauschka-adventni-kalendar--/'><img src='/userdata/cache_bk/158/FRXG100101.webp' alt='DR. HAUSCHKA Adventn&#237; kalend&#225;ř    '></a></div><div class='category'><a href='/kategorie/plet/kosmeticke-sady/'>Kosmetick&#233; sady</a></div><h3><a href='/dr-hauschka-adventni-kalendar--/'>DR. HAUSCHKA Adventn&#237; kalend&#225;ř    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>2 710&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-19' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-19','AL5J000101;19');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl20" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-20' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-20','CL5J000101;20');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>Limitovaná edice</div></div><div class='product-image'><a href='/dr-hauschka-darkova-sada-cistota--cistici-ritual--/'><img src='/userdata/cache_bk/158/MRXG100101.webp' alt='DR. HAUSCHKA D&#225;rkov&#225; sada Čistota - čist&#237;c&#237; ritu&#225;l    '></a></div><div class='category'><a href='/kategorie/plet/kosmeticke-sady/'>Kosmetick&#233; sady</a></div><h3><a href='/dr-hauschka-darkova-sada-cistota--cistici-ritual--/'>DR. HAUSCHKA D&#225;rkov&#225; sada Čistota - čist&#237;c&#237; ritu&#225;l    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>830&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-20' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-20','CL5J000101;20');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl21" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-21' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-21','BL5J000101;21');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>Limitovaná edice</div></div><div class='product-image'><a href='/dr-hauschka-darkova-sada-klid--ritual-pro-dusevni-pohodu--/'><img src='/userdata/cache_bk/158/IRXG100101.webp' alt='DR. HAUSCHKA D&#225;rkov&#225; sada Klid - ritu&#225;l pro duševn&#237; pohodu    '></a></div><div class='category'><a href='/kategorie/plet/kosmeticke-sady/'>Kosmetick&#233; sady</a></div><h3><a href='/dr-hauschka-darkova-sada-klid--ritual-pro-dusevni-pohodu--/'>DR. HAUSCHKA D&#225;rkov&#225; sada Klid - ritu&#225;l pro duševn&#237; pohodu    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>650&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-21' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-21','BL5J000101;21');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl22" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-22' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-22','EL5J000101;22');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>
499Limitovaná edice</div></div><div class='product-image'><a href='/dr-hauschka-darkova-sada-rozkvet--obnovujici-ritual--/'><img src='/userdata/cache_bk/158/RRXG100101.webp' alt='DR. HAUSCHKA D&#225;rkov&#225; sada Rozkvět - obnovuj&#237;c&#237; ritu&#225;l    '></a></div><div class='category'><a href='/kategorie/plet/kosmeticke-sady/'>Kosmetick&#233; sady</a></div><h3><a href='/dr-hauschka-darkova-sada-rozkvet--obnovujici-ritual--/'>DR. HAUSCHKA D&#225;rkov&#225; sada Rozkvět - obnovuj&#237;c&#237; ritu&#225;l    </a></h3><div class='availability'>Skladem: <span class='store1'>nad 5 ks</span><br/></span></div><div class='product-bottom'><div class='price'>1 350&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-22' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-22','EL5J000101;22');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl23" type="text" value="1" class="hide" aria-label="Počet" /></div><div class='product'><div class='product-inner'><div class='product-to-favourites'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToFavorites-23' class='btn btn-default' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToFavorites-23','DL5J000101;23');" title='Přidat do oblíbených'><img src='/images/heart-empty.svg' alt='Přidat do oblíbených'></a></div><div class='product-flags'><div class='flag new'>Novinka</div><div class='flag limitededition'>Limitovaná edice</div></div><div class='product-image'><a href='/dr-hauschka-darkova-sada-svezest--hydratacni-ritual--/'><img src='/userdata/cache_bk/158/PRXG100101.webp' alt='DR. HAUSCHKA D&#225;rkov&#225; sada Svěžest - hydratačn&#237; ritu&#225;l    '></a></div><div class='category'><a href='/kategorie/plet/kosmeticke-sady/'>Kosmetick&#233; sady</a></div><h3><a href='/dr-hauschka-darkova-sada-svezest--hydratacni-ritual--/'>DR. HAUSCHKA D&#225;rkov&#225; sada Svěžest - hydratačn&#237; ritu&#225;l    </a></h3><div class='availability'><span class='store0'>Na objednávku</span></span></div><div class='product-bottom'><div class='price'>1 060&nbsp;Kč</div><div class='add-to-cart'><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_bnAddToCart-23' href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$bnAddToCart-23','DL5J000101;23');" class='add-to-cart-btn'><img src='/images/to-cart.svg' alt='Přidat do košíku'></a></div></div></div><input name="ctl00$ewpz1$mainTemplateCtrl$CategoryGrid1$ctl24" type="text" value="1" class="hide" aria-label="Počet" /></div></div><div class='category-pagination'><div class='load-next-box'><a id='dalsi-produkty' class='load-next' rel='nofollow'>načíst další</a></div><div class='pagination-box'><ul><li><span>1</span></li><li><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_BnPage-10' href="/kategorie/plet/?page=2" class='btn-sm'>2</a></li><li><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_BnPage-20' href="/kategorie/plet/?page=3" class='btn-sm'>3</a></li><li><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_BnPage-30' href="/kategorie/plet/?page=4" class='btn-sm'>4</a></li><li><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_BnPage-40' href="/kategorie/plet/?page=5" class='btn-sm'>5</a></li><li><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_BnPage-50' href="/kategorie/plet/?page=6" class='btn-sm'>6</a></li><li><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_BnPage-60' href="/kategorie/plet/?page=7" class='btn-sm'>7</a></li><li><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_BnPage-70' href="/kategorie/plet/?page=8" class='btn-sm'>8</a></li><li><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_BnPage-80' href="/kategorie/plet/?page=9" class='btn-sm'>9</a></li><li><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_BnPage-90' href="/kategorie/plet/?page=10" class='btn-sm'>10</a></li><li><a id='ctl00_ewpz1_mainTemplateCtrl_CategoryGrid1_cgBnNext0' href="/kategorie/plet/?page=2">&gt;&gt;</a></li></ul></div></div>                
500                
501	</div>
502
503
504        </main>
505    </div>
506</div>
507
508<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2">
509		
510
511<footer class="footer">
512    <div class="container">
513        <div class="row">
514            <div class="col-sx-12 col-sm-6 col-lg-3 footer-box">
515                <h3>sensualité</h3>
516
517                <ul>
518                    <li><a href="/kategorie/">E-shop</a></li>
519                    <li><a href="/magazin/">Blog</a></li>
520                    <li><a href="/salony.aspx">Salony</a></li>
521                    <li><a href="/znacky.aspx">Značky</a></li>
522                    <li><a href="/proc-my.aspx">Proč my?</a></li>
523                    <li><a href="/kontakt.aspx">Kontakty</a></li>
524                    <li><a href="/press.aspx">Press</a></li>
525                    <li><a href="/dokument/kariera/">Kariera</a></li>
526                </ul>
527            </div>
528            <div class="col-sx-12 col-sm-6 col-lg-3 footer-box">
529                <h3>služby</h3>
530
531                <ul>
532                    <li><a href="/nabidka-osetreni/kosmetika/sluzby/">Kosmetika</a></li>
533                    <li><a href="/nabidka-osetreni/kadernictvi/sluzby/">Kadeřnictví</a></li>
534                    <li><a href="/nabidka-osetreni/manikura/sluzby/">Manikúra</a></li>
535                    <li><a href="/nabidka-osetreni/pedikura/sluzby/">Pedikúra</a></li>
536                    <li><a href="/nabidka-osetreni/liceni/sluzby/">Líčení</a></li>
537                    <li><a href="/nabidka-osetreni/masaze/sluzby/">Masáže</a></li>
538                    <li><a href="/nabidka-osetreni/vyhodne-balicky/sluzby/">Výhodné balíčky</a></li>
539                    <li><a href="/nabidka-osetreni/darkove-poukazy/sluzby/">Dárkové poukazy</a></li>
540                </ul>
541            </div>
542            <div class="col-sx-12 col-sm-6 col-lg-3 footer-box">
543                <h3>o nákupu</h3>
544
545                <ul>
546                    <li><a href="/dokument/doprava/">Doprava</a></li>
547                    <li><a href="/dokument/platba/">Platba</a></li>
548                    <li><a href="/dokument/reklamace/">Reklamace</a></li>
549                    <li><a href="/dokument/vraceni-zbozi/">Vrácení zboží</a></li>
550                    <li><a href="/dokument/podminky/">Obchodní podmínky</a></li>
551                    <li><a href="/dokument/ochrana-osobnich-udaju/">Ochrana osobních údajů</a></li>
552                    <li><a href="/dokument/do-kterych-zemi-prodavame/">
552Do kterých zemí prodáváme</a></li>
553		    <li><a href="/dokument/vernostni-program/" target="_blank">Věrnostní program</a></li>
554                    <li><a href="?cmsettings=true" rel="nofollow">Nastavení soukromí</a></li>
555                </ul>
556            </div>
557            <div class="col-sx-12 col-sm-6 col-lg-3 footer-box">
558                <h3>O nás</h3>
559
560                <p>
561                    Sensualité<br>
562                    Cejl 107<br>
563                    602 00 Brno
564                </p>
565
566                <p class="mb-0">Tel.: +420 533 433 133, 727 875 291</p>
567                <p>E-mail: <a href="mailto:[email protected]" class="mail">[email protected]</a></p>
568
569<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_updatePanelENews">
570			    								
571		<p class='italic'>Odebírejte newsletter s novinkami a slevami</p><div class='newsletter'><input name="ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$ENews$TBEmail" type="text" id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_ENews_TBEmail" class="newsletter-input" placeholder="E-mail" aria-label="E-mail" autocomplete="off" /><a id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_ENews_BnPridatEmail" class="search-button" aria-label="Odeslat" href="javascript:__doPostBack(&#39;ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$ENews$BnPridatEmail&#39;,&#39;&#39;)"></a><div class='form-group radio-icon brown'><input id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_ENews_cbAcceptTerms" type="checkbox" name="ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$ENews$cbAcceptTerms" /><span>
572                                    <label class='title' for='ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_ENews_cbAcceptTerms'>
573                                        Souhlasím se <a href='/dokument/ochrana-osobnich-udaju/' target='_blank'>zpracováním osobních údajů</a>
574                                    </label>
575                                </span></div></div>
576      
577		</div>
578
579                <div class="socials">
580		    <a href='https://www.instagram.com/sensualitecz/' target='_blank'><img src='/images/ig.svg' alt="Instagram"></a>
581                    <a href='https://www.facebook.com/SenBrno' target='_blank'><img src='/images/fb.svg' alt="Facebook"></a>
582                    <a href='https://www.youtube.com/channel/UC70YoT-R5M2GVUEybvmw0IQ' target='_blank'><img src='/images/yt.svg' alt="Youtube"></a>
583                </div>
584            </div>
585        </div>
586    </div>
587    <div class="footer-bottom">
588        <div class="container">
589            <p>
590                2023 © Sensualité, provozuje <strong>BK Kosmetika, s.r.o.</strong>
591            </p>
592        </div>
593    </div>
594</footer>
595
596<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_updatePanelAddToCart">
597			    								
598		<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1">
599				<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_pnCmNavBar" class="navbar navbar-default navbar-fixed-bottom" style="z-index: 10000">
600					
601	<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_pnCookiesManager" class="container">
602						
603		<div class="cookies-line">
604    			<div class="title"><img src="/images/cookie.svg" alt=''> Povolíte nám cookies?</div>
605    			<p>
606        			Chceme vás rozmazlovat tou nejlepší nabídkou. Cookies nám pomáhají zajistit bezproblémové fungování stránek a přizpůsobit obsah i personalizované reklamy vašim zájmům. Děkujeme, že nám pomáháte zlepšovat naše služby.
607			</p>
608    			<div class="buttons">
609		                <a id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_BnCmSettings" class="button" href="javascript:__doPostBack(&#39;ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$FormCookiesManager1$BnCmSettings&#39;,&#39;&#39;)">Nastavení</a>
610        	        	<a id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_BnCmAccept" class="button brown" href="javascript:__doPostBack(&#39;ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$FormCookiesManager1$BnCmAccept&#39;,&#39;&#39;)">Souhlasím</a>
611    			</div>
612    			<p class="mt-4">Souhlas můžete odmítnout <a id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_BnCmReject" href="javascript:__doPostBack(&#39;ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$FormCookiesManager1$BnCmReject&#39;,&#39;&#39;)">zde</a></p>
613		</div>
614	
615					</div>
616
617
618
619<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_pnCookiesManagerSettings" class="hide">
620						
621<div id="cookiesModal" class="modal fade show" tabindex="-1" role="dialog" style="padding-right: 16.9911px; display: block;">
622    <div class="modal-dialog" role="document">
623        <div class="modal-content">
624            <div class="modal-header">
625                    <a href="javascript:__doPostBack('ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$FormCookiesManager1$BnCmSave','')" class="close" >
626			<span aria-hidden="true">×</span>
627		    </a>
628            </div>
629            <div class="modal-body">
630                <div class="title"><img src="/images/cookie.svg" alt=''> Cookies</div>
631
632                <p>
633                    Zde máte možnost přizpůsobit soubory cookie podle kategorií, v souladu s vlastními preferencemi.
634                </p>
635
636                <div class="checkbox-line">
637                    <label for="check1">
638                        <strong>Technické cookies</strong>
639                        <p>
640                            Technické cookies jsou nezbytné pro správné fungování webu a všech funkcí, které nabízí.
641                            Jsou odpovědné mj. za uchovávání produktů v košíku, zobrazování seznamu oblíbených.
642                        </p>
643                        
644                    </label>
645                    <input type="checkbox" id="check1" checked disabled>
646                </div>
647
648		<div class="checkbox-line">
649                    <label for="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_cbCmAnalytics">
650                        <strong>Analytické a reklamní cookies</strong>
651                        <p>
652                            Analytické cookies nám umožňují měření výkonu našeho webu a našich reklamních kampaní. Jejich pomocí určujeme počet návštěv a zdroje návštěv našich internetových stránek.<br/>
653                            Reklamní cookies používáme my nebo naši partneři, abychom Vám mohli zobrazit vhodné obsahy nebo reklamy jak na našich stránkách, tak na stránkách třetích subjektů.
654                        </p>
655                        
656                    </label>
657		    <span class="noborder"><input id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_cbCmAnalytics" type="checkbox" name="ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$FormCookiesManager1$cbCmAnalytics" class="noborder" /></span>
658                </div>
659                <div class="checkbox-line">
660                    <label for="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_cbCmCustom">
661                        <strong>Personalizované soubory cookie</strong>
662                        <p>
663                            Používáme rovněž soubory cookie a další technologie, abychom přizpůsobili náš obchod potřebám a zájmům našich zákazníků a připravili tak pro Vás výjimečné nákupní zkušenosti.?
664                        </p>
665                        
666                    </label>
667		    <span class="noborder"><input id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_cbCmCustom" type="checkbox" name="ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$FormCookiesManager1$cbCmCustom" class="noborder" /></span>
668                </div>
669                <div class="checkbox-line">
670                    <label for="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_cbCmMarketing">
671                        <strong>Reklamní cookies</strong>
672                        <p>
673                            Reklamní cookies používáme my nebo naši partneři, abychom Vám mohli zobrazit vhodné obsahy nebo reklamy jak na našich stránkách, tak na stránkách třetích subjektů.
674                        </p>
675                        <a href="/dokument/ochrana-osobnich-udaju/">více informací</a>
676                    </label>
677		    <span class="noborder"><input id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_cbCmMarketing" type="checkbox" name="ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$FormCookiesManager1$cbCmMarketing" class="noborder" /></span>
678                </div>
679
680                <p>Sensualite a partneři potřebují Váš souhlas k využití jednotlivých dat, aby Vám mimo jiné mohli ukazovat informace týkající se Vašich zájmů.</p>
681
682                <div class="modal-buttons">
683                			<a id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_BnCmBack" class="button" href="javascript:__doPostBack(&#39;ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$FormCookiesManager1$BnCmBack&#39;,&#39;&#39;)">Zpět</a>
684        				<a id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FormCookiesManager1_BnCmSave" class="button brown" href="javascript:__doPostBack(&#39;ctl00$ewpz1$mainTemplateCtrl$TemplateCtrl2$FormCookiesManager1$BnCmSave&#39;,&#39;&#39;)">Uložit nastavení</a>
685                </div>
686            </div>
687        </div>
688    </div>
689</div>
690</div>
691        
692					</div>
693
694				</div>
695			</div>
696		<div id="ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl2_FacebookConversionApi1">
697
698			</div>
699	
700		</div>
701<div class='fixed-alerts'><div  class='container'></div></div>                                 
702
703
704
705
706<script src="/scripts/unbundled/jquery.fancybox.min.js"></script>
vendor: 2 bytes, line 706
706
707<script src="/scripts/unbundled/owl.carousel.min.js"></script>
707
708
709
710<!-- Start of Smartsupp Live Chat script -->
711<script type="text/javascript">
712var _smartsupp = _smartsupp || {};
713_smartsupp.key = '9a4fbbaafa088b08723c38c883db4032a6b526a5';
714window.smartsupp||(function(d) {
715	var s,c,o=smartsupp=function(){ o._.push(arguments)};o._=[];
716	s=d.getElementsByTagName('script')[0];c=d.createElement('script');
717	c.type='text/javascript';c.charset='utf-8';c.async=true;
718	c.src='//www.smartsuppchat.com/loader.js?';s.parentNode.insertBefore(c,s);
719})(document);
720</script>
720
721
722
723	</div>
724</div>
725
726
727
728
729
730<script>
731    $(document).ready(function() {
732        $('.left-part.owl-carousel').owlCarousel({
733            loop: true, 
734            margin: 3, 
735            nav: false, 
736            responsive: {
737                0: { items: 1 }
738            }
739        });
740
741	$('.right-part.mobile.owl-carousel').owlCarousel({
742		loop: true, 
743        	margin: 3, 
744	        nav: false, 
745        	responsive: {		
746			0: { items: 2 }, 
747        	        600: { items: 2 }, 
748	                1000: { items: 3 } 
749        	}
750	});
751    });
752</script>
752
753</div>
754                
755
756            </div>
757        </div>
758
759        <div id="boxprogress">
760            <div></div><div></div><div></div><div></div>
761        </div>
762
763        <div id="ctl00_updatePanel1">
764	
765                
766                <input name="ctl00$tbFloatPanelHidden" type="text" id="ctl00_tbFloatPanelHidden" aria-label="." style="display: none;" />
767                
768                <div id="ctl00_pnFloatPanel" class="pnfloatpanel pnfloatpanelmaster" style="display: none; max-width: 750px;">
769		
770                    <div id="ctl00_pnFloatPanelTitle" class="pnfloatpaneltitle">
771			
772                        <span id="ctl00_pnFloatPanelLabel" class="left"></span>
773                        <a id="ctl00_bnFloatPanelOK" class="right" href="javascript:__doPostBack(&#39;ctl00$bnFloatPanelOK&#39;,&#39;&#39;)">
774		                    <img alt="Zavřít" src="/userdata/Images/butt-delete.gif"/>
775                        </a>
776                        <div style="clear: both"></div>
777                    
778		</div>
779                    
780                
781	</div>
782            
783</div>
784    
785
786<script type="text/javascript">
787//<![CDATA[
788$(document).ready(function(){
789var $btn = $('#ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_SearchNavBar20_BnVyhledat1');
790var $form = $('#ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_SearchNavBar20_tbSearchText');
791$form.keypress(function(e){
792if (e.which == 13) {
793if ($btn != null && $btn[0].type == 'submit')
794$btn[0].click();
795else
796eval($btn[0].href);
797return false;
798}});});
799$('#ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_SearchNavBar20_tbSearchText').focus(function(){$(this).one('mouseup', function() {$(this).select();});});var __wpmExportWarning='This Web Part Page has been personalized. As a result, one or more Web Part properties may contain confidential information. Make sure the properties contain information that is safe for others to read. After exporting this Web Part, view properties in the Web Part description file (.WebPart) by using a text editor such as Microsoft Notepad.';var __wpmCloseProviderWarning='You are about to close this Web Part.  It is currently providing data to other Web Parts, and these connections will be deleted if this Web Part is closed.  To close this Web Part, click OK.  To keep this Web Part, click Cancel.';var __wpmDeleteWarning='You are about to permanently delete this Web Part.  Are you sure you want to do this?  To delete this Web Part, click OK.  To keep this Web Part, click Cancel.';var options = {
800
801  url: function(phrase) {
802    return "/mainform.aspx/GetAutoCompleteSearchText";
803  },
804
805  listLocation: "d",
806
807  		categories: [{
808                    listLocation: "products",
809                    maxNumberOfElements: 20,
810                    header: "Produkty"
811                }, {
812                    listLocation: "categories",
813                    maxNumberOfElements: 20,
814                    header: "Kategorie"
815                }, {
816                    listLocation: "phrases",
817                    maxNumberOfElements: 5,
818                    header: "Hledan� fr�ze"
819                }],
820
821                getValue: function(element) {
822                    return element.name;
823                },
824
825                template: {
826                    type: "custom",
827                    method: function(value, item) {
828			/*if (item.price == "")//Kategorie
829			{
830				return
831					"<div class='wh-category'>" +
832                                            "<div class='wh-category-subcategories'>" +
833                                                "<a href='" + item.link + "'>" + value + "</a>" +                                                
834					    "</div>" +
835                                        "</div>";
836			}
837			else*/
838                        	if (item.icon) {
839                        	    var icon = "<img src='" + item.icon + "' alt=''>";
840	                        } else {
841        	                    icon = "";
842                	        }
843	
844				return
845			  		"<div class='product'>" +
846                                            "<div class='product-inner'>" +
847                                                "<div class='product-flags'>" +
848                                                "</div>" +
849                                                "<div class='product-image'>" +
850                                                    "<a href='" + item.link + "'>" + icon + "</a>" +
851                                                "</div>" +
852                                                "<h3><a href='" + item.link + "'>" + value + "</a></h3>" +                                                
853                                                "<div class='product-bottom'>" +
854                                                    "<div class='price'>" + item.price + "</div>" +
855                                                "</div>" +
856                                            "</div>" +
857					"</div>";
858                    }
859                },
860                
861                list: {
862                    maxNumberOfElements: 20,	
863match: {
864    enabled: false,
865    method: function(element, phrase)
866{
867
868        element = element.trim();
869        phrase = phrase.trim();
870
871        if (element.search(phrase) > -1) {
872            return true;
873        }
874else {
875           
876return false;
877     
878  }
879    }
880},
881                    sort: {
882                        enabled: true
883                    }
884                },
885
886
887
888  ajaxSettings: {
889                        url: "/mainform.aspx/GetAutoCompleteSearchText",   
890                        data: JSON.stringify({ prefixText: $('#ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_SearchNavBar20_tbSearchText').val(), contextKey: 'SC_NAME;cs;N', count: -1 }),   
891                        dataType: "json",   
892                        type: "POST",   
893                        contentType: "application/json; charset=windows-1250",
894			success: function (dataresult) {   
895                                    dataresult = dataresult.d;				
896                        },   
897                        error: function (XMLHttpRequest, textStatus, errorThrown) {   
898                            var err = eval("(" + XMLHttpRequest.responseText + ")");   
899                            alert(err.Message)   
900                        }   
901  },
902  preparePostData: function(data) {
903    data = JSON.stringify({ prefixText: $('#ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_SearchNavBar20_tbSearchText').val(), contextKey: 'SC_NAME;cs;N', count: -1 });
904    return data;
905  },
906
907  requestDelay: 400,
908  minCharNumber: 3
909};
910
911
912$("#ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_SearchNavBar20_tbSearchText").easyAutocomplete(options);
vendor: 23,216 bytes, lines 912-1858
912/**
913 * Owl Carousel v2.3.4
914 * Copyright 2013-2018 David Deutsch
915 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
916 */
917/**
918 * Owl carousel
919 * @version 2.3.4
920 * @author Bartosz Wojciechowski
921 * @author David Deutsch
922 * @license The MIT License (MIT)
923 * @todo Lazy Load Icon
924 * @todo prevent animationend bubling
925 * @todo itemsScaleUp
926 * @todo Test Zepto
927 * @todo stagePadding calculate wrong active classes
928 */
929;(function($, window, document, undefined) {
930
931	/**
932	 * Creates a carousel.
933	 * @class The Owl Carousel.
934	 * @public
935	 * @param {HTMLElement|jQuery} element - The element to create the carousel for.
936	 * @param {Object} [options] - The options
937	 */
938	function Owl(element, options) {
939
940		/**
941		 * Current settings for the carousel.
942		 * @public
943		 */
944		this.settings = null;
945
946		/**
947		 * Current options set by the caller including defaults.
948		 * @public
949		 */
950		this.options = $.extend({}, Owl.Defaults, options);
951
952		/**
953		 * Plugin element.
954		 * @public
955		 */
956		this.$element = $(element);
957
958		/**
959		 * Proxied event handlers.
960		 * @protected
961		 */
962		this._handlers = {};
963
964		/**
965		 * References to the running plugins of this carousel.
966		 * @protected
967		 */
968		this._plugins = {};
969
970		/**
971		 * Currently suppressed events to prevent them from being retriggered.
972		 * @protected
973		 */
974		this._supress = {};
975
976		/**
977		 * Absolute current position.
978		 * @protected
979		 */
980		this._current = null;
981
982		/**
983		 * Animation speed in milliseconds.
984		 * @protected
985		 */
986		this._speed = null;
987
988		/**
989		 * Coordinates of all items in pixel.
990		 * @todo The name of this member is missleading.
991		 * @protected
992		 */
993		this._coordinates = [];
994
995		/**
996		 * Current breakpoint.
997		 * @todo Real media queries would be nice.
998		 * @protected
999		 */
1000		this._breakpoint = null;
1001
1002		/**
1003		 * Current width of the plugin element.
1004		 */
1005		this._width = null;
1006
1007		/**
1008		 * All real items.
1009		 * @protected
1010		 */
1011		this._items = [];
1012
1013		/**
1014		 * All cloned items.
1015		 * @protected
1016		 */
1017		this._clones = [];
1018
1019		/**
1020		 * Merge values of all items.
1021		 * @todo Maybe this could be part of a plugin.
1022		 * @protected
1023		 */
1024		this._mergers = [];
1025
1026		/**
1027		 * Widths of all items.
1028		 */
1029		this._widths = [];
1030
1031		/**
1032		 * Invalidated parts within the update process.
1033		 * @protected
1034		 */
1035		this._invalidated = {};
1036
1037		/**
1038		 * Ordered list of workers for the update process.
1039		 * @protected
1040		 */
1041		this._pipe = [];
1042
1043		/**
1044		 * Current state information for the drag operation.
1045		 * @todo #261
1046		 * @protected
1047		 */
1048		this._drag = {
1049			time: null,
1050			target: null,
1051			pointer: null,
1052			stage: {
1053				start: null,
1054				current: null
1055			},
1056			direction: null
1057		};
1058
1059		/**
1060		 * Current state information and their tags.
1061		 * @type {Object}
1062		 * @protected
1063		 */
1064		this._states = {
1065			current: {},
1066			tags: {
1067				'initializing': [ 'busy' ],
1068				'animating': [ 'busy' ],
1069				'dragging': [ 'interacting' ]
1070			}
1071		};
1072
1073		$.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) {
1074			this._handlers[handler] = $.proxy(this[handler], this);
1075		}, this));
1076
1077		$.each(Owl.Plugins, $.proxy(function(key, plugin) {
1078			this._plugins[key.charAt(0).toLowerCase() + key.slice(1)]
1079				= new plugin(this);
1080		}, this));
1081
1082		$.each(Owl.Workers, $.proxy(function(priority, worker) {
1083			this._pipe.push({
1084				'filter': worker.filter,
1085				'run': $.proxy(worker.run, this)
1086			});
1087		}, this));
1088
1089		this.setup();
1090		this.initialize();
1091	}
1092
1093	/**
1094	 * Default options for the carousel.
1095	 * @public
1096	 */
1097	Owl.Defaults = {
1098		items: 3,
1099		loop: false,
1100		center: false,
1101		rewind: false,
1102		checkVisibility: true,
1103
1104		mouseDrag: true,
1105		touchDrag: true,
1106		pullDrag: true,
1107		freeDrag: false,
1108
1109		margin: 0,
1110		stagePadding: 0,
1111
1112		merge: false,
1113		mergeFit: true,
1114		autoWidth: false,
1115
1116		startPosition: 0,
1117		rtl: false,
1118
1119		smartSpeed: 250,
1120		fluidSpeed: false,
1121		dragEndSpeed: false,
1122
1123		responsive: {},
1124		responsiveRefreshRate: 200,
1125		responsiveBaseElement: window,
1126
1127		fallbackEasing: 'swing',
1128		slideTransition: '',
1129
1130		info: false,
1131
1132		nestedItemSelector: false,
1133		itemElement: 'div',
1134		stageElement: 'div',
1135
1136		refreshClass: 'owl-refresh',
1137		loadedClass: 'owl-loaded',
1138		loadingClass: 'owl-loading',
1139		rtlClass: 'owl-rtl',
1140		responsiveClass: 'owl-responsive',
1141		dragClass: 'owl-drag',
1142		itemClass: 'owl-item',
1143		stageClass: 'owl-stage',
1144		stageOuterClass: 'owl-stage-outer',
1145		grabClass: 'owl-grab'
1146	};
1147
1148	/**
1149	 * Enumeration for width.
1150	 * @public
1151	 * @readonly
1152	 * @enum {String}
1153	 */
1154	Owl.Width = {
1155		Default: 'default',
1156		Inner: 'inner',
1157		Outer: 'outer'
1158	};
1159
1160	/**
1161	 * Enumeration for types.
1162	 * @public
1163	 * @readonly
1164	 * @enum {String}
1165	 */
1166	Owl.Type = {
1167		Event: 'event',
1168		State: 'state'
1169	};
1170
1171	/**
1172	 * Contains all registered plugins.
1173	 * @public
1174	 */
1175	Owl.Plugins = {};
1176
1177	/**
1178	 * List of workers involved in the update process.
1179	 */
1180	Owl.Workers = [ {
1181		filter: [ 'width', 'settings' ],
1182		run: function() {
1183			this._width = this.$element.width();
1184		}
1185	}, {
1186		filter: [ 'width', 'items', 'settings' ],
1187		run: function(cache) {
1188			cache.current = this._items && this._items[this.relative(this._current)];
1189		}
1190	}, {
1191		filter: [ 'items', 'settings' ],
1192		run: function() {
1193			this.$stage.children('.cloned').remove();
1194		}
1195	}, {
1196		filter: [ 'width', 'items', 'settings' ],
1197		run: function(cache) {
1198			var margin = this.settings.margin || '',
1199				grid = !this.settings.autoWidth,
1200				rtl = this.settings.rtl,
1201				css = {
1202					'width': 'auto',
1203					'margin-left': rtl ? margin : '',
1204					'margin-right': rtl ? '' : margin
1205				};
1206
1207			!grid && this.$stage.children().css(css);
1208
1209			cache.css = css;
1210		}
1211	}, {
1212		filter: [ 'width', 'items', 'settings' ],
1213		run: function(cache) {
1214			var width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin,
1215				merge = null,
1216				iterator = this._items.length,
1217				grid = !this.settings.autoWidth,
1218				widths = [];
1219
1220			cache.items = {
1221				merge: false,
1222				width: width
1223			};
1224
1225			while (iterator--) {
1226				merge = this._mergers[iterator];
1227				merge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge;
1228
1229				cache.items.merge = merge > 1 || cache.items.merge;
1230
1231				widths[iterator] = !grid ? this._items[iterator].width() : width * merge;
1232			}
1233
1234			this._widths = widths;
1235		}
1236	}, {
1237		filter: [ 'items', 'settings' ],
1238		run: function() {
1239			var clones = [],
1240				items = this._items,
1241				settings = this.settings,
1242				// TODO: Should be computed from number of min width items in stage
1243				view = Math.max(settings.items * 2, 4),
1244				size = Math.ceil(items.length / 2) * 2,
1245				repeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0,
1246				append = '',
1247				prepend = '';
1248
1249			repeat /= 2;
1250
1251			while (repeat > 0) {
1252				// Switch to only using appended clones
1253				clones.push(this.normalize(clones.length / 2, true));
1254				append = append + items[clones[clones.length - 1]][0].outerHTML;
1255				clones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true));
1256				prepend = items[clones[clones.length - 1]][0].outerHTML + prepend;
1257				repeat -= 1;
1258			}
1259
1260			this._clones = clones;
1261
1262			$(append).addClass('cloned').appendTo(this.$stage);
1263			$(prepend).addClass('cloned').prependTo(this.$stage);
1264		}
1265	}, {
1266		filter: [ 'width', 'items', 'settings' ],
1267		run: function() {
1268			var rtl = this.settings.rtl ? 1 : -1,
1269				size = this._clones.length + this._items.length,
1270				iterator = -1,
1271				previous = 0,
1272				current = 0,
1273				coordinates = [];
1274
1275			while (++iterator < size) {
1276				previous = coordinates[iterator - 1] || 0;
1277				current = this._widths[this.relative(iterator)] + this.settings.margin;
1278				coordinates.push(previous + current * rtl);
1279			}
1280
1281			this._coordinates = coordinates;
1282		}
1283	}, {
1284		filter: [ 'width', 'items', 'settings' ],
1285		run: function() {
1286			var padding = this.settings.stagePadding,
1287				coordinates = this._coordinates,
1288				css = {
1289					'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2,
1290					'padding-left': padding || '',
1291					'padding-right': padding || ''
1292				};
1293
1294			this.$stage.css(css);
1295		}
1296	}, {
1297		filter: [ 'width', 'items', 'settings' ],
1298		run: function(cache) {
1299			var iterator = this._coordinates.length,
1300				grid = !this.settings.autoWidth,
1301				items = this.$stage.children();
1302
1303			if (grid && cache.items.merge) {
1304				while (iterator--) {
1305					cache.css.width = this._widths[this.relative(iterator)];
1306					items.eq(iterator).css(cache.css);
1307				}
1308			} else if (grid) {
1309				cache.css.width = cache.items.width;
1310				items.css(cache.css);
1311			}
1312		}
1313	}, {
1314		filter: [ 'items' ],
1315		run: function() {
1316			this._coordinates.length < 1 && this.$stage.removeAttr('style');
1317		}
1318	}, {
1319		filter: [ 'width', 'items', 'settings' ],
1320		run: function(cache) {
1321			cache.current = cache.current ? this.$stage.children().index(cache.current) : 0;
1322			cache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current));
1323			this.reset(cache.current);
1324		}
1325	}, {
1326		filter: [ 'position' ],
1327		run: function() {
1328			this.animate(this.coordinates(this._current));
1329		}
1330	}, {
1331		filter: [ 'width', 'position', 'items', 'settings' ],
1332		run: function() {
1333			var rtl = this.settings.rtl ? 1 : -1,
1334				padding = this.settings.stagePadding * 2,
1335				begin = this.coordinates(this.current()) + padding,
1336				end = begin + this.width() * rtl,
1337				inner, outer, matches = [], i, n;
1338
1339			for (i = 0, n = this._coordinates.length; i < n; i++) {
1340				inner = this._coordinates[i - 1] || 0;
1341				outer = Math.abs(this._coordinates[i]) + padding * rtl;
1342
1343				if ((this.op(inner, '<=', begin) && (this.op(inner, '>', end)))
1344					|| (this.op(outer, '<', begin) && this.op(outer, '>', end))) {
1345					matches.push(i);
1346				}
1347			}
1348
1349			this.$stage.children('.active').removeClass('active');
1350			this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active');
1351
1352			this.$stage.children('.center').removeClass('center');
1353			if (this.settings.center) {
1354				this.$stage.children().eq(this.current()).addClass('center');
1355			}
1356		}
1357	} ];
1358
1359	/**
1360	 * Create the stage DOM element
1361	 */
1362	Owl.prototype.initializeStage = function() {
1363		this.$stage = this.$element.find('.' + this.settings.stageClass);
1364
1365		// if the stage is already in the DOM, grab it and skip stage initialization
1366		if (this.$stage.length) {
1367			return;
1368		}
1369
1370		this.$element.addClass(this.options.loadingClass);
1371
1372		// create stage
1373		this.$stage = $('<' + this.settings.stageElement + '>', {
1374			"class": this.settings.stageClass
1375		}).wrap( $( '<div/>', {
1376			"class": this.settings.stageOuterClass
1377		}));
1378
1379		// append stage
1380		this.$element.append(this.$stage.parent());
1381	};
1382
1383	/**
1384	 * Create item DOM elements
1385	 */
1386	Owl.prototype.initializeItems = function() {
1387		var $items = this.$element.find('.owl-item');
1388
1389		// if the items are already in the DOM, grab them and skip item initialization
1390		if ($items.length) {
1391			this._items = $items.get().map(function(item) {
1392				return $(item);
1393			});
1394
1395			this._mergers = this._items.map(function() {
1396				return 1;
1397			});
1398
1399			this.refresh();
1400
1401			return;
1402		}
1403
1404		// append content
1405		this.replace(this.$element.children().not(this.$stage.parent()));
1406
1407		// check visibility
1408		if (this.isVisible()) {
1409			// update view
1410			this.refresh();
1411		} else {
1412			// invalidate width
1413			this.invalidate('width');
1414		}
1415
1416		this.$element
1417			.removeClass(this.options.loadingClass)
1418			.addClass(this.options.loadedClass);
1419	};
1420
1421	/**
1422	 * Initializes the carousel.
1423	 * @protected
1424	 */
1425	Owl.prototype.initialize = function() {
1426		this.enter('initializing');
1427		this.trigger('initialize');
1428
1429		this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl);
1430
1431		if (this.settings.autoWidth && !this.is('pre-loading')) {
1432			var imgs, nestedSelector, width;
1433			imgs = this.$element.find('img');
1434			nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;
1435			width = this.$element.children(nestedSelector).width();
1436
1437			if (imgs.length && width <= 0) {
1438				this.preloadAutoWidthImages(imgs);
1439			}
1440		}
1441
1442		this.initializeStage();
1443		this.initializeItems();
1444
1445		// register event handlers
1446		this.registerEventHandlers();
1447
1448		this.leave('initializing');
1449		this.trigger('initialized');
1450	};
1451
1452	/**
1453	 * @returns {Boolean} visibility of $element
1454	 *                    if you know the carousel will always be visible you can set `checkVisibility` to `false` to
1455	 *                    prevent the expensive browser layout forced reflow the $element.is(':visible') does
1456	 */
1457	Owl.prototype.isVisible = function() {
1458		return this.settings.checkVisibility
1459			? this.$element.is(':visible')
1460			: true;
1461	};
1462
1463	/**
1464	 * Setups the current settings.
1465	 * @todo Remove responsive classes. Why should adaptive designs be brought into IE8?
1466	 * @todo Support for media queries by using `matchMedia` would be nice.
1467	 * @public
1468	 */
1469	Owl.prototype.setup = function() {
1470		var viewport = this.viewport(),
1471			overwrites = this.options.responsive,
1472			match = -1,
1473			settings = null;
1474
1475		if (!overwrites) {
1476			settings = $.extend({}, this.options);
1477		} else {
1478			$.each(overwrites, function(breakpoint) {
1479				if (breakpoint <= viewport && breakpoint > match) {
1480					match = Number(breakpoint);
1481				}
1482			});
1483
1484			settings = $.extend({}, this.options, overwrites[match]);
1485			if (typeof settings.stagePadding === 'function') {
1486				settings.stagePadding = settings.stagePadding();
1487			}
1488			delete settings.responsive;
1489
1490			// responsive class
1491			if (settings.responsiveClass) {
1492				this.$element.attr('class',
1493					this.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\S+\\s', 'g'), '$1' + match)
1494				);
1495			}
1496		}
1497
1498		this.trigger('change', { property: { name: 'settings', value: settings } });
1499		this._breakpoint = match;
1500		this.settings = settings;
1501		this.invalidate('settings');
1502		this.trigger('changed', { property: { name: 'settings', value: this.settings } });
1503	};
1504
1505	/**
1506	 * Updates option logic if necessery.
1507	 * @protected
1508	 */
1509	Owl.prototype.optionsLogic = function() {
1510		if (this.settings.autoWidth) {
1511			this.settings.stagePadding = false;
1512			this.settings.merge = false;
1513		}
1514	};
1515
1516	/**
1517	 * Prepares an item before add.
1518	 * @todo Rename event parameter `content` to `item`.
1519	 * @protected
1520	 * @returns {jQuery|HTMLElement} - The item container.
1521	 */
1522	Owl.prototype.prepare = function(item) {
1523		var event = this.trigger('prepare', { content: item });
1524
1525		if (!event.data) {
1526			event.data = $('<' + this.settings.itemElement + '/>')
1527				.addClass(this.options.itemClass).append(item)
1528		}
1529
1530		this.trigger('prepared', { content: event.data });
1531
1532		return event.data;
1533	};
1534
1535	/**
1536	 * Updates the view.
1537	 * @public
1538	 */
1539	Owl.prototype.update = function() {
1540		var i = 0,
1541			n = this._pipe.length,
1542			filter = $.proxy(function(p) { return this[p] }, this._invalidated),
1543			cache = {};
1544
1545		while (i < n) {
1546			if (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) {
1547				this._pipe[i].run(cache);
1548			}
1549			i++;
1550		}
1551
1552		this._invalidated = {};
1553
1554		!this.is('valid') && this.enter('valid');
1555	};
1556
1557	/**
1558	 * Gets the width of the view.
1559	 * @public
1560	 * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return.
1561	 * @returns {Number} - The width of the view in pixel.
1562	 */
1563	Owl.prototype.width = function(dimension) {
1564		dimension = dimension || Owl.Width.Default;
1565		switch (dimension) {
1566			case Owl.Width.Inner:
1567			case Owl.Width.Outer:
1568				return this._width;
1569			default:
1570				return this._width - this.settings.stagePadding * 2 + this.settings.margin;
1571		}
1572	};
1573
1574	/**
1575	 * Refreshes the carousel primarily for adaptive purposes.
1576	 * @public
1577	 */
1578	Owl.prototype.refresh = function() {
1579		this.enter('refreshing');
1580		this.trigger('refresh');
1581
1582		this.setup();
1583
1584		this.optionsLogic();
1585
1586		this.$element.addClass(this.options.refreshClass);
1587
1588		this.update();
1589
1590		this.$element.removeClass(this.options.refreshClass);
1591
1592		this.leave('refreshing');
1593		this.trigger('refreshed');
1594	};
1595
1596	/**
1597	 * Checks window `resize` event.
1598	 * @protected
1599	 */
1600	Owl.prototype.onThrottledResize = function() {
1601		window.clearTimeout(this.resizeTimer);
1602		this.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate);
1603	};
1604
1605	/**
1606	 * Checks window `resize` event.
1607	 * @protected
1608	 */
1609	Owl.prototype.onResize = function() {
1610		if (!this._items.length) {
1611			return false;
1612		}
1613
1614		if (this._width === this.$element.width()) {
1615			return false;
1616		}
1617
1618		if (!this.isVisible()) {
1619			return false;
1620		}
1621
1622		this.enter('resizing');
1623
1624		if (this.trigger('resize').isDefaultPrevented()) {
1625			this.leave('resizing');
1626			return false;
1627		}
1628
1629		this.invalidate('width');
1630
1631		this.refresh();
1632
1633		this.leave('resizing');
1634		this.trigger('resized');
1635	};
1636
1637	/**
1638	 * Registers event handlers.
1639	 * @todo Check `msPointerEnabled`
1640	 * @todo #261
1641	 * @protected
1642	 */
1643	Owl.prototype.registerEventHandlers = function() {
1644		if ($.support.transition) {
1645			this.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this));
1646		}
1647
1648		if (this.settings.responsive !== false) {
1649			this.on(window, 'resize', this._handlers.onThrottledResize);
1650		}
1651
1652		if (this.settings.mouseDrag) {
1653			this.$element.addClass(this.options.dragClass);
1654			this.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this));
1655			this.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false });
1656		}
1657
1658		if (this.settings.touchDrag){
1659			this.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this));
1660			this.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this));
1661		}
1662	};
1663
1664	/**
1665	 * Handles `touchstart` and `mousedown` events.
1666	 * @todo Horizontal swipe threshold as option
1667	 * @todo #261
1668	 * @protected
1669	 * @param {Event} event - The event arguments.
1670	 */
1671	Owl.prototype.onDragStart = function(event) {
1672		var stage = null;
1673
1674		if (event.which === 3) {
1675			return;
1676		}
1677
1678		if ($.support.transform) {
1679			stage = this.$stage.css('transform').replace(/.*\(|\)| /g, '').split(',');
1680			stage = {
1681				x: stage[stage.length === 16 ? 12 : 4],
1682				y: stage[stage.length === 16 ? 13 : 5]
1683			};
1684		} else {
1685			stage = this.$stage.position();
1686			stage = {
1687				x: this.settings.rtl ?
1688					stage.left + this.$stage.width() - this.width() + this.settings.margin :
1689					stage.left,
1690				y: stage.top
1691			};
1692		}
1693
1694		if (this.is('animating')) {
1695			$.support.transform ? this.animate(stage.x) : this.$stage.stop()
1696			this.invalidate('position');
1697		}
1698
1699		this.$element.toggleClass(this.options.grabClass, event.type === 'mousedown');
1700
1701		this.speed(0);
1702
1703		this._drag.time = new Date().getTime();
1704		this._drag.target = $(event.target);
1705		this._drag.stage.start = stage;
1706		this._drag.stage.current = stage;
1707		this._drag.pointer = this.pointer(event);
1708
1709		$(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this));
1710
1711		$(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) {
1712			var delta = this.difference(this._drag.pointer, this.pointer(event));
1713
1714			$(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this));
1715
1716			if (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) {
1717				return;
1718			}
1719
1720			event.preventDefault();
1721
1722			this.enter('dragging');
1723			this.trigger('drag');
1724		}, this));
1725	};
1726
1727	/**
1728	 * Handles the `touchmove` and `mousemove` events.
1729	 * @todo #261
1730	 * @protected
1731	 * @param {Event} event - The event arguments.
1732	 */
1733	Owl.prototype.onDragMove = function(event) {
1734		var minimum = null,
1735			maximum = null,
1736			pull = null,
1737			delta = this.difference(this._drag.pointer, this.pointer(event)),
1738			stage = this.difference(this._drag.stage.start, delta);
1739
1740		if (!this.is('dragging')) {
1741			return;
1742		}
1743
1744		event.preventDefault();
1745
1746		if (this.settings.loop) {
1747			minimum = this.coordinates(this.minimum());
1748			maximum = this.coordinates(this.maximum() + 1) - minimum;
1749			stage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum;
1750		} else {
1751			minimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());
1752			maximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());
1753			pull = this.settings.pullDrag ? -1 * delta.x / 5 : 0;
1754			stage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull);
1755		}
1756
1757		this._drag.stage.current = stage;
1758
1759		this.animate(stage.x);
1760	};
1761
1762	/**
1763	 * Handles the `touchend` and `mouseup` events.
1764	 * @todo #261
1765	 * @todo Threshold for click event
1766	 * @protected
1767	 * @param {Event} event - The event arguments.
1768	 */
1769	Owl.prototype.onDragEnd = function(event) {
1770		var delta = this.difference(this._drag.pointer, this.pointer(event)),
1771			stage = this._drag.stage.current,
1772			direction = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right';
1773
1774		$(document).off('.owl.core');
1775
1776		this.$element.removeClass(this.options.grabClass);
1777
1778		if (delta.x !== 0 && this.is('dragging') || !this.is('valid')) {
1779			this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);
1780			this.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction));
1781			this.invalidate('position');
1782			this.update();
1783
1784			this._drag.direction = direction;
1785
1786			if (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) {
1787				this._drag.target.one('click.owl.core', function() { return false; });
1788			}
1789		}
1790
1791		if (!this.is('dragging')) {
1792			return;
1793		}
1794
1795		this.leave('dragging');
1796		this.trigger('dragged');
1797	};
1798
1799	/**
1800	 * Gets absolute position of the closest item for a coordinate.
1801	 * @todo Setting `freeDrag` makes `closest` not reusable. See #165.
1802	 * @protected
1803	 * @param {Number} coordinate - The coordinate in pixel.
1804	 * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`.
1805	 * @return {Number} - The absolute position of the closest item.
1806	 */
1807	Owl.prototype.closest = function(coordinate, direction) {
1808		var position = -1,
1809			pull = 30,
1810			width = this.width(),
1811			coordinates = this.coordinates();
1812
1813		if (!this.settings.freeDrag) {
1814			// check closest item
1815			$.each(coordinates, $.proxy(function(index, value) {
1816				// on a left pull, check on current index
1817				if (direction === 'left' && coordinate > value - pull && coordinate < value + pull) {
1818					position = index;
1819				// on a right pull, check on previous index
1820				// to do so, subtract width from value and set position = index + 1
1821				} else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) {
1822					position = index + 1;
1823				} else if (this.op(coordinate, '<', value)
1824					&& this.op(coordinate, '>', coordinates[index + 1] !== undefined ? coordinates[index + 1] : value - width)) {
1825					position = direction === 'left' ? index + 1 : index;
1826				}
1827				return position === -1;
1828			}, this));
1829		}
1830
1831		if (!this.settings.loop) {
1832			// non loop boundries
1833			if (this.op(coordinate, '>', coordinates[this.minimum()])) {
1834				position = coordinate = this.minimum();
1835			} else if (this.op(coordinate, '<', coordinates[this.maximum()])) {
1836				position = coordinate = this.maximum();
1837			}
1838		}
1839
1840		return position;
1841	};
1842
1843	/**
1844	 * Animates the stage.
1845	 * @todo #270
1846	 * @public
1847	 * @param {Number} coordinate - The coordinate in pixels.
1848	 */
1849	Owl.prototype.animate = function(coordinate) {
1850		var animate = this.speed() > 0;
1851
1852		this.is('animating') && this.onTransitionEnd();
1853
1854		if (animate) {
1855			this.enter('animating');
1856			this.trigger('translate');
1857		}
1858
vendor: 10,524 bytes, lines 1859-2226
1859		if ($.support.transform3d && $.support.transition) {
1860			this.$stage.css({
1861				transform: 'translate3d(' + coordinate + 'px,0px,0px)',
1862				transition: (this.speed() / 1000) + 's' + (
1863					this.settings.slideTransition ? ' ' + this.settings.slideTransition : ''
1864				)
1865			});
1866		} else if (animate) {
1867			this.$stage.animate({
1868				left: coordinate + 'px'
1869			}, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this));
1870		} else {
1871			this.$stage.css({
1872				left: coordinate + 'px'
1873			});
1874		}
1875	};
1876
1877	/**
1878	 * Checks whether the carousel is in a specific state or not.
1879	 * @param {String} state - The state to check.
1880	 * @returns {Boolean} - The flag which indicates if the carousel is busy.
1881	 */
1882	Owl.prototype.is = function(state) {
1883		return this._states.current[state] && this._states.current[state] > 0;
1884	};
1885
1886	/**
1887	 * Sets the absolute position of the current item.
1888	 * @public
1889	 * @param {Number} [position] - The new absolute position or nothing to leave it unchanged.
1890	 * @returns {Number} - The absolute position of the current item.
1891	 */
1892	Owl.prototype.current = function(position) {
1893		if (position === undefined) {
1894			return this._current;
1895		}
1896
1897		if (this._items.length === 0) {
1898			return undefined;
1899		}
1900
1901		position = this.normalize(position);
1902
1903		if (this._current !== position) {
1904			var event = this.trigger('change', { property: { name: 'position', value: position } });
1905
1906			if (event.data !== undefined) {
1907				position = this.normalize(event.data);
1908			}
1909
1910			this._current = position;
1911
1912			this.invalidate('position');
1913
1914			this.trigger('changed', { property: { name: 'position', value: this._current } });
1915		}
1916
1917		return this._current;
1918	};
1919
1920	/**
1921	 * Invalidates the given part of the update routine.
1922	 * @param {String} [part] - The part to invalidate.
1923	 * @returns {Array.<String>} - The invalidated parts.
1924	 */
1925	Owl.prototype.invalidate = function(part) {
1926		if ($.type(part) === 'string') {
1927			this._invalidated[part] = true;
1928			this.is('valid') && this.leave('valid');
1929		}
1930		return $.map(this._invalidated, function(v, i) { return i });
1931	};
1932
1933	/**
1934	 * Resets the absolute position of the current item.
1935	 * @public
1936	 * @param {Number} position - The absolute position of the new item.
1937	 */
1938	Owl.prototype.reset = function(position) {
1939		position = this.normalize(position);
1940
1941		if (position === undefined) {
1942			return;
1943		}
1944
1945		this._speed = 0;
1946		this._current = position;
1947
1948		this.suppress([ 'translate', 'translated' ]);
1949
1950		this.animate(this.coordinates(position));
1951
1952		this.release([ 'translate', 'translated' ]);
1953	};
1954
1955	/**
1956	 * Normalizes an absolute or a relative position of an item.
1957	 * @public
1958	 * @param {Number} position - The absolute or relative position to normalize.
1959	 * @param {Boolean} [relative=false] - Whether the given position is relative or not.
1960	 * @returns {Number} - The normalized position.
1961	 */
1962	Owl.prototype.normalize = function(position, relative) {
1963		var n = this._items.length,
1964			m = relative ? 0 : this._clones.length;
1965
1966		if (!this.isNumeric(position) || n < 1) {
1967			position = undefined;
1968		} else if (position < 0 || position >= n + m) {
1969			position = ((position - m / 2) % n + n) % n + m / 2;
1970		}
1971
1972		return position;
1973	};
1974
1975	/**
1976	 * Converts an absolute position of an item into a relative one.
1977	 * @public
1978	 * @param {Number} position - The absolute position to convert.
1979	 * @returns {Number} - The converted position.
1980	 */
1981	Owl.prototype.relative = function(position) {
1982		position -= this._clones.length / 2;
1983		return this.normalize(position, true);
1984	};
1985
1986	/**
1987	 * Gets the maximum position for the current item.
1988	 * @public
1989	 * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.
1990	 * @returns {Number}
1991	 */
1992	Owl.prototype.maximum = function(relative) {
1993		var settings = this.settings,
1994			maximum = this._coordinates.length,
1995			iterator,
1996			reciprocalItemsWidth,
1997			elementWidth;
1998
1999		if (settings.loop) {
2000			maximum = this._clones.length / 2 + this._items.length - 1;
2001		} else if (settings.autoWidth || settings.merge) {
2002			iterator = this._items.length;
2003			if (iterator) {
2004				reciprocalItemsWidth = this._items[--iterator].width();
2005				elementWidth = this.$element.width();
2006				while (iterator--) {
2007					reciprocalItemsWidth += this._items[iterator].width() + this.settings.margin;
2008					if (reciprocalItemsWidth > elementWidth) {
2009						break;
2010					}
2011				}
2012			}
2013			maximum = iterator + 1;
2014		} else if (settings.center) {
2015			maximum = this._items.length - 1;
2016		} else {
2017			maximum = this._items.length - settings.items;
2018		}
2019
2020		if (relative) {
2021			maximum -= this._clones.length / 2;
2022		}
2023
2024		return Math.max(maximum, 0);
2025	};
2026
2027	/**
2028	 * Gets the minimum position for the current item.
2029	 * @public
2030	 * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.
2031	 * @returns {Number}
2032	 */
2033	Owl.prototype.minimum = function(relative) {
2034		return relative ? 0 : this._clones.length / 2;
2035	};
2036
2037	/**
2038	 * Gets an item at the specified relative position.
2039	 * @public
2040	 * @param {Number} [position] - The relative position of the item.
2041	 * @return {jQuery|Array.<jQuery>} - The item at the given position or all items if no position was given.
2042	 */
2043	Owl.prototype.items = function(position) {
2044		if (position === undefined) {
2045			return this._items.slice();
2046		}
2047
2048		position = this.normalize(position, true);
2049		return this._items[position];
2050	};
2051
2052	/**
2053	 * Gets an item at the specified relative position.
2054	 * @public
2055	 * @param {Number} [position] - The relative position of the item.
2056	 * @return {jQuery|Array.<jQuery>} - The item at the given position or all items if no position was given.
2057	 */
2058	Owl.prototype.mergers = function(position) {
2059		if (position === undefined) {
2060			return this._mergers.slice();
2061		}
2062
2063		position = this.normalize(position, true);
2064		return this._mergers[position];
2065	};
2066
2067	/**
2068	 * Gets the absolute positions of clones for an item.
2069	 * @public
2070	 * @param {Number} [position] - The relative position of the item.
2071	 * @returns {Array.<Number>} - The absolute positions of clones for the item or all if no position was given.
2072	 */
2073	Owl.prototype.clones = function(position) {
2074		var odd = this._clones.length / 2,
2075			even = odd + this._items.length,
2076			map = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 };
2077
2078		if (position === undefined) {
2079			return $.map(this._clones, function(v, i) { return map(i) });
2080		}
2081
2082		return $.map(this._clones, function(v, i) { return v === position ? map(i) : null });
2083	};
2084
2085	/**
2086	 * Sets the current animation speed.
2087	 * @public
2088	 * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged.
2089	 * @returns {Number} - The current animation speed in milliseconds.
2090	 */
2091	Owl.prototype.speed = function(speed) {
2092		if (speed !== undefined) {
2093			this._speed = speed;
2094		}
2095
2096		return this._speed;
2097	};
2098
2099	/**
2100	 * Gets the coordinate of an item.
2101	 * @todo The name of this method is missleanding.
2102	 * @public
2103	 * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`.
2104	 * @returns {Number|Array.<Number>} - The coordinate of the item in pixel or all coordinates.
2105	 */
2106	Owl.prototype.coordinates = function(position) {
2107		var multiplier = 1,
2108			newPosition = position - 1,
2109			coordinate;
2110
2111		if (position === undefined) {
2112			return $.map(this._coordinates, $.proxy(function(coordinate, index) {
2113				return this.coordinates(index);
2114			}, this));
2115		}
2116
2117		if (this.settings.center) {
2118			if (this.settings.rtl) {
2119				multiplier = -1;
2120				newPosition = position + 1;
2121			}
2122
2123			coordinate = this._coordinates[position];
2124			coordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier;
2125		} else {
2126			coordinate = this._coordinates[newPosition] || 0;
2127		}
2128
2129		coordinate = Math.ceil(coordinate);
2130
2131		return coordinate;
2132	};
2133
2134	/**
2135	 * Calculates the speed for a translation.
2136	 * @protected
2137	 * @param {Number} from - The absolute position of the start item.
2138	 * @param {Number} to - The absolute position of the target item.
2139	 * @param {Number} [factor=undefined] - The time factor in milliseconds.
2140	 * @returns {Number} - The time in milliseconds for the translation.
2141	 */
2142	Owl.prototype.duration = function(from, to, factor) {
2143		if (factor === 0) {
2144			return 0;
2145		}
2146
2147		return Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed));
2148	};
2149
2150	/**
2151	 * Slides to the specified item.
2152	 * @public
2153	 * @param {Number} position - The position of the item.
2154	 * @param {Number} [speed] - The time in milliseconds for the transition.
2155	 */
2156	Owl.prototype.to = function(position, speed) {
2157		var current = this.current(),
2158			revert = null,
2159			distance = position - this.relative(current),
2160			direction = (distance > 0) - (distance < 0),
2161			items = this._items.length,
2162			minimum = this.minimum(),
2163			maximum = this.maximum();
2164
2165		if (this.settings.loop) {
2166			if (!this.settings.rewind && Math.abs(distance) > items / 2) {
2167				distance += direction * -1 * items;
2168			}
2169
2170			position = current + distance;
2171			revert = ((position - minimum) % items + items) % items + minimum;
2172
2173			if (revert !== position && revert - distance <= maximum && revert - distance > 0) {
2174				current = revert - distance;
2175				position = revert;
2176				this.reset(current);
2177			}
2178		} else if (this.settings.rewind) {
2179			maximum += 1;
2180			position = (position % maximum + maximum) % maximum;
2181		} else {
2182			position = Math.max(minimum, Math.min(maximum, position));
2183		}
2184
2185		this.speed(this.duration(current, position, speed));
2186		this.current(position);
2187
2188		if (this.isVisible()) {
2189			this.update();
2190		}
2191	};
2192
2193	/**
2194	 * Slides to the next item.
2195	 * @public
2196	 * @param {Number} [speed] - The time in milliseconds for the transition.
2197	 */
2198	Owl.prototype.next = function(speed) {
2199		speed = speed || false;
2200		this.to(this.relative(this.current()) + 1, speed);
2201	};
2202
2203	/**
2204	 * Slides to the previous item.
2205	 * @public
2206	 * @param {Number} [speed] - The time in milliseconds for the transition.
2207	 */
2208	Owl.prototype.prev = function(speed) {
2209		speed = speed || false;
2210		this.to(this.relative(this.current()) - 1, speed);
2211	};
2212
2213	/**
2214	 * Handles the end of an animation.
2215	 * @protected
2216	 * @param {Event} event - The event arguments.
2217	 */
2218	Owl.prototype.onTransitionEnd = function(event) {
2219
2220		// if css2 animation then event object is undefined
2221		if (event !== undefined) {
2222			event.stopPropagation();
2223
2224			// Catch only owl-stage transitionEnd event
2225			if ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) {
2226				return false;
vendor: 22,957 bytes, lines 2227-3075
2227			}
2228		}
2229
2230		this.leave('animating');
2231		this.trigger('translated');
2232	};
2233
2234	/**
2235	 * Gets viewport width.
2236	 * @protected
2237	 * @return {Number} - The width in pixel.
2238	 */
2239	Owl.prototype.viewport = function() {
2240		var width;
2241		if (this.options.responsiveBaseElement !== window) {
2242			width = $(this.options.responsiveBaseElement).width();
2243		} else if (window.innerWidth) {
2244			width = window.innerWidth;
2245		} else if (document.documentElement && document.documentElement.clientWidth) {
2246			width = document.documentElement.clientWidth;
2247		} else {
2248			console.warn('Can not detect viewport width.');
2249		}
2250		return width;
2251	};
2252
2253	/**
2254	 * Replaces the current content.
2255	 * @public
2256	 * @param {HTMLElement|jQuery|String} content - The new content.
2257	 */
2258	Owl.prototype.replace = function(content) {
2259		this.$stage.empty();
2260		this._items = [];
2261
2262		if (content) {
2263			content = (content instanceof jQuery) ? content : $(content);
2264		}
2265
2266		if (this.settings.nestedItemSelector) {
2267			content = content.find('.' + this.settings.nestedItemSelector);
2268		}
2269
2270		content.filter(function() {
2271			return this.nodeType === 1;
2272		}).each($.proxy(function(index, item) {
2273			item = this.prepare(item);
2274			this.$stage.append(item);
2275			this._items.push(item);
2276			this._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);
2277		}, this));
2278
2279		this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0);
2280
2281		this.invalidate('items');
2282	};
2283
2284	/**
2285	 * Adds an item.
2286	 * @todo Use `item` instead of `content` for the event arguments.
2287	 * @public
2288	 * @param {HTMLElement|jQuery|String} content - The item content to add.
2289	 * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.
2290	 */
2291	Owl.prototype.add = function(content, position) {
2292		var current = this.relative(this._current);
2293
2294		position = position === undefined ? this._items.length : this.normalize(position, true);
2295		content = content instanceof jQuery ? content : $(content);
2296
2297		this.trigger('add', { content: content, position: position });
2298
2299		content = this.prepare(content);
2300
2301		if (this._items.length === 0 || position === this._items.length) {
2302			this._items.length === 0 && this.$stage.append(content);
2303			this._items.length !== 0 && this._items[position - 1].after(content);
2304			this._items.push(content);
2305			this._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);
2306		} else {
2307			this._items[position].before(content);
2308			this._items.splice(position, 0, content);
2309			this._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);
2310		}
2311
2312		this._items[current] && this.reset(this._items[current].index());
2313
2314		this.invalidate('items');
2315
2316		this.trigger('added', { content: content, position: position });
2317	};
2318
2319	/**
2320	 * Removes an item by its position.
2321	 * @todo Use `item` instead of `content` for the event arguments.
2322	 * @public
2323	 * @param {Number} position - The relative position of the item to remove.
2324	 */
2325	Owl.prototype.remove = function(position) {
2326		position = this.normalize(position, true);
2327
2328		if (position === undefined) {
2329			return;
2330		}
2331
2332		this.trigger('remove', { content: this._items[position], position: position });
2333
2334		this._items[position].remove();
2335		this._items.splice(position, 1);
2336		this._mergers.splice(position, 1);
2337
2338		this.invalidate('items');
2339
2340		this.trigger('removed', { content: null, position: position });
2341	};
2342
2343	/**
2344	 * Preloads images with auto width.
2345	 * @todo Replace by a more generic approach
2346	 * @protected
2347	 */
2348	Owl.prototype.preloadAutoWidthImages = function(images) {
2349		images.each($.proxy(function(i, element) {
2350			this.enter('pre-loading');
2351			element = $(element);
2352			$(new Image()).one('load', $.proxy(function(e) {
2353				element.attr('src', e.target.src);
2354				element.css('opacity', 1);
2355				this.leave('pre-loading');
2356				!this.is('pre-loading') && !this.is('initializing') && this.refresh();
2357			}, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina'));
2358		}, this));
2359	};
2360
2361	/**
2362	 * Destroys the carousel.
2363	 * @public
2364	 */
2365	Owl.prototype.destroy = function() {
2366
2367		this.$element.off('.owl.core');
2368		this.$stage.off('.owl.core');
2369		$(document).off('.owl.core');
2370
2371		if (this.settings.responsive !== false) {
2372			window.clearTimeout(this.resizeTimer);
2373			this.off(window, 'resize', this._handlers.onThrottledResize);
2374		}
2375
2376		for (var i in this._plugins) {
2377			this._plugins[i].destroy();
2378		}
2379
2380		this.$stage.children('.cloned').remove();
2381
2382		this.$stage.unwrap();
2383		this.$stage.children().contents().unwrap();
2384		this.$stage.children().unwrap();
2385		this.$stage.remove();
2386		this.$element
2387			.removeClass(this.options.refreshClass)
2388			.removeClass(this.options.loadingClass)
2389			.removeClass(this.options.loadedClass)
2390			.removeClass(this.options.rtlClass)
2391			.removeClass(this.options.dragClass)
2392			.removeClass(this.options.grabClass)
2393			.attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\S+\\s', 'g'), ''))
2394			.removeData('owl.carousel');
2395	};
2396
2397	/**
2398	 * Operators to calculate right-to-left and left-to-right.
2399	 * @protected
2400	 * @param {Number} [a] - The left side operand.
2401	 * @param {String} [o] - The operator.
2402	 * @param {Number} [b] - The right side operand.
2403	 */
2404	Owl.prototype.op = function(a, o, b) {
2405		var rtl = this.settings.rtl;
2406		switch (o) {
2407			case '<':
2408				return rtl ? a > b : a < b;
2409			case '>':
2410				return rtl ? a < b : a > b;
2411			case '>=':
2412				return rtl ? a <= b : a >= b;
2413			case '<=':
2414				return rtl ? a >= b : a <= b;
2415			default:
2416				break;
2417		}
2418	};
2419
2420	/**
2421	 * Attaches to an internal event.
2422	 * @protected
2423	 * @param {HTMLElement} element - The event source.
2424	 * @param {String} event - The event name.
2425	 * @param {Function} listener - The event handler to attach.
2426	 * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not.
2427	 */
2428	Owl.prototype.on = function(element, event, listener, capture) {
2429		if (element.addEventListener) {
2430			element.addEventListener(event, listener, capture);
2431		} else if (element.attachEvent) {
2432			element.attachEvent('on' + event, listener);
2433		}
2434	};
2435
2436	/**
2437	 * Detaches from an internal event.
2438	 * @protected
2439	 * @param {HTMLElement} element - The event source.
2440	 * @param {String} event - The event name.
2441	 * @param {Function} listener - The attached event handler to detach.
2442	 * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not.
2443	 */
2444	Owl.prototype.off = function(element, event, listener, capture) {
2445		if (element.removeEventListener) {
2446			element.removeEventListener(event, listener, capture);
2447		} else if (element.detachEvent) {
2448			element.detachEvent('on' + event, listener);
2449		}
2450	};
2451
2452	/**
2453	 * Triggers a public event.
2454	 * @todo Remove `status`, `relatedTarget` should be used instead.
2455	 * @protected
2456	 * @param {String} name - The event name.
2457	 * @param {*} [data=null] - The event data.
2458	 * @param {String} [namespace=carousel] - The event namespace.
2459	 * @param {String} [state] - The state which is associated with the event.
2460	 * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not.
2461	 * @returns {Event} - The event arguments.
2462	 */
2463	Owl.prototype.trigger = function(name, data, namespace, state, enter) {
2464		var status = {
2465			item: { count: this._items.length, index: this.current() }
2466		}, handler = $.camelCase(
2467			$.grep([ 'on', name, namespace ], function(v) { return v })
2468				.join('-').toLowerCase()
2469		), event = $.Event(
2470			[ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(),
2471			$.extend({ relatedTarget: this }, status, data)
2472		);
2473
2474		if (!this._supress[name]) {
2475			$.each(this._plugins, function(name, plugin) {
2476				if (plugin.onTrigger) {
2477					plugin.onTrigger(event);
2478				}
2479			});
2480
2481			this.register({ type: Owl.Type.Event, name: name });
2482			this.$element.trigger(event);
2483
2484			if (this.settings && typeof this.settings[handler] === 'function') {
2485				this.settings[handler].call(this, event);
2486			}
2487		}
2488
2489		return event;
2490	};
2491
2492	/**
2493	 * Enters a state.
2494	 * @param name - The state name.
2495	 */
2496	Owl.prototype.enter = function(name) {
2497		$.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {
2498			if (this._states.current[name] === undefined) {
2499				this._states.current[name] = 0;
2500			}
2501
2502			this._states.current[name]++;
2503		}, this));
2504	};
2505
2506	/**
2507	 * Leaves a state.
2508	 * @param name - The state name.
2509	 */
2510	Owl.prototype.leave = function(name) {
2511		$.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {
2512			this._states.current[name]--;
2513		}, this));
2514	};
2515
2516	/**
2517	 * Registers an event or state.
2518	 * @public
2519	 * @param {Object} object - The event or state to register.
2520	 */
2521	Owl.prototype.register = function(object) {
2522		if (object.type === Owl.Type.Event) {
2523			if (!$.event.special[object.name]) {
2524				$.event.special[object.name] = {};
2525			}
2526
2527			if (!$.event.special[object.name].owl) {
2528				var _default = $.event.special[object.name]._default;
2529				$.event.special[object.name]._default = function(e) {
2530					if (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) {
2531						return _default.apply(this, arguments);
2532					}
2533					return e.namespace && e.namespace.indexOf('owl') > -1;
2534				};
2535				$.event.special[object.name].owl = true;
2536			}
2537		} else if (object.type === Owl.Type.State) {
2538			if (!this._states.tags[object.name]) {
2539				this._states.tags[object.name] = object.tags;
2540			} else {
2541				this._states.tags[object.name] = this._states.tags[object.name].concat(object.tags);
2542			}
2543
2544			this._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) {
2545				return $.inArray(tag, this._states.tags[object.name]) === i;
2546			}, this));
2547		}
2548	};
2549
2550	/**
2551	 * Suppresses events.
2552	 * @protected
2553	 * @param {Array.<String>} events - The events to suppress.
2554	 */
2555	Owl.prototype.suppress = function(events) {
2556		$.each(events, $.proxy(function(index, event) {
2557			this._supress[event] = true;
2558		}, this));
2559	};
2560
2561	/**
2562	 * Releases suppressed events.
2563	 * @protected
2564	 * @param {Array.<String>} events - The events to release.
2565	 */
2566	Owl.prototype.release = function(events) {
2567		$.each(events, $.proxy(function(index, event) {
2568			delete this._supress[event];
2569		}, this));
2570	};
2571
2572	/**
2573	 * Gets unified pointer coordinates from event.
2574	 * @todo #261
2575	 * @protected
2576	 * @param {Event} - The `mousedown` or `touchstart` event.
2577	 * @returns {Object} - Contains `x` and `y` coordinates of current pointer position.
2578	 */
2579	Owl.prototype.pointer = function(event) {
2580		var result = { x: null, y: null };
2581
2582		event = event.originalEvent || event || window.event;
2583
2584		event = event.touches && event.touches.length ?
2585			event.touches[0] : event.changedTouches && event.changedTouches.length ?
2586				event.changedTouches[0] : event;
2587
2588		if (event.pageX) {
2589			result.x = event.pageX;
2590			result.y = event.pageY;
2591		} else {
2592			result.x = event.clientX;
2593			result.y = event.clientY;
2594		}
2595
2596		return result;
2597	};
2598
2599	/**
2600	 * Determines if the input is a Number or something that can be coerced to a Number
2601	 * @protected
2602	 * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested
2603	 * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number
2604	 */
2605	Owl.prototype.isNumeric = function(number) {
2606		return !isNaN(parseFloat(number));
2607	};
2608
2609	/**
2610	 * Gets the difference of two vectors.
2611	 * @todo #261
2612	 * @protected
2613	 * @param {Object} - The first vector.
2614	 * @param {Object} - The second vector.
2615	 * @returns {Object} - The difference.
2616	 */
2617	Owl.prototype.difference = function(first, second) {
2618		return {
2619			x: first.x - second.x,
2620			y: first.y - second.y
2621		};
2622	};
2623
2624	/**
2625	 * The jQuery Plugin for the Owl Carousel
2626	 * @todo Navigation plugin `next` and `prev`
2627	 * @public
2628	 */
2629	$.fn.owlCarousel = function(option) {
2630		var args = Array.prototype.slice.call(arguments, 1);
2631
2632		return this.each(function() {
2633			var $this = $(this),
2634				data = $this.data('owl.carousel');
2635
2636			if (!data) {
2637				data = new Owl(this, typeof option == 'object' && option);
2638				$this.data('owl.carousel', data);
2639
2640				$.each([
2641					'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove'
2642				], function(i, event) {
2643					data.register({ type: Owl.Type.Event, name: event });
2644					data.$element.on(event + '.owl.carousel.core', $.proxy(function(e) {
2645						if (e.namespace && e.relatedTarget !== this) {
2646							this.suppress([ event ]);
2647							data[event].apply(this, [].slice.call(arguments, 1));
2648							this.release([ event ]);
2649						}
2650					}, data));
2651				});
2652			}
2653
2654			if (typeof option == 'string' && option.charAt(0) !== '_') {
2655				data[option].apply(data, args);
2656			}
2657		});
2658	};
2659
2660	/**
2661	 * The constructor for the jQuery Plugin
2662	 * @public
2663	 */
2664	$.fn.owlCarousel.Constructor = Owl;
2665
2666})(window.Zepto || window.jQuery, window, document);
2667
2668/**
2669 * AutoRefresh Plugin
2670 * @version 2.3.4
2671 * @author Artus Kolanowski
2672 * @author David Deutsch
2673 * @license The MIT License (MIT)
2674 */
2675;(function($, window, document, undefined) {
2676
2677	/**
2678	 * Creates the auto refresh plugin.
2679	 * @class The Auto Refresh Plugin
2680	 * @param {Owl} carousel - The Owl Carousel
2681	 */
2682	var AutoRefresh = function(carousel) {
2683		/**
2684		 * Reference to the core.
2685		 * @protected
2686		 * @type {Owl}
2687		 */
2688		this._core = carousel;
2689
2690		/**
2691		 * Refresh interval.
2692		 * @protected
2693		 * @type {number}
2694		 */
2695		this._interval = null;
2696
2697		/**
2698		 * Whether the element is currently visible or not.
2699		 * @protected
2700		 * @type {Boolean}
2701		 */
2702		this._visible = null;
2703
2704		/**
2705		 * All event handlers.
2706		 * @protected
2707		 * @type {Object}
2708		 */
2709		this._handlers = {
2710			'initialized.owl.carousel': $.proxy(function(e) {
2711				if (e.namespace && this._core.settings.autoRefresh) {
2712					this.watch();
2713				}
2714			}, this)
2715		};
2716
2717		// set default options
2718		this._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options);
2719
2720		// register event handlers
2721		this._core.$element.on(this._handlers);
2722	};
2723
2724	/**
2725	 * Default options.
2726	 * @public
2727	 */
2728	AutoRefresh.Defaults = {
2729		autoRefresh: true,
2730		autoRefreshInterval: 500
2731	};
2732
2733	/**
2734	 * Watches the element.
2735	 */
2736	AutoRefresh.prototype.watch = function() {
2737		if (this._interval) {
2738			return;
2739		}
2740
2741		this._visible = this._core.isVisible();
2742		this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);
2743	};
2744
2745	/**
2746	 * Refreshes the element.
2747	 */
2748	AutoRefresh.prototype.refresh = function() {
2749		if (this._core.isVisible() === this._visible) {
2750			return;
2751		}
2752
2753		this._visible = !this._visible;
2754
2755		this._core.$element.toggleClass('owl-hidden', !this._visible);
2756
2757		this._visible && (this._core.invalidate('width') && this._core.refresh());
2758	};
2759
2760	/**
2761	 * Destroys the plugin.
2762	 */
2763	AutoRefresh.prototype.destroy = function() {
2764		var handler, property;
2765
2766		window.clearInterval(this._interval);
2767
2768		for (handler in this._handlers) {
2769			this._core.$element.off(handler, this._handlers[handler]);
2770		}
2771		for (property in Object.getOwnPropertyNames(this)) {
2772			typeof this[property] != 'function' && (this[property] = null);
2773		}
2774	};
2775
2776	$.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh;
2777
2778})(window.Zepto || window.jQuery, window, document);
2779
2780/**
2781 * Lazy Plugin
2782 * @version 2.3.4
2783 * @author Bartosz Wojciechowski
2784 * @author David Deutsch
2785 * @license The MIT License (MIT)
2786 */
2787;(function($, window, document, undefined) {
2788
2789	/**
2790	 * Creates the lazy plugin.
2791	 * @class The Lazy Plugin
2792	 * @param {Owl} carousel - The Owl Carousel
2793	 */
2794	var Lazy = function(carousel) {
2795
2796		/**
2797		 * Reference to the core.
2798		 * @protected
2799		 * @type {Owl}
2800		 */
2801		this._core = carousel;
2802
2803		/**
2804		 * Already loaded items.
2805		 * @protected
2806		 * @type {Array.<jQuery>}
2807		 */
2808		this._loaded = [];
2809
2810		/**
2811		 * Event handlers.
2812		 * @protected
2813		 * @type {Object}
2814		 */
2815		this._handlers = {
2816			'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function(e) {
2817				if (!e.namespace) {
2818					return;
2819				}
2820
2821				if (!this._core.settings || !this._core.settings.lazyLoad) {
2822					return;
2823				}
2824
2825				if ((e.property && e.property.name == 'position') || e.type == 'initialized') {
2826					var settings = this._core.settings,
2827						n = (settings.center && Math.ceil(settings.items / 2) || settings.items),
2828						i = ((settings.center && n * -1) || 0),
2829						position = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i,
2830						clones = this._core.clones().length,
2831						load = $.proxy(function(i, v) { this.load(v) }, this);
2832					//TODO: Need documentation for this new option
2833					if (settings.lazyLoadEager > 0) {
2834						n += settings.lazyLoadEager;
2835						// If the carousel is looping also preload images that are to the "left"
2836						if (settings.loop) {
2837              position -= settings.lazyLoadEager;
2838              n++;
2839            }
2840					}
2841
2842					while (i++ < n) {
2843						this.load(clones / 2 + this._core.relative(position));
2844						clones && $.each(this._core.clones(this._core.relative(position)), load);
2845						position++;
2846					}
2847				}
2848			}, this)
2849		};
2850
2851		// set the default options
2852		this._core.options = $.extend({}, Lazy.Defaults, this._core.options);
2853
2854		// register event handler
2855		this._core.$element.on(this._handlers);
2856	};
2857
2858	/**
2859	 * Default options.
2860	 * @public
2861	 */
2862	Lazy.Defaults = {
2863		lazyLoad: false,
2864		lazyLoadEager: 0
2865	};
2866
2867	/**
2868	 * Loads all resources of an item at the specified position.
2869	 * @param {Number} position - The absolute position of the item.
2870	 * @protected
2871	 */
2872	Lazy.prototype.load = function(position) {
2873		var $item = this._core.$stage.children().eq(position),
2874			$elements = $item && $item.find('.owl-lazy');
2875
2876		if (!$elements || $.inArray($item.get(0), this._loaded) > -1) {
2877			return;
2878		}
2879
2880		$elements.each($.proxy(function(index, element) {
2881			var $element = $(element), image,
2882                url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src') || $element.attr('data-srcset');
2883
2884			this._core.trigger('load', { element: $element, url: url }, 'lazy');
2885
2886			if ($element.is('img')) {
2887				$element.one('load.owl.lazy', $.proxy(function() {
2888					$element.css('opacity', 1);
2889					this._core.trigger('loaded', { element: $element, url: url }, 'lazy');
2890				}, this)).attr('src', url);
2891            } else if ($element.is('source')) {
2892                $element.one('load.owl.lazy', $.proxy(function() {
2893                    this._core.trigger('loaded', { element: $element, url: url }, 'lazy');
2894                }, this)).attr('srcset', url);
2895			} else {
2896				image = new Image();
2897				image.onload = $.proxy(function() {
2898					$element.css({
2899						'background-image': 'url("' + url + '")',
2900						'opacity': '1'
2901					});
2902					this._core.trigger('loaded', { element: $element, url: url }, 'lazy');
2903				}, this);
2904				image.src = url;
2905			}
2906		}, this));
2907
2908		this._loaded.push($item.get(0));
2909	};
2910
2911	/**
2912	 * Destroys the plugin.
2913	 * @public
2914	 */
2915	Lazy.prototype.destroy = function() {
2916		var handler, property;
2917
2918		for (handler in this.handlers) {
2919			this._core.$element.off(handler, this.handlers[handler]);
2920		}
2921		for (property in Object.getOwnPropertyNames(this)) {
2922			typeof this[property] != 'function' && (this[property] = null);
2923		}
2924	};
2925
2926	$.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;
2927
2928})(window.Zepto || window.jQuery, window, document);
2929
2930/**
2931 * AutoHeight Plugin
2932 * @version 2.3.4
2933 * @author Bartosz Wojciechowski
2934 * @author David Deutsch
2935 * @license The MIT License (MIT)
2936 */
2937;(function($, window, document, undefined) {
2938
2939	/**
2940	 * Creates the auto height plugin.
2941	 * @class The Auto Height Plugin
2942	 * @param {Owl} carousel - The Owl Carousel
2943	 */
2944	var AutoHeight = function(carousel) {
2945		/**
2946		 * Reference to the core.
2947		 * @protected
2948		 * @type {Owl}
2949		 */
2950		this._core = carousel;
2951
2952		this._previousHeight = null;
2953
2954		/**
2955		 * All event handlers.
2956		 * @protected
2957		 * @type {Object}
2958		 */
2959		this._handlers = {
2960			'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) {
2961				if (e.namespace && this._core.settings.autoHeight) {
2962					this.update();
2963				}
2964			}, this),
2965			'changed.owl.carousel': $.proxy(function(e) {
2966				if (e.namespace && this._core.settings.autoHeight && e.property.name === 'position'){
2967					this.update();
2968				}
2969			}, this),
2970			'loaded.owl.lazy': $.proxy(function(e) {
2971				if (e.namespace && this._core.settings.autoHeight
2972					&& e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) {
2973					this.update();
2974				}
2975			}, this)
2976		};
2977
2978		// set default options
2979		this._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);
2980
2981		// register event handlers
2982		this._core.$element.on(this._handlers);
2983		this._intervalId = null;
2984		var refThis = this;
2985
2986		// These changes have been taken from a PR by gavrochelegnou proposed in #1575
2987		// and have been made compatible with the latest jQuery version
2988		$(window).on('load', function() {
2989			if (refThis._core.settings.autoHeight) {
2990				refThis.update();
2991			}
2992		});
2993
2994		// Autoresize the height of the carousel when window is resized
2995		// When carousel has images, the height is dependent on the width
2996		// and should also change on resize
2997		$(window).resize(function() {
2998			if (refThis._core.settings.autoHeight) {
2999				if (refThis._intervalId != null) {
3000					clearTimeout(refThis._intervalId);
3001				}
3002
3003				refThis._intervalId = setTimeout(function() {
3004					refThis.update();
3005				}, 250);
3006			}
3007		});
3008
3009	};
3010
3011	/**
3012	 * Default options.
3013	 * @public
3014	 */
3015	AutoHeight.Defaults = {
3016		autoHeight: false,
3017		autoHeightClass: 'owl-height'
3018	};
3019
3020	/**
3021	 * Updates the view.
3022	 */
3023	AutoHeight.prototype.update = function() {
3024		var start = this._core._current,
3025			end = start + this._core.settings.items,
3026			lazyLoadEnabled = this._core.settings.lazyLoad,
3027			visible = this._core.$stage.children().toArray().slice(start, end),
3028			heights = [],
3029			maxheight = 0;
3030
3031		$.each(visible, function(index, item) {
3032			heights.push($(item).height());
3033		});
3034
3035		maxheight = Math.max.apply(null, heights);
3036
3037		if (maxheight <= 1 && lazyLoadEnabled && this._previousHeight) {
3038			maxheight = this._previousHeight;
3039		}
3040
3041		this._previousHeight = maxheight;
3042
3043		this._core.$stage.parent()
3044			.height(maxheight)
3045			.addClass(this._core.settings.autoHeightClass);
3046	};
3047
3048	AutoHeight.prototype.destroy = function() {
3049		var handler, property;
3050
3051		for (handler in this._handlers) {
3052			this._core.$element.off(handler, this._handlers[handler]);
3053		}
3054		for (property in Object.getOwnPropertyNames(this)) {
3055			typeof this[property] !== 'function' && (this[property] = null);
3056		}
3057	};
3058
3059	$.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;
3060
3061})(window.Zepto || window.jQuery, window, document);
3062
3063/**
3064 * Video Plugin
3065 * @version 2.3.4
3066 * @author Bartosz Wojciechowski
3067 * @author David Deutsch
3068 * @license The MIT License (MIT)
3069 */
3070;(function($, window, document, undefined) {
3071
3072	/**
3073	 * Creates the video plugin.
3074	 * @class The Video Plugin
3075	 * @param {Owl} carousel - The Owl Carousel
vendor: 5,347 bytes, lines 3076-3273
3076	 */
3077	var Video = function(carousel) {
3078		/**
3079		 * Reference to the core.
3080		 * @protected
3081		 * @type {Owl}
3082		 */
3083		this._core = carousel;
3084
3085		/**
3086		 * Cache all video URLs.
3087		 * @protected
3088		 * @type {Object}
3089		 */
3090		this._videos = {};
3091
3092		/**
3093		 * Current playing item.
3094		 * @protected
3095		 * @type {jQuery}
3096		 */
3097		this._playing = null;
3098
3099		/**
3100		 * All event handlers.
3101		 * @todo The cloned content removale is too late
3102		 * @protected
3103		 * @type {Object}
3104		 */
3105		this._handlers = {
3106			'initialized.owl.carousel': $.proxy(function(e) {
3107				if (e.namespace) {
3108					this._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] });
3109				}
3110			}, this),
3111			'resize.owl.carousel': $.proxy(function(e) {
3112				if (e.namespace && this._core.settings.video && this.isInFullScreen()) {
3113					e.preventDefault();
3114				}
3115			}, this),
3116			'refreshed.owl.carousel': $.proxy(function(e) {
3117				if (e.namespace && this._core.is('resizing')) {
3118					this._core.$stage.find('.cloned .owl-video-frame').remove();
3119				}
3120			}, this),
3121			'changed.owl.carousel': $.proxy(function(e) {
3122				if (e.namespace && e.property.name === 'position' && this._playing) {
3123					this.stop();
3124				}
3125			}, this),
3126			'prepared.owl.carousel': $.proxy(function(e) {
3127				if (!e.namespace) {
3128					return;
3129				}
3130
3131				var $element = $(e.content).find('.owl-video');
3132
3133				if ($element.length) {
3134					$element.css('display', 'none');
3135					this.fetch($element, $(e.content));
3136				}
3137			}, this)
3138		};
3139
3140		// set default options
3141		this._core.options = $.extend({}, Video.Defaults, this._core.options);
3142
3143		// register event handlers
3144		this._core.$element.on(this._handlers);
3145
3146		this._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) {
3147			this.play(e);
3148		}, this));
3149	};
3150
3151	/**
3152	 * Default options.
3153	 * @public
3154	 */
3155	Video.Defaults = {
3156		video: false,
3157		videoHeight: false,
3158		videoWidth: false
3159	};
3160
3161	/**
3162	 * Gets the video ID and the type (YouTube/Vimeo/vzaar only).
3163	 * @protected
3164	 * @param {jQuery} target - The target containing the video data.
3165	 * @param {jQuery} item - The item containing the video.
3166	 */
3167	Video.prototype.fetch = function(target, item) {
3168			var type = (function() {
3169					if (target.attr('data-vimeo-id')) {
3170						return 'vimeo';
3171					} else if (target.attr('data-vzaar-id')) {
3172						return 'vzaar'
3173					} else {
3174						return 'youtube';
3175					}
3176				})(),
3177				id = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'),
3178				width = target.attr('data-width') || this._core.settings.videoWidth,
3179				height = target.attr('data-height') || this._core.settings.videoHeight,
3180				url = target.attr('href');
3181
3182		if (url) {
3183
3184			/*
3185					Parses the id's out of the following urls (and probably more):
3186					https://www.youtube.com/watch?v=:id
3187					https://youtu.be/:id
3188					https://vimeo.com/:id
3189					https://vimeo.com/channels/:channel/:id
3190					https://vimeo.com/groups/:group/videos/:id
3191					https://app.vzaar.com/videos/:id
3192
3193					Visual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F
3194			*/
3195
3196			id = url.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/);
3197
3198			if (id[3].indexOf('youtu') > -1) {
3199				type = 'youtube';
3200			} else if (id[3].indexOf('vimeo') > -1) {
3201				type = 'vimeo';
3202			} else if (id[3].indexOf('vzaar') > -1) {
3203				type = 'vzaar';
3204			} else {
3205				throw new Error('Video URL not supported.');
3206			}
3207			id = id[6];
3208		} else {
3209			throw new Error('Missing video URL.');
3210		}
3211
3212		this._videos[url] = {
3213			type: type,
3214			id: id,
3215			width: width,
3216			height: height
3217		};
3218
3219		item.attr('data-video', url);
3220
3221		this.thumbnail(target, this._videos[url]);
3222	};
3223
3224	/**
3225	 * Creates video thumbnail.
3226	 * @protected
3227	 * @param {jQuery} target - The target containing the video data.
3228	 * @param {Object} info - The video info object.
3229	 * @see `fetch`
3230	 */
3231	Video.prototype.thumbnail = function(target, video) {
3232		var tnLink,
3233			icon,
3234			path,
3235			dimensions = video.width && video.height ? 'width:' + video.width + 'px;height:' + video.height + 'px;' : '',
3236			customTn = target.find('img'),
3237			srcType = 'src',
3238			lazyClass = '',
3239			settings = this._core.settings,
3240			create = function(path) {
3241				icon = '<div class="owl-video-play-icon"></div>';
3242
3243				if (settings.lazyLoad) {
3244					tnLink = $('<div/>',{
3245						"class": 'owl-video-tn ' + lazyClass,
3246						"srcType": path
3247					});
3248				} else {
3249					tnLink = $( '<div/>', {
3250						"class": "owl-video-tn",
3251						"style": 'opacity:1;background-image:url(' + path + ')'
3252					});
3253				}
3254				target.after(tnLink);
3255				target.after(icon);
3256			};
3257
3258		// wrap video content into owl-video-wrapper div
3259		target.wrap( $( '<div/>', {
3260			"class": "owl-video-wrapper",
3261			"style": dimensions
3262		}));
3263
3264		if (this._core.settings.lazyLoad) {
3265			srcType = 'data-src';
3266			lazyClass = 'owl-lazy';
3267		}
3268
3269		// custom thumbnail
3270		if (customTn.length) {
3271			create(customTn.attr(srcType));
3272			customTn.remove();
3273			return false;
vendor: 15,908 bytes, lines 3274-3911
3274		}
3275
3276		if (video.type === 'youtube') {
3277			path = "//img.youtube.com/vi/" + video.id + "/hqdefault.jpg";
3278			create(path);
3279		} else if (video.type === 'vimeo') {
3280			$.ajax({
3281				type: 'GET',
3282				url: '//vimeo.com/api/v2/video/' + video.id + '.json',
3283				jsonp: 'callback',
3284				dataType: 'jsonp',
3285				success: function(data) {
3286					path = data[0].thumbnail_large;
3287					create(path);
3288				}
3289			});
3290		} else if (video.type === 'vzaar') {
3291			$.ajax({
3292				type: 'GET',
3293				url: '//vzaar.com/api/videos/' + video.id + '.json',
3294				jsonp: 'callback',
3295				dataType: 'jsonp',
3296				success: function(data) {
3297					path = data.framegrab_url;
3298					create(path);
3299				}
3300			});
3301		}
3302	};
3303
3304	/**
3305	 * Stops the current video.
3306	 * @public
3307	 */
3308	Video.prototype.stop = function() {
3309		this._core.trigger('stop', null, 'video');
3310		this._playing.find('.owl-video-frame').remove();
3311		this._playing.removeClass('owl-video-playing');
3312		this._playing = null;
3313		this._core.leave('playing');
3314		this._core.trigger('stopped', null, 'video');
3315	};
3316
3317	/**
3318	 * Starts the current video.
3319	 * @public
3320	 * @param {Event} event - The event arguments.
3321	 */
3322	Video.prototype.play = function(event) {
3323		var target = $(event.target),
3324			item = target.closest('.' + this._core.settings.itemClass),
3325			video = this._videos[item.attr('data-video')],
3326			width = video.width || '100%',
3327			height = video.height || this._core.$stage.height(),
3328			html,
3329			iframe;
3330
3331		if (this._playing) {
3332			return;
3333		}
3334
3335		this._core.enter('playing');
3336		this._core.trigger('play', null, 'video');
3337
3338		item = this._core.items(this._core.relative(item.index()));
3339
3340		this._core.reset(item.index());
3341
3342		html = $( '<iframe frameborder="0" allowfullscreen mozallowfullscreen webkitAllowFullScreen ></iframe>' );
3343		html.attr( 'height', height );
3344		html.attr( 'width', width );
3345		if (video.type === 'youtube') {
3346			html.attr( 'src', '//www.youtube.com/embed/' + video.id + '?autoplay=1&rel=0&v=' + video.id );
3347		} else if (video.type === 'vimeo') {
3348			html.attr( 'src', '//player.vimeo.com/video/' + video.id + '?autoplay=1' );
3349		} else if (video.type === 'vzaar') {
3350			html.attr( 'src', '//view.vzaar.com/' + video.id + '/player?autoplay=true' );
3351		}
3352
3353		iframe = $(html).wrap( '<div class="owl-video-frame" />' ).insertAfter(item.find('.owl-video'));
3354
3355		this._playing = item.addClass('owl-video-playing');
3356	};
3357
3358	/**
3359	 * Checks whether an video is currently in full screen mode or not.
3360	 * @todo Bad style because looks like a readonly method but changes members.
3361	 * @protected
3362	 * @returns {Boolean}
3363	 */
3364	Video.prototype.isInFullScreen = function() {
3365		var element = document.fullscreenElement || document.mozFullScreenElement ||
3366				document.webkitFullscreenElement;
3367
3368		return element && $(element).parent().hasClass('owl-video-frame');
3369	};
3370
3371	/**
3372	 * Destroys the plugin.
3373	 */
3374	Video.prototype.destroy = function() {
3375		var handler, property;
3376
3377		this._core.$element.off('click.owl.video');
3378
3379		for (handler in this._handlers) {
3380			this._core.$element.off(handler, this._handlers[handler]);
3381		}
3382		for (property in Object.getOwnPropertyNames(this)) {
3383			typeof this[property] != 'function' && (this[property] = null);
3384		}
3385	};
3386
3387	$.fn.owlCarousel.Constructor.Plugins.Video = Video;
3388
3389})(window.Zepto || window.jQuery, window, document);
3390
3391/**
3392 * Animate Plugin
3393 * @version 2.3.4
3394 * @author Bartosz Wojciechowski
3395 * @author David Deutsch
3396 * @license The MIT License (MIT)
3397 */
3398;(function($, window, document, undefined) {
3399
3400	/**
3401	 * Creates the animate plugin.
3402	 * @class The Navigation Plugin
3403	 * @param {Owl} scope - The Owl Carousel
3404	 */
3405	var Animate = function(scope) {
3406		this.core = scope;
3407		this.core.options = $.extend({}, Animate.Defaults, this.core.options);
3408		this.swapping = true;
3409		this.previous = undefined;
3410		this.next = undefined;
3411
3412		this.handlers = {
3413			'change.owl.carousel': $.proxy(function(e) {
3414				if (e.namespace && e.property.name == 'position') {
3415					this.previous = this.core.current();
3416					this.next = e.property.value;
3417				}
3418			}, this),
3419			'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {
3420				if (e.namespace) {
3421					this.swapping = e.type == 'translated';
3422				}
3423			}, this),
3424			'translate.owl.carousel': $.proxy(function(e) {
3425				if (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {
3426					this.swap();
3427				}
3428			}, this)
3429		};
3430
3431		this.core.$element.on(this.handlers);
3432	};
3433
3434	/**
3435	 * Default options.
3436	 * @public
3437	 */
3438	Animate.Defaults = {
3439		animateOut: false,
3440		animateIn: false
3441	};
3442
3443	/**
3444	 * Toggles the animation classes whenever an translations starts.
3445	 * @protected
3446	 * @returns {Boolean|undefined}
3447	 */
3448	Animate.prototype.swap = function() {
3449
3450		if (this.core.settings.items !== 1) {
3451			return;
3452		}
3453
3454		if (!$.support.animation || !$.support.transition) {
3455			return;
3456		}
3457
3458		this.core.speed(0);
3459
3460		var left,
3461			clear = $.proxy(this.clear, this),
3462			previous = this.core.$stage.children().eq(this.previous),
3463			next = this.core.$stage.children().eq(this.next),
3464			incoming = this.core.settings.animateIn,
3465			outgoing = this.core.settings.animateOut;
3466
3467		if (this.core.current() === this.previous) {
3468			return;
3469		}
3470
3471		if (outgoing) {
3472			left = this.core.coordinates(this.previous) - this.core.coordinates(this.next);
3473			previous.one($.support.animation.end, clear)
3474				.css( { 'left': left + 'px' } )
3475				.addClass('animated owl-animated-out')
3476				.addClass(outgoing);
3477		}
3478
3479		if (incoming) {
3480			next.one($.support.animation.end, clear)
3481				.addClass('animated owl-animated-in')
3482				.addClass(incoming);
3483		}
3484	};
3485
3486	Animate.prototype.clear = function(e) {
3487		$(e.target).css( { 'left': '' } )
3488			.removeClass('animated owl-animated-out owl-animated-in')
3489			.removeClass(this.core.settings.animateIn)
3490			.removeClass(this.core.settings.animateOut);
3491		this.core.onTransitionEnd();
3492	};
3493
3494	/**
3495	 * Destroys the plugin.
3496	 * @public
3497	 */
3498	Animate.prototype.destroy = function() {
3499		var handler, property;
3500
3501		for (handler in this.handlers) {
3502			this.core.$element.off(handler, this.handlers[handler]);
3503		}
3504		for (property in Object.getOwnPropertyNames(this)) {
3505			typeof this[property] != 'function' && (this[property] = null);
3506		}
3507	};
3508
3509	$.fn.owlCarousel.Constructor.Plugins.Animate = Animate;
3510
3511})(window.Zepto || window.jQuery, window, document);
3512
3513/**
3514 * Autoplay Plugin
3515 * @version 2.3.4
3516 * @author Bartosz Wojciechowski
3517 * @author Artus Kolanowski
3518 * @author David Deutsch
3519 * @author Tom De Caluwé
3520 * @license The MIT License (MIT)
3521 */
3522;(function($, window, document, undefined) {
3523
3524	/**
3525	 * Creates the autoplay plugin.
3526	 * @class The Autoplay Plugin
3527	 * @param {Owl} scope - The Owl Carousel
3528	 */
3529	var Autoplay = function(carousel) {
3530		/**
3531		 * Reference to the core.
3532		 * @protected
3533		 * @type {Owl}
3534		 */
3535		this._core = carousel;
3536
3537		/**
3538		 * The autoplay timeout id.
3539		 * @type {Number}
3540		 */
3541		this._call = null;
3542
3543		/**
3544		 * Depending on the state of the plugin, this variable contains either
3545		 * the start time of the timer or the current timer value if it's
3546		 * paused. Since we start in a paused state we initialize the timer
3547		 * value.
3548		 * @type {Number}
3549		 */
3550		this._time = 0;
3551
3552		/**
3553		 * Stores the timeout currently used.
3554		 * @type {Number}
3555		 */
3556		this._timeout = 0;
3557
3558		/**
3559		 * Indicates whenever the autoplay is paused.
3560		 * @type {Boolean}
3561		 */
3562		this._paused = true;
3563
3564		/**
3565		 * All event handlers.
3566		 * @protected
3567		 * @type {Object}
3568		 */
3569		this._handlers = {
3570			'changed.owl.carousel': $.proxy(function(e) {
3571				if (e.namespace && e.property.name === 'settings') {
3572					if (this._core.settings.autoplay) {
3573						this.play();
3574					} else {
3575						this.stop();
3576					}
3577				} else if (e.namespace && e.property.name === 'position' && this._paused) {
3578					// Reset the timer. This code is triggered when the position
3579					// of the carousel was changed through user interaction.
3580					this._time = 0;
3581				}
3582			}, this),
3583			'initialized.owl.carousel': $.proxy(function(e) {
3584				if (e.namespace && this._core.settings.autoplay) {
3585					this.play();
3586				}
3587			}, this),
3588			'play.owl.autoplay': $.proxy(function(e, t, s) {
3589				if (e.namespace) {
3590					this.play(t, s);
3591				}
3592			}, this),
3593			'stop.owl.autoplay': $.proxy(function(e) {
3594				if (e.namespace) {
3595					this.stop();
3596				}
3597			}, this),
3598			'mouseover.owl.autoplay': $.proxy(function() {
3599				if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
3600					this.pause();
3601				}
3602			}, this),
3603			'mouseleave.owl.autoplay': $.proxy(function() {
3604				if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
3605					this.play();
3606				}
3607			}, this),
3608			'touchstart.owl.core': $.proxy(function() {
3609				if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
3610					this.pause();
3611				}
3612			}, this),
3613			'touchend.owl.core': $.proxy(function() {
3614				if (this._core.settings.autoplayHoverPause) {
3615					this.play();
3616				}
3617			}, this)
3618		};
3619
3620		// register event handlers
3621		this._core.$element.on(this._handlers);
3622
3623		// set default options
3624		this._core.options = $.extend({}, Autoplay.Defaults, this._core.options);
3625	};
3626
3627	/**
3628	 * Default options.
3629	 * @public
3630	 */
3631	Autoplay.Defaults = {
3632		autoplay: false,
3633		autoplayTimeout: 5000,
3634		autoplayHoverPause: false,
3635		autoplaySpeed: false
3636	};
3637
3638	/**
3639	 * Transition to the next slide and set a timeout for the next transition.
3640	 * @private
3641	 * @param {Number} [speed] - The animation speed for the animations.
3642	 */
3643	Autoplay.prototype._next = function(speed) {
3644		this._call = window.setTimeout(
3645			$.proxy(this._next, this, speed),
3646			this._timeout * (Math.round(this.read() / this._timeout) + 1) - this.read()
3647		);
3648
3649		if (this._core.is('interacting') || document.hidden) {
3650			return;
3651		}
3652		this._core.next(speed || this._core.settings.autoplaySpeed);
3653	}
3654
3655	/**
3656	 * Reads the current timer value when the timer is playing.
3657	 * @public
3658	 */
3659	Autoplay.prototype.read = function() {
3660		return new Date().getTime() - this._time;
3661	};
3662
3663	/**
3664	 * Starts the autoplay.
3665	 * @public
3666	 * @param {Number} [timeout] - The interval before the next animation starts.
3667	 * @param {Number} [speed] - The animation speed for the animations.
3668	 */
3669	Autoplay.prototype.play = function(timeout, speed) {
3670		var elapsed;
3671
3672		if (!this._core.is('rotating')) {
3673			this._core.enter('rotating');
3674		}
3675
3676		timeout = timeout || this._core.settings.autoplayTimeout;
3677
3678		// Calculate the elapsed time since the last transition. If the carousel
3679		// wasn't playing this calculation will yield zero.
3680		elapsed = Math.min(this._time % (this._timeout || timeout), timeout);
3681
3682		if (this._paused) {
3683			// Start the clock.
3684			this._time = this.read();
3685			this._paused = false;
3686		} else {
3687			// Clear the active timeout to allow replacement.
3688			window.clearTimeout(this._call);
3689		}
3690
3691		// Adjust the origin of the timer to match the new timeout value.
3692		this._time += this.read() % timeout - elapsed;
3693
3694		this._timeout = timeout;
3695		this._call = window.setTimeout($.proxy(this._next, this, speed), timeout - elapsed);
3696	};
3697
3698	/**
3699	 * Stops the autoplay.
3700	 * @public
3701	 */
3702	Autoplay.prototype.stop = function() {
3703		if (this._core.is('rotating')) {
3704			// Reset the clock.
3705			this._time = 0;
3706			this._paused = true;
3707
3708			window.clearTimeout(this._call);
3709			this._core.leave('rotating');
3710		}
3711	};
3712
3713	/**
3714	 * Pauses the autoplay.
3715	 * @public
3716	 */
3717	Autoplay.prototype.pause = function() {
3718		if (this._core.is('rotating') && !this._paused) {
3719			// Pause the clock.
3720			this._time = this.read();
3721			this._paused = true;
3722
3723			window.clearTimeout(this._call);
3724		}
3725	};
3726
3727	/**
3728	 * Destroys the plugin.
3729	 */
3730	Autoplay.prototype.destroy = function() {
3731		var handler, property;
3732
3733		this.stop();
3734
3735		for (handler in this._handlers) {
3736			this._core.$element.off(handler, this._handlers[handler]);
3737		}
3738		for (property in Object.getOwnPropertyNames(this)) {
3739			typeof this[property] != 'function' && (this[property] = null);
3740		}
3741	};
3742
3743	$.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay;
3744
3745})(window.Zepto || window.jQuery, window, document);
3746
3747/**
3748 * Navigation Plugin
3749 * @version 2.3.4
3750 * @author Artus Kolanowski
3751 * @author David Deutsch
3752 * @license The MIT License (MIT)
3753 */
3754;(function($, window, document, undefined) {
3755	'use strict';
3756
3757	/**
3758	 * Creates the navigation plugin.
3759	 * @class The Navigation Plugin
3760	 * @param {Owl} carousel - The Owl Carousel.
3761	 */
3762	var Navigation = function(carousel) {
3763		/**
3764		 * Reference to the core.
3765		 * @protected
3766		 * @type {Owl}
3767		 */
3768		this._core = carousel;
3769
3770		/**
3771		 * Indicates whether the plugin is initialized or not.
3772		 * @protected
3773		 * @type {Boolean}
3774		 */
3775		this._initialized = false;
3776
3777		/**
3778		 * The current paging indexes.
3779		 * @protected
3780		 * @type {Array}
3781		 */
3782		this._pages = [];
3783
3784		/**
3785		 * All DOM elements of the user interface.
3786		 * @protected
3787		 * @type {Object}
3788		 */
3789		this._controls = {};
3790
3791		/**
3792		 * Markup for an indicator.
3793		 * @protected
3794		 * @type {Array.<String>}
3795		 */
3796		this._templates = [];
3797
3798		/**
3799		 * The carousel element.
3800		 * @type {jQuery}
3801		 */
3802		this.$element = this._core.$element;
3803
3804		/**
3805		 * Overridden methods of the carousel.
3806		 * @protected
3807		 * @type {Object}
3808		 */
3809		this._overrides = {
3810			next: this._core.next,
3811			prev: this._core.prev,
3812			to: this._core.to
3813		};
3814
3815		/**
3816		 * All event handlers.
3817		 * @protected
3818		 * @type {Object}
3819		 */
3820		this._handlers = {
3821			'prepared.owl.carousel': $.proxy(function(e) {
3822				if (e.namespace && this._core.settings.dotsData) {
3823					this._templates.push('<div class="' + this._core.settings.dotClass + '">' +
3824						$(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '</div>');
3825				}
3826			}, this),
3827			'added.owl.carousel': $.proxy(function(e) {
3828				if (e.namespace && this._core.settings.dotsData) {
3829					this._templates.splice(e.position, 0, this._templates.pop());
3830				}
3831			}, this),
3832			'remove.owl.carousel': $.proxy(function(e) {
3833				if (e.namespace && this._core.settings.dotsData) {
3834					this._templates.splice(e.position, 1);
3835				}
3836			}, this),
3837			'changed.owl.carousel': $.proxy(function(e) {
3838				if (e.namespace && e.property.name == 'position') {
3839					this.draw();
3840				}
3841			}, this),
3842			'initialized.owl.carousel': $.proxy(function(e) {
3843				if (e.namespace && !this._initialized) {
3844					this._core.trigger('initialize', null, 'navigation');
3845					this.initialize();
3846					this.update();
3847					this.draw();
3848					this._initialized = true;
3849					this._core.trigger('initialized', null, 'navigation');
3850				}
3851			}, this),
3852			'refreshed.owl.carousel': $.proxy(function(e) {
3853				if (e.namespace && this._initialized) {
3854					this._core.trigger('refresh', null, 'navigation');
3855					this.update();
3856					this.draw();
3857					this._core.trigger('refreshed', null, 'navigation');
3858				}
3859			}, this)
3860		};
3861
3862		// set default options
3863		this._core.options = $.extend({}, Navigation.Defaults, this._core.options);
3864
3865		// register event handlers
3866		this.$element.on(this._handlers);
3867	};
3868
3869	/**
3870	 * Default options.
3871	 * @public
3872	 * @todo Rename `slideBy` to `navBy`
3873	 */
3874	Navigation.Defaults = {
3875		nav: false,
3876		navText: [
3877			'<span aria-label="' + 'Previous' + '">&#x2039;</span>',
3878			'<span aria-label="' + 'Next' + '">&#x203a;</span>'
3879		],
3880		navSpeed: false,
3881		navElement: 'button type="button" role="presentation"',
3882		navContainer: false,
3883		navContainerClass: 'owl-nav',
3884		navClass: [
3885			'owl-prev',
3886			'owl-next'
3887		],
3888		slideBy: 1,
3889		dotClass: 'owl-dot',
3890		dotsClass: 'owl-dots',
3891		dots: true,
3892		dotsEach: false,
3893		dotsData: false,
3894		dotsSpeed: false,
3895		dotsContainer: false
3896	};
3897
3898	/**
3899	 * Initializes the layout of the plugin and extends the carousel.
3900	 * @protected
3901	 */
3902	Navigation.prototype.initialize = function() {
3903		var override,
3904			settings = this._core.settings;
3905
3906		// create DOM structure for relative navigation
3907		this._controls.$relative = (settings.navContainer ? $(settings.navContainer)
3908			: $('<div>').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled');
3909
3910		this._controls.$previous = $('<' + settings.navElement + '>')
3911			.addClass(settings.navClass[0])
vendor: 4,756 bytes, lines 3912-4073
3912			.html(settings.navText[0])
3913			.prependTo(this._controls.$relative)
3914			.on('click', $.proxy(function(e) {
3915				this.prev(settings.navSpeed);
3916			}, this));
3917		this._controls.$next = $('<' + settings.navElement + '>')
3918			.addClass(settings.navClass[1])
3919			.html(settings.navText[1])
3920			.appendTo(this._controls.$relative)
3921			.on('click', $.proxy(function(e) {
3922				this.next(settings.navSpeed);
3923			}, this));
3924
3925		// create DOM structure for absolute navigation
3926		if (!settings.dotsData) {
3927			this._templates = [ $('<button role="button">')
3928				.addClass(settings.dotClass)
3929				.append($('<span>'))
3930				.prop('outerHTML') ];
3931		}
3932
3933		this._controls.$absolute = (settings.dotsContainer ? $(settings.dotsContainer)
3934			: $('<div>').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled');
3935
3936		this._controls.$absolute.on('click', 'button', $.proxy(function(e) {
3937			var index = $(e.target).parent().is(this._controls.$absolute)
3938				? $(e.target).index() : $(e.target).parent().index();
3939
3940			e.preventDefault();
3941
3942			this.to(index, settings.dotsSpeed);
3943		}, this));
3944
3945		/*$el.on('focusin', function() {
3946			$(document).off(".carousel");
3947
3948			$(document).on('keydown.carousel', function(e) {
3949				if(e.keyCode == 37) {
3950					$el.trigger('prev.owl')
3951				}
3952				if(e.keyCode == 39) {
3953					$el.trigger('next.owl')
3954				}
3955			});
3956		});*/
3957
3958		// override public methods of the carousel
3959		for (override in this._overrides) {
3960			this._core[override] = $.proxy(this[override], this);
3961		}
3962	};
3963
3964	/**
3965	 * Destroys the plugin.
3966	 * @protected
3967	 */
3968	Navigation.prototype.destroy = function() {
3969		var handler, control, property, override, settings;
3970		settings = this._core.settings;
3971
3972		for (handler in this._handlers) {
3973			this.$element.off(handler, this._handlers[handler]);
3974		}
3975		for (control in this._controls) {
3976			if (control === '$relative' && settings.navContainer) {
3977				this._controls[control].html('');
3978			} else {
3979				this._controls[control].remove();
3980			}
3981		}
3982		for (override in this.overides) {
3983			this._core[override] = this._overrides[override];
3984		}
3985		for (property in Object.getOwnPropertyNames(this)) {
3986			typeof this[property] != 'function' && (this[property] = null);
3987		}
3988	};
3989
3990	/**
3991	 * Updates the internal state.
3992	 * @protected
3993	 */
3994	Navigation.prototype.update = function() {
3995		var i, j, k,
3996			lower = this._core.clones().length / 2,
3997			upper = lower + this._core.items().length,
3998			maximum = this._core.maximum(true),
3999			settings = this._core.settings,
4000			size = settings.center || settings.autoWidth || settings.dotsData
4001				? 1 : settings.dotsEach || settings.items;
4002
4003		if (settings.slideBy !== 'page') {
4004			settings.slideBy = Math.min(settings.slideBy, settings.items);
4005		}
4006
4007		if (settings.dots || settings.slideBy == 'page') {
4008			this._pages = [];
4009
4010			for (i = lower, j = 0, k = 0; i < upper; i++) {
4011				if (j >= size || j === 0) {
4012					this._pages.push({
4013						start: Math.min(maximum, i - lower),
4014						end: i - lower + size - 1
4015					});
4016					if (Math.min(maximum, i - lower) === maximum) {
4017						break;
4018					}
4019					j = 0, ++k;
4020				}
4021				j += this._core.mergers(this._core.relative(i));
4022			}
4023		}
4024	};
4025
4026	/**
4027	 * Draws the user interface.
4028	 * @todo The option `dotsData` wont work.
4029	 * @protected
4030	 */
4031	Navigation.prototype.draw = function() {
4032		var difference,
4033			settings = this._core.settings,
4034			disabled = this._core.items().length <= settings.items,
4035			index = this._core.relative(this._core.current()),
4036			loop = settings.loop || settings.rewind;
4037
4038		this._controls.$relative.toggleClass('disabled', !settings.nav || disabled);
4039
4040		if (settings.nav) {
4041			this._controls.$previous.toggleClass('disabled', !loop && index <= this._core.minimum(true));
4042			this._controls.$next.toggleClass('disabled', !loop && index >= this._core.maximum(true));
4043		}
4044
4045		this._controls.$absolute.toggleClass('disabled', !settings.dots || disabled);
4046
4047		if (settings.dots) {
4048			difference = this._pages.length - this._controls.$absolute.children().length;
4049
4050			if (settings.dotsData && difference !== 0) {
4051				this._controls.$absolute.html(this._templates.join(''));
4052			} else if (difference > 0) {
4053				this._controls.$absolute.append(new Array(difference + 1).join(this._templates[0]));
4054			} else if (difference < 0) {
4055				this._controls.$absolute.children().slice(difference).remove();
4056			}
4057
4058			this._controls.$absolute.find('.active').removeClass('active');
4059			this._controls.$absolute.children().eq($.inArray(this.current(), this._pages)).addClass('active');
4060		}
4061	};
4062
4063	/**
4064	 * Extends event data.
4065	 * @protected
4066	 * @param {Event} event - The event object which gets thrown.
4067	 */
4068	Navigation.prototype.onTrigger = function(event) {
4069		var settings = this._core.settings;
4070
4071		event.page = {
4072			index: $.inArray(this.current(), this._pages),
4073			count: this._pages.length,
vendor: 7,284 bytes, lines 4074-4359
4074			size: settings && (settings.center || settings.autoWidth || settings.dotsData
4075				? 1 : settings.dotsEach || settings.items)
4076		};
4077	};
4078
4079	/**
4080	 * Gets the current page position of the carousel.
4081	 * @protected
4082	 * @returns {Number}
4083	 */
4084	Navigation.prototype.current = function() {
4085		var current = this._core.relative(this._core.current());
4086		return $.grep(this._pages, $.proxy(function(page, index) {
4087			return page.start <= current && page.end >= current;
4088		}, this)).pop();
4089	};
4090
4091	/**
4092	 * Gets the current succesor/predecessor position.
4093	 * @protected
4094	 * @returns {Number}
4095	 */
4096	Navigation.prototype.getPosition = function(successor) {
4097		var position, length,
4098			settings = this._core.settings;
4099
4100		if (settings.slideBy == 'page') {
4101			position = $.inArray(this.current(), this._pages);
4102			length = this._pages.length;
4103			successor ? ++position : --position;
4104			position = this._pages[((position % length) + length) % length].start;
4105		} else {
4106			position = this._core.relative(this._core.current());
4107			length = this._core.items().length;
4108			successor ? position += settings.slideBy : position -= settings.slideBy;
4109		}
4110
4111		return position;
4112	};
4113
4114	/**
4115	 * Slides to the next item or page.
4116	 * @public
4117	 * @param {Number} [speed=false] - The time in milliseconds for the transition.
4118	 */
4119	Navigation.prototype.next = function(speed) {
4120		$.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);
4121	};
4122
4123	/**
4124	 * Slides to the previous item or page.
4125	 * @public
4126	 * @param {Number} [speed=false] - The time in milliseconds for the transition.
4127	 */
4128	Navigation.prototype.prev = function(speed) {
4129		$.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);
4130	};
4131
4132	/**
4133	 * Slides to the specified item or page.
4134	 * @public
4135	 * @param {Number} position - The position of the item or page.
4136	 * @param {Number} [speed] - The time in milliseconds for the transition.
4137	 * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not.
4138	 */
4139	Navigation.prototype.to = function(position, speed, standard) {
4140		var length;
4141
4142		if (!standard && this._pages.length) {
4143			length = this._pages.length;
4144			$.proxy(this._overrides.to, this._core)(this._pages[((position % length) + length) % length].start, speed);
4145		} else {
4146			$.proxy(this._overrides.to, this._core)(position, speed);
4147		}
4148	};
4149
4150	$.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;
4151
4152})(window.Zepto || window.jQuery, window, document);
4153
4154/**
4155 * Hash Plugin
4156 * @version 2.3.4
4157 * @author Artus Kolanowski
4158 * @author David Deutsch
4159 * @license The MIT License (MIT)
4160 */
4161;(function($, window, document, undefined) {
4162	'use strict';
4163
4164	/**
4165	 * Creates the hash plugin.
4166	 * @class The Hash Plugin
4167	 * @param {Owl} carousel - The Owl Carousel
4168	 */
4169	var Hash = function(carousel) {
4170		/**
4171		 * Reference to the core.
4172		 * @protected
4173		 * @type {Owl}
4174		 */
4175		this._core = carousel;
4176
4177		/**
4178		 * Hash index for the items.
4179		 * @protected
4180		 * @type {Object}
4181		 */
4182		this._hashes = {};
4183
4184		/**
4185		 * The carousel element.
4186		 * @type {jQuery}
4187		 */
4188		this.$element = this._core.$element;
4189
4190		/**
4191		 * All event handlers.
4192		 * @protected
4193		 * @type {Object}
4194		 */
4195		this._handlers = {
4196			'initialized.owl.carousel': $.proxy(function(e) {
4197				if (e.namespace && this._core.settings.startPosition === 'URLHash') {
4198					$(window).trigger('hashchange.owl.navigation');
4199				}
4200			}, this),
4201			'prepared.owl.carousel': $.proxy(function(e) {
4202				if (e.namespace) {
4203					var hash = $(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash');
4204
4205					if (!hash) {
4206						return;
4207					}
4208
4209					this._hashes[hash] = e.content;
4210				}
4211			}, this),
4212			'changed.owl.carousel': $.proxy(function(e) {
4213				if (e.namespace && e.property.name === 'position') {
4214					var current = this._core.items(this._core.relative(this._core.current())),
4215						hash = $.map(this._hashes, function(item, hash) {
4216							return item === current ? hash : null;
4217						}).join();
4218
4219					if (!hash || window.location.hash.slice(1) === hash) {
4220						return;
4221					}
4222
4223					window.location.hash = hash;
4224				}
4225			}, this)
4226		};
4227
4228		// set default options
4229		this._core.options = $.extend({}, Hash.Defaults, this._core.options);
4230
4231		// register the event handlers
4232		this.$element.on(this._handlers);
4233
4234		// register event listener for hash navigation
4235		$(window).on('hashchange.owl.navigation', $.proxy(function(e) {
4236			var hash = window.location.hash.substring(1),
4237				items = this._core.$stage.children(),
4238				position = this._hashes[hash] && items.index(this._hashes[hash]);
4239
4240			if (position === undefined || position === this._core.current()) {
4241				return;
4242			}
4243
4244			this._core.to(this._core.relative(position), false, true);
4245		}, this));
4246	};
4247
4248	/**
4249	 * Default options.
4250	 * @public
4251	 */
4252	Hash.Defaults = {
4253		URLhashListener: false
4254	};
4255
4256	/**
4257	 * Destroys the plugin.
4258	 * @public
4259	 */
4260	Hash.prototype.destroy = function() {
4261		var handler, property;
4262
4263		$(window).off('hashchange.owl.navigation');
4264
4265		for (handler in this._handlers) {
4266			this._core.$element.off(handler, this._handlers[handler]);
4267		}
4268		for (property in Object.getOwnPropertyNames(this)) {
4269			typeof this[property] != 'function' && (this[property] = null);
4270		}
4271	};
4272
4273	$.fn.owlCarousel.Constructor.Plugins.Hash = Hash;
4274
4275})(window.Zepto || window.jQuery, window, document);
4276
4277/**
4278 * Support Plugin
4279 *
4280 * @version 2.3.4
4281 * @author Vivid Planet Software GmbH
4282 * @author Artus Kolanowski
4283 * @author David Deutsch
4284 * @license The MIT License (MIT)
4285 */
4286;(function($, window, document, undefined) {
4287
4288	var style = $('<support>').get(0).style,
4289		prefixes = 'Webkit Moz O ms'.split(' '),
4290		events = {
4291			transition: {
4292				end: {
4293					WebkitTransition: 'webkitTransitionEnd',
4294					MozTransition: 'transitionend',
4295					OTransition: 'oTransitionEnd',
4296					transition: 'transitionend'
4297				}
4298			},
4299			animation: {
4300				end: {
4301					WebkitAnimation: 'webkitAnimationEnd',
4302					MozAnimation: 'animationend',
4303					OAnimation: 'oAnimationEnd',
4304					animation: 'animationend'
4305				}
4306			}
4307		},
4308		tests = {
4309			csstransforms: function() {
4310				return !!test('transform');
4311			},
4312			csstransforms3d: function() {
4313				return !!test('perspective');
4314			},
4315			csstransitions: function() {
4316				return !!test('transition');
4317			},
4318			cssanimations: function() {
4319				return !!test('animation');
4320			}
4321		};
4322
4323	function test(property, prefixed) {
4324		var result = false,
4325			upper = property.charAt(0).toUpperCase() + property.slice(1);
4326
4327		$.each((property + ' ' + prefixes.join(upper + ' ') + upper).split(' '), function(i, property) {
4328			if (style[property] !== undefined) {
4329				result = prefixed ? property : true;
4330				return false;
4331			}
4332		});
4333
4334		return result;
4335	}
4336
4337	function prefixed(property) {
4338		return test(property, true);
4339	}
4340
4341	if (tests.csstransitions()) {
4342		/* jshint -W053 */
4343		$.support.transition = new String(prefixed('transition'))
4344		$.support.transition.end = events.transition.end[ $.support.transition ];
4345	}
4346
4347	if (tests.cssanimations()) {
4348		/* jshint -W053 */
4349		$.support.animation = new String(prefixed('animation'))
4350		$.support.animation.end = events.animation.end[ $.support.animation ];
4351	}
4352
4353	if (tests.csstransforms()) {
4354		/* jshint -W053 */
4355		$.support.transform = new String(prefixed('transform'));
4356		$.support.transform3d = tests.csstransforms3d();
4357	}
4358
4359})(window.Zepto || window.jQuery, window, document);
4360
4361$('select.custom').each(function () {
4362
4363    // Cache the number of options
4364    var $this = $(this),
4365        numberOfOptions = $(this).children('option').length;
4366
4367    // Hides the select element
4368    $this.addClass('s-hidden');
4369
4370    // Wrap the select element in a div
4371    $this.wrap('<div class="select-custom"></div>');
4372
4373    // Insert a styled div to sit over the top of the hidden select element
4374    $this.after('<div class="styledSelect"></div>');
4375
4376    // Cache the styled div
4377    var $styledSelect = $this.next('div.styledSelect');
4378
4379    // Show the first select option in the styled div
4380    if ($(this).find('option:selected')) {
4381        $styledSelect.text($(this).find('option:selected').text());
4382    } else {
4383        $styledSelect.text($this.children('option').eq(0).text());
4384    }
4385
4386    // Insert an unordered list after the styled div and also cache the list
4387    var $list = $('<ul />', {
4388        'class': 'options'
4389    }).insertAfter($styledSelect);
4390
4391    // Insert a list item into the unordered list for each select option
4392    for (var i = 0; i < numberOfOptions; i++) {
4393        $('<li />', {
4394            text: $this.children('option').eq(i).text(),
4395            rel: $this.children('option').eq(i).val()
4396        }).appendTo($list);
4397    }
4398
4399    if ($(this).find('option:selected')) {
4400        var selectedItemIndex = $(this).find('option:selected').index();
4401        /*$list.find('li').eq(selectedItemIndex).remove();*/
4402    }
4403
4404    // Cache the list items
4405    var $listItems = $list.children('li');
4406
4407    // Show the unordered list when the styled div is clicked (also hides it if the div is clicked again)
4408    $styledSelect.click(function (e) {
4409        e.stopPropagation();
4410        $('div.styledSelect.active').each(function () {
4411            $(this).removeClass('active').next('ul.options').hide();
4412        });
4413        $(this).toggleClass('active').next('ul.options').toggle();
4414    });
4415
4416    // Hides the unordered list when a list item is clicked and updates the styled div to show the selected list item
4417    // Updates the select element to have the value of the equivalent option
4418    $listItems.click(function (e) {
4419        /*e.stopPropagation();*/
4420        $styledSelect.text($(this).text()).removeClass('active');
4421        $this.val($(this).attr('rel'));
4422        $list.hide();
4423        /* alert($this.val()); Uncomment this for demonstration! */
4424    });
4425
4426    // Hides the unordered list when clicking outside of it
4427    $(document).click(function () {
4428        $styledSelect.removeClass('active');
4429        $list.hide();
4430    });
4431
4432});
4433(function ($, window, document) {
4434
4435    $(function () {
4436        /*$('.mobile-search-btn').click(function () {
4437            $('.head-search').fadeToggle();
4438        });*/
4439
4440        /*$('#navbarMain').on('hide.bs.dropdown', function (e) {
4441            if (e.clickEvent) {
4442                e.preventDefault();
4443            }
4444        });*/
4445
4446        $(document).on("click", function (event) {
4447            if (event.target === $(".dropdown-menu")) {
4448                event.stopPropagation();
4449                event.preventDefault();
4450            }
4451        });
4452
4453        if ($('#content.ordering-process').length && $('.gift-choose-box').length && $(window).width() <= 768) {
4454            $('.gift-choose-list').addClass('owl-carousel');
4455            $('.gift-choose-list').owlCarousel({
4456                margin: 10,
4457                loop: true,
4458                autoWidth: false,
4459                dots: false,
4460                nav: true,
4461                autoplay: false,
4462                items: 1.2
4463            });
4464        }
4465        if ($('#content.ordering-process').length && $('header .head-action-message').length) {
4466            if ($(window).width() <= 768) {
4467                $('body').addClass('mobile-ordering-process');
4468            }
4469        }
4470
4471        $('header .head-search-btn').click(function () {
4472            $('header .head-search').toggleClass('open');
4473        });
4474
4475        $('header .head-search .search-close').click(function () {
4476            $('header .head-search').toggleClass('open');
4477        });
4478
4479        var variantsFunction = function () {
4480            if ($('.product-variants').length && $(window).width() < 767) {
4481                $('.product-variants').addClass('owl-carousel');
4482                setTimeout(function () {
4483                    $('.product-variants').owlCarousel({
4484                        margin: 10,
4485                        loop: false,
4486                        autoWidth: true,
4487                        dots: false,
4488                        nav: true,
4489                        items: 4,
4490
4491                        responsive: {
4492                            0: {
4493                                items: 3,
4494                            },
4495                            480: {
4496                                items: 4,
4497                            },
4498                        }
4499                    });
4500                }, 300); 
4501            } else {
4502                $('.product-variants').owlCarousel('destroy');
4503            }
4504        };
4505
4506        variantsFunction();
4507
4508        $(window).resize(function () {
4509            variantsFunction();
4510        });
4511
4512        if ($(window).width() <= 992) {
4513            if ($('header .navigation').length) {
4514                if ($('header .navigation .mobile-classic-nav').length) {
4515                    $('header .navigation .dropdown.eshop .dropdown-menu .mobile-classic-nav > a').insertBefore($('header .navigation .dropdown.eshop .dropdown-menu .mobile-classic-nav'));
4516                    $('header .navigation .dropdown.eshop .dropdown-menu a.salons').insertBefore($('header .navigation .dropdown.eshop .dropdown-menu .mobile-classic-nav'));
4517                    $('header .navigation .dropdown.normal .dropdown-menu .dropdown-section').insertBefore($('header .navigation .dropdown.eshop .dropdown-menu .mobile-classic-nav'));
4518                    $('header .navigation .dropdown.eshop').addClass('in-eshop');
4519
4520                } else {
4521                    $('header .navigation .dropdown.eshop .dropdown-menu .container').append($('header .navigation .dropdown.eshop').nextAll());
4522                    $('header .navigation .dropdown.eshop .dropdown-menu .container').append($('.dropdown.eshop li.salons .dropdown-menu .dropdown-section'));
4523                }
4524            }
4525
4526            var windowWidth = $(window).width();
4527
4528            $(window).resize(function () {
4529                var windowWidthNew = $(window).width();
4530
4531                if (windowWidthNew > windowWidth + 10) {
4532                    this.location.reload(false);
4533                } else if (windowWidthNew < windowWidth - 10) {
4534                    this.location.reload(false);
4535                }
4536            });
4537
4538        }
4539
4540        if ($('.persons-toggle-wrap').length) {
4541            $('.persons-toggle-wrap').each(function () {
4542                var $thisTitle = $(this).find('.person-toggle-title');
4543                var $thisContent = $(this).find('.person-toggle-content');
4544
4545                if ($(this).find('.person-toggle-title.active + .person-toggle-content').length) {
4546                    $(this).find('.person-toggle-title.active + .person-toggle-content').slideDown();
4547                }
4548
4549                $thisTitle.click(function () {
4550                    $(this).toggleClass('active');
4551                    $thisContent.slideToggle();
4552                });
4553            });
4554        }
4555
4556        /*if ($(window).width() <= 992) {
4557            $('#navbarMain').on('hide.bs.collapse', function () {
4558                $('header .head-action-bar ul li .head-search').hide();
4559            });
4560            $('#navbarMain').on('show.bs.collapse', function () {
4561                $('header .head-action-bar ul li .head-search').show();
4562            });
4563        }*/
4564
4565        /* $('header .navbar-nav li.dropdown').each(function () {
4566             $(this).hover(function (e) {
4567                 $(this).find('.dropdown-menu').addClass('open');
4568             });
4569
4570             $(this).mouseout(function (e) {
4571                 $(this).find('.dropdown-menu').removeClass('open');
4572             });
4573         });
4574
4575
4576
4577         $('header .navbar-nav .dropdown-close').click(function (e) {
4578             e.preventDefault();
4579             e.stopImmediatePropagation();
4580             $(this).parents('.dropdown-menu').removeClass('open');
4581         });*/
4582
4583
4584        // Eshop
4585
4586        $('.product-top-right .product-manufacturer-line').click(function () {
4587            $('a[id="recenze-tab"]').click();
4588
4589            $('html, body').animate({
4590                scrollTop: $('.product-tabs-part').offset().top - 100
4591            }, 500);
4592
4593            $('#recenze .rating-button .button').click();
4594        });
4595
4596
4597        $('.added-to-cart-popup .popup-right-side .popup-close').click(function () {
4598            $('.added-to-cart-popup').fadeOut();
4599        });
4600
4601        $('.added-to-cart-popup .button.eshop-back').click(function (e) {
4602            e.preventDefault();
4603            $('.added-to-cart-popup').fadeOut();
4604        });
4605
4606        $('header .head-action-bar .head-cart').click(function () {
4607            $('.added-to-cart-popup').fadeToggle();
4608        });
4609
4610        $('.added-to-cart-popup').click(function(e){
4611            if ($('.added-to-cart-popup').length) {
4612                if ($(e.target).closest('.cart-popup-inner').length === 0) {
4613                    $('.added-to-cart-popup').fadeOut();
4614                }
4615            }
4616        });
4617
4618        $('#category-filter .filter-section').each(function () {
4619            if (!$(this).hasClass('toggle-disabled')) {
4620                var $title = $(this).find('.section-title');
4621                var $section = $(this).find('.section-content');
4622
4623                if (!$(this).hasClass('categories')) {
4624                    if (!$(this).hasClass('open')) {
4625                        if ($section.find('input:checked').length) {
4626                            $section.slideDown();
4627                            $title.addClass('open');
4628                        } else {
4629                            $section.slideUp();
4630                            $title.addClass('remove');
4631                        }
4632                    }
4633                }
4634
4635                $title.click(function () {
4636                    $section.slideToggle();
4637                    $title.toggleClass('open');
4638                });
4639            }
4640        });
4641
4642        $('.filters-btn').click(function () {
4643            $('#category-filter').toggleClass('show');
4644        });
4645
4646        $('.sm-filters-toggle-btn').click(function () {
4647            $('#category-filter').toggleClass('show');
4648
4649            $('#category-filter .close').click(function (e) {
4650                e.preventDefault();
4651                e.stopImmediatePropagation();
4652                $('#category-filter').removeClass('show');
4653                $("nav .navbar-collapse").collapse('hide');
4654                $('header').removeClass('mobile-menu-show');
4655
4656                $('header nav.navbar-expand-lg .navbar-nav li.dropdown.eshop').removeClass('show');
4657                $('header nav.navbar-expand-lg .navbar-nav li.dropdown.eshop .dropdown-menu').removeClass('show');
4658            });
4659        });
4660
4661        $("form#category-filter").submit(function (e) {
4662            e.preventDefault();
4663
4664            var form = $(this);
4665            var url = form.attr('action');
4666
4667            $.ajax({
4668                type: "POST",
4669                url: url,
4670                data: form.serialize(),
4671                success: function (data) {
4672                    $('#category-filter').removeClass('show');
4673                }
4674            });
4675
4676
4677        });
4678        //
4679
4680        $(window).scroll(function () {
4681            var sctollTop = $(window).scrollTop();
4682
4683            if (sctollTop > 60) {
4684                $('body').addClass('nav-scroll');
4685            } else {
4686                $('body').removeClass('nav-scroll');
4687            }
4688        });
4689
4690        $('input[type="file"]').each(function () {
4691            // Refs
4692            var $file = $(this),
4693                $label = $file.next('label'),
4694                $labelText = $label.find('span'),
4695                labelDefault = $labelText.text();
4696
4697            // When a new file is selected
4698            $file.on('change', function (event) {
4699                var fileName = $file.val().split('\\').pop(),
4700                    tmppath = URL.createObjectURL(event.target.files[0]);
4701                //Check successfully selection
4702                if (fileName) {
4703                    $label
4704                        .addClass('file-ok');
4705                    $labelText.text(fileName);
4706                } else {
4707                    $label.removeClass('file-ok');
4708                    $labelText.text(labelDefault);
4709                }
4710            });
4711        });
4712
4713        $(function () {
4714            var show = 'show';
4715
4716            $('form input, form textarea').on('checkval', function () {
4717                var label = $(this).next('label');
4718                if (this.value !== '') {
4719                    label.addClass(show);
4720                } else {
4721                    label.removeClass(show);
4722                }
4723            }).on('keyup', function () {
4724                $(this).trigger('checkval');
4725            });
4726        });
4727
4728        if ($('.top-products-tabs .products-list.owl-carousel').length) {
4729            setTimeout(function () {
4730                $('.top-products-tabs .products-list.owl-carousel').owlCarousel({
4731                    margin: 10,
4732                    loop: true,
4733                    autoWidth: false,
4734                    dots: false,
4735                    nav: true,
4736                    autoplay: true,
4737                    items: 3.6,
4738
4739                    responsive: {
4740                        0: {
4741                            items: 1.3,
4742                            margin: 15
4743                        },
4744                        480: {
4745                            items: 1.5,
4746                        },
4747                        768: {
4748                            items: 1.75,
4749                        },
4750                        992: {
4751                            items: 2.5,
4752                        },
4753                        1200: {
4754                            items: 3.5,
4755                        },
4756                    }
4757                });
4758            }, 200);
4759        }
4760        /*$('.filter-section .dropdown-tags .tag-item.toggle').each(function () {
4761            var $thisTag = $(this);
4762            if ($(this).find('input:checked').length) {
4763                $(this).addClass('active');
4764            }
4765
4766            $(this).find('.tag-title').click(function () {
4767                $thisTag.toggleClass('active');
4768            });
4769        });
4770*/
4771        $('.cart-form-title.toggle').click(function () {
4772            $(this).toggleClass('open');
4773            $(this).next('.toggle-form-content').slideToggle();
4774        });
4775
4776        $('.user-account-head .nav-part .mobile-toggle').click(function () {
4777            $('.user-account-head .nav-part .user-nav').slideToggle();
4778        });
4779
4780        if ($('.another-products-box .products-list.owl-carousel').length) {
4781            setTimeout(function () {
4782                $('.another-products-box .products-list.owl-carousel').owlCarousel({
4783                    margin: 10,
4784                    loop: true,
4785                    autoWidth: false,
4786                    dots: false,
4787                    nav: true,
4788                    autoplay: true,
4789                    items: 5,
4790
4791                    responsive: {
4792                        0: {
4793                            items: 1.5,
4794                        },
4795                        400: {
4796                            items: 2,
4797                        },
4798                        768: {
4799                            items: 3,
4800                        },
4801                        992: {
4802                            items: 4,
4803                        },
4804                        1300: {
4805                            items: 5,
4806                        },
4807                    }
4808                });
4809            }, 200);
4810        }
4811
4812        if ($('.detail-catalogue.owl-carousel').length) {
4813            setTimeout(function () {
4814                $('.detail-catalogue.owl-carousel').owlCarousel({
4815                    margin: 0,
4816                    loop: false,
4817                    autoWidth: false,
4818                    dots: false,
4819                    nav: true,
4820                    autoplay: false,
4821                    items: 1,
4822                });
4823            }, 200);
4824        }
4825
4826        $('.address-roll-button').click(function () {
4827            $(this).toggleClass('active');
4828        });
4829
4830        if ($(window).height() < 800 && $(window).width() >= 768) {
4831            if ($('.eshop .sidebar').length) {
4832                $('.eshop .sidebar').css('position', 'relative');
4833                $('.eshop .sidebar').css('top', '0');
4834            }
4835        }
4836
4837        var mobileNav = function () {
4838            if ($(window).width() < 992) {
4839                if ($('nav').hasClass('eshop-nav')) {
4840                    var openMenu = function () {
4841                        setTimeout(function () {
4842                            $('header').addClass('mobile-menu-show');
4843                            $('header').addClass('eshop');
4844                            $('header nav.navbar-expand-lg .navbar-nav li.dropdown.eshop').addClass('show');
4845                            $('header nav.navbar-expand-lg .navbar-nav li.dropdown.eshop .dropdown-menu').addClass('show');
4846                            $("nav .navbar-collapse").collapse('show');
4847                        }, 2);
4848                    };
4849
4850                    var closeMenu = function () {
4851                        $("nav .navbar-collapse").collapse('hide');
4852                        $('header').removeClass('mobile-menu-show');
4853
4854                        setTimeout(function () {
4855                            $('header nav.navbar-expand-lg .navbar-nav li.dropdown.eshop').removeClass('show');
4856                            $('header nav.navbar-expand-lg .navbar-nav li.dropdown.eshop .dropdown-menu').removeClass('show');
4857                        }, 2);
4858                    };
4859
4860                    $('#category-filter .mobile-buttons button').click(function () {
4861                        setTimeout(function () {
4862                            closeMenu();
4863                        }, 2);
4864                    });
4865
4866                    $('.navbar-light .navbar-toggler').click(function () {
4867                        openMenu();
4868                    });
4869
4870                    $('.dropdown.eshop .nav-link.dropdown-toggle').click(function (e) {
4871                        closeMenu();
4872                    });
4873
4874                    $('.dropdown.eshop .nav-link').click(function (e) {
4875                        closeMenu();
4876                    });
4877
4878                    $('#category-filter .mobile-buttons .close').click(function () {
4879                        $('#category-filter').removeClass('show');
4880                        setTimeout(function () {
4881                            openMenu();
4882                        }, 2);
4883                    });
4884
4885
4886                } else {
4887                    $('#category-filter .mobile-buttons .button.apply').click(function () {
4888                        setTimeout(function () {
4889                            $('.navbar-light .navbar-toggler').click();
4890                        }, 10);
4891                    });
4892
4893                    $('.navbar-light .navbar-toggler').click(function () {
4894                        if ($(this).attr('aria-expanded') === 'true') {
4895                            $('header').removeClass('mobile-menu-show');
4896                        } else {
4897                            $('header').addClass('mobile-menu-show');
4898                            $('header nav.navbar-expand-lg .navbar-nav li.dropdown.eshop').addClass();
4899                        }
4900
4901                        /*setTimeout(function () {
4902                            if ($('.navbar-light').hasClass('eshop-nav')) {
4903                                $('nav.navbar-expand-lg .navbar-nav .dropdown.eshop .dropdown-toggle').click();
4904                            }
4905                        }, 3);*/
4906
4907                        $('header nav.navbar-expand-lg .navbar-nav li.dropdown.show .filters-btn + .nav-link.dropdown-toggle').click(function (e) {
4908                            if ($('.navbar-light .navbar-toggler').attr('aria-expanded') === 'true') {
4909
4910                            } else {
4911                                $("nav .navbar-collapse").collapse('hide');
4912                                $('header').removeClass('mobile-menu-show');
4913                            }
4914                        });
4915                    });
4916
4917                }
4918
4919                $('header .navigation.classic-nav nav.navbar.navbar-light .nav-link.mobile-redirect').click(function (e) {
4920                    e.preventDefault();
4921                    e.stopImmediatePropagation();
4922                    window.location.href = $(this).attr('href');
4923                });
4924
4925            } else {
4926                $('.dropdown').each(function () {
4927                    var $thisItem = $(this);
4928
4929                    $thisItem.hover(function () {
4930                        $thisItem.addClass('show');
4931                        $thisItem.find('> .dropdown-menu').addClass('show');
4932                        $thisItem.find('> .dropdown-toggle').attr('aria-expanded', 'true');
4933                    });
4934
4935                    $thisItem.mouseleave(function () {
4936                        $thisItem.removeClass('show');
4937                        $thisItem.find('> .dropdown-menu').removeClass('show');
4938                        $thisItem.find('> .dropdown-toggle').attr('aria-expanded', 'false');
4939                    });
4940
4941                    $thisItem.find('> .nav-link').click(function (e) {
4942                        e.preventDefault();
4943                        e.stopImmediatePropagation();
4944                        window.location.href = $(this).attr('href');
4945                    });
4946
4947                    $thisItem.find('.dd-close').click(function () {
4948                        $thisItem.removeClass('show');
4949                        $thisItem.find('> .dropdown-menu').removeClass('show');
4950                        $thisItem.find('> .dropdown-toggle').attr('aria-expanded', 'false');
4951                    });
4952                });
4953
4954
4955            }
4956        };
4957
4958        mobileNav();
4959
4960
4961/* GALERIE - verze 2021 */
4962        if ($('.product-top-left .product-thumbs').length) {
4963            setTimeout(function () {
4964                $('.product-top-left .product-thumbs').owlCarousel({
4965                    margin: 25,
4966                    loop: false,
4967                    autoWidth: false,
4968                    dots: false,
4969                    nav: true,
4970                    autoplay: false,
4971                    items: 4,
4972
4973                    responsive: {
4974                        0: {
4975                            items: 4,
4976                        },
4977                        480: {
4978                            items: 4,
4979                        },
4980                    }
4981                });
4982            }, 200);
4983        }
4984
4985/* GALERIE - verze 2022 */
4986/*        $(window).resize(function () {
4987            mobileNav();
4988        });
4989
4990        var productsThumbs = function () {
4991            if ($('.product-top-left .product-thumbs').length) {
4992                if ($(window).width() >= 767) {
4993		  if (!$('.product-top-left .product-thumbs').hasClass('desktop')) {
4994		    $('.product-top-left .product-thumbs').owlCarousel('destroy');
4995		    $('.product-top-left .product-thumbs').addClass('desktop');
4996		    $('.product-top-left .product-thumbs').removeClass('mobile');
4997                    setTimeout(function () {
4998                        if ($('.product-top-left .product-thumbs .first-img').length) {
4999                            $('.product-top-left .main-photo').append($('.product-top-left .first-img'));
5000                        }
5001
5002                        $('.product-top-left .product-thumbs').owlCarousel({
5003                            margin: 25,
5004                            loop: false,
5005                            autoWidth: false,
5006                            dots: false,
5007                            nav: true,
5008                            autoplay: false,
5009                            items: 3,
5010
5011                            responsive: {
5012                                0: {
5013                                    items: 2,
5014                                },
5015                                480: {
5016                                    items: 3,
5017                                },
5018                            }
5019                        });
5020
5021                        $('.product-top-left .product-thumbs .owl-prev').click(function (e) {
5022                            $('.product-top-left .product-thumbs').trigger('to.owl.carousel', [0, 500, true]);
5023                        });
5024                    }, 200);
5025		  }
5026                } else {
5027		  if (!$('.product-top-left .product-thumbs').hasClass('mobile')) {
5028		    $('.product-top-left .product-thumbs').owlCarousel('destroy');
5029                    $('.product-top-left .product-thumbs').prepend($('.product-top-left .first-img'));
5030		    $('.product-top-left .product-thumbs').addClass('mobile');
5031		    $('.product-top-left .product-thumbs').removeClass('desktop');
5032
5033                    setTimeout(function () {
5034                        $('.product-top-left .product-thumbs').owlCarousel({
5035                            margin: 25,
5036                            loop: false,
5037                            autoWidth: false,
5038                            dots: false,
5039                            nav: true,
5040                            autoplay: false,
5041                            items: 1,
5042                        });
5043
5044                    }, 200);
5045		  }
5046                }
5047            }
5048        };
5049
5050        productsThumbs();
5051
5052        $(window).resize(function () {
5053            productsThumbs();
5054        });*/
5055
5056
5057        /*var quantityChange = function () {
5058            $('.quantity .plus').click(function () {
5059                var $input = $(this).parent().find('input');
5060                $input.val(+$input.val() + 1);
5061            });
5062            $('.quantity .minus').click(function () {
5063                var $input = $(this).parent().find('input');
5064
5065                if ($input.val() > 1) {
5066                    $input.val($input.val() - 1);
5067                }
5068            });
5069        };
5070
5071        quantityChange();*/
5072
5073        if ($(window).width() >= 768) {
5074            $('.gift-choose-box .gift-choose-title').click(function () {
5075                $('.gift-choose-box .gift-choose-title .arrow').toggleClass('rotate');
5076                $('.gift-choose-box .gift-choose-list').slideToggle();
5077            });
5078        } else {
5079            $('.gift-choose-box .gift-choose-title .arrow-mobile').click(function () {
5080                $('.gift-choose-box .owl-nav .owl-next').click();
5081            });
5082        }
5083
5084        if ($('#recenze .new-rating-btn').length) {
5085            $('#recenze .new-rating-btn').click(function (e) {
5086                e.preventDefault();
5087                $('#recenze .new-rating-form').slideToggle();
5088            });
5089
5090            if ($('#recenze .ratings-list .rating-item').length > 3) {
5091                $('#recenze .ratings-list').addClass('short');
5092                $('#recenze .ratings-list .load-more').show();
5093
5094                $('#recenze .ratings-list .load-more').click(function (ev) {
5095                    ev.preventDefault();
5096                    $('#recenze .ratings-list').removeClass('short');
5097                    $(this).remove();
5098                });
5099            }
5100        }
5101
5102        $(".rating-stars label").click(function () {
5103            $(this).parent().find("label").css({
5104                "background": "url(/images/star.svg) no-repeat center top 4px",
5105                "background-size": "20px"
5106            });
5107            $(this).css({
5108                "background": "url(/images/star-full.svg) no-repeat center top 4px",
5109                "background-size": "20px"
5110            });
5111            $(this).nextAll().css({
5112                "background": "url(/images/star-full.svg) no-repeat center top 4px",
5113                "background-size": "20px"
5114            });
5115        });
5116
5117        if ($('.brands.slider').length) {
5118            setTimeout(function () {
5119                $('.brands.slider').owlCarousel({
5120                    margin: 10,
5121                    loop: true,
5122                    autoWidth: true,
5123                    dots: false,
5124                    nav: true,
5125                    items: 4,
5126
5127                    responsive: {
5128                        0: {
5129                            items: 1,
5130                        },
5131                        480: {
5132                            items: 2,
5133                        },
5134                        768: {
5135                            items: 3,
5136                        }
5137                    }
5138                });
5139            }, 800);
5140        }
5141
5142        if ($('.search-wh-partners .search-partners-box').length) {
5143            setTimeout(function () {
5144                $('.search-wh-partners .search-partners-box').owlCarousel({
5145                    margin: 10,
5146                    loop: true,
5147                    autoWidth: false,
5148                    dots: false,
5149                    nav: true,
5150                    items: 6,
5151
5152                    responsive: {
5153                        0: {
5154                            items: 1,
5155                        },
5156                        480: {
5157                            items: 2,
5158                        },
5159                        768: {
5160                            items: 3,
5161                        },
5162                        1200: {
5163                            items: 4,
5164                        },
5165                        1500: {
5166                            items: 5,
5167                        }
5168                    }
5169                });
5170            }, 700);
5171        }
5172
5173        /*if ($('#map-canvas').length) {
5174            var salonsMap = function () {
5175                var locations = [
5176                    ['<h3 class="mb-1">Salon 1</h3><br>Palackého 238<br>Příbram<br>Telefon: 123 456 789', 49.694190, 13.993245, '../../images/marker-gold.svg'],
5177                    ['<h3 class="mb-1">Salon 2</h3><br>U trati 9<br>Pardubice<br>Telefon: 123 456 789', 50.055597, 15.776071, '../../images/marker-silver.svg'],
5178                    ['<h3 class="mb-1">Salon 3</h3><br>Náměstí republiky 16<br>Tišnov<br>Telefon: 123 456 789', 49.855597, 16.776071, '../../images/marker-bronze.svg'],
5179                ];
5180
5181                var map = new google.maps.Map(document.getElementById('map-canvas'), {
5182                    zoom: 7,
5183                    center: new google.maps.LatLng(49.875232, 15.035319),
5184                    styles: [{
5185                        stylers: [{
5186                            saturation: -100
5187                        }]
5187
5188                    }],
5189                    mapTypeId: google.maps.MapTypeId.ROADMAP
5190                });
5191
5192                var infowindow = new google.maps.InfoWindow();
5193
5194                var marker, i;
5195
5196                for (i = 0; i < locations.length; i++) {
5197                    marker = new google.maps.Marker({
5198                        position: new google.maps.LatLng(locations[i][1], locations[i][2]),
5199                        icon: locations[i][3],
5200                        map: map
5201                    });
5202
5203                    google.maps.event.addListener(marker, 'click', (function (marker, i) {
5204                        return function () {
5205                            infowindow.setContent(locations[i][0]);
5206                            infowindow.open(map, marker);
5207                        }
5208                    })(marker, i));
5209                }
5210            };
5211
5212            salonsMap();
5213        }*/
5214
5215        if ($('#map-canvas-branches').length) {
5216            $('#branchesModal .modal-dialog .modal-content .modal-body .modal-main .branches-list .branch-item').each(function () {
5217                var thisBranch = $(this);
5218                var thisTopPart = $(this).find('.branch-top');
5219
5220                thisTopPart.click(function () {
5221                    $('#branchesModal .modal-dialog .modal-content .modal-body .modal-main .branches-list .branch-item').removeClass('active');
5222                    thisBranch.addClass('active');
5223                });
5224            });
5225
5226            var branchesMap = function () {
5227                var branchesLocations = [
5228                    ['<h4 class="mb-1">Pobočka 1</h4>', 49.694190, 13.993245, '/images/eshop/pin-prodejna.svg'],
5229                    ['<h4 class="mb-1">Pobočka 2</h4>', 50.055597, 15.776071, '/images/eshop/pin-zasilkovna.svg'],
5230                    ['<h4 class="mb-1">Pobočka 3</h4>', 49.855597, 16.776071, '/images/eshop/pin-ppl.svg'],
5231                    ['<h4 class="mb-1">Pobočka 4</h4>', 49.77206491142731, 14.677948066196063, '/images/eshop/pin-posta.svg'],
5232                ];
5233
5234                var branchesMap = new google.maps.Map(document.getElementById('map-canvas-branches'), {
5235                    zoom: 8,
5236                    /* Zoom level of your map */
5237                    center: new google.maps.LatLng(49.875232, 15.035319),
5238                    /*styles: [{
5239                        stylers: [{
5240                            saturation: -100
5241                        }]
5242                    }],*/
5243                    /* coordinates for the center of your map */
5244                    mapTypeId: google.maps.MapTypeId.ROADMAP
5245                });
5246
5247                var branchInfowindow = new google.maps.InfoWindow();
5248
5249                var branchMarker, i;
5250
5251                for (i = 0; i < branchesLocations.length; i++) {
5252                    branchMarker = new google.maps.Marker({
5253                        position: new google.maps.LatLng(branchesLocations[i][1], branchesLocations[i][2]),
5254                        icon: {
5255                            url: branchesLocations[i][3],
5256                            size: new google.maps.Size(18, 25),
5257                            scaledSize: new google.maps.Size(18, 25),
5258                            anchor: new google.maps.Point(0, 50)
5259                        },
5260                        map: branchesMap
5261                    });
5262
5263                    google.maps.event.addListener(branchMarker, 'click', (function (marker, i) {
5264                        return function () {
5265                            branchInfowindow.setContent(branchesLocations[i][0]);
5266                            branchInfowindow.open(branchesMap, marker);
5267                        }
5268                    })(branchMarker, i));
5269                }
5270            };
5271
5272            branchesMap();
5273        }
5274    });
5275
5276}(window.jQuery, window, document));
5277$(document).on('click', function (e) {
5278    if ($(e.target).closest(".form.head-search.open").length === 0 && $(e.target).closest(".head-search-btn").length === 0) {
5279        $(".form.head-search.open").removeClass("open");
5280    }
5281});
5282
5283jQuery(document).ready(function($) {
5284  // preklik z bezregistracie na registraciu
5285  if ($('#make-account-1').length) {
5286    $('#make-account-1').on('click', function(event) {
5287      //event.preventDefault();
5288          $('.order-info-panel-nonregistred').toggle();
5289	  $('.btn-newregistration').removeClass('hide');
5290	  $('.btn-order').addClass('hide');
5291	  $('#make-account-2').prop('checked',this.checked);
5292	  copyDataEnumerator(false);	  
5293    });
5294  }
5295  
5296  // preklik z registracie na bezregistraciu
5297  if ($('#make-account-2').length) {
5298    $('#make-account-2').on('click', function(event) {
5299      //event.preventDefault();
5300      $('.order-info-panel-nonregistred').toggle();
5301	  $('#make-account-1').prop('checked',this.checked);
5302	  $('.btn-order').removeClass('hide');
5303	  $('.btn-newregistration').addClass('hide');
5304	  copyDataEnumerator(true);
5305
5306    });
5307  }
5308  
5309  // if ($('.js-form__registration').length) {
5310    // $('.js-form__registration').on('click', function(event) {
5311      // //event.preventDefault();
5312      // $('.order-info-panel-nonregistred').toggle();
5313    // });
5314  // }
5315});
5316
5317function copyDataEnumerator(switch_){
5318	//jmeno
5319	copyData(
5320		switch_,
5321		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox7'), 
5322		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox19'));
5323		
5324	//prijmeni
5325	copyData(
5326		switch_,
5327		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox8'), 
5328		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox20'));
5329		
5330	//ulice
5331	copyData(
5332		switch_,
5333		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox4'), 
5334		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox4'));
5335	
5336	//mesto
5337	copyData(
5338		switch_,
5339		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox3'), 
5340		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox5'));
5341	
5342	//psc
5343	copyData(
5344		switch_,
5345		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox6'), 
5346		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox12'));
5347		
5348	//telefon
5349	copyData(
5350		switch_,
5351		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox12'), 
5352		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox7'));
5353	
5354	//email
5355	copyData(
5356		switch_,
5357		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox13'), 
5358		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox8'));
5359		
5360	//firma
5361	copyData(
5362		switch_,
5363		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox10'), 
5364		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox1'));
5365		
5366	//ico
5367	copyData(
5368		switch_,
5369		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox15'), 
5370		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox13'));
5371		
5372	//dic
5373	copyData(
5374		switch_,
5375		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox14'), 
5376		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox14'));
5377		
5378	//alt. ulice
5379	copyData(
5380		switch_,
5381		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox19'), 
5382		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox6'));
5383		
5384	//alt. mesto
5385	copyData(
5386		switch_,
5387		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox17'), 
5388		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox11'));
5389		
5390	//alt. psc
5391	copyData(
5392		switch_,
5393		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox18'), 
5394		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox15'));
5395	
5396	//alt. telefon
5397	copyData(
5398		switch_,
5399		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox20'), 
5400		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox18'));	
5401	
5402	//poznamka
5403	copyData(
5404		switch_,
5405		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_TextBox5'), 
5406		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_TextBox16'));		
5407		
5408	//obch. podmienky
5409	copyCheck(
5410		switch_,
5411		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_cbBusinessConditions'), 
5412		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_cbBusinessConditions'));	
5413
5414	//emaily
5415	copyCheck(
5416		switch_,
5417		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_cbNewsletter'), 
5418		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_CheckBoxEmailNews'));
5419/*	
5420	//gdpr
5421	copyCheck(
5422		switch_,
5423		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_cbGDPR'), 
5424		$('#cbGDPR'));		
5425	
5426	//heureka
5427	copyCheck(
5428		switch_,
5429		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormOverview_cbHeureka'), 
5430		$('#ctl00_ewpz1_mainTemplateCtrl_FormDeliveryInformation_FormRegistration_cbHeureka'));	
5431*/	
5432}
5433
5434
5435function copyData(switch_, from_, to_){
5436	if (switch_){
5437		from_.val(to_.val());
5438	} 
5439	else{
5440		to_.val(from_.val());
5441	}
5442}
5443
5444function copyCheck(switch_, from_, to_){	
5445	if (switch_){		
5446		from_.prop("checked", to_[0].checked);
5447	} 
5448	else{
5449		to_.prop("checked", from_[0].checked);
5450	}
5451
5452}
5453
5454function htmlEncode(s) {
5455  return s.replace(/&/g, '&amp;')
5456    .replace(/</g, '&lt;')
5457    .replace(/>/g, '&gt;')
5458    .replace(/'/g, '&#39;')
5459    .replace(/"/g, '&#34;');
5460}	if (typeof searchstorecardpropertiesfilter != 'undefined') { 
5461		$('.box-searchstorecardpropertiesfilter').replaceWith(searchstorecardpropertiesfilter);
5462	}var currpage = 24;
5463
5464$(document).ready(function () {
5465	    $( "#dalsi-produkty" ).click(function() {
5466  			lastPostFunc();
5467			return false;
5468	    });
5469         });
5470
5471            function lastPostFunc() {
5472                $.ajax({
5473                    type: "POST",
5474                    url: "/mainform.aspx/CategoryGridGetRows" + (window.location.href.indexOf('?') > 0 ? window.location.href.slice(window.location.href.indexOf('?')) : ''),
5475                    data: '{currpage: ' + currpage + ', pagerows: 24}',
5476                    contentType: "application/json; charset=utf-8",
5477                    dataType: "json",
5478		    beforeSend: function() {
5479                	InitializeRequest(null,null);
5480	            },
5481            	    complete: function() {
5482			EndRequest(null, null);
5483            	    },
5484                    success: function (data) {
5485
5486                        if (data != "") {
5487                            $('.categorygrid .product:last').after(data.d.renderOutput);
5488			    currpage = data.d.currpage;
5489			    setPage("page",(data.d.currpagesum));
5490			    if (!data.d.nextPage)
5491			    {
5492				$( "#dalsi-produkty" ).hide();
5493			    }
5494			    $('.pagination-box').hide();
5495                        }
5496                    },
5497                    failure: function (response) {
5498                       alert('failure: ' + response.d);
5499                    },
5500                    error: function (response) {
5501                       alert('error: ' + response.d);
5502                    }
5503
5504                })
5505            };
5506
5507function setPage(paramName, paramValue)
5508{
5509    $(".pagination").hide();
5510    var url = window.location.href;
5511    if (url.indexOf(paramName + "=") >= 0)
5512    {
5513        var prefix = url.substring(0, url.indexOf(paramName));
5514        var suffix = url.substring(url.indexOf(paramName));
5515        suffix = suffix.substring(suffix.indexOf("=") + 1);
5516        suffix = (suffix.indexOf("&") >= 0) ? suffix.substring(suffix.indexOf("&")) : "";
5517        url = prefix + paramName + "=" + paramValue + suffix;
5518    }
5519    else
5520    {
5521    if (url.indexOf("?") < 0)
5522        url += "?" + paramName + "=" + paramValue;
5523    else
5524        url += "&" + paramName + "=" + paramValue;
5525    }
5526    window.history.pushState({}, document.title, url.substring(url.indexOf('/')));
5527}//]]>
5528</script>
5528
5529
5530<script src="/ScriptResource.axd?d=BDDtS0pUwzF3goOAYR34gJso21udvVslA7YeNnP9IVVuw6YNSOstaRyWxnFdpOlCyYjc1dhMNEOJjlSEfz10RmB4N5yvCrrjpxUAeIQmTBzIk9IZPZVClDDTZYT4bN4fedtlm2VmqoxAy5zja2o8KV7Z7c41&amp;t=ffffffff87636c38" type="text/javascript"></script>
vendor: 2 bytes, line 5530
5530
5531<script src="/ScriptResource.axd?d=wFv4COAj5_QqwM9R4rvOZuXlY7ucoZXHrH-pNoVr52wBCZkVppaZvnwzfZnwY0HpvIIhARwvWMwyUj2Qb5SevRerr6BvqRqFo_9KtVB6B6ViZFzvKuldCUqFJ20jR5UcR1qaDMbaeaqRyvT_g9vqAyMXY5U1&amp;t=ffffffff87636c38" type="text/javascript"></script>
vendor: 2 bytes, line 5531
5531
5532<script src="/ScriptResource.axd?d=RXu79p9lum-mA0WllqFUqSXAzElIyf40cllQ8CBcwGWbwQPEkj94mmnhC0OXw1Nvk99ORNTppw_r8uHnb6aZ_eo1vJ_SNXKnUzz1RKT6vDx0O443VspJ5gSKCBOnQlGU4ZXKlrx-IJZpTRIwVwkKWgqPHV41&amp;t=ffffffff87636c38" type="text/javascript"></script>
vendor: 2 bytes, line 5532
5532
5533<script src="/ScriptResource.axd?d=wG9MX0yr4oE7-U1i-DHLVtb1M2c5_gaSVRzvX2o6ApySFvL7TMyBLVwSc-qBjY9pGckVcBeDD2q_xUNACmZDtFGadrDMyTNu71WK49ahdvVownX6bz1am42RcRi-L_wmmMQXD1IIrWgY3s5IhXlMJt3IS4W8HYMhV6qAG_NELcfwdA2y0&amp;t=ffffffff87636c38" type="text/javascript"></script>
vendor: 2 bytes, line 5533
5533
5534<script src="/ScriptResource.axd?d=XsNwF_AaQWW3_EmOHsnpC0wnkESxzE8FxV6WaIeVy9pQ9e2emaA6LhdMyZFYg_sQnDt_iXkcSF7q3gGSI2p0WBP6wFR39Dk4f1Lezoe-fCS2RCpFxOhcRKSVUvFbjsdWD8cQwX4SM64qFU8-iSQnYcx4pKY1&amp;t=ffffffff87636c38" type="text/javascript"></script>
vendor: 2 bytes, line 5534
5534
5535<script src="/ScriptResource.axd?d=I9NfeLy1ORJANFWdOnvNZytSIGUYzlzB-LHVayD-6F2veXQ7lYD-XakdKG9PrjzliKUQ6YPHg8Hccfm8UNvcL2p3kE46k0A7tWR1UKLPGPOMvUxBbzwua1nfCfwxq-pY58qc8UF8okgnmTya9Za06c526Xg1&amp;t=498cd988" type="text/javascript"></script>
vendor: 2 bytes, line 5535
5535
5536<script src="/ScriptResource.axd?d=ho-CIiRbME0YWiIs36Obx8-58C2ti6oRpG4S61HeY7SivOpFDMrfdv0rhz2DXqmNZ2El-qtNDnxyKTQSxPqfiqOmrzDH9XzI486O80zaW1OixSJ1AM11AzHa47gnnzYH-Lrfdw2nRo75Hw1P_Th831raPj8E2rsbHeF3KVHWaD78lGkf0&amp;t=ffffffff87636c38" type="text/javascript"></script>
vendor: 2 bytes, line 5536
5536
5537<script src="/ScriptResource.axd?d=GgbHNdFiZEEdMyy0ZJgYnRmO_VnhhOdkhga5pzhT5cHtUGgyfP5QFtamP46oFuizkbCoCBNLzAjPY_xbs8k0drypen2tseAGVaD2TNGvB3ZgLko_iJ71XO6f6B0eGX2b2rPEkun0NPKdtsXdmxJQxadbvPBZdmYv1-ZgL642cpjbdqVh0&amp;t=ffffffff87636c38" type="text/javascript"></script>
vendor: 2 bytes, line 5537
5537
5538<script src="/ScriptResource.axd?d=BIM2dWdwNuj43bRw2dYCVrcz71UfGIyIUfeL35YU9Hovxoy1LmAsCzL0DRCQke6ADlx5i1rAcj7LUOs71vsEDz3yoi0Se3BvbL2ZNpPGL39pceYDXIxyyqeqOVNFylVqtm5M_572qXYGqjxGyIAoprsT3-224yNRE-RUv99aBOjYn5oP0&amp;t=ffffffff87636c38" type="text/javascript"></script>
vendor: 2 bytes, line 5538
5538
5539<script src="/ScriptResource.axd?d=iCukk3nb4k48TMY6JPfNM74pANlvrIig6F3BGdImqWM7El-0EM4EGd4j5jBExmB1rCnskWt-a1v-71GMGCirrarBx6UbhUMeY7oUE1KFwBHkDf-3iVDVB6xCOUdky-hdWxnK_YJWALmivRMecHjAUlt_axrUW-gKKE-F4kQOfSPE7Ivp0&amp;t=ffffffff87636c38" type="text/javascript"></script>
vendor: 2 bytes, line 5539
5539
5540<script src="/ScriptResource.axd?d=Iz4_nIClZKW13T1pZQIAbSCP9AP5QoyYpJYvxKK-qiuL0L6RAMxnLAMJerphf1US-n31xsqPxkIZsS_lZYhxV0Iosr-_-DEZlIh6u82pPsvHUW7JwWtBVcUwiz22dHW_tWyUVILiWO_3fL8fFRnhVfZB49I1&amp;t=ffffffff87636c38" type="text/javascript"></script>
vendor: 2 bytes, line 5540
5540
5541<script src="/ScriptResource.axd?d=d8SqZrw9vEcGggfUNur2_EiRMrWr-ZKKdwmcuxAlQ47pte5r_51zQltfY_cROxXNwt8kG20ppFXjnRiGRfRK61x1O1PiaY_XKLHHghEAHTTf5zM3aU7CKwFCjxSv50Y6Hs80a_f0EF_GkU4itJnRixS7Rd9A5ynkqbIpGpeR1FnmRg6E0&amp;t=ffffffff87636c38" type="text/javascript"></script>
vendor: 2 bytes, line 5541
5541
5542<script type="text/javascript">
5543//<![CDATA[
5544Sys.Application.add_init(function() {
5545    $create(WebCtrlLib.TFR.Web.WebPartManagerBehavior, {"enableDragDrop":false,"id":"ctl00_WebPartManagerExtender","zonesIds":["ctl00_ewpz1_mainTemplateCtrl_TemplateCtrl1_TCWebPartZone1","ctl00_ewpz1_mainTemplateCtrl_TCWebPartZone1b"]}, null, null, $get("ctl00_webPartManager1"));
5546});
5547Sys.Application.add_init(function() {
5548    $create(AjaxControlToolkit.ModalPopupBehavior, {"BackgroundCssClass":"pnfloatpanelback","Drag":true,"PopupControlID":"ctl00_pnFloatPanel","PopupDragHandleControlID":"ctl00_pnFloatPanelTitle","dynamicServicePath":"/kategorie/plet/","id":"ctl00_modalPopupExtender1"}, null, null, $get("ctl00_tbFloatPanelHidden"));
5549});
5550//]]>
5551</script>
5551
5552</form>
5553</body>
5554</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.