templates/layouts/layout.html.twig line 450

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.   <!-- Global site tag (gtag.js) - Google Analytics -->
  5.   <script>
  6.     (function (i, s, o, g, r, a, m) {
  7.       i["GoogleAnalyticsObject"] = r;
  8.       (i[r] =
  9.         i[r] ||
  10.         function () {
  11.           (i[r].q = i[r].q || []).push(arguments);
  12.         }),
  13.         (i[r].l = 1 * new Date());
  14.       (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
  15.       a.async = 1;
  16.       a.src = g;
  17.       m.parentNode.insertBefore(a, m);
  18.     })(
  19.       window,
  20.       document,
  21.       "script",
  22.       "https://www.google-analytics.com/analytics.js",
  23.       "ga"
  24.     );
  25.     ga("create", "code_here", "auto");
  26.     ga("send", "pageview");
  27.   </script>
  28.   <!-- Hotjar Tracking Code for https://www.centricdxb.com/ -->
  29.   <script>
  30.     (function (h, o, t, j, a, r) {
  31.       h.hj = h.hj || function () { (h.hj.q = h.hj.q || []).push(arguments) };
  32.       h._hjSettings = { hjid: 3701376, hjsv: 6 };
  33.       a = o.getElementsByTagName('head')[0];
  34.       r = o.createElement('script'); r.async = 1;
  35.       r.src = t + h._hjSettings.hjid + j + h._hjSettings.hjsv;
  36.       a.appendChild(r);
  37.     })(window, document, 'https://static.hotjar.com/c/hotjar-', '.js?sv=');
  38.   </script>
  39.   <!-- Leadinfo tracking code -->
  40.   <script> (function (l, e, a, d, i, n, f, o) {
  41.       if (!l[i]) {
  42.         l.GlobalLeadinfoNamespace = l.GlobalLeadinfoNamespace || [];
  43.         l.GlobalLeadinfoNamespace.push(i); l[i] = function () { (l[i].q = l[i].q || []).push(arguments) }; l[i].t = l[i].t || n;
  44.         l[i].q = l[i].q || []; o = e.createElement(a); f = e.getElementsByTagName(a)[0]; o.async = 1; o.src = d; f.parentNode.insertBefore(o, f);
  45.       }
  46.     }(window, document, "script", "https://cdn.leadinfo.net/ping.js", "leadinfo", "LI-659E730E7513E")); 
  47.   </script>
  48.   <meta charset="UTF-8" />
  49.   <meta name="apple-mobile-web-app-capable" content="yes">
  50.   <meta name="apple-mobile-web-app-status-bar-style" content="black">
  51.   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  52.   {% block ogTags %}{% endblock %}
  53.   {% set currentUrl = app.request.requestUri %}
  54.   {% set urlParts = currentUrl|split('/') %}
  55.   {% set categoryPages = ["pim","business-insights"] %}
  56.   {% if urlParts|length >= 4 and urlParts[1] == "insights" %}
  57.   {% if urlParts[2] not in categoryPages %}
  58.   <meta name="robots" content="noindex">
  59.   {% else %}
  60.   <meta name="robots" content="index, follow" />
  61.   {% endif %}
  62.   {% endif %}
  63.   <link rel="icon" type="image/ico" href="{{ asset('logos/icons/centric_color_logo.ico') }}">
  64.   <link href="/assets_seo/css/app.css{{'?v=' ~ random()}}" rel="stylesheet" data-theme-light="/assets_seo/css/app.css{{'?v=' ~ random()}}"
  65.     data-theme-dark="/assets_seo/css/app.dark.css{{'?v=' ~ random()}}" data-theme-target="href">
  66.   <!-- Bootstrap CSS -->
  67.   {#
  68.   <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
  69.     crossorigin="anonymous"> #}
  70.   {#
  71.   <link rel="stylesheet" href="https://rsms.me/inter/inter.css" rel="stylesheet" /> #}
  72.   {#
  73.   <link href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700" rel="stylesheet" /> #}
  74.   {#
  75.   <link rel="stylesheet" href="/assets/css/swiper-bundle.min.css" /> #}
  76.   {#
  77.   <link href="/assets/css/style.css" rel="stylesheet" /> #}
  78.   {#
  79.   <link href="/assets/css/shortcodes.css" rel="stylesheet" /> #}
  80.   {#
  81.   <link href="/assets/css/all.min.css" rel="stylesheet" /> #}
  82.   {#
  83.   <script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.7.9/lottie.min.js"></script> #}
  84.   {#
  85.   <script src="/assets_seo/js/app.js"></script> #}
  86.   {% apply spaceless %}
  87.   {% do
  88.   pimcore_head_link().appendStylesheet('https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css',null,null,{integrity:'sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ',crossorigin:'anonymous'})
  89.   %}
  90.   {% do
  91.   pimcore_head_link().appendStylesheet('https://rsms.me/inter/inter.css',null,null,{integrity:'sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ',crossorigin:'anonymous'})
  92.   %}
  93.   {% do
  94.   pimcore_head_link().appendStylesheet('https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700',null,null,{integrity:'sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ',crossorigin:'anonymous'})
  95.   %}
  96.   {% do pimcore_head_link().appendStylesheet(asset('/assets/css/swiper-bundle.min.css')) %}
  97.   {% do pimcore_head_link().appendStylesheet(asset('/assets/css/style.css')) %}
  98.   {% do pimcore_head_link().appendStylesheet(asset('/assets/css/shortcodes.css')) %}
  99.   {% do pimcore_head_link().appendStylesheet(asset('/assets/css/all.min.css')) %}
  100.   {% do pimcore_head_link().appendStylesheet(asset('/assets/css/bundle.min.css')) %}
  101.   {% do pimcore_head_script().appendFile('https://cdnjs.cloudflare.com/ajax/libs/gsap/3.10.4/gsap.min.js',null,null,{
  102.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"})
  103.   %}
  104.   {% do
  105.   pimcore_head_script().appendFile('https://cdnjs.cloudflare.com/ajax/libs/gsap/3.10.4/ScrollTrigger.min.js',null,null,{
  106.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"})
  107.   %}
  108.   {% do
  109.   pimcore_head_script().appendFile('https://cdnjs.cloudflare.com/ajax/libs/gsap/3.10.4/ScrollToPlugin.min.js',null,null,{
  110.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"})
  111.   %}
  112.   {% do
  113.   pimcore_head_script().appendFile('https://cdnjs.cloudflare.com/ajax/libs/gsap/3.10.4/Draggable.min.js',null,null,{
  114.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"}) %}
  115.   {% do
  116.   pimcore_head_script().appendFile('https://cdnjs.cloudflare.com/ajax/libs/gsap/3.10.4/EasePack.min.js',null,null,{
  117.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"}) %}
  118.   {% do
  119.   pimcore_head_script().appendFile('https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.7/ScrollMagic.min.js',null,null,{
  120.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"}) %}
  121.   {% do
  122.   pimcore_head_script().appendFile('https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.8/plugins/animation.gsap.min.js',null,null,{
  123.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"}) %}
  124.   {% do pimcore_head_script().appendFile('https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js',null,null,{
  125.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"}) %}
  126.   {% do
  127.   pimcore_head_script().appendFile('https://cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/5.0.0/imagesloaded.pkgd.min.js',null,null,{
  128.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"}) %}
  129.   {% do
  130.   pimcore_head_script().appendFile('https://maps.googleapis.com/maps/api/js?key=AIzaSyCAIwTPctnSM2PWcbK6cMdlZaSgEYIKp5U&sensor=false',null,null,{
  131.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"}) %}
  132.   {% do
  133.   pimcore_head_script().appendFile('https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js',null,null,{
  134.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"}) %}
  135.   {% do
  136.   pimcore_head_script().appendFile('https://cdnjs.cloudflare.com/ajax/libs/progressbar.js/1.1.0/progressbar.min.js',null,null,{
  137.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"}) %}
  138.   {% do
  139.   pimcore_head_script().appendFile('https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.7.9/lottie.min.js',null,null,{
  140.   integrity:"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM",crossorigin:"anonymous"}) %}
  141.   {% do pimcore_head_script().appendFile(asset('/assets_seo/js/app.js')) %}
  142.   {% do pimcore_head_script().appendFile(asset('/assets/js/jquery.min.js')) %}
  143.   {% do pimcore_head_script().appendFile(asset('/assets/js/swiper-bundle.min.js')) %}
  144.   {% do pimcore_head_script().appendFile(asset('/assets/js/clapatwebgl.js')) %}
  145.   {% do pimcore_head_script().appendFile(asset('/assets/js/plugins.js')) %}
  146.   {% do pimcore_head_script().appendFile(asset('/assets/js/common.js')) %}
  147.   {% do pimcore_head_script().appendFile(asset('/assets/js/contact.js')) %}
  148.   {% do pimcore_head_script().appendFile(asset('/assets/js/scripts.js')) %}
  149.   {% if not document is defined or not document %}
  150.   {% set document = pimcore_document(1) %}
  151.   {% endif %}
  152.   {% if document is instanceof('\\Pimcore\\Model\\Document\\Link') %}
  153.   {# @var document \Pimcore\Model\Document\Link #}
  154.   {% set document = document.getObject() %}
  155.   {% endif %}
  156.   {% if document is instanceof('\\Pimcore\\Model\\Document\\Page') %}
  157.   {% if casestudy is defined %}
  158.   {% do pimcore_head_title().set(casestudy.metaTitle) %}
  159.   {% do pimcore_head_meta().setDescription(casestudy.metaDescription) %}
  160.   {% do pimcore_head_meta().setProperty('og:description', casestudy.metaDescription) %}
  161.   {% elseif blog is defined %}
  162.   
  163.   {% do pimcore_head_title().set(blog.category and blog.category.url == "pim" ? blog.title : blog.seoTitle) %}
  164.   {% do pimcore_head_meta().setDescription(blog.seoDescription) %}
  165.   {% do pimcore_head_meta().setProperty('og:description', blog.seoDescription) %}
  166.   {% elseif product is defined %}
  167.   {% do pimcore_head_title().set(product.metaTitle) %}
  168.   {% do pimcore_head_meta().setDescription(product.metaDescription) %}
  169.   {% do pimcore_head_meta().setProperty('og:description', product.metaDescription) %}
  170.   {% elseif ourWork is defined %}
  171.   {% do pimcore_head_title().set(ourWork.metaTitle) %}
  172.   {% do pimcore_head_meta().setDescription(ourWork.metaDescription) %}
  173.   {% do pimcore_head_meta().setProperty('og:description', ourWork.metaDescription) %}
  174.   {% elseif sector is defined %}
  175.   {% do pimcore_head_title().set(sector.metaTitle) %}
  176.   {% do pimcore_head_meta().setDescription(sector.metaDescription) %}
  177.   {% do pimcore_head_meta().setProperty('og:description', sector.metaDescription) %}
  178.   {% elseif service is defined %}
  179.   {% do pimcore_head_title().set(service.metaTitle) %}
  180.   {% do pimcore_head_meta().setDescription(service.metaDescription) %}
  181.   {% do pimcore_head_meta().setProperty('og:description', service.metaDescription) %}
  182.   {% elseif type is defined %}
  183.   {% do pimcore_head_title().set(type.metaTitle) %}
  184.   {% do pimcore_head_meta().setDescription(type.metaDescription) %}
  185.   {% do pimcore_head_meta().setProperty('og:description', type.metaDescription) %}
  186.   {% else %}
  187.   {% if document.getTitle() is not empty %}
  188.   {% do pimcore_head_title().set(document.getTitle()) %}
  189.   {% endif %}
  190.   {% if document.getDescription() is not empty %}
  191.   {% do pimcore_head_meta().setDescription(document.getDescription()) %}
  192.   {% do pimcore_head_meta().setProperty('og:description', document.getDescription()) %}
  193.   {% endif %}
  194.   {% endif %}
  195.   {% endif %}
  196.   {% set isPortal = ((isPortal is defined) and isPortal) %}
  197.   {% endapply %}
  198.   {# we're using the deferred extension here to make sure this block is rendered after all helper calls #}
  199.   {% block layout_head_meta %}
  200.   {# {% do pimcore_head_meta().setProperty('og:image', '') %} #}
  201.   {# {% do pimcore_head_meta().setProperty('og:url', app.request.uri) %} #}
  202.   {# {% do pimcore_head_meta().setProperty('og:title', pimcore_head_title()|striptags) %} #}
  203.   {% do pimcore_head_meta().setProperty('og:url', app.request.uri) %}
  204.   {% do pimcore_head_meta().setProperty('og:title', pimcore_head_title()|striptags) %}
  205.   {% do pimcore_head_meta().setProperty('og:type', 'website' ) %}
  206.   {% do pimcore_head_meta().setProperty('og:image', 'https://www.centricdxb.com/Group 2905.jpg') %}
  207.   {{ pimcore_head_title() }}
  208.   {{ pimcore_head_meta() }}
  209.   {# {% if pimcore_placeholder('canonical').count() %}
  210.   <link rel="canonical" href="{{ pimcore_placeholder('canonical') }}" />
  211.   {% endif %} #}
  212.   {% block head_stylesheets %}
  213.   {{ pimcore_head_link() }}
  214.   {% endblock %}
  215.   <link rel="canonical" href="{{app.request.uri}}" />
  216.   <meta name="google-site-verification" content="uTxLmrxZfPEV4XEhuvBt7N1_W_n68DckjtlzF1wGMvo" />
  217.   <!-- Google tag (gtag.js) -->
  218.   <script async src="https://www.googletagmanager.com/gtag/js?id=G-ELD4GMD0VP"></script>
  219.   <script>
  220.     window.dataLayer = window.dataLayer || [];
  221.     function gtag() { dataLayer.push(arguments); }
  222.     gtag('js', new Date());
  223.     gtag('config', 'G-ELD4GMD0VP');
  224.   </script>
  225.  <!-- End Google tag (gtag.js) -->
  226.   <!-- Google Tag Manager -->
  227.   <script>(function (w, d, s, l, i) {
  228.       w[l] = w[l] || []; w[l].push({
  229.         'gtm.start':
  230.           new Date().getTime(), event: 'gtm.js'
  231.       }); var f = d.getElementsByTagName(s)[0],
  232.         j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
  233.           'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
  234.     })(window, document, 'script', 'dataLayer', 'GTM-NBRHP4CZ');</script>
  235.   <!-- End Google Tag Manager -->
  236.   <!-- Google Tag Manager (noscript) -->
  237.   <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NBRHP4CZ" height="0" width="0"
  238.       style="display:none;visibility:hidden"></iframe></noscript>
  239.   <!-- End Google Tag Manager (noscript) -->
  240.     <!-- Global site tag (gtag.js) - Google Analytics -->
  241.     <script>
  242.       (function (i, s, o, g, r, a, m) {
  243.         i["GoogleAnalyticsObject"] = r;
  244.         (i[r] =
  245.           i[r] ||
  246.           function () {
  247.             (i[r].q = i[r].q || []).push(arguments);
  248.           }),
  249.           (i[r].l = 1 * new Date());
  250.         (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
  251.         a.async = 1;
  252.         a.src = g;
  253.         m.parentNode.insertBefore(a, m);
  254.       })(
  255.         window,
  256.         document,
  257.         "script",
  258.         "https://www.google-analytics.com/analytics.js",
  259.         "ga"
  260.       );
  261.       ga("create", "code_here", "auto");
  262.       ga("send", "pageview");
  263.     </script>
  264.     <!-- End Global site tag (gtag.js) - Google Analytics -->
  265.     <!-- Hotjar Tracking Code for https://www.centricdxb.com/ -->
  266.     <script>
  267.         (function(h,o,t,j,a,r){
  268.             h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
  269.             h._hjSettings={hjid:3701376,hjsv:6};
  270.             a=o.getElementsByTagName('head')[0];
  271.             r=o.createElement('script');r.async=1;
  272.             r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
  273.             a.appendChild(r);
  274.         })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
  275.     </script>
  276.      <!-- End Hotjar Tracking Code for https://www.centricdxb.com/ -->
  277.   <!-- Leadinfo tracking code -->
  278.   <script> (function(l,e,a,d,i,n,f,o){if(!l[i]){l.GlobalLeadinfoNamespace=l.GlobalLeadinfoNamespace||[];
  279.     l.GlobalLeadinfoNamespace.push(i);l[i]=function(){(l[i].q=l[i].q||[]).push(arguments)};l[i].t=l[i].t||n;
  280.     l[i].q=l[i].q||[];o=e.createElement(a);f=e.getElementsByTagName(a)[0];o.async=1;o.src=d;f.parentNode.insertBefore(o,f);}
  281.     }(window,document,"script","https://cdn.leadinfo.net/ping.js","leadinfo","LI-659E730E7513E")); 
  282.   </script>
  283.   <!-- End Leadinfo tracking code -->
  284.   <!-- sraet linkedin pixel-->
  285.   <script type="text/javascript">
  286.     _linkedin_partner_id = "5290994";
  287.     window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
  288.     window._linkedin_data_partner_ids.push(_linkedin_partner_id);
  289.   </script>
  290.   <script type="text/javascript">
  291.     (function (l) {
  292.       if (!l) {
  293.         window.lintrk = function (a, b) { window.lintrk.q.push([a, b]) };
  294.         window.lintrk.q = []
  295.       }
  296.       var s = document.getElementsByTagName("script")[0];
  297.       var b = document.createElement("script");
  298.       b.type = "text/javascript"; b.async = true;
  299.       b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
  300.       s.parentNode.insertBefore(b, s);
  301.     })(window.lintrk);
  302.   </script>
  303.   <noscript>
  304.     <img height="1" width="1" style="display:none;" alt=""
  305.       src="https://px.ads.linkedin.com/collect/?pid=5290994&fmt=gif" />
  306.   </noscript>
  307.   <!-- End linkedin pixel-->
  308.   {% endblock %}
  309. </head>
  310. <body class=" {{ editmode ? '' : 'hidden hidden-ball' }}" data-primary-color="#ff0000">
  311.   <main>
  312.   {% if document.id == 1 %}
  313.   
  314.     <!-- Preloader -->
  315.     <div class="preloader-wrap" data-firstline="Stay" data-secondline="Relaxed">
  316.       <div class="outer">
  317.         <div class="inner">
  318.           <div class="trackbar">
  319.             <ul class="preloader-intro">
  320.               <li class="preloader-list">
  321.                 Vision
  322.               </li>
  323.               <li class="preloader-list">
  324.                 Automation
  325.               </li>
  326.               <li class="preloader-list">
  327.                 Intelligence
  328.               </li>
  329.               <li class="preloader-list">
  330.                 Impactful
  331.               </li>
  332.               <li class="preloader-list">
  333.                 Growth
  334.               </li>
  335.             </ul>
  336.             <div class="loadbar"></div>
  337.           </div>
  338.           <div class="percentage-wrapper">
  339.             <div class="percentage" id="precent"></div>
  340.           </div>
  341.           <div class="percentage-intro">
  342.             Please Wait
  343.           </div>
  344.         </div>
  345.       </div>
  346.     </div>
  347.     <!--/Preloader -->
  348. {% endif %}
  349.     <div class="cd-index cd-main-content">
  350.       <!-- Page Content -->
  351.       <div id="page-content" class="light-content" data-bgcolor="#171717">
  352.         {# get root node if there is no document defined (for pages which are routed directly through static route) #}
  353.         {% if not document is defined or not document %}
  354.         {% set document = pimcore_document(1) %}
  355.         {% endif %}
  356.         <!-- Header -->
  357.         {% if not editmode %}
  358.         <header class="fullscreen-menu invert-header" data-menucolor="#171717">
  359.           {# get the document which should be used to start in navigation | default home #}
  360.           {% set navStartNode = document.getProperty('navigation_root') %}
  361.           {% if not navStartNode is instanceof('\\Pimcore\\Model\\Document') %}
  362.           {% set navStartNode = pimcore_document(1) %}
  363.           {% endif %}
  364.           {% if not navStartNode is instanceof('\\Pimcore\\Model\\Document\\Page') %}
  365.           {% if pimcore_site_is_request() %}
  366.           {% set site = pimcore_site_current() %}
  367.           {% set navStartNode = site.getRootDocument() %}
  368.           {% else %}
  369.           {% set navStartNode = pimcore_document(1) %}
  370.           {% endif %}
  371.           {% endif %}
  372.           {% set mainNavigation = app_navigation_data_links(document, navStartNode) %}
  373.           {# {% set mainNavigation = pimcore_build_nav({active: document, root: navStartNode}) %} #}
  374.           {% set menuRenderer = pimcore_nav_renderer('menu') %}
  375.           <div id="header-container">
  376.             <!-- Logo -->
  377.             <div id="logo" class="hide-ball">
  378.               <a class="ajax-link" data-type="page-transition" href="{{ navStartNode }}">
  379.                 <img class="white-logo" src="/assets/images/centric_logo_white_text.svg" alt="Centric-green-Logo" />
  380.                 <img class="black-logo" src="/assets/images/centric_logo_color_text.svg" alt="centric-white-Logo" />
  381.               </a>
  382.             </div>
  383.             <!--/Logo -->
  384.             <!-- Navigation -->
  385.             <nav>
  386.               <div class="nav-height">
  387.                 <div class="outer">
  388.                   <div class="inner">
  389.                     <ul data-breakpoint="10025" class="flexnav">
  390.                       {% for page in mainNavigation %}
  391.                       {# here need to manually check for ACL conditions #}
  392.                       {% if page.isVisible() and menuRenderer.accept(page) %}
  393.                       {% set hasChildren = page.hasPages() %}
  394.                       {% if not hasChildren %}
  395.                       <li class="link menu-timeline">
  396.                         <a class="ajax-link" data-type="page-transition" href="{{ page.getHref() }}">
  397.                           <div class="before-span">
  398.                             <span data-hover="{{ page.getLabel() }}">
  399.                               {{ page.getLabel() }}
  400.                             </span>
  401.                           </div>
  402.                         </a>
  403.                       </li>
  404.                       {% else %}
  405.                       <li class="link menu-timeline">
  406.                         <a class="ajax-link" href="{{ page.getHref() }}">
  407.                           <div class="before-span">
  408.                             <span data-hover="{{ page.getLabel() }}">
  409.                               {{ page.getLabel() }}
  410.                             </span>
  411.                           </div>
  412.                         </a>
  413.                         <ul>
  414.                           {% for child in page.getPages() %}
  415.                           {% if child.isVisible() and menuRenderer.accept(child) %}
  416.                           <li><a class="ajax-link" href="{{ child.getHref() }}" data-type="page-transition">{{
  417.                               child.getLabel() }}</a></li>
  418.                           {% endif %}
  419.                           {% endfor %}
  420.                         </ul>
  421.                       </li>
  422.                       {% endif %}
  423.                       {% endif %}
  424.                       {% endfor %}
  425.                     </ul>
  426.                   </div>
  427.                 </div>
  428.               </div>
  429.             </nav>
  430.             <!--/Navigation -->
  431.             <!-- Menu Burger -->
  432.             <div class="button-wrap right menu burger-lines">
  433.               <div class="icon-wrap parallax-wrap">
  434.                 <div class="button-icon parallax-element">
  435.                   <div id="burger-wrapper">
  436.                     <div id="menu-burger">
  437.                       <span></span>
  438.                       <span></span>
  439.                       <span></span>
  440.                     </div>
  441.                   </div>
  442.                 </div>
  443.               </div>
  444.               <div class="button-text sticky right">
  445.                 <span data-hover="Menu">
  446.                   Menu
  447.                 </span>
  448.               </div>
  449.             </div>
  450.             <!--/Menu Burger -->
  451.           </div>
  452.         </header>
  453.         {% endif %}
  454.         <!--/Header -->
  455.         <div id="content-scroll">
  456.           <!-- Main -->
  457.           <div id="main">
  458.             {{ block('content') }}
  459.           </div>
  460.           <!--/Main -->
  461.           {% if app.request.requestUri() == '/project' %}
  462.           <footer class="hidden">
  463.             <div id="footer-container">
  464.               <div class="button-wrap left disable-drag swiper-prev">
  465.                 <div class="icon-wrap parallax-wrap">
  466.                   <div class="button-icon parallax-element">
  467.                     <i class="fa-solid fa-angle-left"></i>
  468.                   </div>
  469.                 </div>
  470.                 <div class="button-text sticky left"><span data-hover="Prev Slide">Prev Slide</span></div>
  471.               </div>
  472.               <div class="swiper-pagination"></div>
  473.               <div class="button-wrap right disable-drag swiper-next">
  474.                 <div class="icon-wrap parallax-wrap">
  475.                   <div class="button-icon parallax-element">
  476.                     <i class="fa-solid fa-angle-right"></i>
  477.                   </div>
  478.                 </div>
  479.                 <div class="button-text sticky right"><span data-hover="Next Slide">Next Slide</span></div>
  480.               </div>
  481.             </div>
  482.           </footer>
  483.           {% else %}
  484.           {{ pimcore_inc(document.getProperty('footer')) }}
  485.           {% endif %}
  486.           <!-- Footer Section Start -->
  487.           <!-- Footer Section End -->
  488.         </div>
  489.         <!--/Content Scroll -->
  490.         {% if not editmode %}
  491.         <div class="thumb-wrapper">
  492.           <div class="thumb-container">
  493.             <div class="thumb-page" data-src="/assets/images/projects1.png"></div>
  494.             <div class="thumb-page" data-src="/assets/images/projects2.png"></div>
  495.             <div class="thumb-page" data-src="/assets/images/03hero.jpg"></div>
  496.             <div class="thumb-page" data-src="/assets/images/04hero.jpg"></div>
  497.             <div class="thumb-page" data-src="/assets/images/05hero.jpg"></div>
  498.             <div class="thumb-page" data-src="/assets/images/06hero.jpg"></div>
  499.           </div>
  500.         </div>
  501.         <div id="app"></div>
  502.         {% endif %}
  503.       </div>
  504.       <!--/Page Content -->
  505.       {% include "report/modal.html.twig" %}
  506.     </div>
  507.   </main>
  508.   {#
  509.   <script src="/assets/js/jquery.min.js" defer></script>
  510.   <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.10.4/gsap.min.js"></script>
  511.   <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.10.4/ScrollTrigger.min.js"></script>
  512.   <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.10.4/ScrollToPlugin.min.js"></script>
  513.   <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.10.4/Draggable.min.js"></script>
  514.   <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.10.4/EasePack.min.js"></script>
  515.   <script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.7/ScrollMagic.min.js"></script>
  516.   <script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.8/plugins/animation.gsap.min.js"></script>
  517.   <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
  518.   <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/5.0.0/imagesloaded.pkgd.min.js"></script>
  519.   <script type="text/javascript"
  520.     src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCAIwTPctnSM2PWcbK6cMdlZaSgEYIKp5U&sensor=false"></script>
  521.   <script src="/assets/js/swiper-bundle.min.js" defer></script>
  522.   <script src="/assets/js/clapatwebgl.js" defer></script>
  523.   <script src="/assets/js/plugins.js" defer></script>
  524.   <script src="/assets/js/common.js" defer></script>
  525.   <script src="/assets/js/contact.js" defer></script>
  526.   <script src="/assets/js/scripts.js" defer></script>
  527.   <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
  528.     crossorigin="anonymous"></script>
  529.   <script src="https://cdnjs.cloudflare.com/ajax/libs/progressbar.js/1.1.0/progressbar.min.js"
  530.     integrity="sha512-EZhmSl/hiKyEHklogkakFnSYa5mWsLmTC4ZfvVzhqYNLPbXKAXsjUYRf2O9OlzQN33H0xBVfGSEIUeqt9astHQ=="
  531.     crossorigin="anonymous" referrerpolicy="no-referrer"></script> #}
  532.   {% block headscripts %}
  533.   {{ pimcore_head_script() }}
  534.   {% endblock %}
  535.   <script defer>
  536.     var animationPath = "/assets/js/6D_Process 2.json";
  537.     var container = document.getElementById("6d-animation");
  538.     // Load the animation
  539.     var animation = bodymovin.loadAnimation({
  540.       container: container,
  541.       renderer: "svg",
  542.       loop: true,
  543.       autoplay: true,
  544.       path: animationPath,
  545.     });
  546.   </script>
  547.   <script>
  548.     (function (w, d, t, u, n, a, m) {
  549.       w['MauticTrackingObject'] = n;
  550.       w[n] = w[n] || function () { (w[n].q = w[n].q || []).push(arguments) }, a = d.createElement(t),
  551.         m = d.getElementsByTagName(t)[0]; a.async = 1; a.src = u; m.parentNode.insertBefore(a, m)
  552.     })(window, document, 'script', 'https://c2.centricdxb.com/mtc.js', 'mt');
  553.     mt('send', 'pageview');
  554.   </script>
  555.   <script>
  556.     const exampleModal = document.getElementById('exampleModal')
  557.     function getSlugFromURL() {
  558.       const url = window.location.href;
  559.       const parts = url.split('/');
  560.       return parts[parts.length - 1];
  561.     }
  562.     if (exampleModal) {
  563.       exampleModal.addEventListener('show.bs.modal', event => {
  564.         const emailForm = document.getElementById('reportForm');
  565.         emailForm.reset();
  566.         $('.error-message').text('');
  567.         const button = event.relatedTarget
  568.         const claimPublish = button.getAttribute('data-bs-whatever')
  569.         const modalTitle = exampleModal.querySelector('.modal-title')
  570.         modalTitle.textContent = `${claimPublish} this page`
  571.         const errorMessages = document.getElementById('errorMessages');
  572.         errorMessages.style.display = 'none';
  573.         function displayMessage(message, isError) {
  574.           var errorMessagesDiv = document.getElementById('errorMessages');
  575.           errorMessagesDiv.innerText = '';
  576.           if (isError) {
  577.             errorMessagesDiv.classList.add('alert-danger');
  578.             errorMessagesDiv.classList.remove('alert-success');
  579.           } else {
  580.             errorMessagesDiv.classList.add('alert-success');
  581.             errorMessagesDiv.classList.remove('alert-danger');
  582.           }
  583.           errorMessagesDiv.innerText = message;
  584.           errorMessagesDiv.style.display = 'block';
  585.         }
  586.         // Attach a click event handler to the Send button
  587.         document.getElementById('sendReport').addEventListener('click', function () {
  588.           $('.error-message').text('');
  589.           console.log('clicked');
  590.           document.getElementById('sendReport').disabled = true;
  591.           removeProgressBar();
  592.           var circularProgressBar = new ProgressBar.Circle('#progressContainer', {
  593.             color: '#28a745', // Set the progress bar color
  594.             strokeWidth: 8,    // Set the stroke width
  595.             duration: 2000,   // Set the animation duration in milliseconds
  596.             easing: 'easeInOut'
  597.           });
  598.           circularProgressBar.animate(1, function () {
  599.             const email = document.getElementById('email').value;
  600.             const slug = getSlugFromURL();
  601.             var formData = new FormData(document.getElementById('reportForm'))
  602.             formData.append('slug', slug);
  603.             formData.append('claimPublish', claimPublish);
  604.             $.ajax({
  605.               url: '/send-mail/report',
  606.               method: 'POST',
  607.               data: formData,
  608.               contentType: false,
  609.               processData: false,
  610.               success: function (response) {
  611.                 document.getElementById('sendReport').disabled = false;
  612.                 removeProgressBar();
  613.                 $('#progressContainer').hide();
  614.                 if (response.success) {
  615.                   // Handle success response
  616.                   $('.error-message').text('');
  617.                   displayMessage(response.success, false);
  618.                 } else if (response.errors) {
  619.                   // Display error messages in the modal
  620.                   $('.error-message').text('');
  621.                   for (const field in response.errors) {
  622.                     const errorSelector = `.${field}Error`;
  623.                     const errorMessage = response.errors[field];
  624.                     if (errorMessage) {
  625.                       $(errorSelector).text(errorMessage);
  626.                     } else {
  627.                       $(errorSelector).text('');
  628.                     }
  629.                   }
  630.                 }
  631.                 else {
  632.                   $('.error-message').text('');
  633.                   $('#progressContainer').hide();
  634.                   displayMessage(response.error.join('\n'), true);
  635.                 }
  636.               },
  637.               error: function (error) {
  638.                 // Handle error
  639.                 removeProgressBar();
  640.                 console.error(error);
  641.               }
  642.             });
  643.           });
  644.           $('#progressContainer').show();
  645.           function removeProgressBar() {
  646.             // Remove the circular progress bar if it exists
  647.             var existingProgressBar = document.getElementById('progressContainer');
  648.             if (existingProgressBar) {
  649.               existingProgressBar.innerHTML = '';
  650.             }
  651.           }
  652.         });
  653.       })
  654.     }
  655.   </script>
  656.   {# {% block inlinescripts deferred %}
  657.   {{ pimcore_inline_script() }}
  658.   {% endblock %} #}
  659. </body>
  660. </html>