1<!doctype html> 2<html class="no-js" lang="cs"> 3 <head> 4
4<script id="pandectes-rules">� /* PANDECTES-GDPR: DO NOT MODIFY AUTO GENERATED CODE OF THIS SCRIPT */� � window.PandectesSettings = {"store":{"id":60399288452,"plan":"plus","theme":"Direct/flexiSmart2504","primaryLocale":"cs","adminMode":false,"headless":false,"storefrontRootDomain":"","checkoutRootDomain":"","storefrontAccessToken":""},"tsPublished":1744623145,"declaration":{"showPurpose":false,"showProvider":false,"declIntroText":"Soubory cookie použÃváme k optimalizaci funkÄnosti webu, analýze výkonu a poskytovánà personalizovaného zážitku. NÄkteré soubory cookie jsou nezbytné pro správné fungovánà a fungovánà webových stránek. Tyto soubory cookie nelze zakázat. V tomto oknÄ můžete spravovat své preference souborů cookie.","showDateGenerated":true},"language":{"unpublished":[],"languageMode":"Single","fallbackLanguage":"cs","languageDetection":"browser","languagesSupported":[]},"texts":{"managed":{"headerText":{"cs":"Respektujeme vaÅ¡e soukromÃ"},"consentText":{"cs":"Abyste se na naÅ¡ich stránkách cÃtili jako doma, rádi bychom Vás požádali o souhlas s cookies. NÄkteré jsou pro fungovánà webu nezbytné, ty ostatnà si můžete nastavit podle sebe."},"linkText":{"cs":"Dalšà informace"},"imprintText":{"cs":"Otisk"},"googleLinkText":{"cs":"Zásady ochrany soukromà Google"},"allowButtonText":{"cs":"PÅijmout"},"denyButtonText":{"cs":"OdmÃtnout"},"dismissButtonText":{"cs":"OK"},"leaveSiteButtonText":{"cs":"Opustit tento web"},"preferencesButtonText":{"cs":"PÅedvolby"},"cookiePolicyText":{"cs":"Zásady použÃvánà cookies"},"preferencesPopupTitleText":{"cs":"Spravujte pÅedvolby souhlasu"},"preferencesPopupIntroText":{"cs":"Cookies použÃváme k optimalizaci funkcà webových stránek, analýze výkonu a poskytovánà personalizovaného zážitku. NÄkteré soubory cookie jsou nezbytné pro správnou funkci a správnou funkci webových stránek. Tyto soubory cookie nelze deaktivovat. V tomto oknÄ můžete spravovat preference cookies."},"preferencesPopupSaveButtonText":{"cs":"Uložit pÅedvolby"},"preferencesPopupCloseButtonText":{"cs":"ZavÅÃt"},"preferencesPopupAcceptAllButtonText":{"cs":"PÅijmout vÅ¡e"},"preferencesPopupRejectAllButtonText":{"cs":"OdmÃtnout vÅ¡echny"},"cookiesDetailsText":{"cs":"Podrobnosti o souborech cookie"},"preferencesPopupAlwaysAllowedText":{"cs":"vždy povoleno"},"accessSectionParagraphText":{"cs":"Máte právo mÃt kdykoli pÅÃstup ke svým údajům."},"accessSectionTitleText":{"cs":"PÅenos dat"},"accessSectionAccountInfoActionText":{"cs":"Osobnà data"},"accessSectionDownloadReportActionText":{"cs":"Stáhnout vÅ¡e"},"accessSectionGDPRRequestsActionText":{"cs":"Žádosti subjektu údajů"},"accessSectionOrdersRecordsActionText":{"cs":"Objednávky"},"rectificationSectionParagraphText":{"cs":"Máte právo požádat o aktualizaci svých údajů, kdykoli to považujete za vhodné."},"rectificationSectionTitleText":{"cs":"Oprava dat"},"rectificationCommentPlaceholder":{"cs":"PopiÅ¡te, co chcete aktualizovat"},"rectificationCommentValidationError":{"cs":"KomentáŠje vyžadován"},"rectificationSectionEditAccountActionText":{"cs":"Požádat o aktualizaci"},"erasureSectionTitleText":{"cs":"Právo být zapomenut"},"erasureSectionParagraphText":{"cs":"Máte právo požádat o vymazánà vÅ¡ech vaÅ¡ich údajů. Poté již nebudete mÃt pÅÃstup ke svému úÄtu."},"erasureSectionRequestDeletionActionText":{"cs":"Požádat o vymazánà osobnÃch údajů"},"consentDate":{"cs":"Datum souhlasu"},"consentId":{"cs":"ID souhlasu"},"consentSectionChangeConsentActionText":{"cs":"ZmÄnit pÅedvolbu souhlasu"},"consentSectionConsentedText":{"cs":"Souhlasili jste se zásadami cookies této webové stránky na"},"consentSectionNoConsentText":{"cs":"Nesouhlasili jste se zásadami použÃvánà souborů cookie na tomto webu."},"consentSectionTitleText":{"cs":"Váš souhlas se soubory cookie"},"consentStatus":{"cs":"Preference souhlasu"},"confirmationFailureMessage":{"cs":"VaÅ¡e žádost nebyla ovÄÅena. Zkuste to znovu a pokud problém pÅetrvává, požádejte o pomoc vlastnÃka obchodu"},"confirmationFailureTitle":{"cs":"DoÅ¡lo k problému"},"confirmationSuccessMessage":{"cs":"Brzy se vám ozveme ohlednÄ vašà žádosti."},"confirmationSuccessTitle":{"cs":"VaÅ¡e žádost je ovÄÅena"},"guestsSupportEmailFailureMessage":{"cs":"VaÅ¡e žádost nebyla odeslána. Zkuste to znovu a pokud problém pÅetrvává, požádejte o pomoc vlastnÃka obchodu."},"guestsSupportEmailFailureTitle":{"cs":"DoÅ¡lo k problému"},"guestsSupportEmailPlaceholder":{"cs":"Emailová adresa"},"guestsSupportEmailSuccessMessage":{"cs":"Pokud jste registrováni jako zákaznÃci tohoto obchodu, brzy vám pÅijde e -mail s pokyny, jak postupovat."},"guestsSupportEmailSuccessTitle":{"cs":"DÄkujeme za vaÅ¡i žádost"},"guestsSupportEmailValidationError":{"cs":"E -mail nenà platný"},"guestsSupportInfoText":{"cs":"Chcete -li pokraÄovat, pÅihlaste se prosÃm pomocà svého zákaznického úÄtu."},"submitButton":{"cs":"PÅedložit"},"submittingButton":{"cs":"OdesÃlánà ..."},"cancelButton":{"cs":"zruÅ¡enÃ"},"declIntroText":{"cs":"Soubory cookie použÃváme k optimalizaci funkÄnosti webu, analýze výkonu a poskytovánà personalizovaného zážitku. NÄkteré soubory cookie jsou nezbytné pro správné fungovánà a fungovánà webových stránek. Tyto soubory cookie nelze zakázat. V tomto oknÄ můžete spravovat své preference souborů cookie."},"declName":{"cs":"název"},"declPurpose":{"cs":"ÃÄel"},"declType":{"cs":"Typ"},"declRetention":{"cs":"UchovánÃ"},"declProvider":{"cs":"Poskytovatel"},"declFirstParty":{"cs":"Prvnà strany"},"declThirdParty":{"cs":"TÅetà strana"},"declSeconds":{"cs":"sekundy"},"declMinutes":{"cs":"minut"},"declHours":{"cs":"hodin"},"declDays":{"cs":"dnÃ"},"declMonths":{"cs":"mÄsÃce"},"declYears":{"cs":"let"},"declSession":{"cs":"ZasedánÃ"}
4,"declDomain":{"cs":"Doména"},"declPath":{"cs":"Cesta"}},"categories":{"strictlyNecessaryCookiesTitleText":{"cs":"NezbytnÄ nutné cookies"},"strictlyNecessaryCookiesDescriptionText":{"cs":"Tyto soubory cookie jsou nezbytné k tomu, abyste se mohli pohybovat po webové stránce a použÃvat jejà funkce, jako je pÅÃstup do zabezpeÄených oblastà webové stránky. Web nemůže bez tÄchto cookies správnÄ fungovat."},"functionalityCookiesTitleText":{"cs":"FunkÄnà cookies"},"functionalityCookiesDescriptionText":{"cs":"Tyto soubory cookie umožÅujà webu poskytovat vylepÅ¡ené funkce a pÅizpůsobenÃ. Můžeme je nastavit my nebo poskytovatelé tÅetÃch stran, jejichž služby jsme pÅidali na naÅ¡e stránky. Pokud tyto soubory cookie nepovolÃte, nÄkteré nebo vÅ¡echny tyto služby nemusà fungovat správnÄ."},"performanceCookiesTitleText":{"cs":"Výkonnostnà cookies"},"performanceCookiesDescriptionText":{"cs":"Tyto soubory cookie nám umožÅujà sledovat a zlepÅ¡ovat výkon naÅ¡ich webových stránek. NapÅÃklad nám umožÅujà poÄÃtat návÅ¡tÄvy, identifikovat zdroje provozu a zjistit, které Äásti webu jsou nejoblÃbenÄjÅ¡Ã."},"targetingCookiesTitleText":{"cs":"CÃlenà na cookies"},"targetingCookiesDescriptionText":{"cs":"Tyto soubory cookie mohou být prostÅednictvÃm naÅ¡ich stránek nastaveny naÅ¡imi reklamnÃmi partnery. Tyto spoleÄnosti je mohou použÃt k vytvoÅenà profilu vaÅ¡ich zájmů a zobrazenà relevantnÃch reklam na jiných webech. Neukládajà pÅÃmo osobnà údaje, ale jsou založeny na jedineÄné identifikaci vaÅ¡eho prohlÞeÄe a internetového zaÅÃzenÃ. Pokud tyto cookies nepovolÃte, doÄkáte se ménÄ cÃlené reklamy."},"unclassifiedCookiesTitleText":{"cs":"Neklasifikované cookies"},"unclassifiedCookiesDescriptionText":{"cs":"Neklasifikované cookies jsou cookies, které právÄ zpracováváme, spoleÄnÄ s poskytovateli jednotlivých cookies."}},"auto":{}},"library":{"previewMode":false,"fadeInTimeout":0,"defaultBlocked":7,"showLink":true,"showImprintLink":false,"showGoogleLink":false,"enabled":true,"cookie":{"expiryDays":365,"secure":true,"domain":""},"dismissOnScroll":false,"dismissOnWindowClick":false,"dismissOnTimeout":false,"palette":{"popup":{"background":"#5A2382","backgroundForCalculations":{"a":1,"b":130,"g":35,"r":90},"text":"#D6C8E0"},"button":{"background":"transparent","backgroundForCalculations":{"a":1,"b":69,"g":0,"r":63},"text":"#D6C8E0","textForCalculation":{"a":1,"b":224,"g":200,"r":214},"border":"#D6C8E0"}},"content":{"href":"https://cdn.shopify.com/s/files/1/0603/9928/8452/files/Informace_o_zpracovani_osobnich_udaju_0923.pdf?v=1696577593","imprintHref":"/","close":"✕","target":"","logo":""},"window":"<div role=\"dialog\" aria-live=\"polite\" aria-label=\"cookieconsent\" aria-describedby=\"cookieconsent:desc\" id=\"pandectes-banner\" class=\"cc-window-wrapper cc-bottom-center-wrapper\"><div class=\"pd-cookie-banner-window cc-window {{classes}}\"><!--googleoff: all-->{{children}}<!--googleon: all--></div></div>","compliance":{"custom":"<div class=\"cc-compliance cc-highlight\">{{preferences}}{{allow}}</div>"},"type":"custom","layouts":{"basic":"{{messagelink}}{{compliance}}"},"position":"bottom-center","theme":"wired","revokable":false,"animateRevokable":false,"revokableReset":false,"revokableLogoUrl":"https://cdn.shopify.com/s/files/1/0603/9928/8452/t/269/assets/pandectes-reopen-logo.png?v=1744619565","revokablePlacement":"bottom-left","revokableMarginHorizontal":15,"revokableMarginVertical":15,"static":false,"autoAttach":true,"hasTransition":true,"blacklistPage":[""],"elements":{"close":"<button aria-label=\"dismiss cookie message\" type=\"button\" tabindex=\"0\" class=\"cc-close\">{{close}}</button>","dismiss":"<button aria-label=\"dismiss cookie message\" type=\"button\" tabindex=\"0\" class=\"cc-btn cc-btn-decision cc-dismiss\">{{dismiss}}</button>","allow":"<button aria-label=\"allow cookies\" type=\"button\" tabindex=\"0\" class=\"cc-btn cc-btn-decision cc-allow\">{{allow}}</button>","deny":"<button aria-label=\"deny cookies\" type=\"button\" tabindex=\"0\" class=\"cc-btn cc-btn-decision cc-deny\">{{deny}}</button>","preferences":"<button aria-label=\"settings cookies\" tabindex=\"0\" type=\"button\" class=\"cc-btn cc-settings\" onclick=\"Pandectes.fn.openPreferences()\">{{preferences}}</button>"}},"geolocation":{"brOnly":false,"caOnly":false,"chOnly":false,"euOnly":false,"jpOnly":false,"thOnly":false,"canadaOnly":false,"globalVisibility":true},"dsr":{"guestsSupport":false,"accessSectionDownloadReportAuto":false},"banner":{"resetTs":1698752765,"extraCss":" .cc-banner-logo {max-width: 24em!important;} @media(min-width: 768px) {.cc-window.cc-floating{max-width: 24em!important;width: 24em!important;}} .cc-message, .pd-cookie-banner-window .cc-header, .cc-logo {text-align: left} .cc-window-wrapper{z-index: 2147483647;} .cc-window{z-index: 2147483647;font-family: inherit;} .pd-cookie-banner-window .cc-header{font-family: inherit;} .pd-cp-ui{font-family: inherit; background-color: #5A2382;color:#D6C8E0;} button.pd-cp-btn, a.pd-cp-btn{} input + .pd-cp-preferences-slider{background-color: rgba(214, 200, 224, 0.3)} .pd-cp-scrolling-section::-webkit-scrollbar{background-color: rgba(214, 200, 224, 0.3)} input:checked + .pd-cp-preferences-slider{background-color: rgba(214, 200, 224, 1)} .pd-cp-scrolling-section::-webkit-scrollbar-thumb {background-color: rgba(214, 200, 224, 1)} .pd-cp-ui-close{color:#D6C8E0;} .pd-cp-preferences-slider:before{background-color: #5A2382} .pd-cp-title:before {border-color: #D6C8E0!important} .pd-cp-preferences-slider{background-color:#D6C8E0} .pd-cp-toggle{color:#D6C8E0!important} @media(max-width:699px) {.pd-cp-ui-close-top svg {fill: #D6C8E0}} .pd-cp-toggle:hover,.pd-cp-toggle:visited,.pd-cp-toggle:active{color:#D6C8E0!important} .pd-cookie-banner-window {box-shadow: 0 0 18px rgb(0 0 0 / 20%);} ","customJavascript":{},"showPoweredBy":false,"logoHeight":40,"revokableTrigger":false,"hybridStrict":false,"cookiesBlockedByDefault":"7","isActive":true,"implicitSavePreferences":false,"cookieIcon":true,"blockBots":false,"showCookiesDetails":true,"hasTransition":true,"blockingPage":false,"showOnlyLandingPage":false,"leaveSiteUrl":"https://www.google.com","linkRespectStoreLang":false},"cookies":{"0":[{"name":"secure_customer_sig","type":"http","domain":"birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":"Used in connection with customer login."}},{"name":"localization","type":"http","domain":"birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":"Shopify store localization"}},{"name":"cart_currency","type":"http","domain":"birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"14 day(s)","expires":14,"unit":"declDays","purpose":{"cs":"Used in connection with shopping cart."}},{"name":"_cmp_a","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"cs":"Used for managing customer privacy settings."}},{"name":"keep_alive","type":"http","domain":"birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Used in connection with buyer localization."}},{"name":"_secure_session_id","type":"http","domain":"birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"cs":"Used in connection with navigation through a storefront."}}],"1":[{"name":"_hjSessionUser_3612639","type":"http","domain":".birne.com","path":"/","provider":"Hotjar","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":"Used by Hotjar to store a unique user ID."}},{"name":"_hjSession_3612639","type":"http","domain":".birne.com","path":"/","provider":"Hotjar","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Used by Hotjar to provide functions across pages."}}],"2":[{"name":"_orig_referrer","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"14 day(s)","expires":14,"unit":"declDays","purpose":{"cs":"Tracks landing pages."}},{"name":"_shopify_y","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":"Shopify analytics."}}
4,{"name":"_shopify_s","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Shopify analytics."}},{"name":"_landing_page","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"14 day(s)","expires":14,"unit":"declDays","purpose":{"cs":"Tracks landing pages."}},{"name":"_s","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Shopify analytics."}},{"name":"_shopify_sa_t","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Shopify analytics relating to marketing & referrals."}},{"name":"_shopify_sa_p","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Shopify analytics relating to marketing & referrals."}},{"name":"_ga","type":"http","domain":".birne.com","path":"/","provider":"Google","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":"Cookie is set by Google Analytics with unknown functionality"}},{"name":"__hstc","type":"http","domain":".birne.com","path":"/","provider":"HubSpot","firstParty":true,"retention":"180 day(s)","expires":180,"unit":"declDays","purpose":{"cs":"It contains the domain, utk, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session)."}},{"name":"hubspotutk","type":"http","domain":".birne.com","path":"/","provider":"HubSpot","firstParty":true,"retention":"180 day(s)","expires":180,"unit":"declDays","purpose":{"cs":"It contains an opaque GUID to represent the current visitor."}},{"name":"__hssrc","type":"http","domain":".birne.com","path":"/","provider":"HubSpot","firstParty":true,"retention":"Session","expires":-1698752790,"unit":"declSeconds","purpose":{"cs":"Is used by Hubspot to determine if the visitor has restarted their browser."}},{"name":"__hssc","type":"http","domain":".birne.com","path":"/","provider":"HubSpot","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"This is used to determine if HubSpot should increment the session number and timestamps in the __hstc cookie."}},{"name":"__cf_bm","type":"http","domain":".hubspot.com","path":"/","provider":"CloudFlare","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Used to manage incoming traffic that matches criteria associated with bots."}},{"name":"_gid","type":"http","domain":".birne.com","path":"/","provider":"Google","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"cs":"Cookie is placed by Google Analytics to count and track pageviews."}},{"name":"_gat_UA-88374359-16","type":"http","domain":".birne.com","path":"/","provider":"Google","firstParty":true,"retention":"48 second(s)","expires":48,"unit":"declSeconds","purpose":{"cs":"Cookie is placed by Google Analytics to filter requests from bots."}}],"4":[{"name":"_gcl_au","type":"http","domain":".birne.com","path":"/","provider":"Google","firstParty":true,"retention":"90 day(s)","expires":90,"unit":"declDays","purpose":{"cs":"Cookie is placed by Google Tag Manager to track conversions."}},{"name":"IDE","type":"http","domain":".doubleclick.net","path":"/","provider":"Google","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":"To measure the visitorsâ actions after they click through from an advert. Expires after 1 year."}},{"name":"_fbp","type":"http","domain":".birne.com","path":"/","provider":"Facebook","firstParty":true,"retention":"90 day(s)","expires":90,"unit":"declDays","purpose":{"cs":"Cookie is placed by Facebook to track visits across websites."}}],"8":[{"name":"pageviewCount","type":"http","domain":".birne.com","path":"/","provider":"Unknown","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"cs":""}},{"name":"otCookieScanned","type":"http","domain":"birne.com","path":"/","provider":"Unknown","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"cs":""}},{"name":"_hjIncludedInSessionSample_3612639","type":"http","domain":".birne.com","path":"/","provider":"Unknown","firstParty":true,"retention":"2 minute(s)","expires":2,"unit":"declMinutes","purpose":{"cs":""}},{"name":"_hjAbsoluteSessionInProgress","type":"http","domain":".birne.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":""}},{"name":"_hjFirstSeen","type":"http","domain":".birne.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":""}},{"name":"lidc","type":"http","domain":".linkedin.com","path":"/","provider":"Unknown","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"cs":""}},{"name":"li_sugr","type":"http","domain":".linkedin.com","path":"/","provider":"Unknown","firstParty":true,"retention":"90 day(s)","expires":90,"unit":"declDays","purpose":{"cs":""}},{"name":"bcookie","type":"http","domain":".linkedin.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":""}},{"name":"UserMatchHistory","type":"http","domain":".linkedin.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 day(s)","expires":30,"unit":"declDays","purpose":{"cs":""}},{"name":"AnalyticsSyncHistory","type":"http","domain":".linkedin.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 day(s)","expires":30,"unit":"declDays","purpose":{"cs":""}},{"name":"bscookie","type":"http","domain":".www.linkedin.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":""}}]},"blocker":{"isActive":false,"googleConsentMode":{"id":"","analyticsId":"","isActive":true,"adStorageCategory":4,"analyticsStorageCategory":2,"personalizationStorageCategory":1,"functionalityStorageCategory":1,"customEvent":true,"securityStorageCategory":0,"redactData":true,"urlPassthrough":false},"facebookPixel":{"id":"","isActive":false,"ldu":false},"microsoft":{},"rakuten":{"isActive":false,"cmp":false,"ccpa":false},"gpcIsActive":false,"defaultBlocked":7,"patterns":{"whiteList":[],"blackList":{"1":[],"2":[],"4":[],"8":[]},"iframesWhiteList":[],"iframesBlackList":{"1":[],"2":[],"4":[],"8":[]},"beaconsWhiteList":[],"beaconsBlackList":{"1":[],"2":[],"4":[],"8":[]}}}}� � !function(){"use strict";window.PandectesRules=window.PandectesRules||{},window.PandectesRules.manualBlacklist={1:[],2:[],4:[]},window.PandectesRules.blacklistedIFrames={1:[],2:[],4:[]},window.PandectesRules.blacklistedCss={1:[],2:[],4:[]},window.PandectesRules.blacklistedBeacons={1:[],2:[],4:[]};var e="javascript/blocked";function t(e){return new RegExp(e.replace(/[/\\.+?$()]/g,"\\$&").replace("*","(.*)"))}var n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"log";new URLSearchParams(window.location.search).get("log")&&console[t]("PandectesRules: ".concat(e))};function a(e){var t=document.createElement("script");t.async=!0,t.src=e,document.head.appendChild(t)}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
4t%2?r(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function s(e,t,n){return(t=i(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,o,i,s=[],c=!0,l=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=o.call(n)).done)&&(s.push(a.value),s.length!==t);c=!0);}catch(e){l=!0,r=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw r}}return s}}(e,t)||d(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var f=window.PandectesRulesSettings||window.PandectesSettings,g=!(void 0===window.dataLayer||!Array.isArray(window.dataLayer)||!window.dataLayer.some((function(e){return"pandectes_full_scan"===e.event}))),p=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"_pandectes_gdpr",n=("; "+document.cookie).split("; "+t+"=");if(n.length<2)e={};else{var a=n.pop().split(";");e=window.atob(a.shift())}var r=function(e){try{return JSON.parse(e)}catch(e){return!1}}(e);return!1!==r?r:e}(),y=f.banner.isActive,h=f.blocker,w=h.defaultBlocked,v=h.patterns,m=p&&null!==p.preferences&&void 0!==p.preferences?p.preferences:null,b=g?0:y?null===m?w:m:0,_={1:!(1&b),2:!(2&b),4:!(4&b)},k=v.blackList,S=v.whiteList,L=v.iframesBlackList,C=v.iframesWhiteList,A=v.beaconsBlackList,P=v.beaconsWhiteList,O={blackList:[],whiteList:[],iframesBlackList:{1:[],2:[],4:[],8:[]},iframesWhiteList:[],beaconsBlackList:{1:[],2:[],4:[],8:[]},beaconsWhiteList:[]};[1,2,4].map((function(e){var n;_[e]||((n=O.blackList).push.apply(n,l(k[e].length?k[e].map(t):[])),O.iframesBlackList[e]=L[e].length?L[e].map(t):[],O.beaconsBlackList[e]=A[e].length?A[e].map(t):[])})),O.whiteList=S.length?S.map(t):[],O.iframesWhiteList=C.length?C.map(t):[],O.beaconsWhiteList=P.length?P.map(t):[];var E={scripts:[],iframes:{1:[],2:[],4:[]},beacons:{1:[],2:[],4:[]},css:{1:[],2:[],4:[]}},I=function(t,n){return t&&(!n||n!==e)&&(!O.blackList||O.blackList.some((function(e){return e.test(t)})))&&(!O.whiteList||O.whiteList.every((function(e){return!e.test(t)})))},j=function(e,t){var n=O.iframesBlackList[t],a=O.iframesWhiteList;return e&&(!n||n.some((function(t){return t.test(e)})))&&(!a||a.every((function(t){return!t.test(e)})))},B=function(e,t){var n=O.beaconsBlackList[t],a=O.beaconsWhiteList;return e&&(!n||n.some((function(t){return t.test(e)})))&&(!a||a.every((function(t){return!t.test(e)})))},T=new MutationObserver((function(e){for(var t=0;t<e.length;t++)for(var n=e[t].addedNodes,a=0;a<n.length;a++){var r=n[a],o=r.dataset&&r.dataset.cookiecategory;if(1===r.nodeType&&"LINK"===r.tagName){var i=r.dataset&&r.dataset.href;if(i&&o)switch(o){case"functionality":case"C0001":E.css[1].push(i);break;case"performance":case"C0002":E.css[2].push(i);break;case"targeting":case"C0003":E.css[4].push(i)}}}})),R=new MutationObserver((function(t){for(var a=0;a<t.length;a++)for(var r=t[a].addedNodes,o=function(){var t=r[i],a=t.src||t.dataset&&t.dataset.src,o=t.dataset&&t.dataset.cookiecategory;if(1===t.nodeType&&"IFRAME"===t.tagName){if(a){var s=!1;j(a,1)||"functionality"===o||"C0001"===o?(s=!0,E.iframes[1].push(a)):j(a,2)||"performance"===o||"C0002"===o?(s=!0,E.iframes[2].push(a)):(j(a,4)||"targeting"===o||"C0003"===o)&&(s=!0,E.iframes[4].push(a)),s&&(t.removeAttribute("src"),t.setAttribute("data-src",a))}}else if(1===t.nodeType&&"IMG"===t.tagName){if(a){var c=!1;
4B(a,1)?(c=!0,E.beacons[1].push(a)):B(a,2)?(c=!0,E.beacons[2].push(a)):B(a,4)&&(c=!0,E.beacons[4].push(a)),c&&(t.removeAttribute("src"),t.setAttribute("data-src",a))}}else if(1===t.nodeType&&"SCRIPT"===t.tagName){var l=t.type,d=!1;if(I(a,l)?(n("rule blocked: ".concat(a)),d=!0):a&&o?n("manually blocked @ ".concat(o,": ").concat(a)):o&&n("manually blocked @ ".concat(o,": inline code")),d){E.scripts.push([t,l]),t.type=e;t.addEventListener("beforescriptexecute",(function n(a){t.getAttribute("type")===e&&a.preventDefault(),t.removeEventListener("beforescriptexecute",n)})),t.parentElement&&t.parentElement.removeChild(t)}}},i=0;i<r.length;i++)o()})),D=document.createElement,z={src:Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype,"src"),type:Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype,"type")};window.PandectesRules.unblockCss=function(e){var t=E.css[e]||[];t.length&&n("Unblocking CSS for ".concat(e)),t.forEach((function(e){var t=document.querySelector('link[data-href^="'.concat(e,'"]'));t.removeAttribute("data-href"),t.href=e})),E.css[e]=[]},window.PandectesRules.unblockIFrames=function(e){var t=E.iframes[e]||[];t.length&&n("Unblocking IFrames for ".concat(e)),O.iframesBlackList[e]=[],t.forEach((function(e){var t=document.querySelector('iframe[data-src^="'.concat(e,'"]'));t.removeAttribute("data-src"),t.src=e})),E.iframes[e]=[]},window.PandectesRules.unblockBeacons=function(e){var t=E.beacons[e]||[];t.length&&n("Unblocking Beacons for ".concat(e)),O.beaconsBlackList[e]=[],t.forEach((function(e){var t=document.querySelector('img[data-src^="'.concat(e,'"]'));t.removeAttribute("data-src"),t.src=e})),E.beacons[e]=[]},window.PandectesRules.unblockInlineScripts=function(e){var t=1===e?"functionality":2===e?"performance":"targeting",a=document.querySelectorAll('script[type="javascript/blocked"][data-cookiecategory="'.concat(t,'"]'));n("unblockInlineScripts: ".concat(a.length," in ").concat(t)),a.forEach((function(e){var t=document.createElement("script");t.type="text/javascript",e.hasAttribute("src")?t.src=e.getAttribute("src"):t.textContent=e.textContent,document.head.appendChild(t),e.parentNode.removeChild(e)}))},window.PandectesRules.unblockInlineCss=function(e){var t=1===e?"functionality":2===e?"performance":"targeting",a=document.querySelectorAll('link[data-cookiecategory="'.concat(t,'"]'));n("unblockInlineCss: ".concat(a.length," in ").concat(t)),a.forEach((function(e){e.href=e.getAttribute("data-href")}))},window.PandectesRules.unblock=function(e){e.length<1?(O.blackList=[],O.whiteList=[],O.iframesBlackList=[],O.iframesWhiteList=[]):(O.blackList&&(O.blackList=O.blackList.filter((function(t){return e.every((function(e){return"string"==typeof e?!t.test(e):e instanceof RegExp?t.toString()!==e.toString():void 0}))}))),O.whiteList&&(O.whiteList=[].concat(l(O.whiteList),l(e.map((function(e){if("string"==typeof e){var n=".*"+t(e)+".*";if(O.whiteList.every((function(e){return e.toString()!==n.toString()})))return new RegExp(n)}else if(e instanceof RegExp&&O.whiteList.every((function(t){return t.toString()!==e.toString()})))return e;return null})).filter(Boolean)))));var a=0;l(E.scripts).forEach((function(e,t){var n=c(e,2),r=n[0],o=n[1];if(function(e){var t=e.getAttribute("src");return O.blackList&&O.blackList.every((function(e){return!e.test(t)}))||O.whiteList&&O.whiteList.some((function(e){return e.test(t)}))}(r)){for(var i=document.createElement("script"),s=0;s<r.attributes.length;s++){var l=r.attributes[s];"src"!==l.name&&"type"!==l.name&&i.setAttribute(l.name,r.attributes[s].value)}i.setAttribute("src",r.src),i.setAttribute("type",o||"application/javascript"),document.head.appendChild(i),E.scripts.splice(t-a,1),a++}})),0==O.blackList.length&&0===O.iframesBlackList[1].length&&0===O.iframesBlackList[2].length&&0===O.iframesBlackList[4].length&&0===O.beaconsBlackList[1].length&&0===O.beaconsBlackList[2].length&&0===O.beaconsBlackList[4].length&&(n("Disconnecting observers"),R.disconnect(),T.disconnect())};var x=f.store,M=x.adminMode,N=x.headless,U=x.storefrontRootDomain,q=x.checkoutRootDomain,F=x.storefrontAccessToken,W=f.banner.isActive,H=f.blocker.defaultBlocked;W&&function(e){if(window.Shopify&&window.Shopify.customerPrivacy)e();else{var t=null;window.Shopify&&window.Shopify.loadFeatures&&window.Shopify.trackingConsent?e():t=setInterval((function(){window.Shopify&&window.Shopify.loadFeatures&&(clearInterval(t),window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],(function(t){t?n("Shopify.customerPrivacy API - failed to load"):(n("shouldShowBanner() -> ".concat(window.Shopify.trackingConsent.shouldShowBanner()," | saleOfDataRegion() -> ").concat(window.Shopify.trackingConsent.saleOfDataRegion())),e())})))}),10)}}((function(){!function(){var e=window.Shopify.trackingConsent;if(!1!==e.shouldShowBanner()||null!==m||7!==H)try{var t=M&&!(window.Shopify&&window.Shopify.AdminBarInjector),a={preferences:!(1&b)||g||t,analytics:!(2&b)||g||t,marketing:!(4&b)||g||t};N&&(a.headlessStorefront=!0,a.storefrontRootDomain=null!=U&&U.length?U:window.location.hostname,a.checkoutRootDomain=null!=q&&q.length?q:"checkout.".concat(window.location.hostname),a.storefrontAccessToken=null!=F&&F.length?F:""),e.firstPartyMarketingAllowed()===a.marketing&&e.analyticsProcessingAllowed()===a.analytics&&e.preferencesProcessingAllowed()===a.preferences||e.setTrackingConsent(a,(function(e){e&&e.error?n("Shopify.customerPrivacy API - failed to setTrackingConsent"):n("setTrackingConsent(".concat(JSON.stringify(a),")"))}))}catch(e){n("Shopify.customerPrivacy API - exception")}}(),function(){if(N){var e=window.Shopify.trackingConsent,t=e.currentVisitorConsent();if(navigator.globalPrivacyControl&&""===t.sale_of_data){var a={sale_of_data:!1,headlessStorefront:!0};a.storefrontRootDomain=null!=U&&U.length?U:window.location.hostname,a.checkoutRootDomain=null!=q&&q.length?q:"checkout.".concat(window.location.hostname),a.storefrontAccessToken=null!=F&&F.length?F:"",e.setTrackingConsent(a,(function(e){e&&e.error?n("Shopify.customerPrivacy API - failed to setTrackingConsent({".concat(JSON.stringify(a),")")):n("setTrackingConsent(".concat(JSON.stringify(a),")"))}))}}}()}));var G=["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","GB","LI","NO","IS"],J="[Pandectes :: Google Consent Mode debug]:";function V(){var e=arguments.length<=0?void 0:arguments[0],t=arguments.length<=1?void 0:arguments[1],n=arguments.length<=2?void 0:arguments[2];if("consent"!==e)return"config"===e?"config":void 0;var a=n.ad_storage,r=n.ad_user_data,o=n.ad_personalization,i=n.functionality_storage,s=n.analytics_storage,c=n.personalization_storage,l={Command:e,Mode:t,ad_storage:a,ad_user_data:r,ad_personalization:o,functionality_storage:i,analytics_storage:s,personalization_storage:c,security_storage:n.security_storage};return console.table(l),"default"===t&&("denied"===a&&"denied"===r&&"denied"===o&&"denied"===i&&"denied"===s&&"denied"===c||console.warn("".concat(J,' all types in a "default" command should be set to "denied" except for security_storage that should be set to "granted"'))),t}var K=!1,Z=!1;function $(e){e&&("default"===e?(K=!0,Z&&console.warn("".concat(J,' "default" command was sent but there was already an "update" command before it.'))):"update"===e?(Z=!0,K||console.warn("".concat(J,' "update" command was sent but there was no "default" command before it.'))):"config"===e&&(K||console.warn("".concat(J,' a tag read consent state before a "default" command was sent.'))))}var Y=f.banner,Q=Y.isActive,X=Y.hybridStrict,ee=f.geolocation,te=ee.caOnly,ne=void 0!==te&&te,ae=ee.euOnly,re=void 0!==ae&&ae,oe=ee.brOnly,ie=void 0!==oe&&oe,se=ee.jpOnly,ce=void 0!==se&&se,le=ee.thOnly,de=void 0!==le&&le,ue=ee.chOnly,fe=void 0!==ue&&ue,ge=ee.zaOnly,pe=void 0!==ge&&ge,ye=ee.canadaOnly,he=void 0!==ye&&ye,we=ee.globalVisibility,ve=void 0===we||we,me=f.blocker,be=me.defaultBlocked,_e=void 0===be?7:be,ke=me.googleConsentMode,Se=ke.isActive,Le=ke.customEvent,Ce=ke.id,Ae=void 0===Ce?"":Ce,Pe=ke.analyticsId,Oe=void 0===Pe?"":Pe,Ee=ke.adwordsId,Ie=void 0===Ee?"":Ee,je=ke.redactData,Be=ke.urlPassthrough,Te=ke.adStorageCategory,Re=ke.analyticsStorageCategory,De=ke.functionalityStorageCategory,ze=ke.personalizationStorageCategory,xe=ke.securityStorageCategory,Me=ke.dataLayerProperty,Ne=void 0===Me?"dataLayer":Me,Ue=ke.waitForUpdate,qe=void 0===Ue?0:Ue,Fe=ke.useNativeChannel,We=void 0!==Fe&&Fe,He=ke.debugMode,Ge=void 0!==He&&He;function Je(){window[Ne].push(arguments)}window[Ne]=window[Ne]||[];var Ve,Ke,Ze,$e={hasInitialized:!1,useNativeChannel:!1,ads_data_redaction:!1,url_passthrough:!1,data_layer_property:"dataLayer",storage:{ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted",analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted"}};if(Q&&Se){Ge&&(Ve=Ne||"dataLayer",window[Ve].forEach((function(e){$(V.apply(void 0,l(e)))})),window[Ve].push=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];
4return $(V.apply(void 0,l(t[0]))),Array.prototype.push.apply(this,t)});var Ye=_e&Te?"denied":"granted",Qe=_e&Re?"denied":"granted",Xe=_e&De?"denied":"granted",et=_e&ze?"denied":"granted",tt=_e&xe?"denied":"granted";$e.hasInitialized=!0,$e.useNativeChannel=We,$e.url_passthrough=Be,$e.ads_data_redaction="denied"===Ye&&je,$e.storage.ad_storage=Ye,$e.storage.ad_user_data=Ye,$e.storage.ad_personalization=Ye,$e.storage.analytics_storage=Qe,$e.storage.functionality_storage=Xe,$e.storage.personalization_storage=et,$e.storage.security_storage=tt,$e.data_layer_property=Ne||"dataLayer",Je("set","developer_id.dMTZkMj",!0),$e.ads_data_redaction&&Je("set","ads_data_redaction",$e.ads_data_redaction),$e.url_passthrough&&Je("set","url_passthrough",$e.url_passthrough),function(){var e=b!==_e?{wait_for_update:qe||500}:qe?{wait_for_update:qe}:{};ve&&!X?Je("consent","default",o(o({},$e.storage),e)):(Je("consent","default",o(o(o({},$e.storage),e),{},{region:[].concat(l(re||X?G:[]),l(ne&&!X?["US-CA","US-VA","US-CT","US-UT","US-CO"]:[]),l(ie&&!X?["BR"]:[]),l(ce&&!X?["JP"]:[]),l(he&&!X?["CA"]:[]),l(de&&!X?["TH"]:[]),l(fe&&!X?["CH"]:[]),l(pe&&!X?["ZA"]:[]))})),Je("consent","default",{ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted",analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted"}));if(null!==m){var t=b&Te?"denied":"granted",n=b&Re?"denied":"granted",r=b&De?"denied":"granted",i=b&ze?"denied":"granted",s=b&xe?"denied":"granted";$e.storage.ad_storage=t,$e.storage.ad_user_data=t,$e.storage.ad_personalization=t,$e.storage.analytics_storage=n,$e.storage.functionality_storage=r,$e.storage.personalization_storage=i,$e.storage.security_storage=s,Je("consent","update",$e.storage)}(Ae.length||Oe.length||Ie.length)&&(window[$e.data_layer_property].push({"pandectes.start":(new Date).getTime(),event:"pandectes-rules.min.js"}),(Oe.length||Ie.length)&&Je("js",new Date));var c="https://www.googletagmanager.com";if(Ae.length){var d=Ae.split(",");window[$e.data_layer_property].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});for(var u=0;u<d.length;u++){var f="dataLayer"!==$e.data_layer_property?"&l=".concat($e.data_layer_property):"";a("".concat(c,"/gtm.js?id=").concat(d[u].trim()).concat(f))}}if(Oe.length)for(var g=Oe.split(","),p=0;p<g.length;p++){var y=g[p].trim();y.length&&(a("".concat(c,"/gtag/js?id=").concat(y)),Je("config",y,{send_page_view:!1}))}if(Ie.length)for(var h=Ie.split(","),w=0;w<h.length;w++){var v=h[w].trim();v.length&&(a("".concat(c,"/gtag/js?id=").concat(v)),Je("config",v,{allow_enhanced_conversions:!0}))}}()}Q&&Le&&(Ze={event:"Pandectes_Consent_Update",pandectes_status:7===(Ke=b)?"deny":0===Ke?"allow":"mixed",pandectes_categories:{C0000:"allow",C0001:_[1]?"allow":"deny",C0002:_[2]?"allow":"deny",C0003:_[4]?"allow":"deny"}},window[Ne].push(Ze),null!==m&&function(e){if(window.Shopify&&window.Shopify.analytics)e();else{var t=null;window.Shopify&&window.Shopify.analytics?e():t=setInterval((function(){window.Shopify&&window.Shopify.analytics&&(clearInterval(t),e())}),10)}}((function(){window.Shopify.analytics.publish("Pandectes_Consent_Update",Ze)})));var nt=f.blocker,at=nt.klaviyoIsActive,rt=nt.googleConsentMode.adStorageCategory;at&&window.addEventListener("PandectesEvent_OnConsent",(function(e){var t=e.detail.preferences;if(null!=t){var n=t&rt?"denied":"granted";void 0!==window.klaviyo&&window.klaviyo.isIdentified()&&window.klaviyo.push(["identify",{ad_personalization:n,ad_user_data:n}])}})),f.banner.revokableTrigger&&(window.onload=function(){document.querySelectorAll('[href*="#reopenBanner"]').forEach((function(e){e.onclick=function(e){e.preventDefault(),window.Pandectes.fn.revokeConsent()}}))});var ot=f.banner.isActive,it=f.blocker,st=it.defaultBlocked,ct=void 0===st?7:st,lt=it.microsoft,dt=lt.isActive,ut=lt.uetTags,ft=lt.dataLayerProperty,gt=void 0===ft?"uetq":ft,pt={hasInitialized:!1,data_layer_property:"uetq",storage:{ad_storage:"granted"}};if(window[gt]=window[gt]||[],dt&&bt("_uetmsdns","1",365),ot&&dt){var yt=4&ct?"denied":"granted";if(pt.hasInitialized=!0,pt.storage.ad_storage=yt,window[gt].push("consent","default",pt.storage),"granted"==yt&&(bt("_uetmsdns","0",3
465),console.log("setting cookie")),null!==m){var ht=4&b?"denied":"granted";pt.storage.ad_storage=ht,window[gt].push("consent","update",pt.storage),"granted"===ht&&bt("_uetmsdns","0",365)}if(ut.length)for(var wt=ut.split(","),vt=0;vt<wt.length;vt++)wt[vt].trim().length&&mt(wt[vt])}function mt(e){var t=document.createElement("script");t.type="text/javascript",t.src="//bat.bing.com/bat.js",t.onload=function(){var t={ti:e};t.q=window.uetq,window.uetq=new UET(t),window.uetq.push("consent","default",{ad_storage:"denied"}),window[gt].push("pageLoad")},document.head.appendChild(t)}function bt(e,t,n){var a=new Date;a.setTime(a.getTime()+24*n*60*60*1e3);var r="expires="+a.toUTCString();document.cookie="".concat(e,"=").concat(t,"; ").concat(r,"; path=/; secure; samesite=strict")}window.PandectesRules.gcm=$e;var _t=f.banner.isActive,kt=f.blocker.isActive;n("Prefs: ".concat(b," | Banner: ").concat(_t?"on":"off"," | Blocker: ").concat(kt?"on":"off"));var St=null===m&&/\/checkouts\//.test(window.location.pathname);0!==b&&!1===g&&kt&&!St&&(n("Blocker will execute"),document.createElement=function(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];if("script"!==n[0].toLowerCase())return D.bind?D.bind(document).apply(void 0,n):D;var r=D.bind(document).apply(void 0,n);try{Object.defineProperties(r,{src:o(o({},z.src),{},{set:function(t){I(t,r.type)&&z.type.set.call(this,e),z.src.set.call(this,t)}}),type:o(o({},z.type),{},{get:function(){var t=z.type.get.call(this);return t===e||I(this.src,t)?null:t},set:function(t){var n=I(r.src,r.type)?e:t;z.type.set.call(this,n)}})}),r.setAttribute=function(t,n){if("type"===t){var a=I(r.src,r.type)?e:n;z.type.set.call(r,a)}else"src"===t?(I(n,r.type)&&z.type.set.call(r,e),z.src.set.call(r,n)):HTMLScriptElement.prototype.setAttribute.call(r,t,n)}}catch(e){console.warn("Yett: unable to prevent script execution for script src ",r.src,".\n",'A likely cause would be because you are using a third-party browser extension that monkey patches the "document.createElement" function.')}return r},R.observe(document.documentElement,{childList:!0,subtree:!0}),T.observe(document.documentElement,{childList:!0,subtree:!0}))}(); 5�</script>
5 6 7 8 9 10 <!-- Start Google Tag Manager --> 11
11<script>
vendor: 447 bytes, lines 11-19
11 12 (function (w, d, s, l, i) { 13 w[l] = w[l] || []; w[l].push({ 14 'gtm.start': 15 new Date().getTime(), event: 'gtm.js' 16 }); var f = d.getElementsByTagName(s)[0], 17 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 18 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 19 })(window, document, 'script', 'dataLayer', '
19GTM-N5TB8CD
vendor: 8 bytes, lines 19-20
19'); 20
20</script>
20 21 <!-- End Google Tag Manager --> 22 23 <!-- Start VWO Async SmartCode --> 24 <link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com"> 25
25<script type="text/javascript" id="vwoCode"> 26 window._vwo_code || (function() { 27 var account_id=854085, 28 version=2.1, 29 settings_tolerance=2000, 30 hide_element='body', 31 hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;transition:none !important;', 32 /* DO NOT EDIT BELOW THIS LINE */ 33 f=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={nonce:v&&v.nonce,use_existing_jquery:function(){return typeof use_existing_jquery!=='undefined'?use_existing_jquery:undefined},library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){if(performance.getEntriesByName('first-contentful-paint')[0]){return''}return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){if(!f){f=true;var t=d.getElementById('_vis_opt_path_hides');if(t)t.parentNode.removeChild(t);if(e)(new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e}},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript';if(e.src){t.src=e.src}else{t.text=e.text}v&&t.setAttribute('nonce',v.nonce);d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){var n=this.getSettings(),i=d.createElement('script'),r=this;t=t||{};if(n){i.textContent=n;d.getElementsByTagName('head')[0].appendChild(i);if(!w.VWO||VWO.caE){stT.removeItem(cK);r.load(e)}}else{var o=new XMLHttpRequest;o.open('GET',e,true);o.withCredentials=!t.dSC;o.responseType=t.responseType||'text';o.onload=function(){if(t.onloadCb){return t.onloadCb(o,e)}if(o.status===200||o.status===304){_vwo_code.addScript({text:o.responseText})}else{_vwo_code.finish('&e=loading_failure:'+e)}};o.onerror=function(){if(t.onerrorCb){return t.onerrorCb(e)}_vwo_code.finish('&e=loading_failure:'+e)};o.send()}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t;if(this.hide_element()!=='body'){t=d.createElement('style');var n=this.hide_element(),i=n?n+this.hide_element_style():'',r=d.getElementsByTagName('head')[0];t.setAttribute('id','_vis_opt_path_hides');v&&t.setAttribute('nonce',v.nonce);t.setAttribute('type','text/css');if(t.styleSheet)t.styleSheet.cssText=i;else t.appendChild(d.createTextNode(i));r.appendChild(t)}else{t=d.getElementsByTagName('head')[0];var i=d.createElement('div');i.style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;';i.setAttribute('id','_vis_opt_path_hides');i.classList.add('_vis_hide_layer');t.parentNode.insertBefore(i,t.nextSibling)}var o=window._vis_opt_url||d.URL,s='https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(o)+'&vn='+version;if(w.location.search.indexOf('_vwo_xhr')!==-1){this.addScript({src:s})}else{this.load(s+'&x=true')}}};w._vwo_code=code;code.init();})(); 34 </script>
34 35 <!-- End VWO Async SmartCode --> 36 37 <meta charset="utf-8"> 38 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 39 <meta name="viewport" content="width=device-width,initial-scale=1"> 40 <meta name="theme-color" content=""> 41 42 <!-- Hide optins from search engines --> 43 44 <!-- end --> 45 46 <link rel="canonical" href="https://birne.com/account/login"> 47 <link rel="preconnect" href="https://fonts.googleapis.com"> 48 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 49 <link href="https://fonts.googleapis.com/css2?family=Inter:[email protected]&display=swap" rel="stylesheet"> 50 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 51
51<script 52 src="https://code.jquery.com/jquery-3.6.1.min.js" 53 integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ=" 54 crossorigin="anonymous" 55 ></script>
55 56 57 <link rel="icon" href="//birne.com/cdn/shop/t/31/assets/birne-favicon.ico?v=153530762366395047181756286066" sizes="32x32" ><link rel="icon" href="//birne.com/cdn/shop/files/birne-favicon.svg?v=1745846148" sizes="any" type="image/svg+xml"><link rel="apple-touch-icon" href="//birne.com/cdn/shop/files/birne-favicon.png?v=1756284715"/><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title> 58 ÃÄet 59 – Birne</title> 60 61 62 63 64 65 66 <meta name="description" content="MÃt auto nebylo nikdy jednoduššà â jasný mÄsÃÄnà poplatek, bez omezenà kilometrů, vrácenà kdykoliv. Birne nenà operák, je to nÄco vÃc. Je to vaÅ¡e svoboda."> 67 68 69<meta property="og:site_name" content="Birne"> 70<meta property="og:url" content="https://birne.com/account/login"> 71<meta property="og:title" content="ÃÄet"> 72<meta property="og:type" content="website"> 73<meta property="og:description" content="MÃt auto nebylo nikdy jednoduššà â jasný mÄsÃÄnà poplatek, bez omezenà kilometrů, vrácenà kdykoliv. Birne nenà operák, je to nÄco vÃc. Je to vaÅ¡e svoboda."><meta property="og:image" content="http://birne.com/cdn/shop/files/Novy_projekt.png?v=1754547971"> 74 <meta property="og:image:secure_url" content="https://birne.com/cdn/shop/files/Novy_projekt.png?v=1754547971"> 75 <meta property="og:image:width" content="1280"> 76 <meta property="og:image:height" content="628"><meta name="twitter:card" content="summary_large_image"> 77<meta name="twitter:title" content="ÃÄet"> 78<meta name="twitter:description" content="MÃt auto nebylo nikdy jednoduššà â jasný mÄsÃÄnà poplatek, bez omezenà kilometrů, vrácenà kdykoliv. Birne nenà operák, je to nÄco vÃc. Je to vaÅ¡e svoboda."> 79 80 81
81<script src="//birne.com/cdn/shop/t/31/assets/global.js?v=166387562677912044971772458098" defer="defer"></script>
81 82 <!-- Lightbox CDN --> 83<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/glightbox/dist/css/glightbox.min.css">
84<script src="https://cdn.jsdelivr.net/gh/mcstudios/glightbox/dist/js/glightbox.min.js"></script>
84 85
86<script> 87 window.generateOptinIcon = function generateOptinIcon(optinName){ 88 const icons = [ 89 { 90 name: "Navýšenà smluvnÃho nájezdu na 20 000 km", 91 icon: ` 92 93 94 <svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 95 <path d="M3.49984 21C3.49984 22.2887 4.54447 23.3334 5.83317 23.3334C7.12187 23.3334 8.1665 22.2887 8.1665 21C8.1665 19.7113 7.12187 18.6667 5.83317 18.6667C4.54447 18.6667 3.49984 19.7113 3.49984 21Z" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 96 <path d="M18.0833 7.58337C15.8282 7.58337 14 9.41154 14 11.6667V18.0834" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 97 <path d="M18.0833 7.58329H24.5M24.5 7.58329L20.4167 3.49996M24.5 7.58329L20.4167 11.6666" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 98 <path d="M14 18.0833C14 19.6942 12.6942 21 11.0833 21H8.4" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 99 </svg> 100 101`, 102 }, 103 { 104 name: "Navýšenà smluvnÃho nájezdu na 30 000 km", 105 icon: ` 106 107 108 <svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 109 <path d="M20.9998 19.25V3.5M20.9998 3.5L25.0832 7.58333M20.9998 3.5L16.9165 7.58333" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 110 <path d="M21.0002 19.25C21.0002 21.5052 19.172 23.3333 16.9168 23.3333C14.6617 23.3333 12.8335 21.5052 12.8335 19.25V8.75" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 111 <path d="M12.8332 8.74996C12.8332 6.49479 11.005 4.66663 8.74984 4.66663C6.49467 4.66663 4.6665 6.49479 4.6665 8.74996V17.7388" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 112 <path d="M4.66683 23.3333C3.37813 23.3333 2.3335 22.2887 2.3335 21C2.3335 19.7113 3.37813 18.6666 4.66683 18.6666C5.95553 18.6666 7.00016 19.7113 7.00016 21C7.00016 22.2887 5.95553 23.3333 4.66683 23.3333Z" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 113 </svg> 114 115 `, 116 }, 117 { 118 name: "Navýšenà smluvnÃho nájezdu na 10 000 km/6 mÄsÃců", 119 icon: ` 120 121 122 <svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 123 <path d="M20.9998 19.25V3.5M20.9998 3.5L25.0832 7.58333M20.9998 3.5L16.9165 7.58333" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 124 <path d="M21.0002 19.25C21.0002 21.5052 19.172 23.3333 16.9168 23.3333C14.6617 23.3333 12.8335 21.5052 12.8335 19.25V8.75" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 125 <path d="M12.8332 8.74996C12.8332 6.49479 11.005 4.66663 8.74984 4.66663C6.49467 4.66663 4.6665 6.49479 4.6665 8.74996V17.7388" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 126 <path d="M4.66683 23.3333C3.37813 23.3333 2.3335 22.2887 2.3335 21C2.3335 19.7113 3.37813 18.6666 4.66683 18.6666C5.95553 18.6666 7.00016 19.7113 7.00016 21C7.00016 22.2887 5.95553 23.3333 4.66683 23.3333Z" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 127 </svg> 128 129`, 130 }, 131 { 132 name: "Zimnà pneumatiky", 133 icon: ` 134 135 136 <svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 137 <path d="M3.5 8.1733L7.58333 10.5066M7.58333 10.5066L14 14.0066M7.58333 10.5066L3.5 11.6733M7.58333 10.5066L7 6.4233M24.5 19.84L20.4167 17.5066M20.4167 17.5066L14 14.0066M20.4167 17.5066L21 21.59M20.4167 17.5066L24.5 16.34M14 14.0066L7.58333 17.5066M14 14.0066V5.83997M14 14.0066V21.59M14 14.0066L20.4167 10.5066M7.58333 17.5066L3.5 19.84M7.58333 17.5066L3.5 16.34M7.58333 17.5066L7 21.59M14 5.83997V2.33997M14 5.83997L11.0833 4.6733M14 5.83997L16.9167 4.6733M14 21.59V25.6733M14 21.59L16.9167 23.34M14 21.59L11.0833 23.34M20.4167 10.5066L24.5 8.1733M20.4167 10.5066L24.5 11.6733M20.4167 10.5066L21 6.4233" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 138 </svg> 139 140`, 141 }, 142 { 143 name: "RozÅ¡ÃÅené krytÃ", 144 icon: ` 145 146 147<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 148 <path d="M5 4.604V13.789C5.00001 14.4475 5.16257 15.0957 5.47326 15.6763C5.78395 16.2568 6.23315 16.7517 6.781 17.117L12 20.597L17.219 17.117C17.7667 16.7518 18.2158 16.2571 18.5265 15.6767C18.8372 15.0964 18.9998 14.4483 19 13.79V4.604L12 3.05L5 4.604ZM3.783 2.826L12 1L20.217 2.826C20.4391 2.87536 20.6377 2.99897 20.78 3.1764C20.9224 3.35384 21 3.57452 21 3.802V13.789C20.9999 14.7767 20.756 15.7492 20.2899 16.62C19.8238 17.4908 19.1499 18.2331 18.328 18.781L12 23L5.672 18.781C4.85027 18.2332 4.17646 17.4911 3.71035 16.6205C3.24424 15.7498 3.00024 14.7776 3 13.79V3.802C3.00004 3.57452 3.07764 3.35384 3.21999 3.1764C3.36234 2.99897 3.56094 2.87536 3.783 2.826ZM12 13.5L9.061 15.045L9.622 11.773L7.245 9.455L10.531 8.977L12 6L13.47 8.977L16.755 9.455L14.378 11.773L14.938 15.045L12 13.5Z" fill="#262938"/> 149</svg> 150 151`, 152 }, 153 { 154 name: "Krytà drobných", 155 icon: ` 156 157 158<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 159 <path d="M5 4.604V13.789C5.00001 14.4475 5.16257 15.0957 5.47326 15.6763C5.78395 16.2568 6.23315 16.7517 6.781 17.117L12 20.597L17.219 17.117C17.7667 16.7518 18.2158 16.2571 18.5265 15.6767C18.8372 15.0964 18.9998 14.4483 19 13.79V4.604L12 3.05L5 4.604ZM3.783 2.826L12 1L20.217 2.826C20.4391 2.87536 20.6377 2.99897 20.78 3.1764C20.9224 3.35384 21 3.57452 21 3.802V13.789C20.9999 14.7767 20.756 15.7492 20.2899 16.62C19.8238 17.4908 19.1499 18.2331 18.328 18.781L12 23L5.672 18.781C4.85027 18.2332 4.17646 17.4911 3.71035 16.6205C3.24424 15.7498 3.00024 14.7776 3 13.79V3.802C3.00004 3.57452 3.07764 3.35384 3.21999 3.1764C3.36234 2.99897 3.56094 2.87536 3.783 2.826ZM12 13.5L9.061 15.045L9.622 11.773L7.245 9.455L10.531 8.977L12 6L13.47 8.977L16.755 9.455L14.378 11.773L14.938 15.045L12 13.5Z" fill="#262938"/> 160</svg> 161 162`, 163 }, 164 { 165 name: "Kompletnà servis do 70 000 km/rok", 166 icon: ` 167 168 169 <svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 170 <path d="M11.7255 12.3811L3.4759 20.6307C2.56467 21.5419 2.56467 23.0192 3.4759 23.9305C4.38711 24.8417 5.8645 24.8417 6.77572 23.9305L15.0253 15.6809" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 171 <path d="M11.7252 12.381C10.7407 9.86912 10.9332 6.57331 12.9626 4.54388C14.9921 2.51444 18.7373 2.069 20.7997 3.30644L17.2522 6.85389L16.9225 10.4834L20.552 10.1537L24.0995 6.60626C25.337 8.66866 24.8916 12.414 22.862 14.4434C20.8326 16.4728 17.5368
17116.6653 15.025 15.6808" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 172 </svg> 173 174`, 175 }, 176 { 177 name: "Kompletnà servis nad 70 000 km/rok", 178 icon: ` 179 180 181 <svg width="28" height="29" viewBox="0 0 28 29" fill="none" xmlns="http://www.w3.org/2000/svg"> 182 <path d="M11.7255 12.8743L3.4759 21.1239C2.56467 22.0351 2.56467 23.5124 3.4759 24.4237C4.38711 25.3349 5.8645 25.3349 6.77572 24.4237L15.0253 16.1741" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 183 <path d="M11.7252 12.8743C10.7407 10.3624 10.9332 7.06659 12.9626 5.03716C14.9921 3.00772 18.7373 2.56229 20.7997 3.79973L17.2522 7.34718L16.9225 10.9767L20.552 10.647L24.0995 7.09955C25.337 9.16195 24.8916 12.9073 22.862 14.9367C20.8326 16.9661 17.5368 17.1586 15.025 16.1741" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 184 <path d="M2.3335 6.50008H4.66683M4.66683 6.50008H7.00016M4.66683 6.50008V4.16675M4.66683 6.50008V8.83342" stroke="#809F99" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 185 </svg> 186 187`, 188 }, 189 { 190 name: "Havarijnà pojiÅ¡tÄnÃ", 191 icon: ` 192 193 194 <svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 195 <path d="M23.3834 24.5066H4.61658C2.82221 24.5066 1.69937 22.5657 2.5938 21.0102L11.9773 4.69111C12.8744 3.1308 15.1256 3.13079 16.0228 4.6911L25.4063 21.0102C26.3007 22.5657 25.1779 24.5066 23.3834 24.5066Z" stroke="#004033" stroke-width="1.5" stroke-linecap="round"/> 196 <path d="M14 10.5066V15.1733" stroke="#004033" stroke-width="1.5" stroke-linecap="round"/> 197 <path d="M14 19.8516L14.0117 19.8386" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 198 </svg> 199 200`, 201 }, 202 { 203 name: "Garance mobility", 204 icon: ` 205 206 207 <svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 208 <path d="M9.3335 11.6732H18.6668" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 209 <path d="M8.1665 16.34H9.33317" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 210 <path d="M18.6665 16.34H19.8332" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 211 <path d="M3.5 21.0066V13.3188C3.5 13.0029 3.56419 12.6901 3.68866 12.3997L6.39392 6.0874C6.7616 5.22947 7.6052 4.67322 8.53859 4.67322H19.4614C20.3949 4.67322 21.2384 5.22947 21.6061 6.0874L24.3114 12.3997C24.4358 12.6901 24.5 13.0029 24.5 13.3188V21.0066M3.5 21.0066V23.8066C3.5 24.1932 3.8134 24.5066 4.2 24.5066H7.46667C7.85327 24.5066 8.16667 24.1932 8.16667 23.8066V21.0066M3.5 21.0066H8.16667M24.5 21.0066V23.8066C24.5 24.1932 24.1866 24.5066 23.8 24.5066H20.5333C20.1467 24.5066 19.8333 24.1932 19.8333 23.8066V21.0066M24.5 21.0066H19.8333M8.16667 21.0066H19.8333" stroke="#004033" stroke-width="1.5"/> 212 </svg> 213 214`, 215 }, 216 { 217 name: "Zkrácenà obdobÃ", 218 icon: ` 219 220 221 <svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 222 <path d="M17.5 4.6733V2.33997M17.5 4.6733V7.00663M17.5 4.6733H12.25M3.5 11.6733V22.1733C3.5 23.462 4.54467 24.5066 5.83333 24.5066H22.1667C23.4554 24.5066 24.5 23.462 24.5 22.1733V11.6733H3.5Z" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 223 <path d="M3.5 11.6732V7.00655C3.5 5.71789 4.54467 4.67322 5.83333 4.67322H8.16667" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 224 <path d="M8.1665 2.33997V7.00663" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 225 <path d="M24.5002 11.6732V7.00655C24.5002 5.71789 23.4555 4.67322 22.1668 4.67322H21.5835" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 226 </svg> 227 228`, 229 } 230 ] 231 232 const filtered = icons.filter(icon => optinName.includes(icon.name)); 233 234 if(filtered.length != 0){ 235 return filtered[0].icon 236 } 237 238 return "" 239 } 240 241 // ANCHOR: Global functions 242 function waitForElement(selector) { 243 return new Promise(resolve => { 244 if (document.querySelector(selector)) { 245 return resolve(document.querySelector(selector)); 246 } 247 248 const observer = new MutationObserver(mutations => { 249 if (document.querySelector(selector)) { 250 resolve(document.querySelector(selector)); 251 observer.disconnect(); 252 } 253 }); 254 255 observer.observe(document.body, { 256 childList: true, 257 subtree: true 258 }); 259 }); 260 } 261 262 async function removeAllItemsFromCart(){ 263 const cartBeforeEmptied = await fetch("/cart.js").then(response => { return response.json()}) 264 fetch(window.Shopify.routes.root + 'cart/clear.js', { 265 method: 'POST', 266 headers: { 267 'Content-Type': 'application/json', 268 }, 269 body: JSON.stringify({}) 270 }).then(response => { 271 if(response.ok && cartBeforeEmptied.items.length) { 272 document.dispatchEvent(new CustomEvent("remove-from-cart", {'detail': cartBeforeEmptied}
272)); 273 } 274 return window.location.reload() 275 }) 276 } 277 278 279 280 281 function printError(msg){ 282 let errorElement = document.querySelector('#error_code'); 283 return errorElement.innerText = msg 284 } 285 286 function loading(status, selector) { 287 // requires CSS! (tailwind.css) 288 let locationToAppend 289 let spinnerExists = document.querySelector("#loading") 290 291 if(selector){ 292 locationToAppend = document.querySelector(selector) 293 } else { 294 locationToAppend = document.body 295 } 296 if(!locationToAppend) return 297 if (status == 'start' && !spinnerExists ) return locationToAppend.insertAdjacentHTML("beforeend", `<div id="loading"></div>`); 298 if (status == 'stop' && spinnerExists) return document.querySelector('#loading')?.remove(); 299 } 300 301 function setCookiesConsentToGoogleTag(){ 302 function gtag(){ dataLayer.push(arguments); } 303 304 // Default send (first load) 305 if (localStorage.getItem('consent_send_to_gtag') != 'true'){ 306 307 console.log("default = DENIED"); 308 309 gtag('consent', 'default', { 310 'ad_storage': 'denied', 311 'analytics_storage': 'denied' 312 }); 313 314 } 315 316 if(localStorage.getItem('consent') == true) { 317 console.log("default = GRANTED") 318 gtag('consent', 'default', { 319 'ad_storage': 'granted', 320 'analytics_storage': 'granted' 321 }); 322 } 323 324 // Listen to button pressed 325 async function setConsentToLocalStorage() { 326 await waitForElement('#cookies-wrapper'); 327 const dismiss = document.querySelector('#cookies-dismiss'); 328 const accept = document.querySelector('#cookies-submit'); 329 const acceptAll = document.querySelector('#cookies-action .btn-all') 330 const btnSelect = document.querySelector('#cookies-action .btn-select') 331 332 const buttonClick = new Promise(resolve => { 333 dismiss.addEventListener('click', event => { 334 resolve(0) 335 }) 336 accept.addEventListener('click', event => { 337 resolve(1) 338 }) 339 340 acceptAll.addEventListener('click', event => { 341 resolve(1) 342 }) 343 344 btnSelect.addEventListener('click', event => { 345 resolve(0) 346 }) 347 }) 348 349 return new Promise(resolve => { 350 buttonClick.then(resolve => { 351 localStorage.setItem("consent", resolve); 352 }).then(e => { 353 resolve() 354 }) 355 }) 356 } 357 358 359 function getConsentFromLocalStorage() { 360 if (localStorage.getItem("consent")) return JSON.parse(localStorage.getItem("consent")); 361 return false 362 } 363 364 async function getConsent(){ 365 if(getConsentFromLocalStorage()) return getConsentFromLocalStorage() 366 await setConsentToLocalStorage(); 367 return getConsentFromLocalStorage(); 368 } 369 370 async function sendUserConsentToGTM(){ 371 let consent = await getConsent(); 372 373 if(consent == 1 && localStorage.getItem('consent_send_to_gtag') != 'true') { 374 localStorage.setItem('consent_send_to_gtag', 'true'); 375 console.log("updated = GRANTED") 376 return gtag('consent', 'update', { 377 'ad_storage': 'granted', 378 'analytics_storage': 'granted' 379 }); 380 } 381 } 382 383 sendUserConsentToGTM() 384 } 385 386 async function changeItemAPI(body, reloadAfterSuccess){ 387 await fetch(window.Shopify.routes.root + 'cart/change.js', { 388 method: 'POST', 389 headers: { 390 'Content-Type': 'application/json' 391 }, 392 body: JSON.stringify(body) 393 }).then(response => { 394 if(response.ok) return response.json(); 395 return Promise.reject(response); 396 }).then(json => { 397 if(reloadAfterSuccess) return location.reload() 398 }).catch(response => { 399 console.log(response.status) 400 }) 401 } 402 403 async function emptyCart(){ 404 return await fetch(window.Shopify.routes.root + 'cart/clear.js', { 405 method: 'POST', 406 headers: { 407 'Content-Type': 'application/json', 408 }, 409 body: JSON.stringify({}) 410 }) 411 } 412 413 async function addItemAPI(body, reloadAfterSuccess){ 414 await fetch(window.Shopify.routes.root + 'cart/add.js', { 415 method: 'POST', 416 headers: { 417 'Content-Type': 'application/json' 418 }, 419 body: JSON.stringify(body) 420 }).then(response => { 421 if(response.ok) return response.json(); 422 return Promise.reject(response); 423 }).then(json => { 424 if(reloadAfterSuccess) return location.reload() 425 }).catch(response => { 426 console.log(response.status) 427 }) 428 } 429 430 async function getCart(){ 431 return await fetch(window.Shopify.routes.root + 'cart.js').then(response => { 432 if(response.ok) return response.json(); 433 }).then(data => { 434 return data 435 }) 436 } 437 438 function checkedVerification(checkbox, buttonToDisable){ 439 const checkboxNode = document.querySelector(checkbox); 440 const buttonNode = document.querySelector(buttonToDisable); 441 442 function disable(status, node){ 443 444 if(status === true){ 445 node.setAttribute('disabled', ''); 446 node.style.cursor = 'not-allowed'; 447 448 } else if (status === false) { 449 buttonNode.removeAttribute('disabled'); 450 node.style.cursor = 'pointer'; 451 } 452 } 453 454 function verify(status){ 455 if(!status) return disable(true, buttonNode); 456 return disable(false, buttonNode); 457 } 458 459 if(!checkboxNode) return 460 461 checkboxNode.addEventListener('change', event => { 462 verify(event.target.checked) 463 }) 464 465 if (!checkboxNode.checked) return verify(false) 466 } 467 468 function goBack(index) { 469 history.go(index) 470 localStorage.setItem("backFromStep", true); 471 } 472 473 function triggerModal(e, id){ 474 if(e){ 475 e.stopPropagation() 476 } 477 478 const modal = document.querySelector(id); 479 const modalInner = modal.querySelector("div"); 480 const dialogCloser = modal.querySelector(".dialog-closer"); 481 482 modal.showModal(); 483
484 if(dialogCloser) { 485 dialogCloser.addEventListener("click", () => { 486 modal.close(); 487 }) 488 } 489 490 modal.addEventListener("click", e => { 491 modal.close() 492 }) 493 494 modalInner.addEventListener("click", e => { 495 e.stopPropagation() 496 }) 497 } 498 499 $(document).ready(function () { 500 checkedVerification('#consent_checkbox', '#consent_button') 501 }); 502 503 504 class IEGlobals { 505 constructor(){ 506 507 } 508 static formatCurrency(){ 509 return new Intl.NumberFormat("cs-CZ", { 510 style: 'currency', 511 minimumFractionDigits: 0, 512 maximumFractionDigits: 0, 513 currency: Shopify.currency.active 514 }) 515 } 516 517 static formatDate(date){ 518 const options = { year: 'numeric', month: 'numeric', day: 'numeric' }; 519 return date.toLocaleDateString("cs-CZ", options) 520 } 521 522 static getCookieValue(name) { 523 const cookiePattern = new RegExp('(?:^|; )' + encodeURIComponent(name) + '=([^;]*)'); 524 const result = cookiePattern.exec(document.cookie); 525 return result ? decodeURIComponent(result[1]) : null; 526 } 527 } 528 529 class CustomDiscountHandler { 530 #priceSelectors = { 531 product: ".label__custom [data-price]:not(.pp-original-price)", 532 collection: ".cell-price [data-price]", 533 collectionTryNBuy: ".js-product-card .discounted-price[data-price]", 534 tryNBuySpecialElement: ".js-try-n-buy-special [data-price]", 535 cart: ".car [data-price]" 536 } 537 538 constructor () { 539 this.discountCookieName = "discount_code"; 540 this.discountValue = ""; 541 this.discountPercentage = 0; 542 this.elementsToDiscount; 543 this.init(); 544 } 545 546 getDiscountPercentageFromDiscountName(){ 547 const match = this.discountValue.match(/\d+/); 548 return match ? parseInt(match[0], 10) : null; 549 } 550 551 getPromoCode(){ 552 if(this.discountValue) return this.discountValue; 553 return "" 554 } 555 556 getElements(){ 557 const query = `${ this.#priceSelectors.product }, ${ this.#priceSelectors.tryNBuySpecialElement }, ${ this.#priceSelectors.collection }, ${ this.#priceSelectors.collectionTryNBuy }, ${ this.#priceSelectors.cart }` 558 return document.querySelectorAll(query) 559 } 560 561 setDiscountedPrice(originalPrice){ 562 if(this.discountPercentage <= 0) return originalPrice; 563 const discountAmount = (originalPrice * this.discountPercentage) / 100; 564 return originalPrice - discountAmount 565 } 566 567 discountFrontendPrices(){ 568 if(this.discountPercentage <= 0) return; 569 this.elementsToDiscount = this.getElements(); 570 571 this.elementsToDiscount.forEach(el => { 572 el.dataset.price = this.setDiscountedPrice(el.dataset.price) 573 }) 574 } 575 576 577 578 extendCookieExpiration(cookieName) { 579 if(this.getCookie("discountCodeExpirationSet") === "true") return; 580 581 let cookieValue = document.cookie 582 .split('; ') 583 .find(row => row.startsWith(cookieName + '=')) 584 ?.split('=')[1]; 585 586 if (cookieValue) { 587 let expirationDate = new Date(); 588 expirationDate.setDate(expirationDate.getDate() + 1); 589 590 let expires = expirationDate.toUTCString(); 591 592 document.cookie = `${cookieName}=${cookieValue}; expires=${expires}; path=/`; 593 this.setCookie('discountCodeExpirationSet', 'true', 1); 594 } 595 } 596 597 getCookie(cookieName) { 598 let cookieString = document.cookie 599 .split('; ') 600 .find(row => row.startsWith(cookieName + '=')); 601 602 if (cookieString) { 603 return decodeURIComponent(cookieString.split('=')[1]); 604 } else { 605 return null; 606 } 607 } 608 609 610 setCookie(cookieName, cookieValue, daysUntilExpire = null) { 611 let cookieData = true; 612 613 let cookieString = `${cookieName}=${encodeURIComponent(JSON.stringify(cookieData))}; path=/`; 614 615 if (daysUntilExpire) { 616 let expirationDate = new Date(); 617 expirationDate.setDate(expirationDate.getDate() + daysUntilExpire); 618 cookieString += `; expires=${expirationDate.toUTCString()}`; 619 } 620 621 document.cookie = cookieString; 622 } 623 624 reSetCookieExpiration(){ 625 this.extendCookieExpiration(this.discountCookieName); 626 } 627 628 removeDiscount(){ 629 document.cookie = this.discountCookieName + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;'; 630 location.reload(); 631 } 632 633 init(){ 634 this.discountValue = IEGlobals.getCookieValue(this.discountCookieName); 635 if(!this.discountValue) return; 636 this.discountPercentage = this.getDiscountPercentageFromDiscountName(); 637 this.reSetCookieExpiration() 638 } 639 640 } 641 642 const customDiscountHandler = new CustomDiscountHandler(); 643 document.addEventListener("DOMContentLoaded", e => { 644 customDiscountHandler.discountFrontendPrices() 645 }) 646 647 648 class SnackBars { 649 constructor(){ 650 this.popupSelector = ".snackbar-popup"; 651 } 652 653 close(event){ 654 if(event.target.closest(this.popupSelector)){ 655 event.target.closest(this.popupSelector).remove(); 656 } 657 } 658 659
660 alert(msg, title){ 661 title = title || "DoÅ¡lo k chybÄ" 662 msg = msg || "DoÅ¡lo k chybÄ zkuste prosÃm znovu, anebo kontaktujte naÅ¡i technickou podporu." 663 664 const html = ` 665<div class="snackbar-popup tw-fixed tw-translate-x-[-50%] tw-top-[50%] tw-z-[999999] tw-left-1/2"> 666 667 668<div class="tw-rounded-md tw-border-[1px] tw-border-solid tw-max-w-[360px] tw-p-[18px] tw-flex tw-items-start tw-justify-between tw-gap-[8px] 669 670 tw-bg-errorLight tw-border-error 671 "> 672 673 674 <div> 675 676 <svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg"> 677<path d="M12 22.9727C6.477 22.9727 2 18.4957 2 12.9727C2 7.44966 6.477 2.97266 12 2.97266C17.523 2.97266 22 7.44966 22 12.9727C22 18.4957 17.523 22.9727 12 22.9727ZM12 20.9727C14.1217 20.9727 16.1566 20.1298 17.6569 18.6295C19.1571 17.1292 20 15.0944 20 12.9727C20 10.8509 19.1571 8.81609 17.6569 7.3158C16.1566 5.81551 14.1217 4.97266 12 4.97266C9.87827 4.97266 7.84344 5.81551 6.34315 7.3158C4.84286 8.81609 4 10.8509 4 12.9727C4 15.0944 4.84286 17.1292 6.34315 18.6295C7.84344 20.1298 9.87827 20.9727 12 20.9727ZM11 15.9727H13V17.9727H11V15.9727ZM11 7.97266H13V13.9727H11V7.97266Z" fill="#BC1514"/> 678</svg> 679 680 681 </div> 682 683 684 <div class="tw-w-full"> 685 686 <p class="tw-font-[700] tw-text-primaryDarker tw-text-[16px] tw-leading-[24px] tw-m-0">${ title }</p> 687 688 <p class=" tw-text-primaryDarker 689 tw-text-[16px] tw-leading-[24px] tw-m-0 snackbar-description">${ msg }</p> 690 </div> 691 692 693 <div class="tw-cursor-pointer" onclick="snackBars.close(event)"> 694 <svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg"> 695<path d="M12 11.5594L16.95 6.60938L18.364 8.02338L13.414 12.9734L18.364 17.9234L16.95 19.3374L12 14.3874L7.04999 19.3374L5.63599 17.9234L10.586 12.9734L5.63599 8.02338L7.04999 6.60938L12 11.5594Z" fill="#262938"/> 696</svg> 697 698 </div> 699 700</div> 701 702 703</div> 704`; 705 document.body.insertAdjacentHTML("beforebegin", html); 706 } 707 } 708 709 class FilterVariants { 710 constructor() { 711 } 712 713 getSortType(){ 714 const params = new URLSearchParams(location.search); 715 return params.get("sort_by") 716 } 717 718
719 sortVariantsByPrice(){ 720 // type = "price-ascending", "price-descending"; 721 if(!this.isTarifPicked()) return 722 const sortType = this.getSortType(); 723 const container = document.querySelector('#product-grid'); 724 const carsInGrid = Array.from(document.querySelectorAll("#product-grid > a")); 725 726 727 carsInGrid.sort((a, b) => { 728 const priceA = parseFloat(a.querySelector("[data-price]").dataset.price); 729 const priceB = parseFloat(b.querySelector("[data-price]").dataset.price); 730 731 732 if(sortType == "price-ascending") return priceA - priceB; 733 if(sortType == "price-descending") return priceB - priceA; 734 }) 735 736 container.innerHTML = ''; 737 738 carsInGrid.forEach(product => { 739 container.appendChild(product); 740 }); 741 } 742 743 744 onlyOneCheckPossibleForTarif() { 745 const tarifCheckboxes = document.querySelectorAll("input[type='checkbox'].tarif-checkbox"); 746 747 if (tarifCheckboxes.length > 0) { 748 tarifCheckboxes.forEach(box => { 749 box.addEventListener('click', () => { 750 if (box.checked) { 751 tarifCheckboxes.forEach(otherBox => { 752 otherBox.checked = false; 753 }); 754 box.checked = true; 755 } else { 756 box.checked = false; 757 } 758 }); 759 }); 760 } 761 } 762 763 getVariantData(){ 764 return document.querySelectorAll("[data-variants]") 765 } 766 767 isTarifPicked(){ 768 const params = new URLSearchParams(location.search); 769 return params.has("filter.v.option.tarif") 770 } 771 772 getTarifValue(){ 773 const params = new URLSearchParams(location.search); 774 return params.get("filter.v.option.tarif").split(" â ")[0]; 775 } 776 777 defaultState(){ 778 // Default state should be set by filter ajax refresh in facets.js, it doesnt need standalone function for reseting the state. 779 return 780 } 781 782 variantState(varData, carContext){ 783 const price = carContext.querySelector("[data-price]"); 784 const from = carContext.querySelector("[data-from]"); 785 price.dataset.price = varData.price; 786 from.innerText = varData.option1 787 788 } 789 790 changePricesForPickedVariants(){ 791 792 this.getVariantData().forEach(car => { 793 const carWrapper = car.closest(".js-product-card"); 794 if(!this.isTarifPicked()) return this.defaultState(); 795 796 const tarif = this.getTarifValue() 797 const carVariantsData = JSON.parse(car.dataset.variants); 798 const pickedVariantData = carVariantsData.filter(el => tarif == el.option1); 799 this.variantState(pickedVariantData[0], carWrapper); 800 }) 801 } 802 803
804 805 init() { 806 807 this.onlyOneCheckPossibleForTarif(); 808 this.changePricesForPickedVariants(); 809 this.sortVariantsByPrice(); 810 } 811 } 812 813 814 document.addEventListener("DOMContentLoaded", e => { 815 new FilterVariants().init() 816 817 document.body.addEventListener("facetsFiltered", e => { 818 new FilterVariants().init() 819 }); 820 821 // infinite scroll 822 document.addEventListener("collectionScrollRendered", e => { 823 new FilterVariants().init() 824 }); 825 }) 826 827 828 829 const snackBars = new SnackBars() 830 831 832 833 834 // ANCHOR: Complex functions 835 // ANCHOR: PRODUCT PAGE SCRIPTS 836 837 // ANCHOR: HANDLE PP 838 // INFO: 839 // 840 // 841 // This script handles multiple custom solutions for Birne's product page and extends Dawn theme. 842 // 843 // 1) Handles optins 844 // adds optional products (optins) to cart with main product when checked with input 845 // group optins to chosen product variant (hides elements on frontend) 846 // and other logic 847 // 848 // 2) Adds advance product to cart with main product (advanceProductID). EDIT: advanceProductID is added via liquid, so it's dynamic. (main-product.liquid) 849 // 3) Dynamicaly change price in variant inputs 850 // 851 // Script can be extended when handlling anything on Product page 852 // 853 // 854 // CREATED BY: VojtÄch Smutný, IdealEshop 2022 855 856 857 const OPTINS_DEFAULT = { 858 selectors: { 859 form: "[data-type='add-to-cart-form']", 860 optin: { 861 formInput: ".optins", 862 CheckboxInput: { 863 all: "[data-pair]", 864 onlyActive: `[data-pair]:not(.${this.hiddenClass})`, 865 }, 866 }, 867 variant: "[data-pair-input]", 868 variantPrice: ".js-sme-variant-price", 869 optinPrice: "[data-optin-price]", 870 colorInputs: ".ie-color-input", 871 totalPrice: "[data-total-price]" 872 }, 873 hiddenClass: "tw-hidden" 874 }; 875 876 class HandlePP { 877 constructor(options) { 878 Object.entries({ ...OPTINS_DEFAULT, ...options }).forEach( 879 ([key, value]) => { 880 this[key] = value; 881 this.variants = document.querySelectorAll(this.selectors.variant); 882 this.colorInputs = document.querySelectorAll(this.selectors.colorInputs); 883 this.variantsPrice = document.querySelectorAll( 884 this.selectors.variantPrice 885 ); 886 this.optinsCheckbox = document.querySelectorAll( 887 this.selectors.optin.CheckboxInput.all + " input" 888 ); 889 this.form = document.querySelector(this.selectors.form); 890 891 this.variantsInitialPrice = []; 892 } 893 ); 894 } 895 896 // Add price to variants 897 setPriceToVariants(addition = 0, current_optin) { 898 this.variantsPrice.forEach((variant) => { 899 // Checkbox setting - so it doesnt add optin price to other product variants 900 if (current_optin) { 901 let variantGroup = document.getElementById( 902 variant.closest("label").getAttribute("for") 903 ).dataset.pairInput; 904 let optinGroup = current_optin.closest("li").dataset.pair; 905 906 if (addition > 0 && variantGroup == optinGroup) { 907 if (current_optin.checked) { 908 variant.dataset.price = this.addPrice( 909 variant.dataset.price, 910 addition 911 ); 912 } else { 913 variant.dataset.price = this.minusPrice( 914 variant.dataset.price, 915 addition 916 ); 917 } 918 } 919 } 920 921 variant.innerText = new Intl.NumberFormat("cs-CZ", { 922 style: 'currency', 923 minimumFractionDigits: 0, 924 maximumFractionDigits: 0, 925 currency: Shopify.currency.active 926 }).format(parseInt(variant.dataset.price / 100)); 927 }); 928 } 929 930 formatCurrency(){ 931 return new Intl.NumberFormat("cs-CZ", { 932 style: 'currency', 933 minimumFractionDigits: 0, 934 maximumFractionDigits: 0, 935 currency: Shopify.currency.active 936 }) 937 } 938 939 initPriceToVariants() { 940 this.variantsPrice.forEach((variant) => { 941 variant.innerText = IEGlobals.formatCurrency().format(parseInt(variant.dataset.price / 100)) 942 }); 943 } 944 945 addPrice(a, b) { 946 return parseInt(a) + parseInt(b); 947 } 948 949 minusPrice(a, b) { 950 return parseInt(a) - parseInt(b); 951 } 952 953 // Add záloha 954 addAdvanceToForm() { 955 if(this.advanceProductID == "") return 956 957 return this.form.insertAdjacentHTML( 958 "beforeend", 959 `<input type="hidden" class="optins" name="id[]" value="${this.advanceProductID}"></input>` 960 ); 961 } 962 963 // Add optins price to variants dynamically 964 965 addOptinsPrice(optin) { 966 let optinPrice = optin.closest(this.selectors.optinPrice); 967 this.setPriceToVariants(optinPrice.dataset.optinPrice, optin); 968 } 969 970 // Reset price 971 assignVariantsInitialPrice() { 972 this.variantsPrice.forEach((variant) => { 973 this.variantsInitialPrice.push(variant.dataset.price); 974 }); 975 } 976 977 resetVariantsToInitialPrice() { 978 this.variantsPrice.forEach((variant, index) => { 979 variant.dataset.price = this.variantsInitialPrice[index]; 980 }); 981 } 982 983 setPreviousCollectionUrlToBackButton(){ 984 const url = sessionStorage.getItem("facet-filtered-url"); 985 const button = document.querySelector("#js-go-back"); 986 if(!url || !button) return 987 988 return button.href = url 989 } 990 991 // Filters optins when select variant 992 filterOptins(variant) { 993 let hiddenClass = this.hiddenClass; 994 let allOptinCheckboxes = document.querySelectorAll( 995 this.selectors.optin.CheckboxInput.all 996 ); 997 998 function optinsToggle(variant_id) {
999 allOptinCheckboxes.forEach((checkbox) => { 1000 if (checkbox.dataset.pair == variant_id) 1001 return checkbox.classList.remove(hiddenClass); 1002 return checkbox.classList.add(hiddenClass); 1003 }); 1004 } 1005 1006 if (variant.checked) return optinsToggle(variant.dataset.pairInput); 1007 } 1008 // Adds optin input with id to CART FORM to be sent later via submit button to backend 1009 addOptinsAsInput() { 1010 let activeOptinsCheckboxes = document.querySelectorAll( 1011 this.selectors.optin.CheckboxInput.onlyActive + " input" 1012 ); 1013 1014 1015 activeOptinsCheckboxes.forEach((optin) => { 1016 let optinInputInCartForm = document.querySelector( 1017 `.optins[value='${optin.id}']` 1018 ); 1019 1020 // PÅidávánà inputů s ohledem na duplikáty 1021 if (optin.checked && !optinInputInCartForm) { 1022 return this.form.insertAdjacentHTML( 1023 "beforeend", 1024 `<input type="hidden" class="optins" name="id[]" value="${optin.id}"></input>` 1025 ); 1026 } 1027 1028 // Mazánà odÅ¡rtlých 1029 if (!optin.checked && optinInputInCartForm) { 1030 optinInputInCartForm.remove(); 1031 } 1032 }); 1033 } 1034 1035 // Remove optin from cart lane when switching variants 1036 removeOptinsWhenSwitchVariants() { 1037 let optinForm = document.querySelectorAll(this.selectors.optin.formInput); 1038 1039 optinForm.forEach((optin) => { 1040 optin.remove(); 1041 }); 1042
1043 this.optinsCheckbox.forEach((checkbox) => { 1044 checkbox.checked = false; 1045 }); 1046 } 1047 1048 1049 getCheckedVariant(){ 1050 return document.querySelector(this.selectors.variant + ":checked"); 1051 } 1052 1053 getCheckedVariantLabel(){ 1054 const variant = this.getCheckedVariant(); 1055 if(!variant) return 1056 return document.querySelector(`label[for='${variant.id}']`); 1057 } 1058 1059 1060 getOptinsTotalPrice(){ 1061 let price = 0; 1062 1063 // Add optin price 1064 const optins = document.querySelectorAll(this.selectors.optin.CheckboxInput.onlyActive).forEach(optin => { 1065 if(optin.querySelector("input")?.checked) price = price + parseInt(optin.dataset.optinPrice); 1066 }) 1067 1068 // Add price from variant 1069 const checkedVariant = this.getCheckedVariant(); 1070 1071 if(checkedVariant){ 1072 const labelElement = this.getCheckedVariantLabel(); 1073 if (labelElement) { 1074 const variantPrice = labelElement.querySelector(this.selectors.variantPrice).dataset.price; 1075 price = price + parseInt(variantPrice); 1076 } 1077 } 1078 1079 return price 1080 } 1081 1082 setTotalPrice(){ 1083 const totalPrice = this.getOptinsTotalPrice(); 1084 document.querySelectorAll(this.selectors.totalPrice).forEach(price => { 1085 price.dataset.price = totalPrice; 1086 }) 1087 } 1088 1089 addSelectedItemsToFloatingMenu(){ 1090 const getIconSvg = (name) => { 1091 const defaultTarifIcon = ` 1092 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1093 <path d="M7 9L6 10.9963H14" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1094 <path d="M18 18C19.1046 18 20 17.1046 20 16C20 14.8954 19.1046 14 18 14C16.8954 14 16 14.8954 16 16C16 17.1046 16.8954 18 18 18Z" stroke="#004033" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 1095 <path d="M6 18C7.10457 18 8 17.1046 8 16C8 14.8954 7.10457 14 6 14C4.89543 14 4 14.8954 4 16C4 17.1046 4.89543 18 6 18Z" stroke="#004033" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 1096 <path d="M4 16H2.5C1.5 16 1 15.5 1 14.5V11L2.5 10L4 7C4.5 6.5 5 6 6 6H12C12.8098 6 13.2742 6.1371 14 6.5L18 10.5L21.5 11.5C22.3234 11.9117 22.5883 12.1766 23 13V15.5L20 16" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1097 <path d="M8 16H16" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1098 </svg>`; 1099 1100 const n = name.toLowerCase(); 1101 1102 if (n === 'value') { 1103 return defaultTarifIcon; 1104 } 1105 1106 if (n === 'flexi smart') { 1107 return ` 1108 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1109 <path d="M6 9L5 10.9963L13.5 11" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1110 <path d="M18 18C19.1046 18 20 17.1046 20 16C20 14.8954 19.1046 14 18 14C16.8954 14 16 14.8954 16 16C16 17.1046 16.8954 18 18 18Z" stroke="#004033" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 1111 <path d="M6 18C7.10457 18 8 17.1046 8 16C8 14.8954 7.10457 14 6 14C4.89543 14 4 14.8954 4 16C4 17.1046 4.89543 18 6 18Z" stroke="#004033" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 1112 <path d="M4 16H2.5C1.5 16 1 15.5 1 14.5V11L3 7C3.5 6.5 4 6 5 6H12C12.8098 6 13.2742 6.1371 14 6.5L18 10.5L21.5 11.5C22.3234 11.9117 22.5883 12.1766 23 13V15.5L20 16" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1113 <path d="M8 16H16" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1114 </svg>`; 1115 } 1116 1117 if (n === 'flexi') { 1118 return ` 1119 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1120 <path d="M5 9L4.5 10.9963H14" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1121 <path d="M18 18C19.1046 18 20 17.1046 20 16C20 14.8954 19.1046 14 18 14C16.8954 14 16 14.8954 16 16C16 17.1046 16.8954 18 18 18Z" stroke="#004033" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 1122 <path d="M6 18C7.10457 18 8 17.1046 8 16C8 14.8954 7.10457 14 6 14C4.89543 14 4 14.8954 4 16C4 17.1046 4.89543 18 6 18Z" stroke="#004033" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 1123 <path d="M4 16H2.5C1.5 16 1 15.5 1 14.5V11L2 7C2.5 6.5 3 6 4 6H13C13.8098 6 14.2742 6.1371 15 6.5L18.5 11L21.5 11.5C22.3234 11.9117 22.5883 12.1766 23 13V15.5L20 16" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1124 <path d="M8 16H16" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1125 </svg>`; 1126 } 1127 1128 return defaultTarifIcon; 1129 }; 1130 1131 1132 const getPickedTarifName = () => { 1133 const variantLabel = this.getCheckedVariantLabel(); 1134 const name = variantLabel.querySelector("h4").innerText; 1135 const price = variantLabel.querySelector(OPTINS_DEFAULT.selectors.variantPrice).dataset.price; 1136 let tarifDurationText = ""; 1137 const iconSvg = getIconSvg(name); 1138 if (name.toLowerCase().includes('value')) { 1139 tarifDurationText = '36 mÄsÃců + 10 000 km/rok'; 1140 } else if (name.toLowerCase() == 'flexi smart') { 1141 tarifDurationText = 'Flexibilnà od 6 mÄsÃců + neomezený nájezd'; 1142 } else if (name.toLowerCase().includes('smart')) { 1143 tarifDurationText = '24 mÄsÃců + 20 000 km/rok'; 1144 } else if (name.toLowerCase().includes('flexi')) { 1145 tarifDurationText = '2-60 mÄsÃců + neomezený nájezd'; 1146 } else { 1147 tarifDurationText = ''; 1148 } 1149 return `<div class="tw-flex tw-text-[14px] tw-justify-between tw-mt-[1.6rem]"><div class="tw-flex tw-items-center tw-gap-[8px]">${iconSvg}<span class="tw-text-primaryDarker tw-text-[1.2rem] tw-font-medium">${name}</span></div><div class="tw-flex tw-flex-col tw-text-right"><span class="tw-text-primaryDarker tw-text-xs tw-font-bold" data-price=${price}></span><span data-dph class="tw-text-primaryDarker tw-font-serif tw-text-[8px]"></span></div></div>` 1150 } 1151 1152 const getPickedOptins = () => { 1153 const checkedOptins = document.querySelectorAll(this.selectors.optin.CheckboxInput.onlyActive + " input:checked"); 1154 if (checkedOptins.length === 0) { 1155 return `<div class="tw-text-sm tw-mb-[1.6rem]">Nemáte vybrané žádné doplÅkové služby</div>`; 1156 } 1157 let optinsHtml = "" 1158 checkedOptins.forEach(optin => { 1159 const name = optin.parentElement.querySelector(".js-optin-name").innerText; 1160 const price = optin.parentElement.querySelector(".js-optin-price").dataset.price; 1161 const newOptin = ` 1162 <div class="tw-flex tw-text-[14px] tw-justify-between tw-mb-[1.6rem] tw-items-center tw-gap-[8px] [&>svg]:tw-w-[1.6rem] [&>svg]:tw-h-[1.6rem] ">${ generateOptinIcon(name) }<span class="tw-text-primaryDarker tw-font-medium tw-text-[1.2rem] tw-w-[70%]">${name}</span><div class="tw-flex tw-flex-col tw-text-right"><span class="tw-text-primaryDarker tw-leading-[1.2] tw-text-[1.2rem] tw-font-semibold" data-price=${price}></span><span data-dph class="tw-text-primaryDarker tw-font-medium tw-leading-[1.2] tw-text-[8px]"></span></div></div> 1163 ` 1164 optinsHtml = optinsHtml + newOptin; 1165 }) 1166 1167 return optinsHtml 1168 } 1169 1170
1171 const floatingMenu = document.getElementById("js-floating-menu"); 1172 const html = /*html*/` 1173 <h5 class="tw-text-[1.6rem] tw-font-medium">Vybraný tarif:</h5> 1174 ${getPickedTarifName()} 1175 <h5 class="tw-text-[1.6rem] tw-font-medium tw-mb-[1.6rem] tw-mt-[2.4rem]">Vybrané služby k tarifu:</h5> 1176 ${getPickedOptins()} 1177 ` 1178 return floatingMenu.innerHTML = html; 1179 } 1180 1181 freeMonthLogic(tarifType){ 1182 function badgeToggler(hide){ 1183 const badges = document.querySelectorAll(".js-product-card .badge"); 1184 console.log(hide); 1185 badges.forEach(badge => { 1186 if(hide){ 1187 badge.style.display = "none"; 1188 } else { 1189 badge.style.display = ""; 1190 } 1191 }) 1192 } 1193 1194 if(!tarifType) tarifType = document.querySelector(".label__custom input:checked").value 1195 1196 if(tarifType == "Value" || tarifType == "Smart"){ 1197 return badgeToggler(false); 1198 } 1199 1200 return badgeToggler(true); 1201 } 1202 1203 // Handlers 1204 variantsChangeHandler() { 1205 this.variants.forEach((variant) => { 1206 variant.addEventListener("change", (event_change) => { 1207 this.filterOptins(variant); 1208 this.removeOptinsWhenSwitchVariants(); 1209 this.resetVariantsToInitialPrice(); 1210 // this.setPriceToVariants(); 1211 this.addAdvanceToForm(); 1212 this.setTotalPrice(); 1213 this.addSelectedItemsToFloatingMenu(); 1214 this.freeMonthLogic(event_change.target.value); 1215 }); 1216 }); 1217 } 1218 1219 1220 async switchGallery() { 1221 1222 const gallerySection = document.querySelector(".js-swiper-gallery-product-page"); 1223 if (!gallerySection) return; 1224 const currentUrl = window.location.href; 1225 1226 try { 1227 const response = await fetch(currentUrl); 1228 if (!response.ok) throw new Error("Failed to fetch the page"); 1229 1230 const html = await response.text(); 1231 const parser = new DOMParser(); 1232 const doc = parser.parseFromString(html, "text/html"); 1233 const newGallerySection = doc.querySelector(".js-swiper-gallery-product-page"); 1234 1235 if (newGallerySection) { 1236 gallerySection.innerHTML = newGallerySection.innerHTML; 1237 generateSwiperGallery() 1238 lightbox = initLightbox() 1239 } 1240 } catch (error) { 1241 console.error("Error switching gallery:", error); 1242 } 1243 } 1244 1245 async switchFeauturedImage() { 1246 1247 const gallerySection = document.querySelector("#js-product-card--image"); 1248 if (!gallerySection) return; 1249 const currentUrl = window.location.href; 1250 1251 try { 1252 const response = await fetch(currentUrl); 1253 if (!response.ok) throw new Error("Failed to fetch the page"); 1254 1255 const html = await response.text(); 1256 const parser = new DOMParser(); 1257 const doc = parser.parseFromString(html, "text/html"); 1258 const newGallerySection = doc.querySelector("#js-product-card--image"); 1259 1260 if (newGallerySection) { 1261 gallerySection.innerHTML = newGallerySection.innerHTML; 1262 } 1263 } catch (error) { 1264 console.error("Error switching gallery:", error); 1265 } 1266 } 1267 1268 colorInputsHandler() { 1269 document.body.addEventListener("variantUrlChanged", e => { 1270 this.switchGallery(); 1271 this.switchFeauturedImage(); 1272 }) 1273 } 1274 1275 hideParentOptions(event){ 1276 const parent = event.target.closest("li").dataset.parent; 1277 const allActiveParentEls = document.querySelectorAll(`[data-parent='${parent}']:not(.tw-hidden)`) 1278 1279 if(event.target.checked){ 1280 1281 allActiveParentEls.forEach(el => { 1282 let input = el.querySelector('input'); 1283 if(event.target == input) return; 1284 input.setAttribute("disabled", ""); 1285 }) 1286 1287 } else { 1288 1289 allActiveParentEls.forEach(el => { 1290 let input = el.querySelector('input'); 1291 input.removeAttribute("disabled"); 1292 }) 1293 1294 } 1295 } 1296 1297 1298 optinsChangeHandler() {
1299 this.optinsCheckbox.forEach((optin) => { 1300 optin.addEventListener("change", (event_change) => { 1301 this.addOptinsAsInput(); 1302 this.hideParentOptions(event_change); 1303 this.setTotalPrice(); 1304 this.addSelectedItemsToFloatingMenu(); 1305 //this.addOptinsPrice(optin); //edit Jakub Novák Birne -> zruÅ¡it pÅiÄÃtánà ceny optin k vybrané variantÄ 1306 }); 1307 }); 1308 } 1309 1310 initHandler() { 1311 // Reload page 1312 this.variants.forEach((variant) => { 1313 this.filterOptins(variant); 1314 }); 1315 1316 this.assignVariantsInitialPrice(); 1317 this.addAdvanceToForm(); 1318 } 1319 1320 init() { 1321 // load handlers 1322 this.initHandler(); 1323 this.variantsChangeHandler(); 1324 this.colorInputsHandler(); 1325 this.optinsChangeHandler(); 1326 this.setTotalPrice(); 1327 this.addSelectedItemsToFloatingMenu(); 1328 this.freeMonthLogic(); 1329 this.setPreviousCollectionUrlToBackButton() 1330 } 1331 } 1332 1333 // ANCHOR: HANDLE COMPANY 1334 // CREATED BY: VojtÄch Smutný, IdealEshop 2024 1335 1336 const handlePricesSelectors = { 1337 price: "[data-price]", 1338 variant: ".swatch-container input[type='radio']", 1339 optin: ".ie-additional input[type='checkbox']", 1340 specialElements: { 1341 dph: "[data-dph]" 1342 } 1343 } 1344 1345 1346 class VATState { 1347 constructor(){ 1348 this.sessionStorageName = "VATState"; 1349 this.switches = document.querySelectorAll(".js-sme-switch"); 1350 this.switchEventName = "SMESwitched" 1351 this.init(); 1352 } 1353 1354 setState(value){ 1355 this.setUrlParam(value); 1356 return sessionStorage.setItem(this.sessionStorageName, value) 1357 } 1358 1359 getState(){ 1360 // true == without VAT, false == with VAT 1361 const urlState = this.getUrlParamValue(); 1362 if(urlState !== null) return urlState; 1363 1364 const storedState = sessionStorage.getItem(this.sessionStorageName); 1365 if(storedState !== null) return storedState === "true"; 1366 1367 return true; 1368 } 1369 1370 switchChangeEvent(){ 1371 if(!this.switches) return 1372 this.switches.forEach(swit => { 1373 swit.onchange = (e) => { 1374 console.log("SWITCH") 1375 this.setState(e.target.checked === true); 1376 return document.dispatchEvent(new CustomEvent(this.switchEventName, {'detail': e})); 1377 } 1378 }) 1379 } 1380 1381 setUrlParam(value){ 1382 let url = new URL(window.location.href); 1383 1384 if(value && !url.searchParams.has("ico")){ 1385 url.searchParams.append('ico', value); 1386 } 1387 1388 if(!value){ 1389 url.searchParams.delete('ico'); 1390 } 1391 1392 return history.replaceState(null, '', url.href); 1393 } 1394 1395 getUrlParamValue(){ 1396 let url = new URL(window.location.href); 1397 const value = url.searchParams.get("ico"); 1398 if(value === "true") return true; 1399 if(value === "false") return false; 1400 return null; 1401 } 1402 1403 setSwitchInitialState(){ 1404 if(!this.switches) return 1405 const state = this.getState(); 1406 this.switches.forEach(swit => { 1407 swit.checked = state; 1408 }) 1409 } 1410 1411 switchInits(){ 1412 this.switchChangeEvent(); 1413 this.setSwitchInitialState(); 1414 this.setState(this.getState()); 1415 } 1416 1417 init(){ 1418 this.switchInits() 1419 } 1420 } 1421 1422 class HandlePrices { 1423 constructor(pricesTimes100OFF) { 1424 this.selectors = handlePricesSelectors; 1425 this.VAT = 1.21 1426 this.times = pricesTimes100OFF ? 1 : 100 1427 this.init() 1428 } 1429 1430 getAllPriceElements(price){ 1431 return document.querySelectorAll(this.selectors.price); 1432 } 1433 1434 setRegularPrices(price){ 1435 return IEGlobals.formatCurrency().format(parseInt(price) / this.times); 1436 } 1437 1438 setVATPrices(price){ 1439 return IEGlobals.formatCurrency().format((parseInt(price) / this.VAT) / this.times); 1440 } 1441 1442 getPrice(price){ 1443 const withoutVAT = this.VATstate.getState(); 1444 if(withoutVAT) return this.setVATPrices(price); 1445 return this.setRegularPrices(price) 1446 } 1447 1448 handlePrices(){ 1449 this.getAllPriceElements().forEach(price => { 1450 return price.innerText = this.getPrice(price.dataset.price) 1451 }) 1452 } 1453 1454 handleSpecialElements(){ 1455 const withoutVAT = this.VATstate.getState(); 1456 document.querySelectorAll(this.selectors.specialElements.dph).forEach(el => { 1457 let interval = `mÄsÃÄnÄ` 1458 if(el.dataset.dphInterval === "day") interval = `za den` 1459 if(el.dataset.dphInterval === "none") interval = "" 1460 const vatLabel = withoutVAT 1461 ? `bez DPH` 1462 : `s DPH`;
1463 return el.innerText = [interval, vatLabel].filter(Boolean).join(" "); 1464 }) 1465 } 1466 1467 setSMESwitchChange(){ 1468 document.addEventListener(this.VATstate.switchEventName, e => { 1469 this.handlePrices(); 1470 this.handleSpecialElements(); 1471 }) 1472 } 1473 1474 setLoadEvent(){ 1475 this.handlePrices(); 1476 this.handleSpecialElements(); 1477 } 1478 1479 onChangeEvent(selector){ 1480 document.querySelectorAll(selector).forEach(input => { 1481 input.addEventListener("change", e => { 1482 this.handlePrices(); 1483 this.handleSpecialElements(); 1484 }) 1485 }) 1486 } 1487 1488 setVariantChange(){ 1489 this.onChangeEvent(this.selectors.variant) 1490 } 1491 1492 setOptinChange(){ 1493 this.onChangeEvent(this.selectors.optin) 1494 } 1495 1496 events(){ 1497 this.setLoadEvent(); 1498 this.setVariantChange(); 1499 this.setOptinChange(); 1500 this.setSMESwitchChange(); 1501 } 1502 1503 init(){ 1504 this.VATstate = new VATState(); 1505 this.events(); 1506 } 1507 } 1508 1509 1510 const handlePrices = new HandlePrices(); 1511 1512 document.addEventListener("DOMContentLoaded", () => { 1513 1514 1515 1516 handlePrices.init() 1517 1518 // Collection filter event 1519 document.body.addEventListener("facetsFiltered", function(){ 1520 handlePrices.init() 1521 }) 1522 }); 1523 1524 1525 1526 // GA4 1527 // Event Types 1528 // view_item 1529 // add_to_cart 1530 // add_to_cart (addons) 1531 // remove_from_cart 1532 // begin_checkout 1533 // purchase 1534 // contactForm 1535 // userDataSetup 1536 1537 1538 class DataLayerObject { 1539 constructor(eventType, contextObject) { 1540 this.eventType = eventType; 1541 this.contextObject = contextObject; 1542 this.object 1543 this.init(); 1544 } 1545 1546 viewItem() { 1547 let [ price, SKU, pickedColor, option1, id] = "" 1548 1549 if(this.contextObject){ 1550 price = document.querySelector("input[name='Tarif']:checked").closest("label").querySelector("[data-price]").dataset.price / 100; 1551 id = document.querySelector("input[name='Tarif']:checked").dataset.id; 1552 pickedColor = document.querySelector("input[name='Barva']:checked").value; 1553 option1 = document.querySelector("input[name='Tarif']:checked").value; 1554 } 1555 return { 1556 event: this.eventType, 1557 ecommerce: { 1558 currency: "CZK", 1559 value: price || "0", 1560 items: [ 1561 { 1562 item_id: id || "", 1563 item_name: "", 1564 affiliation: location.hostname, 1565 index: 0, 1566 item_brand: "", 1567 item_category: "", 1568 item_category2: "", 1569 item_category3: "", 1570 item_category4: "", 1571 item_category5: option1 || "", 1572 item_list_id: "leasing", 1573 item_list_name: "Leasing", 1574 item_variant: pickedColor || "", 1575 price: price || "0", 1576 quantity: 1, 1577 }, 1578 ], 1579 }, 1580 }; 1581 } 1582 1583 consent(){ 1584 let shortterm = 0; 1585 if(this.contextObject.consent == 0) shortterm = 1; 1586 // Shortterm je vždy opaÄné hodnoty 1587 1588 return { 1589 event: "cpd_consent", 1590 payload: { 1591 consent_a_dp: this.contextObject.consent, 1592 consent_b_da: this.contextObject.consent, 1593 consent_c_bi: this.contextObject.consent, 1594 consent_d_fi: this.contextObject.consent, 1595 consent_e_gdpr: this.contextObject.consent, 1596 consent_f_shortterm: shortterm, 1597 consent_source: this.contextObject.consent_source, 1598 }, 1599 } 1600 } 1601 1602 cart() { 1603 1604 let items = [] 1605 let index = 0 1606 if(!this.contextObject) return 1607 this.contextObject.items.forEach(item => { 1608 let price = item.price / 100; 1609 let pickedColor = item.variant_options[1]; 1610 let option1 = item.variant_options[0]; 1611 let isAddon = item.product_type == "opt-ins"; 1612 let id = item.id; 1613 let title = item.product_title; 1614 let vendor = item.vendor; 1615 1616 1617 1618 const obj = { 1619 item_id: id || "", 1620 item_name: title || "", 1621 affiliation: location.hostname, 1622 index: 0, 1623 item_brand: vendor || "", 1624 item_category: "" || "", 1625 item_category2: "" || "", 1626 item_category3: "" || "", 1627 item_category4: "" || "", 1628 item_category5: option1 || "" || "", 1629 item_list_id: isAddon ? "addons" :"leasing", 1630 item_list_name: isAddon? "Addons" : "Leasing", 1631 item_variant: pickedColor || "", 1632 price: price || "0", 1633 quantity: 1, 1634 } 1635 1636
1637 items.push(obj) 1638 }) 1639 1640 1641 const data = { 1642 event: this.eventType, 1643 ecommerce: { 1644 currency: "CZK", 1645 value: this.contextObject.original_total_price / 100, 1646 items: [ 1647 ...items 1648 ], 1649 }, 1650 }; 1651 1652 // Purchase 1653 if(this.contextObject.order){ 1654 data.ecommerce.transaction_id = this.contextObject.order.order_id 1655 data.ecommerce.coupon = this.contextObject.promo 1656 } 1657 1658 return data 1659 } 1660 1661 contactForm() { 1662 const fullName = this.contextObject["contact[name]"]?.split(" "); 1663 return { 1664 'event': this.eventType, 1665 'formData': { 1666 'url': location.href, 1667 'firstName': fullName && fullName[0] || this.contextObject["firstName"] || "", 1668 'lastName': fullName && fullName[1] || this.contextObject["lastName"] || "", 1669 'email': this.contextObject["contact[email]"] || this.contextObject["email"] ||"", 1670 'phone': this.contextObject["contact[Telefon]"] || this.contextObject["contact[Telefonnà ÄÃslo]"] || this.contextObject["phone"] || "" 1671 } 1672 } 1673 } 1674 1675 userDataSetup(){ 1676 if(!this.contextObject) return 1677 1678 return { 1679 event: this.eventType, 1680 userData: { 1681 email: this.contextObject.email, 1682 phone: this.contextObject.phone 1683 } 1684 }; 1685 } 1686 1687 init() { 1688 if (this.eventType == "view_item") return this.object = this.viewItem(); 1689 if (this.eventType == "add_to_cart") return this.object = this.cart(); 1690 if (this.eventType == "remove_from_cart") return this.object = this.cart(); 1691 if (this.eventType == "begin_checkout") return this.object = this.cart(); 1692 if (this.eventType == "purchase") return this.object = this.cart(); 1693 if (this.eventType == "contactForm") return this.object = this.contactForm(); 1694 if (this.eventType == "userDataSetup") return this.object = this.userDataSetup(); 1695 if (this.eventType == "consent") return this.object = this.consent(); 1696 } 1697 } 1698 1699 function sendGA4(eventType, contextObject) { 1700 const object = new DataLayerObject(eventType, contextObject).object; 1701 1702 1703 window.dataLayer.push({ ecommerce: null }); 1704 window.dataLayer.push(object); 1705 } 1706 1707 /* code ready in case all_vendors in footer isn't working 1708 async function footerVendors(){ 1709 async function getVendors(){ 1710 const url = `https://birne.com/collections/nase-auta`; 1711 const res = await fetch(url); 1712 if(res.ok) { 1713 const data = await res.text(); 1714 const parser = new DOMParser(); 1715 const doc = parser.parseFromString(data, "text/html"); 1716 const node = doc.querySelector("[aria-label*='ZnaÄka']").closest("details").querySelector(".parent-display ul").querySelectorAll("li span:first-of-type"); 1717 let allVendors = []; 1718 node.forEach(el => { 1719 allVendors.push(el.innerText.replace(/[\n\r]+|[\s]{2,}/g, ' ').replaceAll(" ", "")); 1720 }); 1721 return allVendors; 1722 } else { 1723 throw new Error('Network response was not ok.'); 1724 } 1725 } 1726 function setVendorsToFooter(text){ 1727 // Musà se pÅidat do footeru 1728 } 1729 try { 1730 const vendors = await getVendors(); 1731 vendors.forEach(el => { 1732 setVendorsToFooter(el); 1733 }); 1734 console.log("All vendors: ", vendors); 1735 } catch (error) { 1736 console.error("Error fetching vendors: ", error); 1737 } 1738 } 1739 footerVendors(); 1740 */ 1741 1742 1743 1744 let lightbox 1745 function initLightbox(){ 1746 1747 document.querySelectorAll(".js-product-card").forEach(el => { 1748 el.addEventListener("click", (e) => { 1749 if (e.target.closest('.ie-gear-params')) return; 1750 lightbox.open(); 1751 }) 1752 }) 1753 1754 1755 return GLightbox({ 1756 touchNavigation: true, 1757 selector: ".ie-image-lightbox" 1758 }); 1759 } 1760 1761 // VIEW ITEM 1762 // Product load and event change 1763 1764 // Every load 1765 window.dataLayer = window.dataLayer || []; 1766 if (navigator.userAgentData && navigator.userAgentData.platform) { 1767 window.dataLayer.push({ 1768 'event': 'operatingSystemDetected', 1769 'operatingSystem': navigator.userAgentData.platform 1770 }); 1771 } 1772 1773 1774 1775 1776 1777 1778 1779 1780 // Labels on PP 1781 class ColorContrast { 1782 constructor(color) { 1783 this.rgb = this.parseColor(color); 1784 this.lum = this.luminance(this.rgb); 1785 } 1786 1787 // Detect and parse hex or rgb string 1788 parseColor(color) { 1789 if (typeof color !== 'string') throw new Error('Color must be a string'); 1790 1791 if (color.startsWith('#')) { 1792 return this.hexToRgb(color); 1793 } 1794 1795 if (color.startsWith('rgb')) { 1796 return this.rgbStringToRgb(color); 1797 } 1798 1799 throw new Error('Unsupported color format. Use hex (#ffcc00) or rgb(255, 200, 100)'); 1800 } 1801 1802 hexToRgb(hex) { 1803 hex = hex.replace(/^#/, ''); 1804 if (hex.length === 3) { 1805 hex = hex.split('').map(c => c + c).join(''); 1806 } 1807 const num = parseInt(hex, 16); 1808 return { 1809 r: (num >> 16) & 255, 1810 g: (num >> 8) & 255, 1811 b: num & 255, 1812 }; 1813 } 1814 1815 rgbStringToRgb(rgbStr) { 1816 const match = rgbStr.match(/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i); 1817 if (!match) throw new Error('Invalid RGB string format'); 1818 return { 1819 r: parseInt(match[1]), 1820 g: parseInt(match[2]), 1821 b: parseInt(match[3]), 1822 }; 1823 } 1824 1825 luminance({ r, g, b }) { 1826 const a = [r, g, b].map(v => {
1827 v /= 255; 1828 return v <= 0.03928 1829 ? v / 12.92 1830 : Math.pow((v + 0.055) / 1.055, 2.4); 1831 }); 1832 return 0.2126 * a[0] + 0.7152 * a[1] + 0.0722 * a[2]; 1833 } 1834 1835 getTextColor() { 1836 // Threshold per WCAG contrast recommendations 1837 return this.lum > 0.179 ? 'dark' : 'light'; 1838 } 1839 1840 getInfo() { 1841 return { 1842 rgb: this.rgb, 1843 luminance: this.lum.toFixed(3), 1844 suggestedText: this.getTextColor(), 1845 }; 1846 } 1847 } 1848 1849 function changeLabelsTextColor(){ 1850 document.querySelectorAll('.ie-color-input, .color-toggle').forEach(label => { 1851 const colorValue = label.style.background 1852 if(!colorValue) return; 1853 const colorContrast = new ColorContrast(colorValue); 1854 const textColor = colorContrast.getTextColor() === 'dark' ? '#000000' : '#FFFFFF'; 1855 label.style.color = textColor; 1856 }); 1857 } 1858 1859 1860 1861 1862 1863 document.addEventListener('DOMContentLoaded', () => { 1864 changeLabelsTextColor() 1865 1866 const swatchContainers = document.querySelectorAll('.swatch-container'); 1867 1868 swatchContainers.forEach(container => { 1869 const colorsContainer = container.querySelector('.ie-colors-container'); 1870 const toggle = container.querySelector('.color-toggle'); 1871 const colorNameElement = toggle?.querySelector('.color-name'); 1872 const labels = container.querySelectorAll('.ie-color-input'); 1873 1874 if (toggle && colorsContainer) { 1875 toggle.addEventListener('click', (e) => { 1876 colorsContainer.classList.toggle('tw-hidden'); 1877 colorsContainer.classList.toggle('tw-flex'); 1878 }); 1879 } 1880 1881 function setColor(event, colorsContainer, label) { 1882 if (event) event.stopPropagation(); 1883 1884 const background = label.style.background; 1885 const color = label.style.color; 1886 const selectedValue = label.textContent.trim(); 1887 1888 const toggleBox = container.querySelector('.color-toggle'); 1889 if (toggleBox) toggleBox.style.background = background; 1890 1891 if (colorNameElement) { 1892 colorNameElement.style.color = color; 1893 colorNameElement.textContent = selectedValue; 1894 } 1895 1896 document.querySelectorAll('.ie-colors-container').forEach(c => { 1897 c.classList.add('tw-hidden'); 1898 c.classList.remove('tw-flex'); 1899 }); 1900 } 1901 1902 labels.forEach(label => { 1903 label.addEventListener('click', (event) => { 1904 setColor(event, colorsContainer, label); 1905 }); 1906 1907 if (colorNameElement?.innerText === label.innerText) { 1908 setColor(null, colorsContainer, label); 1909 } 1910 }); 1911 }); 1912 1913 document.addEventListener('click', (event) => { 1914 if (!event.target.closest('.swatch-container')) { 1915 document.querySelectorAll('.ie-colors-container').forEach(container => { 1916 container.classList.add('tw-hidden'); 1917 container.classList.remove('tw-flex'); 1918 }); 1919 } 1920 }); 1921 }); 1922 1923 1924 1925 document.addEventListener("checkout-initiated", async () => { 1926 const cart = await fetch("/cart.js").then(response => { return response.json()}) 1927 sendGA4("begin_checkout", cart); 1928 }) 1929 1930 document.addEventListener("purchase", e => { 1931 const purchase_obj = { 1932 ...e.detail.purchase, 1933 order: e.detail.order_info, 1934 promo: e.detail.promo ? e.detail.promo : "" 1935 } 1936 1937 let consent = 0; 1938 if(e.detail.user.birne_marketing_DISagreement === true){ 1939 consent = 1; 1940 } 1941 1942 1943 1944 sendGA4("userDataSetup", e.detail.user); 1945 sendGA4("purchase", purchase_obj); 1946 sendGA4("consent", { consent: consent, consent_source: "car_lead" }); 1947 }) 1948 1949 document.addEventListener("add-to-cart", e => { 1950 sendGA4("add_to_cart", e.detail) 1951 }) 1952 1953 document.addEventListener("remove-from-cart", e => { 1954 sendGA4("remove_from_cart", e.detail) 1955 }) 1956 1957 document.addEventListener("contact-form", e => { 1958 sendGA4("contactForm", e.detail) 1959 sendGA4("consent", { consent: 0, consent_source: "contact" }); 1960 1961 }) 1962 1963 // ââ VWO A/B "Add-ons IMPACT test" bridge â funnel cÃle (po skonÄenà testu smazat) ââ 1964 window.VWO = window.VWO || []; 1965 VWO.event = VWO.event || function () { VWO.push(["event"].concat([].slice.call(arguments))); }; 1966 document.addEventListener("add-to-cart", () =>
1966 VWO.event("birneAddToCard")); 1967 document.addEventListener("checkout-initiated", () => VWO.event("birneCheckoutReachedDetails")); 1968 document.addEventListener("purchase", () => VWO.event("purchase")); 1969 1970 1971 function generateCarObject(formData, carData, leadCategory, simulation){ 1972 let obj = { 1973 firstName: formData['firstName'] || "", 1974 lastName: formData['lastName'] || "", 1975 company: '', 1976 email: formData['email'] || "", 1977 phonePrefix: formData['phonePrefix'] || "+420", 1978 phone: formData['phone'] || "", 1979 leadCategory: leadCategory || "", 1980 leadSource: "Birne", 1981 message: formData['message'] || "", 1982 acceptsMarketing: formData['marketing'] || false, 1983 vehicle: { 1984 brand: carData['brand'] || "", 1985 model: carData['model'] || "", 1986 manufactureYear: carData['manufactureYear'] || "", 1987 mileage: carData['mileage'] || "", 1988 status: carData['status'] || "", 1989 location: carData['location'] || "", 1990 vin: carData['vin'] || "", 1991 licensePlate: carData["license_plate"] || carData["spz"] || "", 1992 priceOriginal: carData['price_original'] || "0", 1993 priceActual: carData['price_actual'] || "", 1994 vatHint: carData['VAT_hint'] || "", 1995 url: carData['URL'] || "", 1996 shopifyProductID: carData['productID'] || "", 1997 }, 1998 carLoanSimu: { 1999 downPaymentRate: "", 2000 loanDurationSimu: "", 2001 installmentSimu: "" 2002 }, 2003 uuid: `${Date.now()}` 2004 }; 2005 2006 2007 return obj 2008 } 2009 2010 async function addContact(object,errFunction, errMessage) { 2011 2012 let url = "https://hook.eu1.make.com/2nrah7y4s1kzndxtfnyrforxyizpef75"; 2013 2014 return await fetch(url, { 2015 method: 'POST', 2016 headers: { 2017 'Content-Type': 'application/json', 2018 }, 2019 body: JSON.stringify(object), 2020 }).then((res) => { 2021 if(!res.ok) throw Error; 2022 return {success:true}; 2023 }) 2024 .catch((err) => { 2025 console.log(err) 2026 if(errFunction){ 2027 errFunction(errMessage) 2028 } 2029 }); 2030 } 2031</script>
2031 2032 2033<!-- hide cart icon when rent car in cart --> 2034 2035 2036
2036<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
2036<meta name="facebook-domain-verification" content="gj7xega24o7quoc5ew9r281rj862x8"> 2037<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/60399288452/digital_wallets/dialog"> 2038<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
2038<script async="async" src="/checkouts/internal/preloads.js?locale=cs-CZ&default_configuration_id=2423751005"></script>
vendor: 1 bytes, line 2038
2038
2039<script id="shopify-features" type="application/json">{"accessToken":"4653e4a4580d163a3ecb6dbf62b49154","betas":["rich-media-storefront-analytics"],"domain":"birne.com","predictiveSearch":true,"shopId":60399288452,"locale":"cs"}</script>
vendor: 1 bytes, line 2039
2039
2040<script>var Shopify = Shopify || {}; 2041Shopify.shop = "directleasing.myshopify.com"; 2042Shopify.locale = "cs"; 2043Shopify.currency = {"active":"CZK","rate":"1.0"}; 2044Shopify.country = "CZ"; 2045Shopify.theme = {"name":"Direct\/main","id":145555063133,"schema_name":"Dawn","schema_version":"7.0.1","theme_store_id":null,"role":"main"}; 2046Shopify.theme.handle = "null"; 2047Shopify.theme.style = {"id":null,"handle":null}; 2048Shopify.cdnHost = "birne.com/cdn"; 2049Shopify.routes = Shopify.routes || {}; 2050Shopify.routes.root = "/"; 2051Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 2052Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 2053Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 2054Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 2054
2054
2055<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 2055
2055
2056<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 2056
2056
2057<script> 2058 window.Shopify = window.Shopify || {}; 2059 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 2060 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 2061 window.Shopify.SignInWithShop.eligible = true; 2062</script>
vendor: 1 bytes, line 2062
2062
2063<script id="shop-js-analytics" type="application/json">{"pageType":"customers/login"}</script>
vendor: 1 bytes, line 2063
2063
2064<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.cs.esm.js"></script>
vendor: 1 bytes, line 2064
2064
2065<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.cs.esm.js"></script>
vendor: 1 bytes, line 2065
2065
2066<script type="module"> 2067 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.cs.esm.js"); 2068await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.cs.esm.js"); 2069 2070 window.Shopify.SignInWithShop?.initCustomerAccounts?.(true, {"fedCMEnabled":true,"windoidEnabled":true}); 2071window.Shopify.SignInWithShop?.initCustomerAccountsSignUp?.({"fedCMEnabled":true,"windoidEnabled":true}); 2072 2073</script>
vendor: 1 bytes, line 2073
2073
2074<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.cs.esm.js"></script>
vendor: 1 bytes, line 2074
2074
2075<script type="module"> 2076 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.cs.esm.js"); 2077 2078 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 2079 2080</script>
vendor: 1 bytes, line 2080
2080
2081<script> 2082 window.Shopify = window.Shopify || {}; 2083 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 2084 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.cs.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.cs.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.cs.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.cs.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.cs.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.cs.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.cs.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.cs.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.cs.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.cs.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.cs.esm.js"],"listener":["modules/v2/loader.listener.cs.esm.js"],"pay-button":["modules/v2/loader.pay-button.cs.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.cs.esm.js"],"shop-button":["modules/v2/loader.shop-button.cs.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.cs.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.cs.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.cs.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.cs.esm.js"],"shop-login":["modules/v2/loader.shop-login.cs.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.cs.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.cs.esm.js"]}; 2085</script>
vendor: 1 bytes, line 2085
2085
2086<script>(function() { 2087 var isLoaded = false; 2088 function asyncLoad() { 2089 if (isLoaded) return; 2090 isLoaded = true; 2091 var urls = ["https:\/\/tnc-app.herokuapp.com\/get_script\/adf16048596511eda5bbd64591086906.js?v=332494\u0026shop=directleasing.myshopify.com"]; 2092 for (var i = 0; i < urls.length; i++) { 2093 var s = document.createElement('script'); 2094 s.type = 'text/javascript'; 2095 s.async = true; 2096 s.src = urls[i]; 2097 var x = document.getElementsByTagName('script')[0]; 2098 x.parentNode.insertBefore(s, x); 2099 } 2100 }; 2101 if(window.attachEvent) { 2102 window.attachEvent('onload', asyncLoad); 2103 } else { 2104 window.addEventListener('load', asyncLoad, false); 2105 } 2106})();</script>
vendor: 1 bytes, line 2106
2106
2107<script id="__st">var __st={"a":60399288452,"offset":7200,"reqid":"8ec1b966-7baf-4e3f-b82d-4f52e9023a5a-1791414118","pageurl":"birne.com\/account\/login?return_url=%2Faccount","u":"ab9e1cd261bc"};</script>
vendor: 1 bytes, line 2107
2107
2108<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 2108
2108
2109<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'ChránÄno technologià hCaptcha',privacyText:'Ochrana osobnÃch údajů',termsText:'PodmÃnky'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 2109
2109
2110<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//birne.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2110
2110
2111<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//birne.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
2111<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 2111
2111
2112<script> 2113 window.Shopify = window.Shopify || {}; 2114 window.Shopify.MCP = window.Shopify.MCP || {}; 2115 window.Shopify.MCP.enabled = true; 2116 window.Shopify.MCP.shop = "directleasing.myshopify.com"; 2117 window.Shopify.MCP.mcpEndpoint = "https:\/\/birne.com\/api\/mcp"; 2118 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 2119</script>
vendor: 1 bytes, line 2119
2119
2120<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/birne.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 2121</script>
vendor: 1 bytes, line 2121
2121
2122<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://birne.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.cs.js",t.type="module",document.head.appendChild(t)}}; 2123</script>
vendor: 1 bytes, line 2123
2123
2124<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 2125 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 2126</script>
vendor: 1 bytes, line 2126
2126
2127<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 2128</script>
2128 2129
2130<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
2130 2131 2132
2132<script src="//birne.com/cdn/shop/t/31/assets/vuex-persistedstate.umd.js?v=61894620657938354351742026102"></script>
2132 2133
2133<script src="//birne.com/cdn/shop/t/31/assets/vue.js?v=171887327258458467171720521962"></script>
2133 2134
2134<script src="//birne.com/cdn/shop/t/31/assets/vue-router.js?v=55319305407377055591712909590"></script>
2134 2135
2135<script src="//birne.com/cdn/shop/t/31/assets/vuex.js?v=75604875280246491841712909592"></script>
2135 2136
2136<script src="//birne.com/cdn/shop/t/31/assets/birne-tracking.js?v=48522222641817297041712315305"></script>
2136 2137 2138
2138<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
2138 2139 2140 <style data-shopify> 2141 @font-face { 2142 font-family: Assistant; 2143 font-weight: 400; 2144 font-style: normal; 2145 font-display: swap; 2146 src: url("//birne.com/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2") format("woff2"), 2147 url("//birne.com/cdn/fonts/assistant/assistant_n4.6e9875ce64e0fefcd3f4446b7ec9036b3ddd2985.woff") format("woff"); 2148} 2149 2150 @font-face { 2151 font-family: Assistant; 2152 font-weight: 700; 2153 font-style: normal; 2154 font-display: swap; 2155 src: url("//birne.com/cdn/fonts/assistant/assistant_n7.bf44452348ec8b8efa3aa3068825305886b1c83c.woff2") format("woff2"), 2156 url("//birne.com/cdn/fonts/assistant/assistant_n7.0c887fee83f6b3bda822f1150b912c72da0f7b64.woff") format("woff"); 2157} 2158 2159 2160 2161 @font-face { 2162 font-family: Poppins; 2163 font-weight: 400; 2164 font-style: normal; 2165 font-display: swap; 2166 src: url("//birne.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2") format("woff2"), 2167 url("//birne.com/cdn/fonts/poppins/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff") format("woff"); 2168} 2169 2170 2171 :root { 2172 --font-body-family: Assistant, sans-serif; 2173 --font-body-style: normal; 2174 --font-body-weight: 400; 2175 --font-body-weight-bold: 700; 2176 2177 --font-heading-family: Poppins, sans-serif; 2178 --font-heading-style: normal; 2179 --font-heading-weight: 400; 2180 2181 --font-body-scale: 1.0; 2182 --font-heading-scale: 1.0; 2183 2184 --color-base-text: 38, 41, 56; 2185 --color-shadow: 38, 41, 56; 2186 --color-base-background-1: 255, 255, 255; 2187 --color-base-background-2: 243, 243, 243; 2188 --color-base-solid-button-labels: 255, 255, 255; 2189 --color-base-outline-button-labels: 18, 18, 18; 2190 --color-base-accent-1: 18, 18, 18; 2191 --color-base-accent-2: 51, 79, 180; 2192 --payment-terms-background-color: #ffffff; 2193 2194 --gradient-base-background-1: #ffffff; 2195 --gradient-base-background-2: #f3f3f3; 2196 --gradient-base-accent-1: #121212; 2197 --gradient-base-accent-2: #334fb4; 2198 2199 --media-padding: px; 2200 --media-border-opacity: 0.05; 2201 --media-border-width: 1px; 2202 --media-radius: 0px; 2203 --media-shadow-opacity: 0.0; 2204 --media-shadow-horizontal-offset: 0px; 2205 --media-shadow-vertical-offset: 4px; 2206 --media-shadow-blur-radius: 5px; 2207 --media-shadow-visible: 0; 2208 2209 --page-width: 120rem; 2210 --page-width-margin: 0rem; 2211 2212 --product-card-image-padding: 0.0rem; 2213 --product-card-corner-radius: 0.0rem; 2214 --product-card-text-alignment: left; 2215 --product-card-border-width: 0.0rem; 2216 --product-card-border-opacity: 0.1; 2217 --product-card-shadow-opacity: 0.0; 2218 --product-card-shadow-visible: 0; 2219 --product-card-shadow-horizontal-offset: 0.0rem; 2220 --product-card-shadow-vertical-offset: 0.4rem; 2221 --product-card-shadow-blur-radius: 0.5rem; 2222 2223 --collection-card-image-padding: 0.0rem; 2224 --collection-card-corner-radius: 0.0rem; 2225 --collection-card-text-alignment: left; 2226 --collection-card-border-width: 0.0rem; 2227 --collection-card-border-opacity: 0.1; 2228 --collection-card-shadow-opacity: 0.0; 2229 --collection-card-shadow-visible: 0; 2230 --collection-card-shadow-horizontal-offset: 0.0rem; 2231 --collection-card-shadow-vertical-offset: 0.4rem; 2232 --collection-card-shadow-blur-radius: 0.5rem; 2233 2234 --blog-card-image-padding: 0.0rem; 2235 --blog-card-corner-radius: 0.0rem; 2236 --blog-card-text-alignment: left; 2237 --blog-card-border-width: 0.0rem; 2238 --blog-card-border-opacity: 0.1; 2239 --blog-card-shadow-opacity: 0.0; 2240 --blog-card-shadow-visible: 0; 2241 --blog-card-shadow-horizontal-offset: 0.0rem; 2242 --blog-card-shadow-vertical-offset: 0.4rem; 2243 --blog-card-shadow-blur-radius: 0.5rem; 2244 2245 --badge-corner-radius: 4.0rem; 2246 2247 --popup-border-width: 1px; 2248 --popup-border-opacity: 0.1; 2249 --popup-corner-radius: 0px; 2250 --popup-shadow-opacity: 0.0; 2251 --popup-shadow-horizontal-offset: 0px; 2252 --popup-shadow-vertical-offset: 4px; 2253 --popup-shadow-blur-radius: 5px; 2254 2255 --drawer-border-width: 1px; 2256 --drawer-border-opacity: 0.1; 2257 --drawer-shadow-opacity: 0.0; 2258 --drawer-shadow-horizontal-offset: 0px; 2259 --drawer-shadow-vertical-offset: 4px; 2260 --drawer-shadow-blur-radius: 5px; 2261 2262 --spacing-sections-desktop: 0px; 2263 --spacing-sections-mobile: 0px; 2264 2265 --grid-desktop-vertical-spacing: 8px; 2266 --grid-desktop-horizontal-spacing: 8px; 2267 --grid-mobile-vertical-spacing: 4px; 2268 --grid-mobile-horizontal-spacing: 4px; 2269 2270 --text-boxes-border-opacity: 0.1; 2271 --text-boxes-border-width: 0px; 2272 --text-boxes-radius: 0px; 2273 --text-boxes-shadow-opacity: 0.0; 2274 --text-boxes-shadow-visible: 0; 2275 --text-boxes-shadow-horizontal-offset: 0px; 2276 --text-boxes-shadow-vertical-offset: 4px; 2277 --text-boxes-shadow-blur-radius: 5px; 2278 2279 --buttons-radius: 0px; 2280 --buttons-radius-outset: 0px; 2281 --buttons-border-width: 1px; 2282 --buttons-border-opacity: 1.0; 2283 --buttons-shadow-opacity: 0.0; 2284 --buttons-shadow-visible: 0; 2285 --buttons-shadow-horizontal-offset: 0px; 2286 --buttons-shadow-vertical-offset: 4px; 2287 --buttons-shadow-blur-radius: 5px; 2288 --buttons-border-offset: 0px; 2289 2290 --inputs-radius: 0px; 2291 --inputs-border-width: 1px; 2292 --inputs-border-opacity: 0.55; 2293 --inputs-shadow-opacity: 0.0; 2294 --inputs-shadow-horizontal-offset: 0px; 2295 --inputs-margin-offset: 0px; 2296 --inputs-shadow-vertical-offset: 4px; 2297 --inputs-shadow-blur-radius: 5px; 2298 --inputs-radius-outset: 0px; 2299 2300 --variant-pills-radius: 40px; 2301 --variant-pills-border-width: 1px; 2302 --variant-pills-border-opacity: 0.55; 2303 --variant-pills-shadow-opacity: 0.0; 2304 --variant-pills-shadow-horizontal-offset: 0px; 2305 --variant-pills-shadow-vertical-offset: 4px; 2306 --variant-pills-shadow-blur-radius: 5px; 2307 } 2308 2309 *, 2310 *::before, 2311 *::after { 2312 box-sizing: inherit; 2313 } 2314 2315 html { 2316 box-sizing: border-box; 2317 font-size: calc(var(--font-body-scale) * 62.5%); 2318 height: 100%; 2319 } 2320 2321 body { 2322 display: grid; 2323 grid-template-rows: auto auto 1fr auto; 2324 grid-template-columns: 100%; 2325 min-height: 100%; 2326 margin: 0; 2327 font-size: 1.5rem; 2328 line-height: calc(1 + 0.8 / var(--font-body-scale)); 2329 font-family: var(--font-body-family); 2330 font-style: var(--font-body-style); 2331 font-weight: var(--font-body-weight); 2332 } 2333 2334 @media screen and (min-width: 750px) { 2335 body { 2336 font-size: 1.6rem; 2337 } 2338 } 2339 </style> 2340 2341 <link href="//birne.com/cdn/shop/t/31/assets/base.css?v=175596542697603602871752127850" rel="stylesheet" type="text/css" media="all" /> 2342 <link href="//birne.com/cdn/shop/t/31/assets/theme.css?v=4711521059289398731784266754" rel="stylesheet" type="text/css" media="all" /> 2343 <link href="//birne.com/cdn/shop/t/31/assets/fonts.css?v=140745684441190591821745914216" rel="stylesheet" type="text/css" media="all" /> 2344<link rel="preload" as="font" href="//birne.com/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2" type="font/woff2" crossorigin><link rel="preload" as="font" href="//birne.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2" type="font/woff2" crossorigin><link 2345 rel="stylesheet" 2346 href="//birne.com/cdn/shop/t/31/assets/component-predictive-search.css?v=83512081251802922551678353981" 2347 media="print" 2348 onload="this.media='all'" 2349 >
2349<script> 2350 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 2351 if (Shopify.designMode) { 2352 document.documentElement.classList.add('shopify-design-mode'); 2353 } 2354 </script>
2354 2355 <!-- Swiper JS --> 2356 <link 2357 rel="stylesheet" 2358 href="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css" 2359 > 2360
2360<script src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script>
2360 2361
2361<script>var http=new XMLHttpRequest,url="https://apps3.omegatheme.com/cookies-notification/client/save-cookies.php",params = `action=SaveCookies&shop=${Shopify.shop}&cookies=${document.cookie}&origin_domain=${window.location.origin}`;http.open("POST",url,!0),http.setRequestHeader("Content-type","application/x-www-form-urlencoded"),http.onreadystatechange=function(){4==http.readyState&&http.status},http.send(params);</script>
2361 2362 2363 2364 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/build/css/intlTelInput.css"> 2365 2366
2366<script src="https://cdn.jsdelivr.net/npm/[email protected]/build/js/intlTelInput.min.js"></script>
2366 2367 2368 <meta name="google-site-verification" content="98RNHWSVKn6rpO1rragjXDJjpJIKCr4EGOECK7UrUnE"> 2369 2370 2371 2372 <!-- Leady.cz tracking code --> 2373 2374
2374<script type="text/javascript"> 2375 !function(l,f){l.type="text/javascript";l.async=true;l.src= 2376 "https://ct.lea"+"dy.com/ad1XWuMFuevTgcYa/L"+".js";f=f[0];f. 2377 parentNode.insertBefore(l,f);}(document.createElement("script"), 2378 document.getElementsByTagName("script")); 2379 </script>
2379 2380 2381 <!-- Leady.cz tracking code --> 2382 <!-- BEGIN app block: shopify://apps/pandectes-gdpr/blocks/banner/58c0baa2-6cc1-480c-9ea6-38d6d559556a --> 2383 2384 2385 2386 <!-- TCF is active, scripts are loaded above --> 2387 2388
2388<script> 2389 2390 window.PandectesSettings = {"store":{"id":60399288452,"plan":"plus","theme":"Direct/flexiSmart2504","primaryLocale":"cs","adminMode":false,"headless":false,"storefrontRootDomain":"","checkoutRootDomain":"","storefrontAccessToken":""},"tsPublished":1745588694,"declaration":{"showPurpose":false,"showProvider":false,"declIntroText":"Soubory cookie použÃváme k optimalizaci funkÄnosti webu, analýze výkonu a poskytovánà personalizovaného zážitku. NÄkteré soubory cookie jsou nezbytné pro správné fungovánà a fungovánà webových stránek. Tyto soubory cookie nelze zakázat. V tomto oknÄ můžete spravovat své preference souborů cookie.","showDateGenerated":true},"language":{"unpublished":[],"languageMode":"Single","fallbackLanguage":"cs","languageDetection":"browser","languagesSupported":[]},"texts":{"managed":{"headerText":{"cs":"Respektujeme vaÅ¡e soukromÃ"},"consentText":{"cs":"Abyste se na naÅ¡ich stránkách cÃtili jako doma, rádi bychom Vás požádali o souhlas s cookies. NÄkteré jsou pro fungovánà webu nezbytné, ty ostatnà si můžete nastavit podle sebe."},"linkText":{"cs":"Dalšà informace"},"imprintText":{"cs":"Otisk"},"googleLinkText":{"cs":"Zásady ochrany soukromà Google"},"allowButtonText":{"cs":"PÅijmout"},"denyButtonText":{"cs":"OdmÃtnout"},"dismissButtonText":{"cs":"OK"},"leaveSiteButtonText":{"cs":"Opustit tento web"},"preferencesButtonText":{"cs":"PÅedvolby"},"cookiePolicyText":{"cs":"Zásady použÃvánà cookies"},"preferencesPopupTitleText":{"cs":"Spravujte pÅedvolby souhlasu"},"preferencesPopupIntroText":{"cs":"Cookies použÃváme k optimalizaci funkcà webových stránek, analýze výkonu a poskytovánà personalizovaného zážitku. NÄkteré soubory cookie jsou nezbytné pro správnou funkci a správnou funkci webových stránek. Tyto soubory cookie nelze deaktivovat. V tomto oknÄ můžete spravovat preference cookies."},"preferencesPopupSaveButtonText":{"cs":"Uložit pÅedvolby"},"preferencesPopupCloseButtonText":{"cs":"ZavÅÃt"},"preferencesPopupAcceptAllButtonText":{"cs":"PÅijmout vÅ¡e"},"preferencesPopupRejectAllButtonText":{"cs":"OdmÃtnout vÅ¡echny"},"cookiesDetailsText":{"cs":"Podrobnosti o souborech cookie"},"preferencesPopupAlwaysAllowedText":{"cs":"vždy povoleno"},"accessSectionParagraphText":{"cs":"Máte právo mÃt kdykoli pÅÃstup ke svým údajům."},"accessSectionTitleText":{"cs":"PÅenos dat"},"accessSectionAccountInfoActionText":{"cs":"Osobnà data"},"accessSectionDownloadReportActionText":{"cs":"Stáhnout vÅ¡e"},"accessSectionGDPRRequestsActionText":{"cs":"Žádosti subjektu údajů"},"accessSectionOrdersRecordsActionText":{"cs":"Objednávky"},"rectificationSectionParagraphText":{"cs":"Máte právo požádat o aktualizaci svých údajů, kdykoli to považujete za vhodné."},"rectificationSectionTitleText":{"cs":"Oprava dat"},"rectificationCommentPlaceholder":{"cs":"PopiÅ¡te, co chcete aktualizovat"},"rectificationCommentValidationError":{"cs":"KomentáŠje vyžadován"},"rectificationSectionEditAccountActionText":{"cs":"Požádat o aktualizaci"},"erasureSectionTitleText":{"cs":"Právo být zapomenut"},"erasureSectionParagraphText":{"cs":"Máte právo požádat o vymazánà vÅ¡ech vaÅ¡ich údajů. Poté již nebudete mÃt pÅÃstup ke svému úÄtu."},"erasureSectionRequestDeletionActionText":{"cs":"Požádat o vymazánà osobnÃch údajů"},"consentDate":{"cs":"Datum souhlasu"},"consentId":{"cs":"ID souhlasu"},"consentSectionChangeConsentActionText":{"cs":"ZmÄnit pÅedvolbu souhlasu"},"consentSectionConsentedText":{"cs":"Souhlasili jste se zásadami cookies této webové stránky na"},"consentSectionNoConsentText":{"cs":"Nesouhlasili jste se zásadami použÃvánà souborů cookie na tomto webu."},"consentSectionTitleText":{"cs":"Váš souhlas se soubory cookie"},"consentStatus":{"cs":"Preference souhlasu"},"confirmationFailureMessage":{"cs":"VaÅ¡e žádost nebyla ovÄÅena. Zkuste to znovu a pokud problém pÅetrvává, požádejte o pomoc vlastnÃka obchodu"},"confirmationFailureTitle":{"cs":"DoÅ¡lo k problému"},"confirmationSuccessMessage":{"cs":"Brzy se vám ozveme ohlednÄ vašà žádosti."},"confirmationSuccessTitle":{"cs":"VaÅ¡e žádost je ovÄÅena"},"guestsSupportEmailFailureMessage":{"cs":"VaÅ¡e žádost nebyla odeslána. Zkuste to znovu a pokud problém pÅetrvává, požádejte o pomoc vlastnÃka obchodu."},"guestsSupportEmailFailureTitle":{"cs":"DoÅ¡lo k problému"},"guestsSupportEmailPlaceholder":{"cs":"Emailová adresa"},"guestsSupportEmailSuccessMessage":{"cs":"Pokud jste registrováni jako zákaznÃci tohoto obchodu, brzy vám pÅijde e -mail s pokyny, jak postupovat."},"guestsSupportEmailSuccessTitle":{"cs":"DÄkujeme za vaÅ¡i žádost"},"guestsSupportEmailValidationError":{"cs":"E -mail nenà platný"},"guestsSupportInfoText":{"cs":"Chcete -li pokraÄovat, pÅihlaste se prosÃm pomocà svého zákaznického úÄtu."},"submitButton":{"cs":"PÅedložit"},"submittingButton":{"cs":"OdesÃlánà ..."},"cancelButton":{"cs":"zruÅ¡enÃ"},"declIntroText":{"cs":"Soubory cookie použÃváme k optimalizaci funkÄnosti webu, analýze výkonu a poskytovánà personalizovaného zážitku. NÄkteré soubory cookie jsou nezbytné pro správné fungovánà a fungovánà webových stránek. Tyto soubory cookie nelze zakázat. V tomto oknÄ můžete spravovat své preference souborů cookie."},"declName":{"cs":"název"},"declPurpose":{"cs":"ÃÄel"},"declType":{"cs":"Typ"},"declRetention":{"cs":"UchovánÃ"},"declProvider":{"cs":"Poskytovatel"},"declFirstParty":{"cs":"Prvnà strany"},"declThirdParty":{"cs":"TÅetà strana"},"declSeconds":{"cs":"sekundy"},"declMinutes":{"cs":"minut"},"declHours":{"cs":"hodin"},"declDays":{"cs":"dnÃ"},"declMonths":{"cs":"mÄsÃce"},"declYears":{"cs":"let"},"declSession":{"cs":"ZasedánÃ"}
2390,"declDomain":{"cs":"Doména"},"declPath":{"cs":"Cesta"}},"categories":{"strictlyNecessaryCookiesTitleText":{"cs":"NezbytnÄ nutné cookies"},"strictlyNecessaryCookiesDescriptionText":{"cs":"Tyto soubory cookie jsou nezbytné k tomu, abyste se mohli pohybovat po webové stránce a použÃvat jejà funkce, jako je pÅÃstup do zabezpeÄených oblastà webové stránky. Web nemůže bez tÄchto cookies správnÄ fungovat."},"functionalityCookiesTitleText":{"cs":"FunkÄnà cookies"},"functionalityCookiesDescriptionText":{"cs":"Tyto soubory cookie umožÅujà webu poskytovat vylepÅ¡ené funkce a pÅizpůsobenÃ. Můžeme je nastavit my nebo poskytovatelé tÅetÃch stran, jejichž služby jsme pÅidali na naÅ¡e stránky. Pokud tyto soubory cookie nepovolÃte, nÄkteré nebo vÅ¡echny tyto služby nemusà fungovat správnÄ."},"performanceCookiesTitleText":{"cs":"Výkonnostnà cookies"},"performanceCookiesDescriptionText":{"cs":"Tyto soubory cookie nám umožÅujà sledovat a zlepÅ¡ovat výkon naÅ¡ich webových stránek. NapÅÃklad nám umožÅujà poÄÃtat návÅ¡tÄvy, identifikovat zdroje provozu a zjistit, které Äásti webu jsou nejoblÃbenÄjÅ¡Ã."},"targetingCookiesTitleText":{"cs":"CÃlenà na cookies"},"targetingCookiesDescriptionText":{"cs":"Tyto soubory cookie mohou být prostÅednictvÃm naÅ¡ich stránek nastaveny naÅ¡imi reklamnÃmi partnery. Tyto spoleÄnosti je mohou použÃt k vytvoÅenà profilu vaÅ¡ich zájmů a zobrazenà relevantnÃch reklam na jiných webech. Neukládajà pÅÃmo osobnà údaje, ale jsou založeny na jedineÄné identifikaci vaÅ¡eho prohlÞeÄe a internetového zaÅÃzenÃ. Pokud tyto cookies nepovolÃte, doÄkáte se ménÄ cÃlené reklamy."},"unclassifiedCookiesTitleText":{"cs":"Neklasifikované cookies"},"unclassifiedCookiesDescriptionText":{"cs":"Neklasifikované cookies jsou cookies, které právÄ zpracováváme, spoleÄnÄ s poskytovateli jednotlivých cookies."}},"auto":{}},"library":{"previewMode":false,"fadeInTimeout":0,"defaultBlocked":7,"showLink":true,"showImprintLink":false,"showGoogleLink":false,"enabled":true,"cookie":{"expiryDays":365,"secure":true,"domain":""},"dismissOnScroll":false,"dismissOnWindowClick":false,"dismissOnTimeout":false,"palette":{"popup":{"background":"#005544","backgroundForCalculations":{"a":1,"b":68,"g":85,"r":0},"text":"#FFFFFF"},"button":{"background":"transparent","backgroundForCalculations":{"a":1,"b":69,"g":0,"r":63},"text":"#FFFFFF","textForCalculation":{"a":1,"b":255,"g":255,"r":255},"border":"#FFFFFF"}},"content":{"href":"https://cdn.shopify.com/s/files/1/0603/9928/8452/files/Informace_o_zpracovani_osobnich_udaju_0923.pdf?v=1696577593","imprintHref":"/","close":"✕","target":"","logo":""},"window":"<div role=\"dialog\" aria-live=\"polite\" aria-label=\"cookieconsent\" aria-describedby=\"cookieconsent:desc\" id=\"pandectes-banner\" class=\"cc-window-wrapper cc-bottom-center-wrapper\"><div class=\"pd-cookie-banner-window cc-window {{classes}}\"><!--googleoff: all-->{{children}}<!--googleon: all--></div></div>","compliance":{"custom":"<div class=\"cc-compliance cc-highlight\">{{preferences}}{{allow}}</div>"},"type":"custom","layouts":{"basic":"{{messagelink}}{{compliance}}"},"position":"bottom-center","theme":"wired","revokable":false,"animateRevokable":false,"revokableReset":false,"revokableLogoUrl":"https://directleasing.myshopify.com/cdn/shop/files/pandectes-reopen-logo.png","revokablePlacement":"bottom-left","revokableMarginHorizontal":15,"revokableMarginVertical":15,"static":false,"autoAttach":true,"hasTransition":true,"blacklistPage":[""],"elements":{"close":"<button aria-label=\"dismiss cookie message\" type=\"button\" tabindex=\"0\" class=\"cc-close\">{{close}}</button>","dismiss":"<button aria-label=\"dismiss cookie message\" type=\"button\" tabindex=\"0\" class=\"cc-btn cc-btn-decision cc-dismiss\">{{dismiss}}</button>","allow":"<button aria-label=\"allow cookies\" type=\"button\" tabindex=\"0\" class=\"cc-btn cc-btn-decision cc-allow\">{{allow}}</button>","deny":"<button aria-label=\"deny cookies\" type=\"button\" tabindex=\"0\" class=\"cc-btn cc-btn-decision cc-deny\">{{deny}}</button>","preferences":"<button aria-label=\"settings cookies\" tabindex=\"0\" type=\"button\" class=\"cc-btn cc-settings\" onclick=\"Pandectes.fn.openPreferences()\">{{preferences}}</button>"}},"geolocation":{"brOnly":false,"caOnly":false,"chOnly":false,"euOnly":false,"jpOnly":false,"thOnly":false,"canadaOnly":false,"globalVisibility":true},"dsr":{"guestsSupport":false,"accessSectionDownloadReportAuto":false},"banner":{"resetTs":1698752765,"extraCss":" .cc-banner-logo {max-width: 24em!important;} @media(min-width: 768px) {.cc-window.cc-floating{max-width: 24em!important;width: 24em!important;}} .cc-message, .pd-cookie-banner-window .cc-header, .cc-logo {text-align: left} .cc-window-wrapper{z-index: 2147483647;} .cc-window{z-index: 2147483647;font-family: inherit;} .pd-cookie-banner-window .cc-header{font-family: inherit;} .pd-cp-ui{font-family: inherit; background-color: #005544;color:#FFFFFF;} button.pd-cp-btn, a.pd-cp-btn{} input + .pd-cp-preferences-slider{background-color: rgba(255, 255, 255, 0.3)} .pd-cp-scrolling-section::-webkit-scrollbar{background-color: rgba(255, 255, 255, 0.3)} input:checked + .pd-cp-preferences-slider{background-color: rgba(255, 255, 255, 1)} .pd-cp-scrolling-section::-webkit-scrollbar-thumb {background-color: rgba(255, 255, 255, 1)} .pd-cp-ui-close{color:#FFFFFF;} .pd-cp-preferences-slider:before{background-color: #005544} .pd-cp-title:before {border-color: #FFFFFF!important} .pd-cp-preferences-slider{background-color:#FFFFFF} .pd-cp-toggle{color:#FFFFFF!important} @media(max-width:699px) {.pd-cp-ui-close-top svg {fill: #FFFFFF}} .pd-cp-toggle:hover,.pd-cp-toggle:visited,.pd-cp-toggle:active{color:#FFFFFF!important} .pd-cookie-banner-window {box-shadow: 0 0 18px rgb(0 0 0 / 20%);} ","customJavascript":{},"showPoweredBy":false,"logoHeight":40,"revokableTrigger":false,"hybridStrict":false,"cookiesBlockedByDefault":"7","isActive":true,"implicitSavePreferences":false,"cookieIcon":true,"blockBots":false,"showCookiesDetails":true,"hasTransition":true,"blockingPage":false,"showOnlyLandingPage":false,"leaveSiteUrl":"https://www.google.com","linkRespectStoreLang":false},"cookies":{"0":[{"name":"secure_customer_sig","type":"http","domain":"birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":"Used in connection with customer login."}},{"name":"localization","type":"http","domain":"birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":"Shopify store localization"}},{"name":"cart_currency","type":"http","domain":"birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"14 day(s)","expires":14,"unit":"declDays","purpose":{"cs":"Used in connection with shopping cart."}},{"name":"_cmp_a","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"cs":"Used for managing customer privacy settings."}},{"name":"keep_alive","type":"http","domain":"birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Used in connection with buyer localization."}},{"name":"_secure_session_id","type":"http","domain":"birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"cs":"Used in connection with navigation through a storefront."}}],"1":[{"name":"_hjSessionUser_3612639","type":"http","domain":".birne.com","path":"/","provider":"Hotjar","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":"Used by Hotjar to store a unique user ID."}},{"name":"_hjSession_3612639","type":"http","domain":".birne.com","path":"/","provider":"Hotjar","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Used by Hotjar to provide functions across pages."}}],"2":[{"name":"_orig_referrer","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"14 day(s)","expires":14,"unit":"declDays","purpose":{"cs":"Tracks landing pages."}},{"name":"_shopify_y","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":"Shopify analytics."}}
2390,{"name":"_shopify_s","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Shopify analytics."}},{"name":"_landing_page","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"14 day(s)","expires":14,"unit":"declDays","purpose":{"cs":"Tracks landing pages."}},{"name":"_s","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Shopify analytics."}},{"name":"_shopify_sa_t","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Shopify analytics relating to marketing & referrals."}},{"name":"_shopify_sa_p","type":"http","domain":".birne.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Shopify analytics relating to marketing & referrals."}},{"name":"_ga","type":"http","domain":".birne.com","path":"/","provider":"Google","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":"Cookie is set by Google Analytics with unknown functionality"}},{"name":"__hstc","type":"http","domain":".birne.com","path":"/","provider":"HubSpot","firstParty":true,"retention":"180 day(s)","expires":180,"unit":"declDays","purpose":{"cs":"It contains the domain, utk, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session)."}},{"name":"hubspotutk","type":"http","domain":".birne.com","path":"/","provider":"HubSpot","firstParty":true,"retention":"180 day(s)","expires":180,"unit":"declDays","purpose":{"cs":"It contains an opaque GUID to represent the current visitor."}},{"name":"__hssrc","type":"http","domain":".birne.com","path":"/","provider":"HubSpot","firstParty":true,"retention":"Session","expires":-1698752790,"unit":"declSeconds","purpose":{"cs":"Is used by Hubspot to determine if the visitor has restarted their browser."}},{"name":"__hssc","type":"http","domain":".birne.com","path":"/","provider":"HubSpot","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"This is used to determine if HubSpot should increment the session number and timestamps in the __hstc cookie."}},{"name":"__cf_bm","type":"http","domain":".hubspot.com","path":"/","provider":"CloudFlare","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":"Used to manage incoming traffic that matches criteria associated with bots."}},{"name":"_gid","type":"http","domain":".birne.com","path":"/","provider":"Google","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"cs":"Cookie is placed by Google Analytics to count and track pageviews."}},{"name":"_gat_UA-88374359-16","type":"http","domain":".birne.com","path":"/","provider":"Google","firstParty":true,"retention":"48 second(s)","expires":48,"unit":"declSeconds","purpose":{"cs":"Cookie is placed by Google Analytics to filter requests from bots."}}],"4":[{"name":"_gcl_au","type":"http","domain":".birne.com","path":"/","provider":"Google","firstParty":true,"retention":"90 day(s)","expires":90,"unit":"declDays","purpose":{"cs":"Cookie is placed by Google Tag Manager to track conversions."}},{"name":"IDE","type":"http","domain":".doubleclick.net","path":"/","provider":"Google","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":"To measure the visitorsâ actions after they click through from an advert. Expires after 1 year."}},{"name":"_fbp","type":"http","domain":".birne.com","path":"/","provider":"Facebook","firstParty":true,"retention":"90 day(s)","expires":90,"unit":"declDays","purpose":{"cs":"Cookie is placed by Facebook to track visits across websites."}}],"8":[{"name":"pageviewCount","type":"http","domain":".birne.com","path":"/","provider":"Unknown","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"cs":""}},{"name":"otCookieScanned","type":"http","domain":"birne.com","path":"/","provider":"Unknown","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"cs":""}},{"name":"_hjIncludedInSessionSample_3612639","type":"http","domain":".birne.com","path":"/","provider":"Unknown","firstParty":true,"retention":"2 minute(s)","expires":2,"unit":"declMinutes","purpose":{"cs":""}},{"name":"_hjAbsoluteSessionInProgress","type":"http","domain":".birne.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":""}},{"name":"_hjFirstSeen","type":"http","domain":".birne.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"cs":""}},{"name":"lidc","type":"http","domain":".linkedin.com","path":"/","provider":"Unknown","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"cs":""}},{"name":"li_sugr","type":"http","domain":".linkedin.com","path":"/","provider":"Unknown","firstParty":true,"retention":"90 day(s)","expires":90,"unit":"declDays","purpose":{"cs":""}},{"name":"bcookie","type":"http","domain":".linkedin.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":""}},{"name":"UserMatchHistory","type":"http","domain":".linkedin.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 day(s)","expires":30,"unit":"declDays","purpose":{"cs":""}},{"name":"AnalyticsSyncHistory","type":"http","domain":".linkedin.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 day(s)","expires":30,"unit":"declDays","purpose":{"cs":""}},{"name":"bscookie","type":"http","domain":".www.linkedin.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"cs":""}}]},"blocker":{"isActive":false,"googleConsentMode":{"id":"","analyticsId":"","isActive":true,"adStorageCategory":4,"analyticsStorageCategory":2,"personalizationStorageCategory":1,"functionalityStorageCategory":1,"customEvent":true,"securityStorageCategory":0,"redactData":true,"urlPassthrough":false},"facebookPixel":{"id":"","isActive":false,"ldu":false},"microsoft":{},"rakuten":{"isActive":false,"cmp":false,"ccpa":false},"gpcIsActive":false,"defaultBlocked":7,"patterns":{"whiteList":[],"blackList":{"1":[],"2":[],"4":[],"8":[]},"iframesWhiteList":[],"iframesBlackList":{"1":[],"2":[],"4":[],"8":[]},"beaconsWhiteList":[],"beaconsBlackList":{"1":[],"2":[],"4":[],"8":[]}}}}; 2391 2392 window.addEventListener('DOMContentLoaded', function(){ 2393 const script = document.createElement('script'); 2394 2395 script.src = "https://cdn.shopify.com/extensions/01a11687-a319-7422-b9b0-51680bbe142b/gdpr-cookie-consent-419/assets/pandectes-core.js"; 2396 2397 script.defer = true; 2398 document.body.appendChild(script); 2399 }) 2400 </script>
2400 2401 2402 2403 2404 2405 2406 2407 2408<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2409<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 60399288452,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "customers/login"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 2409
2409
2410<script> 2411 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 2412</script>
vendor: 1 bytes, line 2412
2412
2413<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
2413).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 60399288452,storefrontBaseUrl: "https://birne.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://birne.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"384368989","configuration":"{\"pixel_id\":\"798028765238756\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Birne","paymentSettings":{"currencyCode":"CZK"},"myshopifyDomain":"directleasing.myshopify.com","countryCode":"CZ","storefrontUrl":"https:\/\/birne.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://birne.com/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"145555063133","themePublished":"true","eventMetadataId":"942c8963-f9cf-4c78-8f94-68b83292ed7f","shopId":"60399288452","storefrontBaseUrl":"https:\/\/birne.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
2413<script> 2414 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 2415 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 2416 window.ShopifyAnalytics.meta.currency = 'CZK'; 2417 var meta = {"page":{"requestId":"8ec1b966-7baf-4e3f-b82d-4f52e9023a5a-1791414118"}}; 2418 for (var attr in meta) { 2419 window.ShopifyAnalytics.meta[attr] = meta[attr]; 2420 } 2421</script>
vendor: 1 bytes, line 2421
2421
2422<script class="analytics"> 2423 (function () { 2424 var customDocumentWrite = function(content) { 2425 var jquery = null; 2426 2427 if (window.jQuery) { 2428 jquery = window.jQuery; 2429 } else if (window.Checkout && window.Checkout.$) { 2430 jquery = window.Checkout.$; 2431 } 2432 2433 if (jquery) { 2434 jquery('body').append(content); 2435 } 2436 }; 2437 2438 var hasLoggedConversion = function(token) { 2439 if (token) { 2440 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 2441 } 2442 return false; 2443 } 2444 2445 var setCookieIfConversion = function(token) { 2446 if (token) { 2447 var twoMonthsFromNow = new Date(Date.now()); 2448 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 2449 2450 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 2451 } 2452 } 2453 2454 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 2455 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 2456 if (trekkie.integrations) { 2457 return; 2458 } 2459 trekkie.methods = [ 2460 'identify', 2461 'page', 2462 'ready', 2463 'track', 2464 'trackForm', 2465 'trackLink' 2466 ]; 2467 trekkie.factory = function(method) { 2468 return function() { 2469 var args = Array.prototype.slice.call(arguments); 2470 args.unshift(method); 2471 trekkie.push(args); 2472 if (method == 'track' || method == 'page') { 2473 var pageUrl; 2474 try { 2475 pageUrl = window.location.href; 2476 } catch (e) {} 2477 var pageReferrer; 2478 try { 2479 pageReferrer = document.referrer; 2480 } catch (e) {} 2481 try { 2482 if (window.__TREKKIE_SHIM_QUEUE == null) { 2483 window.__TREKKIE_SHIM_QUEUE = []; 2484 } 2485 window.__TREKKIE_SHIM_QUEUE.push({ 2486 from: 'trekkie-stub', 2487 method: method, 2488 args: args.slice(1), 2489 pageContext: { 2490 url: pageUrl, 2491 referrer: pageReferrer 2492 } 2493 }); 2494 } catch (e) { 2495 // no-op 2496 } 2497 } 2498 return trekkie; 2499 }; 2500 }; 2501 for (var i = 0; i < trekkie.methods.length; i++) { 2502 var key = trekkie.methods[i]; 2503 trekkie[key] = trekkie.factory(key); 2504 } 2505 trekkie.load = function(config) { 2506 trekkie.config = config || {}; 2507 trekkie.config.initialDocumentCookie = document.cookie; 2508 var first = document.getElementsByTagName('script')[0]; 2509var script = document.createElement('script'); 2510script.type = 'text/javascript'; 2511script.onerror = function(e) { 2512 var scriptFallback = document.createElement('script'); 2513 scriptFallback.type = 'text/javascript'; 2514 scriptFallback.onerror = function(error) { 2515 var Monorail = { 2516 produce: function produce(monorailDomain, schemaId, payload) { 2517 var currentMs = new Date().getTime(); 2518 var event = { 2519 schema_id: schemaId, 2520 payload: payload, 2521 metadata: { 2522 event_created_at_ms: currentMs, 2523 event_sent_at_ms: currentMs 2524 } 2525 }; 2526 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 2527 }, 2528 sendRequest: function sendRequest(endpointUrl, payload) { 2529 // Try the sendBeacon API 2530 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 2531 var blobData = new window.Blob([payload], { 2532 type: 'text/plain' 2533 }); 2534 2535 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 2536 return true; 2537 } // sendBeacon was not successful 2538 2539 } // XHR beacon 2540 2541 var xhr = new XMLHttpRequest(); 2542 2543 try { 2544 xhr.open('POST', endpointUrl); 2545 xhr.setRequestHeader('Content-Type', 'text/plain'); 2546 xhr.send(payload); 2547 } catch (e) { 2548 console.log(e); 2549 } 2550 2551 return false; 2552 }, 2553 isIos12: function isIos12() { 2554 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 2555 } 2556 }; 2557 Monorail.produce('monorail-edge.shopifysvc.com', 2558 'trekkie_storefront_load_errors/1.1', 2559 {shop_id: 60399288452, 2560 theme_id: 145555063133, 2561 app_name: "storefront", 2562 context_url: window.location.href, 2563 source_url: "//birne.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 2564 2565 }; 2566 scriptFallback.async = true; 2567 scriptFallback.src = '//birne.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 2568 first.parentNode.insertBefore(scriptFallback, first); 2569}; 2570script.async = true; 2571script.src = '//birne.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 2572first.parentNode.insertBefore(script, first); 2573 2574 }; 2575 trekkie.load( 2576 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":60399288452,"isMerchantRequest":null,"themeId":145555063133,"themeCityHash":"12396866123149876383","contentLanguage":"cs","currency":"CZK","eventMetadataId":"942c8963-f9cf-4c78-8f94-68b83292ed7f"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 2577 ); 2578 2579 var loaded = false;
2580 trekkie.ready(function() { 2581 if (loaded) return; 2582 loaded = true; 2583 2584 window.ShopifyAnalytics.lib = window.trekkie; 2585 2586 var originalDocumentWrite = document.write; 2587 document.write = customDocumentWrite; 2588 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 2589 document.write = originalDocumentWrite; 2590 2591 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 2592 var token = match? match[1]: undefined; 2593 if (!hasLoggedConversion(token)) { 2594 setCookieIfConversion(token); 2595 2596 } 2597 }); 2598 2599 window.ShopifyAnalytics.lib.page(null,{"requestId":"8ec1b966-7baf-4e3f-b82d-4f52e9023a5a-1791414118","shopifyEmitted":true}); 2600 2601 var eventsListenerScript = document.createElement('script'); 2602 eventsListenerScript.async = true; 2603 eventsListenerScript.src = "//birne.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 2604 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 2605})();</script>
vendor: 1 bytes, line 2605
2605
2606<script 2607 defer 2608 src="https://birne.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js" 2609 data-application="storefront-renderer" 2610 data-shop-id="60399288452" 2611 data-render-region="gcp-europe-west4" 2612 data-page-type="customers/login" 2613 data-theme-instance-id="145555063133" 2614 data-theme-name="Dawn" 2615 data-theme-version="7.0.1" 2616 data-monorail-region="shop_domain" 2617 data-resource-timing-sampling-rate="10" 2618 data-shs="true" 2619 data-shs-beacon="true" 2620 data-shs-export-with-fetch="true" 2621 data-shs-logs-sample-rate="1" 2622 data-shs-beacon-endpoint="https://birne.com/api/collect" 2623></script>
2623 2624<meta name="shopify-y" content="efd42ff3-4b39-4a64-807c-998a881d6773" data-expiration="1822971719000"><meta name="shopify-s" content="2e0549dd-f90e-484a-897a-305de369a3bd" data-expiration="1791415919000"><meta name="new-cookie-storage-activated" content="t"> 2625</head> 2626 2627 <body class="gradient tw-overflow-x-hidden"> 2628 <a class="skip-to-content-link button visually-hidden" href="#MainContent"> 2629 PÅejÃt k obsahu 2630 </a><div id="shopify-section-announcement-bar" class="shopify-section"><div 2631 class="announcement-bar color-accent-2 gradient" 2632 role="region" 2633 aria-label="OznámenÃ" 2634 2635 2636 style=" 2637 --color-foreground: 0, 64, 51; 2638 --color-background: 190, 205, 0; 2639 --gradient-background: #becd00; 2640 --color-card-hover: 0, 64, 51;"><a href="https://birne.com/pages/akcni-operak-na-ojeta-auta" class="announcement-bar__link link link--text focus-inset animate-arrow"><div class="page-width"> 2641 <p class="announcement-bar__message center h5"> 2642 NOVINKA: AkÄnà levný operák na provÄÅená zánovnà a ojetá auta od [[DAP6Moperak_od]] KÄ bez DPH. 2643<!--<svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg"> 2644 <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> 2645</svg>--> 2646 2647</p> 2648 </div></a></div> 2649</div> 2650 <div id="shopify-section-header" class="shopify-section"><link rel="stylesheet" href="//birne.com/cdn/shop/t/31/assets/component-list-menu.css?v=151968516119678728991678353982" media="print" onload="this.media='all'"> 2651<link rel="stylesheet" href="//birne.com/cdn/shop/t/31/assets/component-search.css?v=96455689198851321781678353984" media="print" onload="this.media='all'"> 2652<link rel="stylesheet" href="//birne.com/cdn/shop/t/31/assets/component-menu-drawer.css?v=108440971314323739931747995834" media="print" onload="this.media='all'"> 2653<link 2654 rel="stylesheet" 2655 href="//birne.com/cdn/shop/t/31/assets/component-cart-notification.css?v=183358051719344305851678353981" 2656 media="print" 2657 onload="this.media='all'" 2658> 2659<link rel="stylesheet" href="//birne.com/cdn/shop/t/31/assets/component-cart-items.css?v=24264362967501272091678353981" media="print" onload="this.media='all'"><link rel="stylesheet" href="//birne.com/cdn/shop/t/31/assets/component-price.css?v=103099499655259013221678353981" media="print" onload="this.media='all'"> 2660 <link 2661 rel="stylesheet" 2662 href="//birne.com/cdn/shop/t/31/assets/component-loading-overlay.css?v=167310470843593579841678353985" 2663 media="print" 2664 onload="this.media='all'" 2665 ><noscript><link href="//birne.com/cdn/shop/t/31/assets/component-list-menu.css?v=151968516119678728991678353982" rel="stylesheet" type="text/css" media="all" /></noscript> 2666<noscript><link href="//birne.com/cdn/shop/t/31/assets/component-search.css?v=96455689198851321781678353984" rel="stylesheet" type="text/css" media="all" /></noscript> 2667<noscript><link href="//birne.com/cdn/shop/t/31/assets/component-menu-drawer.css?v=108440971314323739931747995834" rel="stylesheet" type="text/css" media="all" /></noscript> 2668<noscript><link href="//birne.com/cdn/shop/t/31/assets/component-cart-notification.css?v=183358051719344305851678353981" rel="stylesheet" type="text/css" media="all" /></noscript> 2669<noscript><link href="//birne.com/cdn/shop/t/31/assets/component-cart-items.css?v=24264362967501272091678353981" rel="stylesheet" type="text/css" media="all" /></noscript> 2670
2671<script src="//birne.com/cdn/shop/t/31/assets/details-disclosure.js?v=153497636716254413831678353981" defer="defer"></script>
vendor: 1 bytes, line 2671
2671
2672<script src="//birne.com/cdn/shop/t/31/assets/details-modal.js?v=4511761896672669691678353981" defer="defer"></script>
vendor: 1 bytes, line 2672
2672
2673<script src="//birne.com/cdn/shop/t/31/assets/cart-notification.js?v=160453272920806432391678353981" defer="defer"></script>
2673<style> 2674 header-drawer { 2675 justify-self: start; 2676 } 2677 2678 .header__heading-logo { 2679 max-width: 84px; 2680 } 2681 2682 @media screen and (min-width: 1126px) { 2683 header-drawer { 2684 display: none; 2685 } 2686 } 2687 2688 .menu-drawer-container { 2689 display: flex; 2690 } 2691 2692 .list-menu { 2693 list-style: none; 2694 padding: 0; 2695 margin: 0; 2696 } 2697 2698 .list-menu--inline { 2699 display: inline-flex; 2700 flex-wrap: wrap; 2701 } 2702 2703 summary.list-menu__item { 2704 padding-right: 2.7rem; 2705 } 2706 2707 .list-menu__item { 2708 display: flex; 2709 align-items: center; 2710 line-height: calc(1 + 0.3 / var(--font-body-scale)); 2711 color: #004033; 2712 } 2713 2714 .list-menu__item--link { 2715 text-decoration: none; 2716 padding-bottom: 1rem; 2717 padding-top: 1rem; 2718 line-height: calc(1 + 0.8 / var(--font-body-scale)); 2719 } 2720 2721 @media screen and (min-width: 750px) { 2722 .list-menu__item--link { 2723 padding-bottom: 0.5rem; 2724 padding-top: 0.5rem; 2725 } 2726 } 2727 @media screen and (min-width: 560px) { 2728 .mobile-account { 2729 display: none; 2730 } 2731 } 2732 .header__active-menu-item::after { 2733 content: none; 2734 } 2735 .header__active-menu-item { 2736 color: #8743ff; 2737 } 2738 2739 .header__icon--menu[aria-expanded='true']:before { 2740 top: 0 !important; 2741 height: 100vh !important; 2742 z-index: 1; 2743 } 2744 2745 .ie-lang-switcher { 2746 position: relative; 2747 } 2748 2749 .ie-lang-dropdown { 2750 position: absolute; 2751 top: calc(100% + 0.8rem); 2752 right: 0; 2753 background: #fff; 2754 border-radius: 1.2rem; 2755 box-shadow: 0px 12px 24px rgba(0, 64, 51, 0.12); 2756 padding: 0.8rem 0; 2757 min-width: 12rem; 2758 z-index: 100; 2759 display: none; 2760 } 2761 2762 .ie-lang-dropdown.is-open { 2763 display: block; 2764 } 2765 2766 .ie-lang-dropdown form + form { 2767 border-top: 1px solid #f0f4e0; 2768 } 2769 2770 .ie-lang-option { 2771 display: block; 2772 width: 100%; 2773 padding: 0.8rem 1.6rem; 2774 text-align: left; 2775 font-size: 1.4rem; 2776 color: #004033; 2777 background: none; 2778 border: none; 2779 cursor: pointer; 2780 white-space: nowrap; 2781 } 2782 2783 .ie-lang-option:hover, 2784 .ie-lang-option.is-active { 2785 background: #f9fce2; 2786 font-weight: 600; 2787 } 2788</style> 2789 2790<header class="ie-header tw-flex tw-center tw-justify-center tw-rounded-b-[4.4rem] max-sm:tw-h-[7.2rem] tw-h-[8.8rem] lg:tw-pr-[4rem] tw-w-full tw-bg-white max-lg:tw-px-[1.8rem] tw-py-[1rem] lg:tw-py-[1.6rem]"> 2791 <div class="tw-flex tw-items-center tw-max-w-[1440px] tw-justify-between tw-w-full tw-h-full"> 2792 <div class="tw-flex tw-w-full"> 2793 <a href="/" data-test="header-logo"> 2794 <img 2795 class="tw-w-[12rem] max-lg:tw-w-[9rem] max-lg:tw-h-[5.4rem] tw-h-[7.2rem]" 2796 src="//birne.com/cdn/shop/t/31/assets/25-logo-birne.png?v=53618210360263220251745914209" 2797 alt="Birne logo" 2798 > 2799 </a> 2800 <nav class="tw-hidden lg:tw-flex tw-items-center tw-gap-[2.4rem] lg:tw-mx-auto"> 2801 2802 <a 2803 href="/collections/nase-auta" 2804 class="tw-text-primaryDarker tw-text-[1.4rem] tw-tracking-[0.05em] tw-font-medium tw-whitespace-nowrap" 2805 > 2806 NaÅ¡e auta 2807 </a> 2808 2809 <a 2810 href="/pages/operativni-leasing" 2811 class="tw-text-primaryDarker tw-text-[1.4rem] tw-tracking-[0.05em] tw-font-medium tw-whitespace-nowrap" 2812 > 2813 Operativnà leasing 2814 </a> 2815 2816 <a 2817 href="/pages/zkus-a-kup" 2818 class="tw-text-primaryDarker tw-text-[1.4rem] tw-tracking-[0.05em] tw-font-medium tw-whitespace-nowrap" 2819 > 2820 Zkus a kup 2821 </a> 2822 2823 <a 2824 href="/pages/pujcovna-aut" 2825 class="tw-text-primaryDarker tw-text-[1.4rem] tw-tracking-[0.05em] tw-font-medium tw-whitespace-nowrap" 2826 > 2827 Birne rent 2828 </a> 2829 2830 <a 2831 href="https://birne.com/pages/operativni-leasing-pro-firmy?ico=true" 2832 class="tw-text-primaryDarker tw-text-[1.4rem] tw-tracking-[0.05em] tw-font-medium tw-whitespace-nowrap" 2833 > 2834 Pro firmy 2835 </a> 2836 2837 <a 2838 href="/pages/nadstandardni-sluzby" 2839 class="tw-text-primaryDarker tw-text-[1.4rem] tw-tracking-[0.05em] tw-font-medium tw-whitespace-nowrap" 2840 > 2841 Nadstandardnà služby 2842 </a> 2843 2844 </nav></div> 2845 <div class="tw-flex tw-gap-[2.4rem] max-sm:tw-gap-[1rem] tw-items-center"> 2846 2847 <div class=""><div 2848 class="tw-flex tw-items-center" 2849> 2850 <label class="tw-flex tw-gap-[0.8rem] tw-items-center"> 2851 <input 2852 data-test="sme-switch-desktop" 2853 type="checkbox" 2854 class="tw-peer/switch js-sme-switch tw-hidden" 2855 checked 2856 name="sme" 2857 > 2858 <div class="ie-switch tw-h-[36px]"> 2859 <div class="ie-switch--vat"> 2860 s DPH 2861 </div> 2862 <div class="ie-switch--novat"> 2863 bez DPH 2864 </div> 2865 </div> 2866 </label> 2867</div> 2868</div> 2869 2870 <a href="/cart"><svg width="24" height="24" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2871<path d="M19.5 22C20.3284 22 21 21.3284 21 20.5C21 19.6716 20.3284 19 19.5 19C18.6716 19 18 19.6716 18 20.5C18 21.3284 18.6716 22 19.5 22Z" fill="#004033" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> 2872<path d="M9.5 22C10.3284 22 11 21.3284 11 20.5C11 19.6716 10.3284 19 9.5 19C8.67157 19 8 19.6716 8 20.5C8 21.3284 8.67157 22 9.5 22Z" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> 2873<path d="M16.5 4.00002H22L20 15H15.5M16.5 4.00002L15.5 15M16.5 4.00002H10.75M15.5 15H11.5M10.75 4.00002H5L7 15H11.5M10.75 4.00002L11.5 15" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> 2874<path d="M5 4.00002C4.83333 3.33335 4 2.00002 2 2.00002" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> 2875<path d="M20 15H7H5.23077C3.44646 15 2.5 15.7812 2.5 17C2.5 18.2188 3.44646 19 5.23077 19H19.5" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> 2876</svg></a> 2877 2878 <a class="max-md:tw-hidden button-primary tw-whitespace-nowrap" href="/account">klientská zóna</a> 2879 2880<header-drawer data-breakpoint="tablet" class="lg:tw-hidden"> 2881 <details id="Details-menu-drawer-container" class="menu-drawer-container"> 2882 <summary 2883 class="header__icon header__icon--menu header__icon--summary focus-inset tw-w-auto tw-h-auto" 2884 aria-label="NabÃdka" 2885 >
2886 <span class="[&_.icon-close]:tw-top-[24px] [&_.icon-close]:tw-right-[18px] [&_.icon-close]:tw-z-[99] [&_.icon-close]:tw-text-black "> 2887 <div class="header__icon--hamburger lg:tw-hidden"> 2888 <span class="lg:tw-hidden button-dark-green"> menu </span> 2889 <svg width="24" height="24" aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2890 <path d="M6.75827 17.2426L12.0009 12M12.0009 12L17.2435 6.75735M12.0009 12L6.75827 6.75735M12.0009 12L17.2435 17.2426" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 2891</svg> 2892 2893 </div> 2894 </span> 2895 </summary> 2896 <div 2897 id="menu-drawer" 2898 class="gradient menu-drawer !tw-h-[100vh] motion-reduce tw-bg-[#EAF3A3] tw-w-full tw-top-0" 2899 tabindex="-1" 2900 > 2901 <div class="menu-drawer__inner-container"> 2902 <div class="menu-drawer__navigation-container "> 2903 <div class="tw-h-max tw-w-full"> 2904 <svg 2905 class="tw-transition-none icon-hamburger tw-z-[99] tw-absolute tw-left-[4px] tw-top-[9px]" 2906 aria-hidden="true" 2907 focusable="false" 2908 role="presentation" 2909 width="90" 2910 height="54"
2911 viewBox="0 0 90 54" 2912 fill="none" 2913 xmlns="http://www.w3.org/2000/svg" 2914 > 2915 <path d="M76.5115 42.6649V47.4428C76.5115 48.9238 77.3433 49.8774 79.2403 49.3601V48.4572C78.1041 48.7514 77.5665 48.5079 77.5665 47.4428V45.0894H78.9359L79.3417 44.1865H77.5665V42.6649H76.5115ZM75.548 47.5747H74.4321C74.3408 48.2442 73.8133 48.6195 73.1743 48.6195C72.3425 48.6195 71.673 47.8993 71.673 46.8037C71.673 45.7081 72.3425 44.9778 73.1743 44.9778C73.8133 44.9778 74.3408 45.3531 74.4321 46.0226H75.548C75.4262 44.8662 74.4321 44.0851 73.1743 44.0851C71.673 44.0851 70.5673 45.1807 70.5673 46.8037C70.5673 48.4268 71.673 49.5122 73.1743 49.5122C74.4321 49.5122 75.4262 48.7311 75.548 47.5747ZM65.7489 46.2965C65.8807 45.4444 66.5402 44.9575 67.2908 44.9575C68.0516 44.9575 68.6501 45.4444 68.7515 46.2965H65.7489ZM64.6838 46.8037C64.6838 48.4268 65.7895 49.5122 67.2908 49.5122C68.5791 49.5122 69.4717 48.8224 69.7152 47.8181H68.7008C68.4979 48.3253 68.011 48.6398 67.2908 48.6398C66.4793 48.6398 65.8098 48.0819 65.7387 47.0979H69.7761C69.7964 46.9863 69.8065 46.9052 69.8065 46.8037C69.8065 45.1807 68.7718 44.0851 67.2908 44.0851C65.7895 44.0851 64.6838 45.1807 64.6838 46.8037ZM61.3767 49.4107H62.4318V46.7429C62.4318 45.7691 63.0099 45.0996 64.0751 45.0996H64.3794V44.0851C63.436 43.9939 62.736 44.43 62.4318 45.4952V44.1865H61.3767V49.4107ZM58.9017 42.6447C58.9017 42.9896 59.1756 43.2736 59.5306 43.2736C59.8856 43.2736 60.1595 42.9896 60.1595 42.6447C60.1595 42.2896 59.8856 42.0157 59.5306 42.0157C59.1756 42.0157 58.9017 42.2896 58.9017 42.6447ZM59.0031 49.4107H60.0581V44.1865H59.0031V49.4107ZM56.6295 49.4107H57.6845V42.1578H56.6295V45.1299C56.2542 44.4807 55.6455 44.0851 54.8847 44.0851C53.4138 44.0851 52.3284 45.1807 52.3284 46.8037C52.3284 48.4268 53.3327 49.5122 54.7021 49.5122C55.5745 49.5122 56.244 49.0659 56.6295 48.3558V49.4107ZM56.6295 46.8037C56.6295 47.8993 55.9498 48.6195 55.0268 48.6195C54.1137 48.6195 53.4341 47.8993 53.4341 46.8037C53.4341 45.7081 54.1137 44.9778 55.0268 44.9778C55.9498 44.9778 56.6295 45.7081 56.6295 46.8037ZM45.5178 50.5367V51.4396C46.9075 51.7439 47.5669 51.3077 48.0944 49.8469L50.1841 44.1865H49.0986L47.6278 48.4572L46.1468 44.1865H45.0106L47.0394 49.7049L46.9786 49.9078C46.6945 50.6382 46.2786 50.7396 45.5178 50.5367ZM40.3951 42.1578H39.3402V49.4107H40.3951V48.4673C40.7705 49.1166 41.3791 49.5122 42.1399 49.5122C43.6108 49.5122 44.6962 48.4268 44.6962 46.8037C44.6962 45.1807 43.6919 44.0851 42.3225 44.0851C41.4501 44.0851 40.7806 44.5315 40.3951 45.2416V42.1578ZM40.3951 46.8037C40.3951 45.7081 41.0747 44.9778 41.9979 44.9778C42.9108 44.9778 43.5905 45.7081 43.5905 46.8037C43.5905 47.8993 42.9108 48.6195 41.9979 48.6195C41.0747 48.6195 40.3951 47.8993 40.3951 46.8037Z" fill="#004033"/> 2916 <path d="M13.9471 6.70056C16.4554 13.7801 20.1593 15.6555 23.7929 15.6555C26.2777 15.6555 28.0359 14.7647 28.0359 14.7647L28.1531 14.882L11.5326 29.9788V23.7431L20.4172 16.0306C9.65716 14.8351 6.70341 6.70056 6.70341 6.70056H13.9471Z" fill="#C4DE00"/> 2917 <path d="M69.7307 31.5887C70.0507 29.5213 71.6505 28.3398 73.4718 28.3398C75.3177 28.3398 76.7698 29.5213 77.0159 31.5887H69.7307ZM67.1465 32.8193C67.1465 36.7572 69.8292 39.3907 73.4718 39.3907C76.5975 39.3907 78.7634 37.7171 79.3541 35.2805H76.8928C76.4006 36.5111 75.2193 37.274 73.4718 37.274C71.5028 37.274 69.8784 35.9204 69.7061 33.533H79.5018C79.5509 33.2623 79.5756 33.0654 79.5756 32.8193C79.5756 28.8813 77.0652 26.2232 73.4718 26.2232C69.8292 26.2232 67.1465 28.8813 67.1465 32.8193ZM54.3239 39.1446H56.8836V31.441C56.8836 29.5704 58.0896 28.3891 59.8616 28.3891C61.7075 28.3891 62.8151 29.5458 62.8151 31.8594V39.1446H65.3747V31.564C65.3747 28.0445 63.5043 26.2232 60.8461 26.2232C59.0494 26.2232 57.6958 27.0354 56.8836 28.586V26.4693H54.3239V39.1446ZM45.5375 39.1446H48.0971V32.6716C48.0971 30.3088 49.5 28.6844 52.0843 28.6844H52.8227V26.2232C50.5337 26.0017 48.8355 27.06 48.0971 29.6443V26.4693H45.5375V39.1446ZM40.246 22.7283C40.246 23.5651 40.9106 24.2543 41.772 24.2543C42.6334 24.2543 43.298 23.5651 43.298 22.7283C43.298 21.8669 42.6334 21.2024 41.772 21.2024C40.9106 21.2024 40.246 21.8669 40.246 22.7283ZM40.4922 39.1446H43.0518V26.4693H40.4922V39.1446ZM28.3094 21.5469H25.7498V39.1446H28.3094V36.8556C29.2201 38.4308 30.6968 39.3907 32.5427 39.3907C36.1115 39.3907 38.7449 36.7572 38.7449 32.8193C38.7449 28.8813 36.3083 26.2232 32.9857 26.2232C30.8691 26.2232 29.2446 27.3061 28.3094 29.029V21.5469ZM28.3094 32.8193C28.3094 30.1611 29.9584 28.3891 32.1981 28.3891C34.4132 28.3891 36.0622 30.1611 3
29176.0622 32.8193C36.0622 35.4774 34.4132 37.2248 32.1981 37.2248C29.9584 37.2248 28.3094 35.4774 28.3094 32.8193Z" fill="#004033"/> 2918 </svg> 2919 </div> 2920 2921 <nav class="menu-drawer__navigation"> 2922 <ul class="menu-drawer__menu has-submenu list-menu" role="list"><li class="[&_>_a]:first:tw-pt-[0px]"><a 2923 href="/collections/nase-auta" 2924 class="tw-pl-[5.6rem] tw-leading-[100%] tw-py-[24px] menu-drawer__menu-item list-menu__item link link--text focus-inset" 2925 2926 > 2927 NaÅ¡e auta 2928 </a></li><li class="[&_>_a]:first:tw-pt-[0px]"><a 2929 href="/pages/operativni-leasing" 2930 class="tw-pl-[5.6rem] tw-leading-[100%] tw-py-[24px] menu-drawer__menu-item list-menu__item link link--text focus-inset" 2931 2932 > 2933 Operativnà leasing 2934 </a></li><li class="[&_>_a]:first:tw-pt-[0px]"><a 2935 href="/pages/zkus-a-kup" 2936 class="tw-pl-[5.6rem] tw-leading-[100%] tw-py-[24px] menu-drawer__menu-item list-menu__item link link--text focus-inset" 2937 2938 > 2939 Zkus a kup 2940 </a></li><li class="[&_>_a]:first:tw-pt-[0px]"><a 2941 href="/pages/pujcovna-aut" 2942 class="tw-pl-[5.6rem] tw-leading-[100%] tw-py-[24px] menu-drawer__menu-item list-menu__item link link--text focus-inset" 2943 2944 > 2945 Birne rent 2946 </a></li><li class="[&_>_a]:first:tw-pt-[0px]"><a 2947 href="https://birne.com/pages/operativni-leasing-pro-firmy?ico=true" 2948 class="tw-pl-[5.6rem] tw-leading-[100%] tw-py-[24px] menu-drawer__menu-item list-menu__item link link--text focus-inset" 2949 2950 > 2951 Pro firmy 2952 </a></li><li class="[&_>_a]:first:tw-pt-[0px]"><a 2953 href="/pages/nadstandardni-sluzby" 2954 class="tw-pl-[5.6rem] tw-leading-[100%] tw-py-[24px] menu-drawer__menu-item list-menu__item link link--text focus-inset" 2955 2956 > 2957 Nadstandardnà služby 2958 </a></li><div class="tw-flex tw-px-[5.6rem] tw-mt-[4rem] tw-justify-between tw-items-center"> 2959 <a class="button-primary" href="/account">Klientská zóna</a> 2960 <a class="button-transparent tw-underline" href="/pages/contact">Kontakty</a> 2961 </div> 2962 </ul> 2963 </nav> 2964 <div class="menu-drawer__utility-links"> 2965 <!-- 2966 <button class="ie-btn ie-btn-secondary sm:tw-hidden tw-block"><a href="/account">PÅihlášenÃ</a></button> 2967 --><a 2968 href="/account/login" 2969 class="menu-drawer__account link focus-inset h5" 2970 > 2971 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-account" fill="none" viewBox="0 0 18 19"> 2972 <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.1-3.67-1.35-6.17-1.35z" fill="currentColor"> 2973</svg> 2974 2975PÅihlášenÃ</a><ul class="list list-social list-unstyled" role="list"></ul> 2976 </div> 2977 </div> 2978 </div> 2979 </div> 2980 </details> 2981 </header-drawer></div> 2982 </div> 2983</header> 2984 2985<style> 2986 .ie-header-snapped { 2987 position: fixed; 2988 top: 0; 2989 } 2990 2991 .ie-header { 2992 box-shadow: 0px 46px 19px rgba(0, 64, 51, 0.01), 0px 26px 16px rgba(0, 64, 51, 0.02), 2993 0px 12px 12px rgba(0, 64, 51, 0.03), 0px 3px 6px rgba(0, 64, 51, 0.03); 2994 } 2995</style> 2996
2997<script type="application/ld+json"> 2998 { 2999 "@context": "http://schema.org", 3000 "@type": "Organization", 3001 "name": "Birne", 3002 3003 "sameAs": [ 3004 "", 3005 "", 3006 "", 3007 "", 3008 "", 3009 "", 3010 "", 3011 "", 3012 "" 3013 ], 3014 "url": "https:\/\/birne.com" 3015 } 3016</script>
3016<script> 3017 class Header { 3018 constructor() { 3019 this.el = document.querySelector('header'); 3020 this.class = 'ie-header-snapped'; 3021 this.threshold = 200; // Adjust threshold as needed 3022 this.lastScrollY = window.scrollY; 3023 this.isFixed = false; 3024 this.init(); 3025 } 3026 3027 snapToTop() { 3028 window.addEventListener('scroll', () => { 3029 if (window.scrollY > this.threshold && !this.isFixed) { 3030 this.el.classList.add(this.class); 3031 this.isFixed = true; 3032 } else if (window.scrollY <= this.threshold && this.isFixed) { 3033 this.el.classList.remove(this.class); 3034 this.isFixed = false; 3035 } 3036 }); 3037 } 3038 3039 handleUserMenu() { 3040 const menuTriggers = document.querySelectorAll('.usermenu-trigger'); 3041 const userMenuElement = document.querySelector('#usermenu'); 3042 3043 function closeMenu() { 3044 userMenuElement?.classList.add('tw-hidden'); 3045 } 3046 3047 menuTriggers.forEach((menu) => { 3048 menu?.addEventListener('click', (e) => { 3049 userMenuElement?.classList.toggle('tw-hidden'); 3050 }); 3051 }); 3052 3053 // Click outside of the element to close it 3054 document.addEventListener('click', (event) => { 3055 let withinBoundaries = false; 3056 3057 menuTriggers.forEach((menuTrigger) => { 3058 if (event.composedPath().includes(menuTrigger)) withinBoundaries = true; 3059 }); 3060 3061 if (!withinBoundaries && !userMenuElement?.classList.contains('tw-hidden')) { 3062 closeMenu(); 3063 } 3064 }); 3065 } 3066 3067 handleLangSwitcher() { 3068 const btn = document.querySelector('.ie-lang-btn'); 3069 const dropdown = document.getElementById('ie-lang-dropdown-desktop'); 3070 if (!btn || !dropdown) return; 3071 3072 btn.addEventListener('click', (e) => { 3073 e.stopPropagation(); 3074 const isOpen = dropdown.classList.toggle('is-open'); 3075 btn.setAttribute('aria-expanded', isOpen); 3076 }); 3077 3078 document.addEventListener('click', (e) => { 3079 if (!btn.closest('.ie-lang-switcher').contains(e.target)) { 3080 dropdown.classList.remove('is-open'); 3081 btn.setAttribute('aria-expanded', 'false'); 3082 } 3083 }); 3084 } 3085 3086 init() { 3087 this.snapToTop(); 3088 this.handleUserMenu(); 3089 this.handleLangSwitcher(); 3090 } 3091 } 3092 3093 new Header(); 3094</script>
3094 3095 3096 3097</div> 3098 3099 <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> 3100 <div id="shopify-section-template--18273264795997__main" class="shopify-section"><link href="//birne.com/cdn/shop/t/31/assets/customer.css?v=97970887154638603971678353984" rel="stylesheet" type="text/css" media="all" /> 3101 3102<div id="main-login" class="customer login section-template--18273264795997__main-padding tw-pt-[4.8rem] sm:tw-pt-[6.4rem] tw-pb-[4.8rem] sm:tw-pb-[6.4rem] tw-px-0 tw-max-w-[69rem] tw-px-[2rem]"> 3103 <svg style="display: none"> 3104 <symbol id="icon-error" viewBox="0 0 13 13"> 3105 <circle cx="6.5" cy="6.50049" r="5.5" stroke="white" stroke-width="2"/> 3106 <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width="0.7"/> 3107 <path d="M5.87413 3.52832L5.97439 7.57216H7.02713L7.12739 3.52832H5.87413ZM6.50076 9.66091C6.88091 9.66091 7.18169 9.37267 7.18169 9.00504C7.18169 8.63742 6.88091 8.34917 6.50076 8.34917C6.12061 8.34917 5.81982 8.63742 5.81982 9.00504C5.81982 9.37267 6.12061 9.66091 6.50076 9.66091Z" fill="white"/> 3108 <path d="M5.87413 3.17832H5.51535L5.52424 3.537L5.6245 7.58083L5.63296 7.92216H5.97439H7.02713H7.36856L7.37702 7.58083L7.47728 3.537L7.48617 3.17832H7.12739H5.87413ZM6.50076 10.0109C7.06121 10.0109 7.5317 9.57872 7.5317 9.00504C7.5317 8.43137 7.06121 7.99918 6.50076 7.99918C5.94031 7.99918 5.46982 8.43137 5.46982 9.00504C5.46982 9.57872 5.94031 10.0109 6.50076 10.0109Z" fill="white" stroke="#EB001B" stroke-width="0.7"> 3109 </symbol> 3110 </svg> 3111 3112 <div id="recover"> 3113<div class="tw-flex tw-font-directSans tw-mb-[3.6rem] sm:tw-mb-[5.6rem] tw-flex-col tw-gap-[1.2rem] tw-justify-center tw-items-center"> 3114 3115 <h1 class="tw-text-3xl sm:tw-text-[3.6rem] tw-leading-[110%] tw-font-directSans tw-text-center tw-text-primaryDarker"> 3116 Zapomenuté heslo</h1> 3117 3118 3119 3120</div> 3121 3122 3123</div> 3124 <div class="[&>form]:tw-text-center"><form method="post" action="/account/recover" accept-charset="UTF-8" class="tw-flex tw-flex-col tw-items-center"><input type="hidden" name="form_type" value="recover_customer_password" /><input type="hidden" name="utf8" value="â" /> 3125 <div class="tw-rounded-[2rem] tw-px-[2.4rem] tw-gap-[2.4rem] tw-flex tw-items-center"> 3126 <div class="field"> 3127 <input type="email" 3128 value="" 3129 name="email" 3130 id="RecoverEmail" 3131 autocorrect="off" 3132 autocapitalize="off" 3133 autocomplete="email" 3134 3135 placeholder="PÅihlaÅ¡ovacà e-mail *" 3136 > 3137 <label for="RecoverEmail"> 3138 PÅihlaÅ¡ovacà e-mail * 3139 </label> 3140 </div></div> 3141 <button class="button-purple tw-shadow-none tw-w-max tw-mt-[3.6rem] sm:tw-mt-[5.6rem]"> 3142 obnovit heslo 3143 </button> 3144 <div class="tw-inline-flex tw-text-primaryDarker tw-gap-[0.4rem] tw-items-center tw-mt-[2.4rem] tw-text-xs sm:tw-text-base">VzpomnÄli jste si? 3145 <a class="tw-text-information tw-text-xs sm:tw-text-base [&:after]:tw-hidden [&:before]:tw-hidden" name="decline" href="#login"> 3146 PÅihlaste se 3147 </a> 3148 </div></form></div> 3149 3150 <div id="login"> 3151<div class="tw-flex tw-font-directSans tw-mb-[3.6rem] sm:tw-mb-[5.6rem] tw-flex-col tw-gap-[1.2rem] tw-justify-center tw-items-center"> 3152 3153 <h1 class="tw-text-3xl sm:tw-text-[3.6rem] tw-leading-[110%] tw-font-directSans tw-text-center tw-text-primaryDarker"> 3154 PÅihlášenÃ</h1> 3155 3156 3157 3158</div> 3159 3160 3161</div> 3162 <div class="form-login"><form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true" novalidate="novalidate" class="tw-flex tw-flex-col tw-items-center"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="â" /><div class="tw-rounded-[2rem] tw-px-[2.4rem] tw-flex tw-flex-col tw-items-center"> 3163 <div class="field"> 3164 <input 3165 type="email" 3166 name="customer[email]" 3167 id="CustomerEmail" 3168 autocomplete="email" 3169 autocorrect="off" 3170 autocapitalize="off" 3171 3172 placeholder="PÅihlaÅ¡ovacà e-mail *" 3173 > 3174 <label for="CustomerEmail"> 3175 PÅihlaÅ¡ovacà e-mail * 3176 </label> 3177 </div><div class="field"> 3178 <input 3179 type="password" 3180 value="" 3181 name="customer[password]" 3182 id="CustomerPassword" 3183 autocomplete="current-password" 3184 3185 placeholder="Heslo *" 3186 > 3187 <label for="CustomerPassword"> 3188 Heslo * 3189 </label> 3190 </div></div> 3191 <a href="#recover" class="tw-text-primaryDarker tw-text-sm tw-font-[600] tw-font-directSans tw-min-h-[4.2rem] tw-px-[2.4rem] tw-w-full tw-pt-[0.8rem] sm:tw-pt-[1.6rem] tw-leading-[1.5rem] [&:after]:tw-hidden [&:before]:tw-hidden tw-text-center" name="decline"> 3192 Nepamatujete si heslo? 3193 </a> 3194 <button class="button-purple tw-shadow-none tw-w-max tw-mt-[3.6rem] sm:tw-mt-[5.6rem]"> 3195 pÅihlásit se 3196 </button> 3197 </div><input type="hidden" name="return_url" value="/account" /></form></div> 3198 3199 3200</div> 3201 </main> 3202 3203 3204 3205 <div id="shopify-section-ie-footer" class="shopify-section"><footer class="ie-footer tw-text-primaryDarker tw-bg-white tw-flex tw-flex-col tw-justify-center tw-items-center tw-py-[8rem] md:tw-py-[11.2rem]"> 3206 <div class="tw-w-full tw-border-t-primaryDarker tw-border-t-[1px]"> 3207 <div class="tw-container tw-flex-col tw-pt-[4rem] md:tw-pt-[5.6rem] tw-w-full tw-border-b-primaryDarker tw-border-b-[1px]"> 3208 <div class="tw-flex md:tw-flex-row tw-gap-[3.2rem]"> 3209 <div class="tw-flex tw-flex-col md:tw-flex-row md:tw-flex-wrap tw-gap-[5.6rem] md:tw-gap-x-[3.2rem] md:tw-gap-y-[8rem] tw-w-full"> 3210 3211<div class="ie-footer-links tw-flex tw-flex-col tw-items-start tw-no-underline tw-gap-[1.6rem] tw-w-full mtw-w-[calc(50%-3.2rem)] md:tw-w-[calc(25%-3.2rem)]"> 3212 <h3 class="tw-text-base tw-font-bold tw-text-left tw-mb-[1.6rem]">NaÅ¡e služby</h3> 3213 3214 <a href="/collections/nase-auta" class="tw-text-sm tw-text-left tw-no-underline">NaÅ¡e auta</a> 3215 3216 <a href="/pages/operativni-leasing" class="tw-text-sm tw-text-left tw-no-underline">Operativnà leasing</a> 3217 3218 <a href="/pages/pro-firmy" class="tw-text-sm tw-text-left tw-no-underline">Pro firmy</a> 3219 3220 <a href="/pages/nadstandartni-sluzby" class="tw-text-sm tw-text-left tw-no-underline">Nadstandardnà služby</a> 3221 3222 <a href="/pages/pujcovna" class="tw-text-sm tw-text-left tw-no-underline">PůjÄovna</a> 3223 3224 <a href="https://birne.com/pages/servisy" class="tw-text-sm tw-text-left tw-no-underline">Servisy</a> 3225 3226 </div> 3227<div class="ie-footer-links tw-flex tw-flex-col tw-items-start tw-no-underline tw-gap-[1.6rem] tw-w-full tw-w-[calc(50%-3.2rem)] md:tw-w-[calc(25%-3.2rem)]"> 3228 <h3 class="tw-text-base tw-font-bold tw-text-left tw-mb-[1.6rem]">NaÅ¡e znaÄky</h3> 3229 <div class="tw-flex tw-flex-wrap tw-gap-y-[1.6rem] tw-gap-x-[1.4rem]"> 3230 3231 3232 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=AUDI&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">AUDI</a> 3233 3234 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=
3234BMW&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">BMW</a> 3235 3236 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=CUPRA&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">CUPRA</a> 3237 3238 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=Fiat&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">Fiat</a> 3239 3240 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=Hyundai&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">Hyundai</a> 3241 3242 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=KIA&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">KIA</a> 3243 3244 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=Mazda&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">Mazda</a> 3245 3246 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=Mercedes-Benz&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">Mercedes-Benz</a> 3247 3248 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=PEUGEOT&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">PEUGEOT</a> 3249 3250 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=RENAULT&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">RENAULT</a> 3251 3252 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=%C5%A0KODA&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">Å KODA</a> 3253 3254 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=TOYOTA&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">TOYOTA</a> 3255 3256 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=VOLVO&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">VOLVO</a> 3257 3258 <a href="https://birne.com/collections/nase-auta?filter.p.vendor=VW&sort_by=price-ascending" class="vendor-item tw-text-sm tw-text-left tw-no-underline tw-uppercase tw-w-[calc(50%-1.6rem)]">VW</a> 3259 3260 </div> 3261 </div> 3262<div class="ie-footer-links tw-flex tw-flex-col tw-items-start tw-no-underline tw-gap-[1.6rem] tw-w-full mtw-w-[calc(50%-3.2rem)] md:tw-w-[calc(25%-3.2rem)]"> 3263 <h3 class="tw-text-base tw-font-bold tw-text-left tw-mb-[1.6rem]">Birne</h3> 3264 3265 <a href="/pages/o-nas" class="tw-text-sm tw-text-left tw-no-underline">O nás</a> 3266 3267 <a href="/pages/contact" class="tw-text-sm tw-text-left tw-no-underline">Kontakty</a> 3268 3269 <a href="https://www.chcidodirectu.cz/direct-auto?locations=1625&companies=1638&workfields=" class="tw-text-sm tw-text-left tw-no-underline">Kariéra</a> 3270 3271 <a href="/blogs/clanky" class="tw-text-sm tw-text-left tw-no-underline">Älánky</a> 3272 3273 <a href="/pages/doporuc-birne" class="tw-text-sm tw-text-left tw-no-underline">DoporuÄ Birne</a> 3274 3275 <a href="https://ehub.cz/3515077c-birne-com" class="tw-text-sm tw-text-left tw-no-underline">Affiliate program</a> 3276 3277 </div> 3278 3279 3280 3281 3282 3283 3284 3285 </div> 3286 </div> 3287 3288 <div class="tw-flex tw-items-start tw-mt-[8rem]"> 3289 <a class="button-primary tw-flex tw-items-center tw-justify-center tw-gap-[1.2rem] tw-py-[1.6rem] max-md:[&>svg]:tw-w-[2rem] max-md:[&>svg]:tw-h-[2rem] max-md:tw-pl-[8px] max-md:tw-pr-[1.6rem] max-md:tw-py-[8px]" href="tel:+420234149234"> 3290 <svg width="24" height="24" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3291<path d="M16 5H22M22 5L19 2M22 5L19 8" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> 3292<path d="M18.1183 14.702L14.0001 15.5C11.2184 14.1038 9.50007 12.5 8.50007 10L9.27002 5.8699L7.81459 2H4.06367C2.93612 2 2.04821 2.93178 2.21661 4.04668C2.63702 6.83 3.8766 11.8765 7.50007 15.5C11.3053 19.3
3292052 16.7858 20.9564 19.8021 21.6127C20.9669 21.8662 22.0001 20.9575 22.0001 19.7655V16.1812L18.1183 14.702Z" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> 3293</svg> 3294 <span>234 149 234</span> 3295 </a> 3296 </div> 3297 3298 3299 <div class="tw-flex tw-w-full max-md:tw-flex-wrap max-md:tw-gap-[5.6rem] md:tw-justify-between tw-border-t-primaryDarker tw-border-t-[1px] tw-py-[8rem] md:tw-mb-0 tw-mt-[8rem] md:tw-pt-[5.6rem]"> 3300 3301 3302 3303 3304<a class="max-md:tw-w-[calc(50%-5.6rem)]" href="https://www.directgroup.eu/"> 3305 <img 3306 class="tw-h-[4.8rem]" 3307 src="//birne.com/cdn/shop/files/logo-direct-group_1000x.png?v=1743000612" 3308 alt="Logo"> 3309 </a> 3310<a class="max-md:tw-w-[calc(50%-5.6rem)]" href="https://www.direct.cz/"> 3311 <img 3312 class="tw-h-[4.8rem]" 3313 src="//birne.com/cdn/shop/files/logo-direct-pojistovna_1000x.png?v=1743001098" 3314 alt="Logo"> 3315 </a> 3316<a class="max-md:tw-w-[calc(50%-5.6rem)]" href="https://www.direct-auto.cz/"> 3317 <img 3318 class="tw-h-[4.8rem]" 3319 src="//birne.com/cdn/shop/files/logo-direct-auto_1000x.png?v=1743001112" 3320 alt="Logo"> 3321 </a> 3322<a class="max-md:tw-w-[calc(50%-5.6rem)]" href="https://www.directnadace.cz/"> 3323 <img 3324 class="tw-h-[4.8rem]" 3325 src="//birne.com/cdn/shop/files/logo-direct-nadace_1000x.png?v=1743001112" 3326 alt="Logo"> 3327 </a> 3328<a class="max-md:tw-w-[calc(50%-5.6rem)]" href="https://birne.com/"> 3329 <img 3330 class="tw-h-[4.8rem]" 3331 src="//birne.com/cdn/shop/files/logo-birne_1000x.png?v=1743001112" 3332 alt="Logo"> 3333 </a> 3334<a class="max-md:tw-w-[calc(50%-5.6rem)]" href="https://www.fidoo.com/"> 3335 <img 3336 class="tw-h-[4.8rem]" 3337 src="//birne.com/cdn/shop/files/logo-fidoo_1000x.png?v=1743001113" 3338 alt="Logo"> 3339 </a> 3340<a class="max-md:tw-w-[calc(50%-5.6rem)]" href="https://www.fondee.cz/"> 3341 <img 3342 class="tw-h-[4.8rem]" 3343 src="//birne.com/cdn/shop/files/logo-fondee_1000x.png?v=1743001112" 3344 alt="Logo"> 3345 </a> 3346 </div> 3347 </div> 3348 <div class="tw-container tw-flex tw-flex-col tw-gap-[3.2rem] md:tw-gap-[5.6rem]"> 3349 <div class="tw-flex tw-flex-col md:tw-items-center max-md:tw-gap-[8rem] md:tw-flex-row tw-mt-[8rem] md:tw-mt-[5.6rem]"> 3350 <div class="ie-footer-links tw-flex tw-flex-col md:tw-flex-row tw-gap-[3.2rem] md:tw-gap-[2.1rem] tw-w-full tw-text-left"> 3351 3352 <a class="tw-no-underline tw-text-[1.4rem] tw-leading-[130%] tw-tracking-[0.01em] tw-text-primaryDarker" href="https://cdn.shopify.com/s/files/1/0603/9928/8452/files/pojistne-podminky-autopojisteni-combi-plus-iv-1_23.pdf?v=1690881446">Pojistné podmÃnky</a> 3353 3354 <a class="tw-no-underline tw-text-[1.4rem] tw-leading-[130%] tw-tracking-[0.01em] tw-text-primaryDarker" href="/pages/whistleblowing">Whistleblowing</a> 3355 3356 <a class="tw-no-underline tw-text-[1.4rem] tw-leading-[130%] tw-tracking-[0.01em] tw-text-primaryDarker" href="https://cdn.shopify.com/s/files/1/0603/9928/8452/files/GDPR_V2-03-2025.pdf?v=1746189980">Osobnà údaje</a> 3357 3358 <a class="tw-no-underline tw-text-[1.4rem] tw-leading-[130%] tw-tracking-[0.01em] tw-text-primaryDarker" href="https://cdn.shopify.com/s/files/1/0603/9928/8452/files/Administrativni_poplatky_V7-08-2026.pdf?v=1781858055">Administrativnà poplatky</a> 3359 3360 </div> 3361 <div class="tw-flex tw-gap-[1rem]"> 3362 <a href="https://www.youtube.com/@BirnebyDirect" target="_blank" aria-label="Youtube"> 3363 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3364 <path d="M14 12L10.5 14V10L14 12Z" fill="#004033" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 3365 <path d="M2 12.7076V11.2925C2 8.39718 2 6.94951 2.90549 6.01804C3.81099 5.08657 5.23656 5.04625 8.08769 4.96561C9.43873 4.9274 10.8188 4.90002 12 4.90002C13.1812 4.90002 14.5613 4.9274 15.9123 4.96561C18.7634 5.04625 20.189 5.08657 21.0945 6.01804C22 6.94951 22 8.39717 22 11.2925V12.7076C22 15.6029 22 17.0506 21.0945 17.982C20.189 18.9135 18.7635 18.9538 15.9124 19.0345C14.5613 19.0727 13.1812 19.1001 12 19.1001C10.8188 19.1001 9.43867 19.0727 8.0876 19.0345C
33655.23651 18.9538 3.81097 18.9135 2.90548 17.982C2 17.0506 2 15.6029 2 12.7076Z" stroke="#004033" stroke-width="1.5"/> 3366 </svg> 3367 </a> 3368 <a href="https://www.instagram.com/birne_com/" target="_blank" aria-label="Instagram"> 3369 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3370 <path d="M12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16Z" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 3371 <path d="M3 16V8C3 5.23858 5.23858 3 8 3H16C18.7614 3 21 5.23858 21 8V16C21 18.7614 18.7614 21 16 21H8C5.23858 21 3 18.7614 3 16Z" stroke="#004033" stroke-width="1.5"/> 3372 <path d="M17.5 6.51013L17.51 6.49902" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 3373 </svg> 3374 </a> 3375 <a href="https://cz.linkedin.com/company/birne-by-direct-s-r-o" target="_blank" aria-label="LinkedIn"> 3376 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3377 <path d="M21 8V16C21 18.7614 18.7614 21 16 21H8C5.23858 21 3 18.7614 3 16V8C3 5.23858 5.23858 3 8 3H16C18.7614 3 21 5.23858 21 8Z" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 3378 <path d="M7 17V13.5V10" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 3379 <path d="M11 17V13.75M11 13.75V10M11 13.75C11 10 17 10 17 13.75V17" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 3380 <path d="M7 7.01013L7.01 6.99902" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 3381 </svg> 3382 </a> 3383 <a href="https://www.facebook.com/birnebydirect/" target="_blank" aria-label="Facebook"> 3384 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3385 <path d="M21 8V16C21 18.7614 18.7614 21 16 21H8C5.23858 21 3 18.7614 3 16V8C3 5.23858 5.23858 3 8 3H16C18.7614 3 21 5.23858 21 8Z" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 3386 <path d="M11 21C11 18 11 15 11 12C11 9.8125 11.5 8 15 8" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 3387 <path d="M9 13H11H15" stroke="#004033" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 3388 </svg> 3389 </a> 3390 </div> 3391 </div> 3392 <p class="tw-text-[1.4rem] tw-leading-[130%] tw-tracking-[0.01em] tw-text-primaryDarker">© 2025 Birne by Direct s.r.o.</p> 3393 </div> 3394 </div> 3395 3396</footer> 3397 3398 3399</div> 3400 3401 <ul hidden> 3402 <li id="a11y-refresh-page-message">Po volbÄ výbÄru se obnovà celá stránka.</li> 3403 <li id="a11y-new-window-message">OtevÅe se v novém oknÄ.</li> 3404 </ul> 3405 3406
3406<script> 3407 window.shopUrl = 'https://birne.com'; 3408 window.routes = { 3409 cart_add_url: '/cart/add', 3410 cart_change_url: '/cart/change', 3411 cart_update_url: '/cart/update', 3412 cart_url: '/cart', 3413 predictive_search_url: '/search/suggest' 3414 }; 3415 3416 window.cartStrings = { 3417 error: `PÅi aktualizaci vaÅ¡eho koÅ¡Ãku doÅ¡lo k chybÄ. Zkuste to prosÃm znovu.`, 3418 quantityError: `Do koÅ¡Ãku můžete pÅidat jen následujÃcà množstvà dané položky: [quantity].` 3419 } 3420 3421 window.variantStrings = { 3422 addToCart: `PÅidat do koÅ¡Ãku`, 3423 soldOut: `Vyprodáno`, 3424 unavailable: `Nenà k dispozici`, 3425 } 3426 3427 window.accessibilityStrings = { 3428 imageAvailable: `Obrázek [index] je nynà k dispozici v zobrazenà galerie`, 3429 shareSuccess: `Odkaz byl zkopÃrován do schránky`, 3430 pauseSlideshow: `Pozastavit prezentaci`, 3431 playSlideshow: `PÅehrát prezentaci`, 3432 } 3433 </script>
3433<script src="//birne.com/cdn/shop/t/31/assets/predictive-search.js?v=31278710863581584031678353984" defer="defer"></script>
3433<script src="//birne.com/cdn/shop/t/31/assets/dap-operak-od.js?v=92794757786246468851790239235" defer="defer"></script>
3433 3434 3435 <!-- sh-ssp-added --> 3436 <!-- /sh-ssp-added --> 3437 3438
3438<script> 3439 if(typeof(Spurit) === 'undefined'){ 3440 var Spurit = {}; 3441 } 3442 if(!Spurit.SplitPartialPayments2){ 3443 Spurit.SplitPartialPayments2 = {}; 3444 } 3445 if(!Spurit.SplitPartialPayments2.snippet){ 3446 Spurit.SplitPartialPayments2.snippet = {}; 3447 } 3448 if(!Spurit.SplitPartialPayments2.snippet.product){ 3449 Spurit.SplitPartialPayments2.snippet.product = {}; 3450 } 3451 if(!Spurit.SplitPartialPayments2.snippet.products){ 3452 Spurit.SplitPartialPayments2.snippet.products = {}; 3453 } 3454 Spurit.SplitPartialPayments2.snippet.appId = 49 3455 Spurit.SplitPartialPayments2.snippet.shopId = 11474 3456 Spurit.SplitPartialPayments2.snippet.shopHash = 'cc8c750016a329525650b291d692be8a'; 3457 3458 if (typeof(Spurit.globalSnippet) === 'undefined' || Object.keys(Spurit.globalSnippet).length === 0){ 3459 Spurit.globalSnippet = { 3460 shop_currency: 'CZK', 3461 money_format: '{{ amount_no_decimals }} KÄ', 3462 cart: {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"CZK","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}, 3463 customer_id: '', 3464 customer_email: '', 3465 }; 3466 } 3467 3468 3469 3470 3471 3472 3473</script>
3473 3474
3475<script src="https://s2.cdn-spurit.com/all-apps/spurit.global-2.x.min.js" async></script>
vendor: 1 bytes, line 3475
3475
3476<script src="https://s2.cdn-spurit.com/shopify-apps/split-partial-payments-2/common.js" async></script>
3476 3477<link href="https://s2.cdn-spurit.com/shopify-apps/split-partial-payments-2/common.css" rel="stylesheet" type="text/css" media="all"> 3478 3479
3479<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3479 3480</body> 3481</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.