templates/default/base.html.twig line 43

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html class="no-js" lang="es">
  3.     <head>
  4.         <meta charset="UTF-8" />
  5.         <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6.         <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  7.         <meta name="description" content="{% block description %}Ofertas de esqui. Reserva tus viajes ski para esquiar barato en fin de semana, semana blanca, navidades, semana santa, puente diciembre en Andorra, Sierra Nevada, Formigal, Grandvalira, Vallnord, Alpes. Esquiadas en familia. Esqui escolar. Esquí verano. Hotel y forfait.{% endblock %}" >
  8.         <title>{% block title %}Uniski{% endblock %} | Uniski.es - Viajes ski</title>
  9.         <link rel="canonical" href="{% block canonical %}{{ app.request.schemeAndHttpHost ~ app.request.pathInfo }}{% endblock %}" />
  10.         {% block stylesheets %}
  11.             <link rel="stylesheet" href="{{ asset('css/vendor.css') }}?v={{ date().timestamp }}"> <!-- asset_version -->
  12.             <link rel="stylesheet" href="{{ asset('css/main.css' ) }}?v={{ date().timestamp }}"> <!--- asset_version -->
  13.             <!-- Google Fonts: Inter (body) + Montserrat (headings) -->
  14.             <link rel="preconnect" href="https://fonts.googleapis.com">
  15.             <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  16.             <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Montserrat:wght@600;700&display=swap">
  17.             <!-- Uniski Redesign Override CSS -->
  18.             <link rel="stylesheet" href="{{ asset('css/uniski-redesign.css') }}?v={{ date().timestamp }}">
  19.         {% endblock %}
  20.         <!-- pace loader desactivado en rediseno - se mantiene en vendor -->
  21.         <!-- <script src="{{ asset('js/vendor/pace.min.js') }}"></script> -->
  22.         <script src="{{ asset('js/vendor/modernizr.js') }}"></script>
  23.         <script src='https://www.google.com/recaptcha/api.js'></script>
  24.         
  25.         <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}?new" />
  26.         <!-- [if lt IE 9]>
  27.             <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  28.             <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  29.         <![endif]-->
  30.         {# Google Analytics y AdWords se cargan solo si el usuario acepta cookies (RGPD) #}
  31.         <script>
  32.           window.dataLayer = window.dataLayer || [];
  33.           function gtag(){dataLayer.push(arguments);}
  34.         </script>
  35.     </head>
  36.     <body class="{% block bodyClass %}{% endblock %}">
  37.         {% block body %}{% endblock %}
  38.         {# Banner de consentimiento de cookies - RGPD #}
  39.         <div id="uniski-cookie-banner" style="display:none; position:fixed; bottom:0; left:0; right:0; background:#2c3e50; color:#fff; padding:16px 20px; z-index:99999; font-size:14px; box-shadow:0 -2px 10px rgba(0,0,0,0.3);">
  40.             <div class="row">
  41.                 <div class="medium-8 columns">
  42.                     <p style="margin:0 0 8px 0;">
  43.                         Este sitio web utiliza cookies propias y de terceros para mejorar tu experiencia de navegación y ofrecer contenidos personalizados. Puedes consultar nuestra
  44.                         <a href="{{ url('cookies_policy_page') }}" style="color:#3498db; text-decoration:underline;">Política de Cookies</a>.
  45.                     </p>
  46.                 </div>
  47.                 <div class="medium-4 columns" style="text-align:right; padding-top:4px;">
  48.                     <button id="uniski-cookie-accept" style="background:#27ae60; color:#fff; border:none; padding:8px 20px; cursor:pointer; border-radius:3px; margin-right:8px; font-size:14px;">Aceptar</button>
  49.                     <button id="uniski-cookie-reject" style="background:#7f8c8d; color:#fff; border:none; padding:8px 20px; cursor:pointer; border-radius:3px; font-size:14px;">Rechazar</button>
  50.                 </div>
  51.             </div>
  52.         </div>
  53.         {% block javascripts %}
  54.             <script type="text/javascript" src="{{ asset('js/vendor.js') }}?v={{ date().timestamp }}"></script><!-- asset_version-->
  55.             <script>
  56.                 var UNISKI_SETTINGS = UNISKI_SETTINGS || {};
  57.                 UNISKI_SETTINGS.baseURL = "{{ path('homepage') }}";
  58.                 UNISKI_SETTINGS.isFrontPage = {{ menu | default(null) == 'homepage' ? 'true': 'false'}};
  59.                 $(document).foundation({
  60.                     equalizer: {
  61.                         equalize_on_stack: true
  62.                     }
  63.                 });
  64.             </script>
  65.             {# Sistema de consentimiento de cookies RGPD - sin dependencias externas #}
  66.             <script type="text/javascript">
  67.                 (function() {
  68.                     var GA_ID = 'UA-6905984-3';
  69.                     var AW_ID = 'AW-1003294430';
  70.                     var COOKIE_NAME = 'uniski_cookie_consent';
  71.                     var COOKIE_DAYS = 365;
  72.                     function getCookie(name) {
  73.                         var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
  74.                         return match ? match[2] : null;
  75.                     }
  76.                     function setCookie(name, value, days) {
  77.                         var d = new Date();
  78.                         d.setTime(d.getTime() + (days * 24 * 60 * 60 * 1000));
  79.                         document.cookie = name + '=' + value + ';expires=' + d.toUTCString() + ';path=/;SameSite=Lax';
  80.                     }
  81.                     function loadAnalytics() {
  82.                         // GA4 / Universal Analytics via gtag.js
  83.                         var s = document.createElement('script');
  84.                         s.async = true;
  85.                         s.src = 'https://www.googletagmanager.com/gtag/js?id=' + GA_ID;
  86.                         document.head.appendChild(s);
  87.                         s.onload = function() {
  88.                             gtag('js', new Date());
  89.                             gtag('config', GA_ID, { 'anonymize_ip': true });
  90.                             gtag('config', AW_ID);
  91.                         };
  92.                     }
  93.                     var consent = getCookie(COOKIE_NAME);
  94.                     var banner = document.getElementById('uniski-cookie-banner');
  95.                     if (consent === 'accepted') {
  96.                         loadAnalytics();
  97.                     } else if (consent !== 'rejected') {
  98.                         // Mostrar banner si no hay decisión previa
  99.                         if (banner) banner.style.display = 'block';
  100.                     }
  101.                     var acceptBtn = document.getElementById('uniski-cookie-accept');
  102.                     var rejectBtn = document.getElementById('uniski-cookie-reject');
  103.                     if (acceptBtn) {
  104.                         acceptBtn.addEventListener('click', function() {
  105.                             setCookie(COOKIE_NAME, 'accepted', COOKIE_DAYS);
  106.                             if (banner) banner.style.display = 'none';
  107.                             loadAnalytics();
  108.                         });
  109.                     }
  110.                     if (rejectBtn) {
  111.                         rejectBtn.addEventListener('click', function() {
  112.                             setCookie(COOKIE_NAME, 'rejected', COOKIE_DAYS);
  113.                             if (banner) banner.style.display = 'none';
  114.                         });
  115.                     }
  116.                 })();
  117.             </script>
  118.             <script type="text/javascript" src="{{ asset('js/main.js') }}?v={{ date().timestamp }}"></script> <!-- asset_version -->
  119.             <!--Start of Tawk.to Script-->
  120.             <script type="text/javascript">
  121.             var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
  122.             (function(){
  123.             var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
  124.             s1.async=true;
  125.             s1.src='https://embed.tawk.to/59bfd9de4854b82732ff0b87/default';
  126.             s1.charset='UTF-8';
  127.             s1.setAttribute('crossorigin','*');
  128.             s0.parentNode.insertBefore(s1,s0);
  129.             })();
  130.             </script>
  131.             <!--End of Tawk.to Script-->
  132.         {% endblock %}
  133.     </body>
  134. </html>