templates/base.html.twig line 244

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     {% set metaInfo = getMetaInfo() %}
  5.     {% block meta %}
  6.         {% include "Slivki#{regional_template_path}/meta_block.html.twig" %}
  7.     {% endblock %}
  8.     {% block ogimage %}
  9.         <meta property="og:image" content="/images/close.svg" />
  10.         <meta property="og:image:width" content="180"/>
  11.         <meta property="og:image:height" content="180"/>
  12.     {% endblock %}
  13.     {% block stylesheets %}
  14.         <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/css/intlTelInput.css" />
  15.         <link href="/css/jform-styler/vanillaSelectBox.css" rel="stylesheet">
  16.         <link href="/css/delivery.css?v={{ delivery_css_version }}" rel="stylesheet" type="text/css" />
  17.         <link href="/css/flowersHotLent.css?v={{ flowers_hot_lent_css_version }}" rel="stylesheet" type="text/css" />
  18.         <link rel="stylesheet" href="/css/beauty/beauty-masters.css?v={{ beauty_masters_css_version }}" type="text/css"/>
  19.         <link href="/css/style.css?v={{ style_css_version }}" rel="stylesheet" type="text/css" />
  20.         <link href="/js/jgallery-1.5.5/dist/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
  21.         <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css" integrity="sha512-yHknP1/AwR+yx26cB1y0cjvQUMvEa2PFzt1c9LlS4pRQ5NOTZFWbhBig+X9G9eYW/8m0/4OXNx8pxJ6z57x0dw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
  22.         <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css" integrity="sha512-17EgCFERpgZKcm0j0fEq1YCJuyAWdz9KUtv1EjVuaOz8pDnh/0nZxmU6BBXwaaxqoi9PQXnRWqlcDB027hgv9A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
  23.         <link rel="stylesheet" href="/css/slider_preview.css?v={{ slider_preview_css_version }}" />
  24.         <link rel="stylesheet" href="/css/botstrap-dropdowns-v3/dropdowns.css"/>
  25.         {% if isMobileDevice() %}
  26.             <link href="/css/header_mobile.css?v={{ header_mobile_css_version }}" rel="stylesheet" type="text/css" />
  27.         {% endif %}
  28.         {% if app.request.getPathInfo() == '/profile' %}
  29.             <link href="/css/crt-fonts.css?v={{ crt_fonts_css_version }}" rel="stylesheet" type="text/css" />
  30.             <link href="/css/certificate-creator/certificate-creator.css" rel="stylesheet" type="text/css" />
  31.         {% endif %}
  32.         <link href="/css/new_popup.css?v={{ new_popup_css_version }}" rel="stylesheet" type="text/css" />
  33.         <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-toast-plugin/1.3.2/jquery.toast.min.css"
  34.               integrity="sha512-wJgJNTBBkLit7ymC6vvzM1EcSWeM9mmOu+1USHaRBbHkm6W9EgM0HY27+UtUaprntaYQJF75rc8gjxllKs5OIQ=="
  35.               crossorigin="anonymous" referrerpolicy="no-referrer"/>
  36.     {% endblock %}
  37.     {% block favicon %}
  38.         <!-- iPhone(first generation or 2G), iPhone 3G, iPhone 3GS -->
  39.         <link rel="apple-touch-icon" sizes="57x57" href="{{ asset('apple-touch-icon-57x57.png') }}">
  40.         <link rel="apple-touch-icon" sizes="76x76" href="{{ asset('apple-touch-icon-76x76.png') }}">
  41.         <link rel="apple-touch-icon" sizes="120x120" href="{{ asset('apple-touch-icon-120x120.png') }}">
  42.         <link rel="apple-touch-icon" sizes="152x152" href="{{ asset('apple-touch-icon-152x152.png') }}">
  43.         <link rel="apple-touch-icon" sizes="180x180" href="{{ asset('apple-touch-icon-180x180.png') }}">
  44.         <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
  45.         <!--[if IE]><link rel="shortcut icon" href="{{ asset('favicon.ico') }}"><![endif]-->
  46.     {% endblock %}
  47.     <meta name="yandex-verification" content="239193428ba27fa2" />
  48.     <meta name="google-site-verification" content="33UhU8AvLA9eoT3WZfkzuOaxKNujSVAtcYZHf-pGToI" />
  49.     <link rel="manifest" href="/manifest.json?v=0">
  50.     <script type="text/javascript" src="{{ slivki_metrica_url }}/js/metric.js"></script>
  51.     <script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&apikey=ced3d85f-6a99-4208-93d6-b578ba5e8f8a"></script>
  52.     <script>
  53.         async function metricEvent(urlEvent, data) {
  54.             const response = await fetch(urlEvent, {
  55.                 method: 'POST',
  56.                 body: JSON.stringify(data)
  57.             });
  58.             return await response.json();
  59.         }
  60.     </script>
  61.     <!-- Meta Pixel Code -->
  62.     <script>
  63.         !function(f,b,e,v,n,t,s)
  64.         {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  65.             n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  66.             if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  67.             n.queue=[];t=b.createElement(e);t.async=!0;
  68.             t.src=v;s=b.getElementsByTagName(e)[0];
  69.             s.parentNode.insertBefore(t,s)}(window, document,'script',
  70.             'https://connect.facebook.net/en_US/fbevents.js');
  71.         fbq('init', '274301711683015');
  72.         fbq('track', 'PageView');
  73.     </script>
  74.     <noscript><img height="1" width="1" style="display:none"
  75.                    src="https://www.facebook.com/tr?id=274301711683015&ev=PageView&noscript=1"/></noscript>
  76.     <!-- End Meta Pixel Code -->
  77.     <script>
  78.         async function metricEvent(urlEvent, data) {
  79.             const response = await fetch(urlEvent, {
  80.                 method: 'POST',
  81.                 body: JSON.stringify(data)
  82.             });
  83.             return await response.json();
  84.         }
  85.     </script>
  86.     <noscript>
  87.         <img height="1" width="1" src="https://www.facebook.com/tr?id=1884900258504761&ev=PageView&noscript=1" style="display: none;"/>
  88.     </noscript>
  89.     <!-- End Facebook Pixel Code -->
  90.     <script type="text/javascript">(window.Image ? (new Image()) : document.createElement('img')).src = 'https://vk.com/rtrg?p=VK-RTRG-167315-4IspB';</script>
  91.     {% if fitnessOffer is defined %}
  92.         <script>
  93.             !function(f,b,e,v,n,t,s)
  94.             {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  95.                 n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  96.                 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  97.                 n.queue=[];t=b.createElement(e);t.async=!0;
  98.                 t.src=v;s=b.getElementsByTagName(e)[0];
  99.                 s.parentNode.insertBefore(t,s)}(window, document,'script',
  100.                 'https://connect.facebook.net/en_US/fbevents.js');
  101.             fbq('init', '1615676305118909');
  102.             fbq('track', 'PageView');
  103.         </script>
  104.         <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1615676305118909&ev=PageView&noscript=1"/></noscript>
  105.         <script type="text/javascript">(window.Image ? (new Image()) : document.createElement('img')).src = 'https://vk.com/rtrg?p=VK-RTRG-170417-8Uj6y';</script>
  106.     {% endif %}
  107.     <script>
  108.         var userAgent = navigator.userAgent || navigator.vendor || window.opera;
  109.         if (userAgent.indexOf('FBAN') == -1 && userAgent.indexOf('FBAV') == -1 && userAgent.indexOf('Instagram') == -1 &&
  110.             userAgent.indexOf('Skype') == -1 && userAgent.indexOf('Viber') == -1 && userAgent.indexOf('WhatsApp') == -1) {
  111.             var d = document,
  112.                 h = d.getElementsByTagName('head')[0],
  113.                 s = d.createElement('script');
  114.             s.type = 'text/javascript';
  115.             s.async = true;
  116.             s.src = '//cdn.sendpulse.com/js/push/260be6a77276a4d176159328b4b7175c_1.js?v=0';
  117.             //s.src = '/js/sp.js?v=1';
  118.             h.appendChild(s);
  119.         }
  120.     </script>
  121.     <!-- TikTok Code -->
  122.     <script>
  123.         !function (w, d, t) {
  124.             w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++
  125.             )ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script");n.type="text/javascript",n.async=!0,n.src=i+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)};
  126.             ttq.load('CAEQUGBC77U9MLGRE66G');
  127.             ttq.page();
  128.         }(window, document, 'ttq');
  129.     </script>
  130.     <!-- End TikTok Code -->
  131.     <!-- Global site tag (gtag.js) - Google Analytics -->
  132.     {% set currentCity = getCurrentCity() %}
  133.     {% if app.environment != 'dev' %}
  134.         <!-- Global site tag (gtag.js) - Google Analytics -->
  135.         <script async src="https://www.googletagmanager.com/gtag/js?id=UA-185332166-1"></script>
  136.         <script>
  137.             window.dataLayer = window.dataLayer || [];
  138.             function gtag(){dataLayer.push(arguments);}
  139.             gtag('js', new Date());
  140.             gtag('config', 'UA-185332166-1');
  141.         </script>
  142.         <script async src="https://www.googletagmanager.com/gtag/js?id=G-VGFW27H90X"></script>
  143.         <script>
  144.             window.dataLayer = window.dataLayer || [];
  145.             function gtag(){dataLayer.push(arguments);}
  146.             gtag('js', new Date());
  147.             gtag('config', 'G-VGFW27H90X');
  148.         </script>
  149.     {% endif %}
  150.     {% if app.user %}
  151.     <script type="text/javascript">
  152.         (function(e,t){var n=e.amplitude||{_q:[],_iq:{}};var r=t.createElement("script")
  153.         ;r.type="text/javascript"
  154.         ;r.integrity="sha384-vYYnQ3LPdp/RkQjoKBTGSq0X5F73gXU3G2QopHaIfna0Ct1JRWzwrmEz115NzOta"
  155.         ;r.crossOrigin="anonymous";r.async=true
  156.         ;r.src="https://cdn.amplitude.com/libs/amplitude-5.8.0-min.gz.js"
  157.         ;r.onload=function(){if(!e.amplitude.runQueuedFunctions){
  158.             console.log("[Amplitude] Error: could not load SDK")}}
  159.         ;var i=t.getElementsByTagName("script")[0];i.parentNode.insertBefore(r,i)
  160.         ;function s(e,t){e.prototype[t]=function(){
  161.             this._q.push([t].concat(Array.prototype.slice.call(arguments,0)));return this}}
  162.             var o=function(){this._q=[];return this}
  163.             ;var a=["add","append","clearAll","prepend","set","setOnce","unset"]
  164.             ;for(var u=0;u<a.length;u++){s(o,a[u])}n.Identify=o;var c=function(){this._q=[]
  165.                 ;return this}
  166.             ;var l=["setProductId","setQuantity","setPrice","setRevenueType","setEventProperties"]
  167.             ;for(var p=0;p<l.length;p++){s(c,l[p])}n.Revenue=c
  168.             ;var d=["init","logEvent","logRevenue","setUserId","setUserProperties","setOptOut","setVersionName","setDomain","setDeviceId", "enableTracking", "setGlobalUserProperties","identify","clearUserProperties","setGroup","logRevenueV2","regenerateDeviceId","groupIdentify","onInit","logEventWithTimestamp","logEventWithGroups","setSessionId","resetSessionId"]
  169.             ;function v(e){function t(t){e[t]=function(){
  170.                 e._q.push([t].concat(Array.prototype.slice.call(arguments,0)))}}
  171.                 for(var n=0;n<d.length;n++){t(d[n])}}v(n);n.getInstance=function(e){
  172.                 e=(!e||e.length===0?"$default_instance":e).toLowerCase()
  173.                 ;if(!n._iq.hasOwnProperty(e)){n._iq[e]={_q:[]};v(n._iq[e])}return n._iq[e]}
  174.             ;e.amplitude=n})(window,document);
  175.         amplitude.getInstance().init("bbbedb2acb30e6a6aeddaf969f31dd31");
  176.     </script>
  177.     {% endif %}
  178. </head>
  179. {% set bodyClass =  '' %}
  180. {% if noToken is not defined and is_granted('ROLE_ADMIN_USER') %}
  181.     {% set bodyClass =  ' a-u' %}
  182. {% endif %}
  183. <body class="{{ not isMobileDevice() ? 'desktop-device' }}{{ bodyClass }}">
  184. {% if app.debug %}
  185.     <input type="hidden" id="debugMode" value="1"/>
  186. {% endif %}
  187. <script>
  188.     (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  189.             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  190.         m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  191.     })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  192.     ga('create', 'UA-185332166-1', 'auto');
  193.     ga('send', 'pageview');
  194.     {% if app.user %}
  195.         ga('set', 'userId', '{{ app.user.getID() }}');
  196.     {% endif %}
  197. </script>
  198.     {% if app.user %}
  199.         <input type="hidden" id="customerID" value="{{ app.user.getID() }}"/>
  200.         <input class="sp_push_custom_data" type="hidden" name="Name" value="{{ app.user.getFirstName() }}">
  201.         {% if app.user.getEmail() != '' %}
  202.             <input class="sp_push_custom_data" type="hidden" name="email" value="{{ app.user.getEmail() }}">
  203.         {% else %}
  204.             <input class="sp_push_custom_data" type="hidden" name="email" value="{{ app.user.getPhone() }}">
  205.         {% endif %}
  206.     {% endif %}
  207.     <input type="hidden" id="serverTime" value="{{ 'now'|date('Y-m-d H:i:s') }}">
  208.     <input type="hidden" id="cityID" value="{{ currentCity.getID() }}">
  209.     {% set currentCity = getCurrentCity() %}
  210.     {% set coordinate = currentCity.getCoordinate() %}
  211.     <input id="cityName" type="hidden" value="{{ currentCity.getID() in [constant('Slivki\\Entity\\City::DEFAULT_CITY_ID'), constant('Slivki\\Entity\\City::TASHKENT_CITY_ID')] ? '/' : getURL(constant('Slivki\\Repository\\SeoRepository::RESOURCE_URL_CITY'), currentCity.getID()) }}"/>
  212.     <input type="hidden" id="cityCoord" value="[{{ coordinate.getLatitude() }}, {{ coordinate.getLongitude() }}]">
  213.     <input type="hidden" id="rtbhUID" value="{{ getRTBHouseUID(app.user) }}">
  214.     <input id="userId" type="hidden" value=" {{ app.user is not null ? app.user.ID : null }}">
  215.     <input id="metricaUrl" type="hidden" value=" {{ slivki_metrica_url }}/api/v1/metric">
  216.     {% block top %}{% endblock %}
  217.     {% block fullSiteBanner %}
  218.         {% if not isMobileDevice() and not (app.user and app.user.hasRole(constant('\\Slivki\\Entity\\UserGroup::ROLE_ADS_FREE'))) %}
  219.             {{ getBrandingBanner(app.user, brandingBannerCategoryIDs is defined ? brandingBannerCategoryIDs : [], offer is defined ? offer.getID()) }}
  220.         {% endif %}
  221.     {% endblock %}
  222.     {% block header %}
  223.         {% if isMobileDevice() %}
  224.             {% include 'header_mobile.html.twig' %}
  225.         {% else %}
  226.             {% include 'header.html.twig' %}
  227.         {% endif %}
  228.     {% endblock %}
  229. {% block messenger %}
  230.     {% include "Slivki#{regional_template_path}/jivosite/index.html.twig" %}
  231. {% endblock %}
  232.     {% block content %}
  233.         <div class="content container transparent with-banner {% block contentContainerClass %}{% endblock %}"  id="contentContainer">
  234.             {% block topContentBlock %}{% endblock %}
  235.             {% block mainHotFeedBlock %}{% endblock %}
  236.             {% if ('Googlebot' not in (app.request.server.get('HTTP_USER_AGENT'))) %}
  237.                 {% block left_sidebar %}{% endblock %}
  238.             {% endif %}
  239.             <div class="{% block mainColumnClass %}content--main {% endblock %}" {% block mainColumnParameters %}{% endblock %}>
  240.                 <div class="content-wrapper">
  241.                     {% block main_content %}{% endblock %}
  242.                 </div>
  243.             </div>
  244.             {% block bottomContentBlock %}{% endblock %}
  245.             </div>
  246.         </div>
  247.         {% block footer %}
  248.             {% if not disableFooter is defined  %}
  249.                 {{ getFooter() }}
  250.             {% endif %}
  251.         {% endblock %}
  252.         {% if not isMobileDevice() and not app.request.cookies.has('seenMicrophoneTooltip') and (not app.user or not app.user.isSeenMicrophoneTooltip()) %}
  253.             <div id="voiceSearchHintGreyout" class="hidden">
  254.                 <div id="voiceSearchHint" class="voice-search-hint-block">Круто! Нажмите на микрофон и скажите, например, суши или пицца</div>
  255.             </div>
  256.             {% if app.user %}
  257.                 {{ setSeenMicrophoneTooltip(app.user) }}
  258.             {% endif %}
  259.         {% endif %}
  260.         <div id="contentGreyout"></div>
  261.     {% endblock %}
  262.     {% block popups %}
  263.         {% if isMobileDevice() %}
  264.             <link rel="stylesheet" href="/css/infopopup_mobile.css?v={{ infopopup_css_version }}" type="text/css">
  265.         {% else %}
  266.             <link rel="stylesheet" href="/css/infopopup.css?v={{ infopopup_css_version }}" type="text/css">
  267.         {% endif %}
  268.         {% if app.session.flashbag.get("showMogilevMailingBonusPopup")|length > 0 %}
  269.             {% include 'Slivki/popups/mogilev_mailing_popup.html.twig' %}
  270.         {% endif %}
  271.         {% include 'Slivki/popups/info_dialog_popup.html.twig' with {id: 'info_dialog'} %}
  272.         {{ getNoticePopup(app.user) }}
  273.         {% include 'Slivki/popups/alert_popup.html.twig' %}
  274.         {% set infoDialogMessage = app.session.flashBag.get(constant('Slivki\\Controller\\SiteController::SHOW_INFO_DIALOG_PARAMETER')) %}
  275.         {% if infoDialogMessage | length > 0 %}
  276.             {% include 'Slivki/popups/info_dialog_popup.html.twig' with {'id': 'info_dialog_auto', 'infoDialogMessage': infoDialogMessage[0] } %}
  277.         {% endif %}
  278.         {% if app.user %}
  279.             {# user is logged in #}
  280.             {% if isMobileDevice() %}
  281.                 {% include 'Slivki/popups/mobile_logout.html.twig' with {id: 'logoutConfirmPopup'} %}
  282.             {% else %}
  283.                 {% include 'Slivki/popups/logout_popup.html.twig' with {id: 'logoutConfirmPopup'} %}
  284.             {% endif %}
  285.             {% if not isMobileDevice() %}
  286.                 {% include 'Slivki/popups/delete_comment_popup.html.twig' with {id: 'deleteCommentConfirmPopup'} %}
  287.                 {% if app.session.flashbag.get("openThanksForRegisterPopup") | length > 0 %}
  288.                     {% include 'Slivki/popups/thanks_for_register_popup.html.twig' with {id: 'modal-register-thanks'} %}
  289.                     <input type="hidden" id="openThanksForRegisterPopup"/>
  290.                 {% endif %}
  291.             {% endif %}
  292.         {% else %}
  293.             {# user is not logged in #}
  294.             {% if not isMobileDevice() %}
  295.                 {% include 'Slivki/popups/login_register_popup.html.twig' %}
  296.                 {% include 'Slivki/popups/restore_password_popup.html.twig' with {id: 'modal_remember_password'} %}
  297.                 {% set registeredEmailSent = app.session.flashbag.get("registeredEmailSent") %}
  298.                 {% set registeredEmailSentRaw = app.session.flashbag.get("registeredEmailSentRaw") %}
  299.                 {% if registeredEmailSent | length > 0 and registeredEmailSentRaw | length > 0 %}
  300.                     {% include 'Slivki/popups/account_activation_popup.html.twig' with {id: 'modal-register-complete', link: registeredEmailSent[0], email: registeredEmailSentRaw[0]} %}
  301.                     <input type="hidden" id="openAccountActivationPopup"/>
  302.                 {% endif %}
  303.             {% endif %}
  304.         {% endif %}
  305.     {% endblock %}
  306.     {% include 'Slivki/delivery/modal/questions.html.twig' %}
  307.     {% include 'Slivki/delivery/modal/questionsSuccess.html.twig' %}
  308.     {% include 'Slivki/popups/slivki_confirm_popup.html.twig' %}
  309.     {% include 'Slivki/popups/new_alert_popup.html.twig' %}
  310.     {% include 'Slivki/popups/loading.html.twig' %}
  311.     {% include 'Slivki/popups/mail_popup.html.twig' %}
  312. {% if app.user and not app.user.getEmail() and not app.request.get('_route') == 'profile' and app.session.flashbag.get("openMergeProfilePopup") %}
  313.     {% include 'Slivki/popups/popup_union_mail.html.twig' %}
  314. {% endif %}
  315.     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
  316.     {% block javascripts %}
  317.         <script src="/js/main.js?v=200"></script>
  318.         {% if isMobileDevice() %}
  319.         <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-touch-events/1.0.9/jquery.mobile-events.min.js"></script>
  320.         <script src="https://cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.min.js"></script>
  321.         <script src="/js/header_mobile.js?v=38/"></script>
  322.         {% endif %}
  323.         <script src="/js/jquery.form.js?v=1"></script>
  324.         <script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script>
  325.         <script src="/js/jquery.placeholder.js"></script>
  326.         <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js?v=1"></script>
  327.         <script type="text/javascript">
  328.             $.widget.bridge('uitooltip', $.ui.tooltip);
  329.             $.widget.bridge('uibutton', $.ui.button);
  330.         </script>
  331.         <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
  332.         <script src="/js/jquery.maskedinput.min.js"></script>
  333.         <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/5.0.5/jquery.inputmask.min.js"></script>
  334.         <script src="/js/ajaxupload.3.5.js?v=1"></script>
  335.         <script src="/js/lightbox.min.js?v=1"></script>
  336.         <script src="//cdn.jsdelivr.net/jquery.marquee/1.4.0/jquery.marquee.min.js" type="text/javascript"></script>
  337.         <!--[if lt IE 9]>
  338.         <script src="/js/css3-mediaqueries.js?v=1"></script>
  339.         <script src="/js/html5shiv.js?v=1"></script>
  340.         <![endif]-->
  341.         <script type="text/javascript" src="/js/jquery.cookie.min.js?v=1"></script>
  342.         <script type="text/javascript" src="/js/jquery.lazyload.js?v=1"></script>
  343.         <script src="/js/jquery.jcarousel.min.js?v=1"></script>
  344.         <script src="/js/mwheelIntent.js?v=1"></script>
  345.         <script src="/js/jquery.mousewheel.js?v=1"></script>
  346.         <script type="module" src="/js/botsrap-custom-dropdowns/custom-dropdowns.js"></script>
  347.         <div id="overlay-loading"><img src="/images/image-preview-ajax-loader.gif" alt="" /></div>
  348.         <!-- Yandex.Metrika counter -->
  349.         <script type="text/javascript" >
  350.             (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
  351.                 m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
  352.             (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
  353.             ym(20933521, "init", {
  354.                 clickmap:true,
  355.                 trackLinks:true,
  356.                 accurateTrackBounce:true
  357.             });
  358.         </script>
  359.         <noscript><div><img src="https://mc.yandex.ru/watch/20933521" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
  360.         <!-- /Yandex.Metrika counter -->
  361.         <script type="application/ld+json">
  362.             {
  363.                 "@context": "http://schema.org",
  364.                 "@type": "WebSite",
  365.                 "url": "https://www.slivki.by/",
  366.                 "potentialAction": {
  367.                     "@type": "SearchAction",
  368.                     "target": "https://www.slivki.by/search?searchIn=0&text={searchText}&sortBy=default&distance=0",
  369.                     "query-input": "required name=searchText" }
  370.             }
  371.         </script>
  372.         <script src="https://cdn.jsdelivr.net/npm/jquery-menu-aim@1.1.0/jquery.menu-aim.min.js"></script>
  373.         <script src="/js/jform-styler/vanillaSelectBox.min.js"></script>
  374.         <script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/js/intlTelInput-jquery.min.js"></script>
  375.         <script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js" integrity="sha512-XtmMtDEcNz2j7ekrtHvOVR4iwwaD6o/FUJe6+Zq+HgcCsk3kj4uSQQR8weQ2QVj1o0Pk6PwYLohm206ZzNfubg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  376.         <script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/js/utils.min.js"></script>
  377.         <link href="/css/scroll.css?v=5" rel="stylesheet" type="text/css" />
  378.         <script src="/js/jquery.jscrollpane.min.js?v=2"></script>
  379.         <script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.5.9/lottie_light.min.js"></script>
  380.         <script src="/js/jquery.slivkiSmile.js?v=10"></script>
  381.         <script src="https://www.google.com/recaptcha/api.js"></script>
  382.         <script src="/js/common.js?v={{ common_js_version }}"></script>
  383.         <script src="/js/common-old.js?v={{ common_old_js_version }}"></script>
  384.         <script type="module" src="/js/family_subscription/api_family_subscription.js?v={{ family_subscription_js_version }}"></script>
  385.         <script type="module" src="/js/family_subscription/family_subscription.js?v={{ family_subscription_js_version }}"></script>
  386.         <script src="/js/jquery.sameheight.js"></script>
  387.         <script src="/js/slivki_v1.js?v={{ slivki_v1_js_version }}"></script>
  388.         <script src="/js/subscription.js?v={{ subscription_js_version }}"></script>
  389.         <script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
  390.         <script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
  391.         <script src="/js/time_block_category/main.js?v={{ time_block_category_js }}"></script>
  392.         <script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
  393.         <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
  394.         <script src="//translate.google.com/translate_a/element.js?cb=TranslateInit"></script>
  395.         <script src="/js/gtranslate.js"></script>
  396.         <script src="/js/flowersCategoryCarousel.js?v={{ flowers_category_carousel_js_version }}"></script>
  397.         <script src="/js/slider_preview/slider_preview.js?v={{ slider_preview_js_version }}"></script>
  398.         <script src="/js/helper.js?v={{ helper_version_js }}"></script>
  399.         <script src="/js/maps_index_page/roundedControlls.js?v=5"></script>
  400.         <script type="module" src="/js/beauty/mainMapBeauty.js?v={{ main_map_beauty_js_version }}"></script>
  401.         <script type="module" src="/js/beauty/masters.js?v={{ beauty_masters_js_version }}"></script>
  402.         <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-toast-plugin/1.3.2/jquery.toast.min.js"
  403.                 integrity="sha512-zlWWyZq71UMApAjih4WkaRpikgY9Bz1oXIW5G0fED4vk14JjGlQ1UmkGM392jEULP8jbNMiwLWdM8Z87Hu88Fw=="
  404.                 crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  405.         <!--[/ignore]-->
  406.         <script type="text/javascript">
  407.             window.NREUM||(NREUM={}),__nr_require=function(e,t,n){function r(n){if(!t[n]){var o=t[n]={exports:{}};e[n][0].call(o.exports,function(t){var o=e[n][1][t];return r(o||t)},o,o.exports)}return t[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({1:[function(e,t,n){function r(){}function o(e,t,n){return function(){return i(e,[(new Date).getTime()].concat(u(arguments)),t?null:this,n),t?void 0:this}}var i=e("handle"),a=e(2),u=e(3),c=e("ee").get("tracer"),f=NREUM;"undefined"==typeof window.newrelic&&(newrelic=f);var s=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],l="api-",p=l+"ixn-";a(s,function(e,t){f[t]=o(l+t,!0,"api")}),f.addPageAction=o(l+"addPageAction",!0),f.setCurrentRouteName=o(l+"routeName",!0),t.exports=newrelic,f.interaction=function(){return(new r).get()};var d=r.prototype={createTracer:function(e,t){var n={},r=this,o="function"==typeof t;return i(p+"tracer",[Date.now(),e,n],r),function(){if(c.emit((o?"":"no-")+"fn-start",[Date.now(),r,o],n),o)try{return t.apply(this,arguments)}finally{c.emit("fn-end",[Date.now()],n)}}}};a("setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(e,t){d[t]=o(p+t)}),newrelic.noticeError=function(e){"string"==typeof e&&(e=new Error(e)),i("err",[e,(new Date).getTime()])}},{}],2:[function(e,t,n){function r(e,t){var n=[],r="",i=0;for(r in e)o.call(e,r)&&(n[i]=t(r,e[r]),i+=1);return n}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],3:[function(e,t,n){function r(e,t,n){t||(t=0),"undefined"==typeof n&&(n=e?e.length:0);for(var r=-1,o=n-t||0,i=Array(o<0?0:o);++r<o;)i[r]=e[t+r];return i}t.exports=r},{}],ee:[function(e,t,n){function r(){}function o(e){function t(e){return e&&e instanceof r?e:e?c(e,u,i):i()}function n(n,r,o){if(!p.aborted){e&&e(n,r,o);for(var i=t(o),a=v(n),u=a.length,c=0;c<u;c++)a[c].apply(i,r);var f=s[w[n]];return f&&f.push([y,n,r,i]),i}}function d(e,t){b[e]=v(e).concat(t)}function v(e){return b[e]||[]}function g(e){return l[e]=l[e]||o(n)}function m(e,t){f(e,function(e,n){t=t||"feature",w[n]=t,t in s||(s[t]=[])})}var b={},w={},y={on:d,emit:n,get:g,listeners:v,context:t,buffer:m,abort:a,aborted:!1};return y}function i(){return new r}function a(){(s.api||s.feature)&&(p.aborted=!0,s=p.backlog={})}var u="nr@context",c=e("gos"),f=e(2),s={},l={},p=t.exports=o();p.backlog=s},{}],gos:[function(e,t,n){function r(e,t,n){if(o.call(e,t))return e[t];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return e[t]=r,r}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],handle:[function(e,t,n){function r(e,t,n,r){o.buffer([e],r),o.emit(e,t,n)}var o=e("ee").get("handle");t.exports=r,r.ee=o},{}],id:[function(e,t,n){function r(e){var t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===window?0:a(e,i,function(){return o++})}var o=1,i="nr@id",a=e("gos");t.exports=r},{}],loader:[function(e,t,n){function r(){if(!h++){var e=y.info=NREUM.info,t=l.getElementsByTagName("script")[0];if(setTimeout(f.abort,3e4),!(e&&e.licenseKey&&e.applicationID&&t))return f.abort();c(b,function(t,n){e[t]||(e[t]=n)}),u("mark",["onload",a()],null,"api");var n=l.createElement("script");n.src="https://"+e.agent,t.parentNode.insertBefore(n,t)}}function o(){"complete"===l.readyState&&i()}function i(){u("mark",["domContent",a()],null,"api")}function a(){return(new Date).getTime()}var u=e("handle"),c=e(2),f=e("ee"),s=window,l=s.document,p="addEventListener",d="attachEvent",v=s.XMLHttpRequest,g=v&&v.prototype;NREUM.o={ST:setTimeout,CT:clearTimeout,XHR:v,REQ:s.Request,EV:s.Event,PR:s.Promise,MO:s.MutationObserver},e(1);var m=""+location,b={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-1016.min.js"},w=v&&g&&g[p]&&!/CriOS/.test(navigator.userAgent),y=t.exports={offset:a(),origin:m,features:{},xhrWrappable:w};l[p]?(l[p]("DOMContentLoaded",i,!1),s[p]("load",r,!1)):(l[d]("onreadystatechange",o),s[d]("onload",r)),u("mark",["firstbyte",a()],null,"api");var h=0},{}]},{},["loader"]);
  408.             ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"aaa162bec7",applicationID:"19553048",sa:1}
  409.         </script>
  410.         <script type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script>
  411.     {% endblock %}
  412.     <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  413.     <script>
  414.         [].forEach.call(document.querySelectorAll('.adsbygoogle'), function(){
  415.             (adsbygoogle = window.adsbygoogle || []).push({});
  416.         });
  417.     </script>
  418.     <script type="text/javascript">
  419.         /* <![CDATA[ */
  420.         var google_conversion_id = 978097094;
  421.         var google_custom_params = window.google_tag_params;
  422.         var google_remarketing_only = true;
  423.         /* ]]> */
  424.     </script>
  425.     <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
  426.     </script>
  427.     <noscript>
  428.         <div style="display:inline;">
  429.             <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/978097094/?guid=ON&amp;script=0"/>
  430.         </div>
  431.     </noscript>
  432.     {% set geoIpLocation = getIPLocationData() %}
  433.     <input type="hidden" id="geoIpLatitude" value="{{ geoIpLocation[0] }}"/>
  434.     <input type="hidden" id="geoIpLongitude" value="{{ geoIpLocation[1] }}"/>
  435.     {% if fitnessOffer is defined %}
  436.         <script type="text/javascript">
  437.             var _tmr = window._tmr || (window._tmr = []);
  438.             _tmr.push({id: "2933821", type: "pageView", start: (new Date()).getTime(), pid: "USER_ID"});
  439.             (function (d, w, id) {
  440.                 if (d.getElementById(id)) return;
  441.                 var ts = d.createElement("script"); ts.type = "text/javascript"; ts.async = true; ts.id = id;
  442.                 ts.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//top-fwz1.mail.ru/js/code.js";
  443.                 var f = function () {var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ts, s);};
  444.                 if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); }
  445.             })(document, window, "topmailru-code");
  446.         </script><noscript><div>
  447.             <img src="//top-fwz1.mail.ru/counter?id=2933821;js=na" style="border:0;position:absolute;left:-9999px;" alt="" />
  448.         </div></noscript>
  449.     {% endif %}
  450.     {% if app.user and app.user.isGeoLocationAccepted() == null %}
  451.         <input type="hidden" id="storeGeoLocationData"/>
  452.     {% endif %}
  453.     {% block assetsBottom %}
  454.         <link href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
  455.         <link href="/css/lightbox.css" rel="stylesheet" type="text/css" />
  456.         <input id="slivkiSmileList" type="hidden" value="{{ constant('Slivki\\Entity\\Comment::SMILE_LIST')|join(',') }}"/>
  457.     {% endblock %}
  458.     {% block RTBHouse %}
  459.         <script>
  460.             try{ (function() {
  461.                 var prefix = "", hash = "TS5TS2S9bdSbgKBA4Q2H", rtbhTags = []; rtbhTags.push("pr_"+hash+""); rtbhTags.push("pr_"+hash+"_uid_"+document.getElementById('rtbhUID').value);
  462.                 var key = "__rtbhouse.lid", lid = window.localStorage.getItem(key); if (!lid) {
  463.                     lid = ""; var pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
  464.                     for (var i = 0; i < 20; i++) lid += pool.charAt(Math.floor(Math.random() * pool.length)); window.localStorage.setItem(key, lid);}
  465.                 rtbhTags.push("pr_"+hash+"_lid_" + lid);
  466.                 var ifr = document.createElement("iframe"),
  467.                     sr = encodeURIComponent(document.referrer ? document.referrer : ""),
  468.                     su = encodeURIComponent(document.location.href ? document.location.href : ""),
  469.                     ifrSrc = "https://"+prefix+"creativecdn.com/tags?type=iframe", tmstmp = encodeURIComponent("" + Date.now()); for(var i=0; i<rtbhTags.length; i++) {ifrSrc += "&id=" + encodeURIComponent(rtbhTags[i]);}
  470.                 ifrSrc += "&su=" + su + "&sr=" + sr + "&ts=" + tmstmp;
  471.                 ifr.setAttribute("src", ifrSrc); ifr.setAttribute("width", "1");
  472.                 ifr.setAttribute("height", "1"); ifr.setAttribute("scrolling", "no");
  473.                 ifr.setAttribute("frameBorder", "0"); ifr.setAttribute("style", "display:none");
  474.                 ifr.setAttribute("referrerpolicy", "no-referrer-when-downgrade"); if(document.body){document.body.appendChild(ifr);}
  475.                 else{window.addEventListener('DOMContentLoaded', function(){document.body.appendChild(ifr);});}
  476.             })();} catch(e) {} </script>
  477.     {% endblock %}
  478.     {% block metrikaEvent %}{% endblock %}
  479. </body>
  480. </html>