1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="utf-8" /> 5 <title>All Photos and Videos of La Vuelta Femenina 2026</title> 6 <meta name="description" content="Video summaries, photos, all pictures of Ceratizit Challenge by La Vuelta 2026" /> 7<meta name="viewport" content="width=device-width, initial-scale=1" /> 8<meta name="image" content="https://www.lavueltafemenina.es/img/global/logo.png" /> 9<meta name="lang" content="en" /> 10<meta name="race" content="lvf" /> 11<meta name="year" content="2026" /> 12<meta name="pageKey" content="home-galerie" /> 13<meta property="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" /> 14<meta property="og:image" content="https://www.lavueltafemenina.es/img/global/logo-og.png" /> 15<meta property="og:type" content="website" /> 16<meta property="og:site-name" content="La Vuelta Femenina 2026" /> 17<meta property="og:url" content="https://www.lavueltafemenina.es/en/home-galerie" /> 18<meta property="og:title" content="All Photos and Videos of La Vuelta Femenina 2026" /> 19<meta property="og:description" content="Video summaries, photos, all pictures of Ceratizit Challenge by La Vuelta 2026" /> 20 21 22 <link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96" /> 23<link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 24<link rel="shortcut icon" href="/favicon.ico" /> 25<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> 26<meta name="apple-mobile-web-app-title" content="LVF" /> 27<link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/> 28 29 30 <!--[if lte IE 8]> 31
31<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
31<![endif]--> 32 33
33<script> 34 window.gdprAppliesGlobally=false; 35 window.cmp_addFrame=function(e){if(!window.frames[e]){if(document.body){var d=document.createElement("iframe");d.style.cssText="display:none";d.name=e;document.body.appendChild(d)}else{window.setTimeout('window.cmp_addFrame("'+e+'")',10)}}}; 36 window.cmp_rc=function(j){var d=document.cookie;var g="";var f=0;while(d!=""&&f<100){f++;while(d.substr(0,1)==" "){d=d.substr(1,d.length)}var h=d.substring(0,d.indexOf("="));if(d.indexOf(";")!=-1){var e=d.substring(d.indexOf("=")+1,d.indexOf(";"))}else{var e=d.substr(d.indexOf("=")+1,d.length)}if(j==h){g=e}i=d.indexOf(";")+1;if(i==0){i=d.length}d=d.substring(i,d.length)}return(g)}; 37 window.cmp_stub=function(){var d=arguments;__cmp.a=__cmp.a||[];if(!d.length){return __cmp.a}else{if(d[0]==="ping"){if(d[1]===2){d[2]({gdprApplies:gdprAppliesGlobally,cmpLoaded:false,cmpStatus:"stub",displayStatus:"hidden",apiVersion:"2.0",cmpId:31},true)}else{d[2]({gdprAppliesGlobally:gdprAppliesGlobally,cmpLoaded:false},true)}}else{if(d[0]==="getUSPData"){d[2]({version:1,uspString:window.cmp_rc("")},true)}
37else{if(d[0]==="getTCData"){__cmp.a.push([].slice.apply(d))}else{if(d.length==4&&d[3]===false){d[2]({},false)}else{__cmp.a.push([].slice.apply(d))}}}}}}; 38 window.cmp_msghandler=function(h){var d=typeof h.data==="string";try{var g=d?JSON.parse(h.data):h.data}catch(j){var g=null}if(typeof(g)==="object"&&g!==null&&"__cmpCall" in g){var f=g.__cmpCall;window.__cmp(f.command,f.parameter,function(l,k){var e={__cmpReturn:{returnValue:l,success:k,callId:f.callId}};h.source.postMessage(d?JSON.stringify(e):e,"*")})}if(typeof(g)==="object"&&g!==null&&"__uspapiCall" in g){var f=g.__uspapiCall;window.__uspapi(f.command,f.version,function(l,k){var e={__uspapiReturn:{returnValue:l,success:k,callId:f.callId}};h.source.postMessage(d?JSON.stringify(e):e,"*")})}if(typeof(g)==="object"&&g!==null&&"__tcfapiCall" in g){var f=g.__tcfapiCall;window.__tcfapi(f.command,f.version,function(l,k){var e={__tcfapiReturn:{returnValue:l,success:k,callId:f.callId}};h.source.postMessage(d?JSON.stringify(e):e,"*")},f.parameter)}}; 39 window.cmp_setStub=function(d){if(!(d in window)||(typeof(window[d])!=="function"&&typeof(window[d])!=="object"&&(typeof(window[d])==="undefined"||window[d]!==null))){window[d]=window.cmp_stub;window[d].msgHandler=window.cmp_msghandler;if(window.addEventListener){window.addEventListener("message",window.cmp_msghandler,false)}else{window.attachEvent("onmessage",window.cmp_msghandler)}}}; 40 window.cmp_addFrame("__cmpLocator"); 41 window.cmp_addFrame("__uspapiLocator"); 42 window.cmp_addFrame("__tcfapiLocator"); 43 window.cmp_setStub("__cmp"); 44 window.cmp_setStub("__tcfapi"); 45 window.cmp_setStub("__uspapi"); 46 </script>
46 47 <!-- Google Tag Manager --> 48
48<script>
vendor: 375 bytes, lines 48-52
48(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 49 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 50 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 51 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 52 })(window,document,'script','dataLayer','
52GTM-WN5XRZT
vendor: 3 bytes, line 52
52');
52</script>
52 53 <!-- End Google Tag Manager --> 54 55 56
56<script> 57 var customEvents = {}; 58 // Le SDK Facebook a ete retire : il etait injecte sur toutes les pages et 59 // appelait Meta avant tout consentement, alors que son unique usage etait le 60 // widget .fb-page du bloc block_facebook -- bloc lui-meme supprime, aucune page 61 // ne l'utilisait (verifie sur les 26 bases locales et confirme en prod). 62 63 function checkCookieForRedirect() { 64 document.body.style.display = 'none'; 65 if (document.body.className.includes('hide-admin') && localStorage.getItem('_lang')) { 66 localStorage.removeItem('_lang') 67 } 68 const lang = localStorage.getItem('_lang'); 69 if (/^\/[a-zA-Z]{2}(?:.+|$)/.test(window.location.pathname) && /^[a-zA-Z]{2}$/.test(lang)) { 70 if (!(new RegExp('^\/' + lang + '(?:.+|$)')).test(window.location.pathname)) { 71 var link = document.querySelector('.header__lang__menu .nav__link[data-lang='+lang+']'); 72 if (link) { 73 link = `${link.href}${window.location.search}`; 74 window.location.href = link; 75 return; 76 } 77 } 78 } 79 document.body.style.display = 'block'; 80 } 81 82 window.translations = { 83 slidePrev: 'Previous slide', 84 slideNext: 'Next slide' 85 }; 86 </script>
86 87 88 <!--<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,400i,600,600i,700,700i" rel="stylesheet">--> 89 <link rel="preload" href="/dist/js/scripts.jquery.6a7766d.js" as="script"> 90 <link rel="preload" href="/dist/css/4.style.1164bc8.css" as="style"> 91 <link rel="preload" href="/dist/css/10.style.8e810d3.css" as="style"> 92 <link rel="preload" href="/dist/css/7.style.6939bb7.css" as="style"> 93 <link rel="preload" href="/dist/js/scripts.vendor.8e810d3.js" as="script"> 94 <link rel="preload" href="/dist/js/scripts.runtime.ebcda04.js" as="script"> 95 <link rel="preload" href="/dist/js/scripts.vendors.90b9a54.js" as="script"> 96 <link rel="preload" href="/dist/js/scripts.main.6939bb7.js" as="script"> 97 <link href="/dist/css/4.style.1164bc8.css" rel="stylesheet"> 98 <link href="/dist/css/10.style.8e810d3.css" rel="stylesheet"> 99 <link href="/dist/css/7.style.6939bb7.css" rel="stylesheet"> 100 101
102<script> 103 // Appel asynchrone au tag DFP 104 var googletag = googletag || {}; 105 googletag.cmd = googletag.cmd || []; 106 107 /* 108 * Consentement publicitaire (limited ads). 109 * 110 * Sans consentement, GPT continue de servir mais en mode "limited ads" : pas de 111 * cookie (__gads / __gpi / __eoi), pas de personnalisation. Releve terrain du 112 * 2026-09-22 sur www.paris-roubaix.fr : ces trois cookies etaient deposes AVANT 113 * tout choix utilisateur, d'ou ce gate. 114 * 115 * Deux contraintes imposees par Google, qui expliquent la forme du code : 116 * - le mode limited ads exige le bundle servi par pagead2.googlesyndication.com 117 * (celui de googletagservices.com ne le supporte pas) ; 118 * - setPrivacySettings({limitedAds}) doit etre pose AVANT la premiere requete 119 * publicitaire, d'ou la decision prise avant meme d'injecter le script. 120 * 121 * On ne s'appuie pas sur __tcfapi : la CMP consentmanager n'est pas enregistree 122 * comme CMP IAB sur ce parc (pas de __tcfapi en prod, finalites custom c5x), donc 123 * GPT ne recoit aucun signal TCF et se comporte comme si le RGPD ne s'appliquait 124 * pas. On lit l'API native __cmp, comme consentGate.js le fait pour Dailymotion. 125 */ 126 /* 127 * Google Advertising Products dans la configuration CMP (wsid 157256) : 128 * {"id":"s1498","n":"Google Advertising Products","i3id":755,"ps":"c52"} 129 * On teste les deux cles : vendorConsents est indexe par ID GVL quand le vendor 130 * en a un (releve terrain : "755": true), mais le systemid reste le seul 131 * identifiant garanti si la CMP change d'indexation. 132 * 133 * A ne pas confondre avec les autres entrees Google de la meme config, qui ne 134 * pilotent pas GPT : "s1" Google Ads, "s135" Google General, "s905" Google Tag 135 * Manager, "s2612" Google Fonts. 136 */ 137 var GOOGLE_ADS_VENDORS = [755, 's1498']; 138 /* 139 * Combien de temps attendre la CMP avant de trancher. 140 * 141 * Le delai depend de ce qu'on sait deja du visiteur, grace a un marqueur 142 * SYNCHRONE : consentmanager ecrit __cmpconsentx<cmp_id> uniquement une fois 143 * que l'utilisateur a tranche. (A ne pas confondre avec __cmpcccx<cmp_id>, 144 * present des la premiere visite : releve terrain du 22/09/2026, avant tout 145 * clic, seul __cmpcccx157256 etait pose.) 146 * 147 * - marqueur absent : aucun choix enregistre, la reponse de la CMP ne peut etre 148 * qu'un non. On part en limited ads tout de suite, sans retarder les pubs. 149 * - marqueur present : un choix existe, il vaut la peine de l'attendre. La CMP 150 * etant livree en async par GTM, elle depasse regulierement les 2 s -- c'est 151 * ce qui faisait basculer en limited ads des visiteurs pourtant consentants, 152 * sans rattrapage possible (GPT ne repose pas de cookie apres coup). 153 */ 154 var CMP_WAIT_MS = 10000; 155 var CMP_WAIT_UNKNOWN_MS = 0; 156 var CMP_POLL_MS = 100; 157 // Apres un depart en limited ads, on continue de guetter le consentement bien 158 // plus longtemps : mesure terrain sur www.paris-roubaix.fr, la CMP peut ne 159 // prendre la main qu'au bout d'une trentaine de secondes. 160 var CMP_UPGRADE_POLL_MS = 500; 161 var CMP_UPGRADE_DEADLINE_MS = 60000; 162 163 (function() { 164 var decided = false; 165 166 // Un choix a-t-il deja ete enregistre ? Lecture synchrone, disponible des la 167 // premiere ligne de la page, la ou __cmp n'est encore qu'un stub muet. 168 function hasStoredChoice() { 169 if (/(?:^|;\s*)__cmpconsentx\d+=/.test(document.cookie)) { 170 return true; 171 } 172 173 /* 174 * La CMP duplique son choix en localStorage, sous des cles suffixees par 175 * le domaine (__cmpconsentx157256_.paris-roubaix.fr). Selon le domaine 176 * servi, le cookie peut manquer la ou le localStorage est present : on 177 * regarde les deux plutot que de parier sur l'un. 178 */ 179 try { 180 for (var i = 0; i < window.localStorage.length; i++) { 181 if (window.localStorage.key(i).indexOf('__cmpconsentx') === 0) { 182 return true; 183 } 184 } 185 } catch (e) { 186 // localStorage inaccessible (navigation privee bridee, cookies bloques). 187 } 188 189 return false;
190 } 191 192 var waitMs = hasStoredChoice() ? CMP_WAIT_MS : CMP_WAIT_UNKNOWN_MS; 193 194 // Lecture synchrone du choix deja enregistre. Renvoie true (consenti), 195 // false (refuse ou pas de vendor) ou null (CMP pas encore la / muette). 196 function readAdConsent(done) { 197 if (typeof window.__cmp !== 'function') { 198 return done(null); 199 } 200 201 var status; 202 try { 203 status = window.__cmp('consentStatus'); 204 } catch (e) { 205 return done(null); 206 } 207 208 // Le stub repond undefined ; userChoiceExists ne passe a true qu'apres 209 // un clic reel (consentExists, lui, vaut toujours true : faux ami). 210 if (!status || typeof status !== 'object') { 211 return done(null); 212 } 213 if (status.userChoiceExists !== true) { 214 return done(false); 215 } 216 217 try { 218 window.__cmp('getCMPData', null, function(data) { 219 var consents = (data && data.vendorConsents) || {}; 220 var granted = GOOGLE_ADS_VENDORS.some(function(key) { 221 return consents[key] === true; 222 }); 223 224 done(granted); 225 }); 226 } catch (e) { 227 done(false); 228 } 229 } 230 231 function loadGpt(limited) { 232 if (decided) { 233 return; 234 } 235 decided = true; 236 237 googletag.cmd.unshift(function() { 238 googletag.pubads().setPrivacySettings({ 239 limitedAds: limited, 240 nonPersonalizedAds: limited 241 }); 242 }); 243 244 /* 245 * Le bundle depend du mode : pagead2.googlesyndication.com est celui qui 246 * supporte le limited ads, securepubads.g.doubleclick.net est le bundle 247 * GPT standard. On ne charge donc le premier que quand on en a besoin, 248 * plutot que de supposer qu'il sert aussi les pubs normales -- hypothese 249 * que rien ne confirme et qui priverait de cookies un visiteur consentant. 250 */ 251 var gads = document.createElement("script"); 252 gads.async = true; 253 gads.type = "text/javascript"; 254 gads.src = limited 255 ? "https://pagead2.googlesyndication.com/tag/js/gpt.js" 256 : "https://securepubads.g.doubleclick.net/tag/js/gpt.js"; 257 var node = document.getElementsByTagName("script")[0]; 258 node.parentNode.insertBefore(gads, node); 259 260 // Charge en mode normal : le consentement est deja acquis, il n'y a rien 261 // a rattraper et un refresh de plus serait une requete pour rien. 262 if (!limited) { 263 upgraded = true; 264 265 return; 266 } 267 268 watchForConsent(); 269 } 270 271 /* 272 * Acceptation en cours de session : on repasse en mode normal et on rejoue 273 * une requete sur les slots deja affiches, sinon le visiteur qui vient 274 * d'accepter reste en pub contextuelle jusqu'a sa prochaine navigation. 275 * 276 * A verifier en recette : Google documente setPrivacySettings({limitedAds}) 277 * comme devant preceder la premiere requete. Si la bascule a chaud n'est pas 278 * prise en compte, le repli est l'option "recharger la page apres 279 * consentement" du portail consentmanager -- pas de code supplementaire ici. 280 * Le refresh ne porte que sur des slots deja affiches : on ne rejoue pas le 281 * modele pilote par display(), qui avait casse lors de l'essai 282 * disableInitialLoad() (cf. hotfix/000-cmp-iab-mode). 283 */ 284 var upgraded = false; 285 var consentWatch = null; 286 287 function upgradeIfGranted() { 288 if (upgraded) { 289 return; 290 } 291 292 readAdConsent(function(granted) { 293 if (granted !== true || upgraded) { 294 return; 295 } 296 297 upgraded = true; 298 if (consentWatch !== null) { 299 window.clearInterval(consentWatch); 300 } 301 302 googletag.cmd.push(function() { 303 googletag.pubads().setPrivacySettings({
304 limitedAds: false, 305 nonPersonalizedAds: false 306 }); 307 googletag.pubads().refresh(); 308 }); 309 }); 310 } 311 312 /* 313 * On RELIT l'etat periodiquement, on ne se contente pas de l'evenement 314 * `consent` : celui-ci signale un CHANGEMENT de choix. Un visiteur qui a 315 * deja accepte et qui recharge la page ne le declenche pas -- son choix est 316 * deja enregistre, rien ne change. Sans cette relecture, un consentant dont 317 * la CMP repond au-dela de CMP_WAIT_MS restait en limited ads a CHAQUE 318 * chargement, donc sans cookie ni personnalisation, definitivement. 319 * 320 * L'abonnement a l'evenement est conserve par-dessus : il rattrape 321 * l'acceptation en cours de session sans attendre le prochain tick. 322 */ 323 function watchForConsent() { 324 try { 325 window.__cmp('addEventListener', ['consent', upgradeIfGranted, false], null); 326 } catch (e) { 327 // CMP sans API d'evenements : la relecture periodique suffit. 328 } 329 330 consentWatch = window.setInterval(function() { 331 // La CMP peut arriver tres tard (GTM async, CDN lent) : on la guette 332 // jusqu'a CMP_UPGRADE_DEADLINE_MS, bien au-dela du delai de decision. 333 if (Date.now() - startedAt > CMP_UPGRADE_DEADLINE_MS) { 334 window.clearInterval(consentWatch); 335 336 return; 337 } 338 339 upgradeIfGranted(); 340 }, CMP_UPGRADE_POLL_MS); 341 } 342 343 var startedAt = Date.now(); 344 345 (function poll() { 346 readAdConsent(function(granted) { 347 if (decided) { 348 return; 349 } 350 if (granted === true) { 351 return loadGpt(false); 352 } 353 if (granted === false) { 354 return loadGpt(true); 355 } 356 // CMP pas encore chargee : on lui laisse waitMs, puis on part en 357 // limited ads. Ne jamais bloquer le chargement des pubs sur une CMP 358 // indisponible (panne CDN, ad-blocker) : on degrade, on ne coupe pas. 359 if (Date.now() - startedAt >= waitMs) { 360 return loadGpt(true); 361 } 362 window.setTimeout(poll, CMP_POLL_MS); 363 }); 364 })(); 365 366 })(); 367 368 googletag.cmd.push(function() { 369 370 var mp_bannierehaute = googletag.sizeMapping(). 371 addSize([0, 0], [[1, 1],[320, 50],[320, 100]]). 372 addSize([728, 500], [[1, 1],[728, 90]]). // Tablet 373 addSize([1000, 500], [[1, 1],[728, 90],[1000, 90],[1000, 250]]). // Desktop 374 build(); 375 376 var AdUnit = '/366560878/ASO/LA-VUELTA-FEMENINA'; 377 googletag.defineSlot(AdUnit, [1, 1], 'dfp_banniere-haute').setTargeting('position', 'BANNIERE-HAUTE').defineSizeMapping(mp_bannierehaute).addService(googletag.pubads()); 378 googletag.defineSlot(AdUnit, [1, 1], 'dfp_banniere-basse').setTargeting('position', 'BANNIERE-BASSE').defineSizeMapping(mp_bannierehaute).addService(googletag.pubads()); 379 googletag.defineSlot(AdUnit, [1, 1], 'dfp_banniere-1').setTargeting('position', 'BANNIERE-1').defineSizeMapping(mp_bannierehaute).addService(googletag.pubads()); 380 googletag.defineSlot(AdUnit, [1, 1], 'dfp_banniere-2').setTargeting('position', 'BANNIERE-2').defineSizeMapping(mp_bannierehaute).addService(googletag.pubads()); 381 googletag.defineSlot(AdUnit, [1, 1], 'dfp_banniere-3').setTargeting('position', 'BANNIERE-3').defineSizeMapping(mp_bannierehaute).addService(googletag.pubads()); 382 googletag.defineSlot(AdUnit, [1, 1], 'dfp_banniere-cadet').setTargeting('position', 'BANNIERE-HAUTE').setTargeting('rubrique', 'cadet').defineSizeMapping(mp_bannierehaute).addService(googletag.pubads()); 383 googletag.defineSlot(AdUnit, [1, 1], 'dfp_banniere-jaune').setTargeting('position', 'BANNIERE-HAUTE').setTargeting('rubrique', 'maillotjaune').defineSizeMapping(mp_bannierehaute).addService(googletag.pubads()); 384 googletag.defineSlot(AdUnit, [1, 1], 'dfp_banniere-pois').setTargeting('position', 'BANNIERE-HAUTE').setTargeting('rubrique', 'maillotpois').defineSizeMapping(mp_bannierehaute).addService(googletag.pubads()); 385 googletag.defineSlot(AdUnit, [1, 1], 'dfp_banniere-vert').setTargeting('position', 'BANNIERE-HAUTE').setTargeting('rubrique', 'maillotvert').defineSizeMapping(mp_bannierehaute).addService(googletag.pubads()); 386 googletag.defineSlot(AdUnit, [1, 1], 'dfp_banniere-blanc').setTargeting('position', 'BANNIERE-HAUTE').setTargeting('rubrique', 'maillotblanc').defineSizeMapping(mp_bannierehaute).addService(googletag.pubads()); 387 googletag.defineSlot(AdUnit, [1, 1], 'dfp_banniere-securite').setTargeting('position', 'BANNIERE-HAUTE').setTargeting('rubrique', 'securite').defineSizeMapping(mp_bannierehaute).addService(googletag.pubads()); 388 googletag.defineSlot(AdUnit, [1, 1], 'dfp_banniere-surlaroute').setTargeting('position', 'BANNIERE-HAUTE').setTargeting('rubrique', 'surlaroute').defineSizeMapping(mp_bannierehaute).addService(googletag.pubads()); 389 googletag.defineSlot(AdUnit, [[300,250]], 'dfp_pave-1').setTargeting('position', 'PAVE-1').addService(googletag.pubads()); 390 googletag.defineSlot(AdUnit, [[300,250]], 'dfp_pave-2').setTargeting('position', 'PAVE-2').addService(googletag.pubads()); 391 googletag.defineSlot(AdUnit, [[300,250]], 'dfp_pave-3').setTargeting('position', 'PAVE-3').addService(googletag.pubads()); 392 googletag.defineSlot(AdUnit, [[300,250]], 'dfp_pave-4').setTargeting('position', 'PAVE-4').addService(googletag.pubads()); 393 googletag.defineSlot(AdUnit, [[300,250]], 'dfp_pave-5').setTargeting('position', 'PAVE-5').addService(googletag.pubads()); 394 googletag.defineSlot(AdUnit, [[300,250]], 'dfp_pave-6').setTargeting('position', 'PAVE-6').addService(googletag.pubads()); 395 googletag.defineSlot(AdUnit, [[300,250]], 'dfp_pave-7').setTargeting('position', 'PAVE-7').addService(googletag.pubads()); 396 googletag.defineSlot(AdUnit, [[300,250]], 'dfp_chronometreur').setTargeting('position', 'CHRONOMETREUR').addService(googletag.pubads()); 397 googletag.defineSlot(AdUnit, [[1,1]], 'dfp_background').setTargeting('position', 'BACKGROUND').addService(googletag.pubads()); 398 399 /* Capping */ 400 401 // set interstitiel if not capped 402 (function() { 403 const CAPPING_KEY = 'interstitielClosedAt'; 404 const CAPPING_DELAY = 60 * 60 * 1000; 405 const ts = localStorage.getItem(CAPPING_KEY); 406 const isCapped = ts && (Date.now() - parseInt(ts, 10) < CAPPING_DELAY); 407 408 if (!isCapped) { 409 googletag.defineOutOfPageSlot(AdUnit, 'dfp_interstitiel') 410 .setTargeting('position', 'INTERSTITIEL') 411 .addService(googletag.pubads()); 412 } else { 413 console.log('[DFP] Interstitiel no loaded : capping ON'); 414 } 415 })(); 416 417 // set capping event on close 418 document.body.addEventListener('click', function(event) { 419 const close = event.target.closest('#croixFermee'); 420 if (close) { 421 localStorage.setItem('interstitielClosedAt', Date.now().toString()); 422 console.log('[DFP] Interstitiel closed : capping saved'); 423 } 424 }); 425 426 // Targeting key/value 427 googletag.pubads().setTargeting('lang', 'EN'); 428 googletag.pubads().setTargeting('pagetype', 'DEFAULT'); 429 googletag.pubads().setTargeting('xtpage', ['home-galerie']); 430 431 if (window.location.hash !== '') { 432 googletag.pubads().setTargeting('preview', window.location.hash.replace('#','')); 433 } 434 435 // Targeting general 436 googletag.pubads().collapseEmptyDivs(true); 437 googletag.pubads().enableSingleRequest(); 438 // googletag.pubads().disableInitialLoad(); 439 googletag.enableServices(); 440 }); 441</script>
441 442 443 444 445 446 447 <link rel="alternate" hreflang="es" href="/es/home-galeria"/> 448 449 450</head> 451 452 453 <body class="home gallery has-uci is-piano-analytics has-timepeeker" 454 455data-cookie-referer="_page_alias_home-galerie" 456 data-privacy="true" 457data-analytics-site="564813" 458data-analytics-page="home-galerie" 459> 460<template id="js-consent-placeholder"> 461 <div class="consentPlaceholder" role="note"> 462 <div class="consentPlaceholder__inner"> 463 <p class="consentPlaceholder__title">Blocked content</p> 464 <p class="consentPlaceholder__text">This video is provided by Dailymotion. To play it, you need to accept cookies for video content.</p> 465 <button type="button" class="consentPlaceholder__cta js-consent-accept">Allow Dailymotion and play the video</button> 466 <button type="button" class="consentPlaceholder__link js-consent-settings">Manage my preferences</button> 467 </div> 468 </div> 469</template> 470 471 472 473 474 <!-- Google Tag Manager (noscript) -->
vendor: 72 bytes, lines 474-475
474 475 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
475GTM-WN5XRZT
vendor: 109 bytes, lines 475-477
475" 476 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 477
477<!-- End Google Tag Manager (noscript) --> 478 479 480 481 482 483 484 485<aside id="aside-menu" class="burgerMenu hidden--lg js-burger"> 486
486<script> 487 if (window.innerWidth >= 1280) { 488 var $asideMenu = document.getElementById('aside-menu'); 489 $asideMenu.remove(); 490 } 491 </script>
491 492 <div class="burgerMenu__scroll"> 493 <div class="burgerMenu__header hidden--lg"> 494 <div class="is-left"> 495 <a class="burgerButton burgerButton--close is-ibl js-burger-button"> 496 <span class="burgerButton__bar burgerButton__bar--1"></span> 497 <span class="burgerButton__bar burgerButton__bar--2"></span> 498 <span class="burgerButton__bar burgerButton__bar--3"></span> 499 </a> 500 <h2 class="burgerMenu__title is-ibl">Menu</h2> 501 </div> 502 <div class="is-right"> 503 504 505<a class="burgerMenu__logo" href="/" title="Home"> 506 <img class="lazyItem js-lazy" 507 src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" 508 data-src="/img/dyn/event/1.png|/img/dyn/event/[email protected]" 509 alt="LVF" width="75"> 510</a> 511 </div> 512 </div> 513 514<form role="search" action="/en/search/*query*" method="GET" class="nav__search__form search"> 515 <a role="button" aria-label="Search" class="nav__search__icon js-btn-search icon icon--search" href="#" data-xtclick="header-top::nav-search::search" data-clicktype="A"></a> 516 <input class="nav__search__input" role="searchbox" aria-label="Enter your search" type="text" name="q" placeholder="Search"> 517</form> 518 <div class="burgerMenu__section"> 519 <div class="header__navigation" role="navigation"> 520 <ul class="nav"> 521 522 523 524 <li class="dropdown nav__item js-dropdown-subnav"> 525 <a class="nav__link js-dropdown" data-toggle="dropdown" id="menu-nav-route-mobile" aria-haspopup="true" role="button" data-target="dropdown-route-mobile" href="#" data-xtclick="header::navigation::route" data-clicktype="A">Route</a> 526</li> 527 528 529 530 <li class="dropdown nav__item js-dropdown-subnav"> 531 <a class="nav__link js-dropdown" data-toggle="dropdown" id="menu-nav-teams-mobile" aria-haspopup="true" role="button" data-target="dropdown-teams-mobile" href="#" data-xtclick="header::navigation::teams" data-clicktype="A">Teams</a> 532</li> 533 534 535 536 <li class="nav__item"> 537 <a class="nav__link js-nav-item" href="/en/rankings" target="_self" data-xtclick="header::navigation::rankings" data-clicktype="N">Rankings</a> 538</li> 539 540 541 542 <li class="dropdown nav__item js-dropdown-subnav"> 543 <a class="nav__link js-dropdown" data-toggle="dropdown" id="menu-nav-3-mobile" aria-haspopup="true" role="button" data-target="dropdown-3-mobile" href="#" data-xtclick="header::navigation::the-race" data-clicktype="A">THE RACE</a> 544</li> 545 546 547 548 <li class="dropdown nav__item js-dropdown-subnav"> 549 <a class="nav__link js-dropdown" data-toggle="dropdown" id="menu-nav-4-mobile" aria-haspopup="true" role="button" data-target="dropdown-4-mobile" href="#" data-xtclick="header::navigation::la-vuelta-es-mas" data-clicktype="A">La Vuelta es Más</a> 550</li> 551 552 553 554 <li class="dropdown nav__item js-dropdown-subnav"> 555 <a class="nav__link js-dropdown" data-toggle="dropdown" id="menu-nav-tourism-mobile" aria-haspopup="true" role="button" data-target="dropdown-tourism-mobile" href="#" data-xtclick="header::navigation::host-cities" data-clicktype="A">Host Cities</a> 556</li> 557 558 559 560 <li class="nav__item"> 561 <a class="nav__link js-nav-item" href="/en/home-galerie" target="_self" data-xtclick="header::navigation::videos-photos" data-clicktype="N">VIDEOS & PHOTOS</a> 562</li> 563 </ul> 564 <div class="dropdown__menu subnav subnav--simple js-dropdown-menu flexbox" aria-labelledby="menu-nav-3-mobile" role="menu" data-target="dropdown-3-mobile"> 565 <div class="subnav__header flexbox__header"> 566 <a class="burgerButton burgerButton--prev is-ibl" role="button" data-xtclick="header::burger::prev" data-clicktype="A">
567 <span class="burgerButton__bar burgerButton__bar--1"></span> 568 <span class="burgerButton__bar burgerButton__bar--3"></span> 569 </a> 570 <h2 class="subnav__title is-ibl">THE RACE</h2> 571 </div> 572 <div class="container flexbox__container js-scroll-watcher"> 573 <div class="row"> 574 <ul class="list"> 575 <li class="subnav__item"> 576 <a class="subnav__link" href="/en/the-race/sporting-stakes" data-xtclick="dropdown-menu::subnav-link::sporting-stakes-rules" data-clicktype="N">Sporting stakes & rules</a> 577 </li> 578 <li class="subnav__item"> 579 <a class="subnav__link" href="/en/the-race/interactive-route-book" data-xtclick="dropdown-menu::subnav-link::roadbook" data-clicktype="N">Roadbook</a> 580 </li> 581 <li class="subnav__item"> 582 <a class="subnav__link" href="/en/history" data-xtclick="dropdown-menu::subnav-link::history" data-clicktype="N">HISTORY</a> 583 </li> 584 <li class="subnav__item"> 585 <a class="subnav__link" href="/en/news" data-xtclick="dropdown-menu::subnav-link::news" data-clicktype="N">News</a> 586 </li> 587 <li class="subnav__item"> 588 <a class="subnav__link" href="/en/the-race/media-figures" data-xtclick="dropdown-menu::subnav-link::media-figures" data-clicktype="N">Media figures</a> 589 </li> 590 <li class="subnav__item"> 591 <a class="subnav__link" href="/en/the-race/official-podcast" data-xtclick="dropdown-menu::subnav-link::official-podcast" data-clicktype="N">Official Podcast</a> 592 </li> 593 </ul> 594 </div> 595 </div> 596 </div> 597 <div class="dropdown__menu subnav subnav--simple js-dropdown-menu flexbox" aria-labelledby="menu-nav-4-mobile" role="menu" data-target="dropdown-4-mobile"> 598 <div class="subnav__header flexbox__header"> 599 <a class="burgerButton burgerButton--prev is-ibl" role="button" data-xtclick="header::burger::prev" data-clicktype="A"> 600 <span class="burgerButton__bar burgerButton__bar--1"></span> 601 <span class="burgerButton__bar burgerButton__bar--3"></span> 602 </a> 603 <h2 class="subnav__title is-ibl">La Vuelta es Más</h2> 604 </div> 605 <div class="container flexbox__container js-scroll-watcher"> 606 <div class="row"> 607 <ul class="list"> 608 <li class="subnav__item"> 609 <a class="subnav__link" href="/en/mas-bici" data-xtclick="dropdown-menu::subnav-link::more-bike-in-your-life" data-clicktype="N">More bike in your life</a> 610 </li> 611 <li class="subnav__item"> 612 <a class="subnav__link" href="/en/mas-por-descubrir" data-xtclick="dropdown-menu::subnav-link::more-to-discover" data-clicktype="N">More to discover</a> 613 </li> 614 <li class="subnav__item"> 615 <a class="subnav__link" href="/en/mas-es-menos" data-xtclick="dropdown-menu::subnav-link::less-is-more" data-clicktype="N">Less is more</a> 616 </li> 617 <li class="subnav__item"> 618 <a class="subnav__link" href="/en/mas-solidaria" data-xtclick="dropdown-menu::subnav-link::more-solidarity" data-clicktype="N">More Solidarity</a> 619 </li> 620 </ul> 621 </div> 622 </div> 623 </div> 624 625 626 627<div id="19e53b82a3dc0e3c7cbea1f8cd6a6b5e7"> 628 629
629<script> 630 (function() { 631 var trigger = function(){ 632 var xhttp = new XMLHttpRequest(); 633 if (typeof asyncBlockWillLoad !== 'undefined') { 634 asyncBlockWillLoad('19e53b82a3dc0e3c7cbea1f8cd6a6b5e7', 'cycling_sport.block.service.stages_menu'); 635 } 636 xhttp.onreadystatechange = function() { 637 if (this.readyState === 4 && this.status === 200) { 638 asyncBlockLoaded('19e53b82a3dc0e3c7cbea1f8cd6a6b5e7', 'cycling_sport.block.service.stages_menu', this.responseText); 639 } 640 }; 641 642 xhttp.open("GET", "/en/ajax-block/cycling_sport.block.service.stages_menu/%7B%22menu%22:%22route%22,%22isMobile%22:true%7D/72e4b3e3006185202cb08804067f9695", true); 643 xhttp.send(); 644 }; 645 var eventName = 'route-mobile'; 646 var newEvent; 647 if (!customEvents[eventName]) { 648 newEvent = document.createEvent('Event'); 649 newEvent.initEvent(eventName, true, true); 650 customEvents[eventName] = newEvent; 651 } 652 document.body.addEventListener(eventName, function() { 653 trigger(); 654 }); 655 656 })() 657 658 </script>
658 659</div> 660 661 662<div id="18e3016f6a29b382c9bc921a34b83d37a"> 663 664
664<script> 665 (function() { 666 var trigger = function(){ 667 var xhttp = new XMLHttpRequest(); 668 if (typeof asyncBlockWillLoad !== 'undefined') { 669 asyncBlockWillLoad('18e3016f6a29b382c9bc921a34b83d37a', 'cycling_sport.block.service.teams'); 670 } 671 xhttp.onreadystatechange = function() { 672 if (this.readyState === 4 && this.status === 200) { 673 asyncBlockLoaded('18e3016f6a29b382c9bc921a34b83d37a', 'cycling_sport.block.service.teams', this.responseText); 674 } 675 }; 676 677 xhttp.open("GET", "/en/ajax-block/cycling_sport.block.service.teams/%7B%22menu%22:%22teams%22,%22isMobile%22:true%7D/5e4ca06ae929d23ae335528a4cf81007", true); 678 xhttp.send(); 679 }; 680 var eventName = 'teams-mobile'; 681 var newEvent; 682 if (!customEvents[eventName]) { 683 newEvent = document.createEvent('Event'); 684 newEvent.initEvent(eventName, true, true); 685 customEvents[eventName] = newEvent; 686 } 687 document.body.addEventListener(eventName, function() { 688 trigger(); 689 }); 690 691 })() 692 693 </script>
693 694</div> 695 696 697<div id="1c89db1c4f76750022f6de9ba7d8687ce"> 698 699
699<script> 700 (function() { 701 var trigger = function(){ 702 var xhttp = new XMLHttpRequest(); 703 if (typeof asyncBlockWillLoad !== 'undefined') { 704 asyncBlockWillLoad('1c89db1c4f76750022f6de9ba7d8687ce', 'cycling_sport.block.service.stages_menu'); 705 } 706 xhttp.onreadystatechange = function() { 707 if (this.readyState === 4 && this.status === 200) { 708 asyncBlockLoaded('1c89db1c4f76750022f6de9ba7d8687ce', 'cycling_sport.block.service.stages_menu', this.responseText); 709 } 710 }; 711 712 xhttp.open("GET", "/en/ajax-block/cycling_sport.block.service.stages_menu/%7B%22menu%22:%22tourism%22,%22isMobile%22:true%7D/a471ae73548f3811b3d7fad0a0c4500b", true); 713 xhttp.send(); 714 }; 715 var eventName = 'tourism-mobile'; 716 var newEvent; 717 if (!customEvents[eventName]) { 718 newEvent = document.createEvent('Event'); 719 newEvent.initEvent(eventName, true, true); 720 customEvents[eventName] = newEvent; 721 } 722 document.body.addEventListener(eventName, function() { 723 trigger(); 724 }); 725 726 })() 727 728 </script>
728 729</div> 730 731 </div> 732 </div> 733 <div class="burgerMenu__section"> 734 735<ul class="col--lg--5 nav reorder__item--before is-alignLeft js-empty"> 736 737<li class="dropdown nav__item js-dropdown-subnav"><a class="nav__link nav__link--arrow js-dropdown" id="top-item-otherRaces-mobile" data-toggle="dropdown" aria-haspopup="true" role="button" data-target="dropdown-top-otherRaces-mobile" href="#" data-xtclick="header::navigation::other-events" data-clicktype="A"> 738 Other Events 739 </a></li> 740<li class="dropdown nav__item js-dropdown-subnav"><a class="nav__link nav__link--arrow js-dropdown" id="top-item-broadcasters-mobile" data-toggle="dropdown" aria-haspopup="true" role="button" data-target="dropdown-top-broadcasters-mobile" href="#" data-xtclick="header::navigation::official-broadcasters" data-clicktype="A"> 741 Official broadcasters 742 </a></li> </ul> 743<ul class="col--xs--12 col--lg--5 nav is-alignRight js-empty"> 744 745 746<li class="nav__item nav__search js-nav-search"> 747 <form role="search" action="/en/search/*query*" method="GET" class="nav__search__form search"> 748 <a role="button" aria-label="Search" class="nav__link nav__search__icon js-btn-search icon icon--search" href="#" data-xtclick="header-top::nav-search::search" data-clicktype="A"></a> 749 <div class="nav__search__block"> 750 <input class="nav__search__input" role="searchbox" aria-label="Enter your search" type="text" name="q" placeholder="Search"> 751 <span class="nav__search__close js-nav-search-close icon icon--close"></span> 752 </div> 753 </form> 754</li> 755 756 757 </ul>
758<script> 759 if (window.innerWidth < 1280) { 760 var $headerTopMenu = document.getElementById('header-top-menu'); 761 if (typeof($headerTopMenu) != 'undefined' && $headerTopMenu != null) { 762 for (var i = 0; i < 3; i++) { 763 var $jsEmptyElt = $headerTopMenu.getElementsByClassName('js-empty')[i]; 764 if (typeof($jsEmptyElt) != 'undefined' && $jsEmptyElt != null) { 765 $jsEmptyElt.innerHTML = ''; 766 } 767 } 768 } 769 } 770</script>
770 771 772<div id="1459d1241014a91fee221cf6f684891d0"> 773 774
774<script> 775 (function() { 776 var trigger = function(){ 777 var xhttp = new XMLHttpRequest(); 778 if (typeof asyncBlockWillLoad !== 'undefined') { 779 asyncBlockWillLoad('1459d1241014a91fee221cf6f684891d0', 'core_other_event.block.service.other_events'); 780 } 781 xhttp.onreadystatechange = function() { 782 if (this.readyState === 4 && this.status === 200) { 783 asyncBlockLoaded('1459d1241014a91fee221cf6f684891d0', 'core_other_event.block.service.other_events', this.responseText); 784 } 785 }; 786 787 xhttp.open("GET", "/en/ajax-block/core_other_event.block.service.other_events/%7B%22isMobile%22:true%7D/3592c44c60ff48433d98e369c1743fe1", true); 788 xhttp.send(); 789 }; 790 var eventName = 'otherRaces-mobile'; 791 var newEvent; 792 if (!customEvents[eventName]) { 793 newEvent = document.createEvent('Event'); 794 newEvent.initEvent(eventName, true, true); 795 customEvents[eventName] = newEvent; 796 } 797 document.body.addEventListener(eventName, function() { 798 trigger(); 799 }); 800 801 })() 802 803 </script>
803 804</div> 805 806<div id="1497a95be5eb8e0152112e3a1e467cd78"> 807 808
808<script> 809 (function() { 810 var trigger = function(){ 811 var xhttp = new XMLHttpRequest(); 812 if (typeof asyncBlockWillLoad !== 'undefined') { 813 asyncBlockWillLoad('1497a95be5eb8e0152112e3a1e467cd78', 'core_broadcasters.block.service.broadcasters'); 814 } 815 xhttp.onreadystatechange = function() { 816 if (this.readyState === 4 && this.status === 200) { 817 asyncBlockLoaded('1497a95be5eb8e0152112e3a1e467cd78', 'core_broadcasters.block.service.broadcasters', this.responseText); 818 } 819 }; 820 821 xhttp.open("GET", "/en/ajax-block/core_broadcasters.block.service.broadcasters/%7B%22isMobile%22:true%7D/84aed65122cc53b17d0a4b002476e3de", true); 822 xhttp.send(); 823 }; 824 var eventName = 'broadcasters-mobile'; 825 var newEvent; 826 if (!customEvents[eventName]) { 827 newEvent = document.createEvent('Event'); 828 newEvent.initEvent(eventName, true, true); 829 customEvents[eventName] = newEvent; 830 } 831 document.body.addEventListener(eventName, function() { 832 trigger(); 833 }); 834 835 })() 836 837 </script>
837 838</div> 839 840 </div> 841 </div> 842 <div class="burgerMenu__aside js-burger-aside"> 843 844<ul class="col--lg--2 header__social reorder__item--before visible--lg"> 845 <li class="header__social__item"> 846 <a href="https://www.facebook.com/LaVueltaFem/" 847 aria-label="Facebook: Open in a new window" 848 target="_blank" 849 class="icon icon--facebook" data-xtclick="header-top::header-social::facebook" data-clicktype="N"></a> 850 </li> 851 <li class="header__social__item"> 852 <a href="https://twitter.com/LaVueltaFem" 853 aria-label="Twitter: Open in a new window" 854 target="_blank" 855 class="icon icon--twitter" data-xtclick="header-top::header-social::twitter" data-clicktype="N"></a> 856 </li> 857 <li class="header__social__item"> 858 <a href="https://www.instagram.com/lavueltafem/" 859 aria-label="Instagram: Open in a new window" 860 target="_blank" 861 class="icon icon--instagram" data-xtclick="header-top::header-social::instagram" data-clicktype="N"></a> 862 </li> 863 <li class="header__social__item"> 864 <a href="https://www.youtube.com/channel/UCf7iHZIcKEhiN34-fETtNCA" 865 aria-label="Youtube: Open in a new window" 866 target="_blank" 867 class="icon icon--youtube" data-xtclick="header-top::header-social::youtube" data-clicktype="N"></a> 868 </li> 869 <li class="header__social__item"> 870 <a href="https://www.tiktok.com/@lavuelta" 871 aria-label="TikTok: Open in a new window" 872 target="_blank" 873 class="icon icon--tiktok" data-xtclick="header-top::header-social::tiktok" data-clicktype="N"></a> 874 </li> 875 </ul> 876 877 </div> 878</aside> 879 880 881 882<header class="header"> 883 <div class="desktopMenu"> 884 885 886 887<div id="header-top-menu" class="header__secondary"><div class="container"><div class="row reorder is-relative"><div class="nav__item header__sponsor"><img alt="" class="header__sponsor__img" 888 src="/img/global/logo-timekeeper.svg"></div><ul class="col--lg--5 nav reorder__item--before is-alignLeft js-empty"><li class="dropdown nav__item js-dropdown-subnav"><a class="nav__link nav__link--arrow js-dropdown" id="top-item-otherRaces" data-toggle="dropdown" aria-haspopup="true" role="button" data-target="dropdown-top-otherRaces" href="#" data-xtclick="header::navigation::other-events" data-clicktype="A"> 889 Other Events 890 </a></li><li class="dropdown nav__item js-dropdown-subnav"><a class="nav__link nav__link--arrow js-dropdown" id="top-item-broadcasters" data-toggle="dropdown" aria-haspopup="true" role="button" data-target="dropdown-top-broadcasters" href="#" data-xtclick="header::navigation::official-broadcasters" data-clicktype="A"> 891 Official broadcasters 892 </a></li></ul><ul class="col--xs--12 col--lg--5 nav is-alignRight js-empty"><li class="nav__item nav__search js-nav-search"><form role="search" action="/en/search/*query*" method="GET" class="nav__search__form search"><a role="button" aria-label="Search" class="nav__link nav__search__icon js-btn-search icon icon--search" href="#" data-xtclick="header-top::nav-search::search" data-clicktype="A"></a><div class="nav__search__block"><input class="nav__search__input" role="searchbox" aria-label="Enter your search" type="text" name="q" placeholder="Search"><span class="nav__search__close js-nav-search-close icon icon--close"></span></div></form></li></ul>
892<script> 893 if (window.innerWidth < 1280) { 894 var $headerTopMenu = document.getElementById('header-top-menu'); 895 if (typeof($headerTopMenu) != 'undefined' && $headerTopMenu != null) { 896 for (var i = 0; i < 3; i++) { 897 var $jsEmptyElt = $headerTopMenu.getElementsByClassName('js-empty')[i]; 898 if (typeof($jsEmptyElt) != 'undefined' && $jsEmptyElt != null) { 899 $jsEmptyElt.innerHTML = ''; 900 } 901 } 902 } 903 } 904</script>
904<ul class="col--lg--2 header__social reorder__item--before visible--lg"><li class="header__social__item"><a href="https://www.facebook.com/LaVueltaFem/" 905 aria-label="Facebook: Open in a new window" 906 target="_blank" 907 class="icon icon--facebook" data-xtclick="header-top::header-social::facebook" data-clicktype="N"></a></li><li class="header__social__item"><a href="https://twitter.com/LaVueltaFem" 908 aria-label="Twitter: Open in a new window" 909 target="_blank" 910 class="icon icon--twitter" data-xtclick="header-top::header-social::twitter" data-clicktype="N"></a></li><li class="header__social__item"><a href="https://www.instagram.com/lavueltafem/" 911 aria-label="Instagram: Open in a new window" 912 target="_blank" 913 class="icon icon--instagram" data-xtclick="header-top::header-social::instagram" data-clicktype="N"></a></li><li class="header__social__item"><a href="https://www.youtube.com/channel/UCf7iHZIcKEhiN34-fETtNCA" 914 aria-label="Youtube: Open in a new window" 915 target="_blank" 916 class="icon icon--youtube" data-xtclick="header-top::header-social::youtube" data-clicktype="N"></a></li><li class="header__social__item"><a href="https://www.tiktok.com/@lavuelta" 917 aria-label="TikTok: Open in a new window" 918 target="_blank" 919 class="icon icon--tiktok" data-xtclick="header-top::header-social::tiktok" data-clicktype="N"></a></li></ul><div class="dropdown nav__item header__lang"><a href="#" class="nav__link nav__link--arrow js-dropdown dropdown__toggle js-display-click" id="nav-lang-en" data-toggle="dropdown" aria-haspopup="true" role="button" data-xtclick="header::langue"><span class="flag js-display-lazy" data-class="flag--en"></span><span class="is-ibl header__lang__label">en</span></a><div class="dropdown__menu header__lang__menu" aria-labelledby="nav-lang-en" role="menu"><ul class="header__lang__list"><li class="dropdown__menu__item" data-lang="es"><a class="dropdown__menu__link nav__link" href="/es/home-galeria" data-lang="es"><span class="flag js-display-lazy" data-class="flag--es"></span><span class="is-ibl header__lang__label">es</span></a></li></ul>
919<script> 920 checkCookieForRedirect(); 921 </script>
921</div></div></div></div><div id="17caf18dcefa35e66d53da4005beb40f6">
921<script> 922 (function() { 923 var trigger = function(){ 924 var xhttp = new XMLHttpRequest(); 925 if (typeof asyncBlockWillLoad !== 'undefined') { 926 asyncBlockWillLoad('17caf18dcefa35e66d53da4005beb40f6', 'core_other_event.block.service.other_events'); 927 } 928 xhttp.onreadystatechange = function() { 929 if (this.readyState === 4 && this.status === 200) { 930 asyncBlockLoaded('17caf18dcefa35e66d53da4005beb40f6', 'core_other_event.block.service.other_events', this.responseText); 931 } 932 }; 933 934 xhttp.open("GET", "/en/ajax-block/core_other_event.block.service.other_events/%5B%5D/f858ac6f79f9db5808b30df7c43acb51", true); 935 xhttp.send(); 936 }; 937 var eventName = 'otherRaces'; 938 var newEvent; 939 if (!customEvents[eventName]) { 940 newEvent = document.createEvent('Event'); 941 newEvent.initEvent(eventName, true, true); 942 customEvents[eventName] = newEvent; 943 } 944 document.body.addEventListener(eventName, function() { 945 trigger(); 946 }); 947 948 })() 949 950 </script>
950</div><div id="12cef721df34a1184e80c0a92915a7634">
950<script> 951 (function() { 952 var trigger = function(){ 953 var xhttp = new XMLHttpRequest(); 954 if (typeof asyncBlockWillLoad !== 'undefined') { 955 asyncBlockWillLoad('12cef721df34a1184e80c0a92915a7634', 'core_broadcasters.block.service.broadcasters'); 956 } 957 xhttp.onreadystatechange = function() { 958 if (this.readyState === 4 && this.status === 200) { 959 asyncBlockLoaded('12cef721df34a1184e80c0a92915a7634', 'core_broadcasters.block.service.broadcasters', this.responseText); 960 } 961 }; 962 963 xhttp.open("GET", "/en/ajax-block/core_broadcasters.block.service.broadcasters/%5B%5D/5b62aad7da3d86146941642578b76ce9", true); 964 xhttp.send(); 965 }; 966 var eventName = 'broadcasters'; 967 var newEvent; 968 if (!customEvents[eventName]) { 969 newEvent = document.createEvent('Event'); 970 newEvent.initEvent(eventName, true, true); 971 customEvents[eventName] = newEvent; 972 } 973 document.body.addEventListener(eventName, function() { 974 trigger(); 975 }); 976 977 })() 978 979 </script>
979</div></div> 980 981 <div class="header__navigation" role="navigation"> 982 <a class="burgerButton js-burger-button" data-xtclick="header::burger::menu" data-clicktype="A"> 983 <span class="burgerButton__bar burgerButton__bar--1"></span> 984 <span class="burgerButton__bar burgerButton__bar--2"></span> 985 <span class="burgerButton__bar burgerButton__bar--3"></span> 986</a> 987<div id="header-menu" class="container"> 988 <div class="row"> 989 <div class="col--lg--5 header__col--left"> 990 <ul class="nav is-alignRight is-ibl visible--lg"><li class="dropdown nav__item js-dropdown-subnav"><a class="nav__link js-dropdown" data-toggle="dropdown" id="menu-nav-route" aria-haspopup="true" role="button" data-target="dropdown-route" href="#" data-xtclick="header::navigation::route" data-clicktype="A">Route</a></li><li class="dropdown nav__item js-dropdown-subnav"><a class="nav__link js-dropdown" data-toggle="dropdown" id="menu-nav-teams" aria-haspopup="true" role="button" data-target="dropdown-teams" href="#" data-xtclick="header::navigation::teams" data-clicktype="A">Teams</a></li><li class="nav__item"><a class="nav__link js-nav-item" href="/en/rankings" target="_self" data-xtclick="header::navigation::rankings" data-clicktype="N">Rankings</a></li><li class="dropdown nav__item js-dropdown-subnav"><a class="nav__link js-dropdown" data-toggle="dropdown" id="menu-nav-3" aria-haspopup="true" role="button" data-target="dropdown-3" href="#" data-xtclick="header::navigation::the-race" data-clicktype="A">THE RACE</a></li></ul> </div> 991 992 993 994 995 996<div class="col--lg--2 header__col--center"> 997 <div class="clearfix is-relative--lg headerBrand__wrapper"> 998 <div class="headerBrand clearfix"> 999 <a class="headerBrand__link" href="/en"> 1000 <div class="headerBrand__title"> 1001 <img class="headerBrand__image lazyItem js-lazy" 1002 src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" 1003 data-src="/img/dyn/event/1.png|/img/dyn/event/[email protected]" 1004 alt="Website logo"> 1005 </div> 1006 <span class="header__date"> 1007 05.03 > 05.09.2026 1008 </span> 1009 </a> 1010 <span class="headerBrand__uci"> 1011 <a class="link headerBrand__link" href="https://www.uci.org/" target="_blank"> 1012 <img class="logo lazyItem js-lazy" 1013 src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" 1014 data-src="/img/global/logo-uci.png|/img/global/[email protected]" 1015 alt="UCI Logo"> 1016 </a> 1017 </span> 1018 </div> 1019 </div> 1020</div> 1021 1022 1023 <div class="col--lg--5 header__col--right visible--lg"> 1024 <ul class="nav"><li class="dropdown nav__item js-dropdown-subnav"><a class="nav__link js-dropdown" data-toggle="dropdown" id="menu-nav-4" aria-haspopup="true" role="button" data-target="dropdown-4" href="#" data-xtclick="header::navigation::la-vuelta-es-mas" data-clicktype="A">La Vuelta es Más</a></li><li class="dropdown nav__item js-dropdown-subnav"><a class="nav__link js-dropdown" data-toggle="dropdown" id="menu-nav-tourism" aria-haspopup="true" role="button" data-target="dropdown-tourism" href="#" data-xtclick="header::navigation::host-cities" data-clicktype="A">Host Cities</a></li><li class="nav__item"><a class="nav__link js-nav-item" href="/en/home-galerie" target="_self" data-xtclick="header::navigation::videos-photos" data-clicktype="N">VIDEOS & PHOTOS</a></li><li class="nav__item"><a class="nav__link js-nav-item" href="https://www.lavueltafemenina.es/en/partners" target="_self" data-xtclick="header::navigation::partners" data-clicktype="N">Partners</a></li></ul> </div> 1025 </div> 1026
1026<script> 1027 if (window.innerWidth < 1280) { 1028 var $headerMenu = document.getElementById('header-menu'); 1029 if (typeof($headerMenu) != 'undefined' && $headerMenu != null) { 1030 for (var i = 0; i < 3; i++) { 1031 var $emptyElt = $headerMenu.getElementsByClassName('visible--lg')[i]; 1032 if(typeof($emptyElt) != 'undefined' && $emptyElt != null) { 1033 $emptyElt.innerHTML = ''; 1034 } 1035 } 1036 } 1037 } 1038 </script>
1038 1039</div> 1040 1041 <div class="dropdown__menu subnav subnav--simple js-dropdown-menu flexbox" role="menu" aria-labelledby="menu-nav-3" data-target="dropdown-3"> 1042 <div class="subnav__header flexbox__header"> 1043 <a class="burgerButton burgerButton--prev is-ibl" role="button"> 1044 <span class="burgerButton__bar burgerButton__bar--1"></span> 1045 <span class="burgerButton__bar burgerButton__bar--3"></span> 1046 </a> 1047 <h2 class="subnav__title is-ibl">THE RACE</h2> 1048 </div> 1049 <div class="container flexbox__container js-scroll-watcher"> 1050 <div class="row"> 1051 <ul class="list"> 1052 <li class="subnav__item"> 1053 <a class="subnav__link" href="/en/the-race/sporting-stakes" data-xtclick="dropdown-menu::subnav-link::sporting-stakes-rules" data-clicktype="N">Sporting stakes & rules</a> 1054 </li> 1055 <li class="subnav__item"> 1056 <a class="subnav__link" href="/en/the-race/interactive-route-book" data-xtclick="dropdown-menu::subnav-link::roadbook" data-clicktype="N">Roadbook</a> 1057 </li> 1058 <li class="subnav__item"> 1059 <a class="subnav__link" href="/en/history" data-xtclick="dropdown-menu::subnav-link::history" data-clicktype="N">HISTORY</a> 1060 </li> 1061 <li class="subnav__item"> 1062 <a class="subnav__link" href="/en/news" data-xtclick="dropdown-menu::subnav-link::news" data-clicktype="N">News</a> 1063 </li> 1064 <li class="subnav__item"> 1065 <a class="subnav__link" href="/en/the-race/media-figures" data-xtclick="dropdown-menu::subnav-link::media-figures" data-clicktype="N">Media figures</a> 1066 </li> 1067 <li class="subnav__item"> 1068 <a class="subnav__link" href="/en/the-race/official-podcast" data-xtclick="dropdown-menu::subnav-link::official-podcast" data-clicktype="N">Official Podcast</a> 1069 </li> 1070 </ul> 1071 </div> 1072 </div> 1073 </div> 1074 <div class="dropdown__menu subnav subnav--simple js-dropdown-menu flexbox" role="menu" aria-labelledby="menu-nav-4" data-target="dropdown-4"> 1075 <div class="subnav__header flexbox__header"> 1076 <a class="burgerButton burgerButton--prev is-ibl" role="button"> 1077 <span class="burgerButton__bar burgerButton__bar--1"></span> 1078 <span class="burgerButton__bar burgerButton__bar--3"></span> 1079 </a> 1080 <h2 class="subnav__title is-ibl">La Vuelta es Más</h2> 1081 </div> 1082 <div class="container flexbox__container js-scroll-watcher"> 1083 <div class="row"> 1084 <ul class="list"> 1085 <li class="subnav__item"> 1086 <a class="subnav__link" href="/en/mas-bici" data-xtclick="dropdown-menu::subnav-link::more-bike-in-your-life" data-clicktype="N">More bike in your life</a> 1087 </li> 1088 <li class="subnav__item"> 1089 <a class="subnav__link" href="/en/mas-por-descubrir" data-xtclick="dropdown-menu::subnav-link::more-to-discover" data-clicktype="N">More to discover</a> 1090 </li> 1091 <li class="subnav__item"> 1092 <a class="subnav__link" href="/en/mas-es-menos" data-xtclick="dropdown-menu::subnav-link::less-is-more" data-clicktype="N">Less is more</a> 1093 </li> 1094 <li class="subnav__item"> 1095 <a class="subnav__link" href="/en/mas-solidaria" data-xtclick="dropdown-menu::subnav-link::more-solidarity" data-clicktype="N">More Solidarity</a> 1096 </li> 1097 </ul> 1098 </div> 1099 </div> 1100 </div> 1101 1102 1103 1104 1105 1106<div id="14d19e97ef734246bc9b3fbceb124856d"> 1107 1108
1108<script> 1109 (function() { 1110 var trigger = function(){ 1111 var xhttp = new XMLHttpRequest(); 1112 if (typeof asyncBlockWillLoad !== 'undefined') { 1113 asyncBlockWillLoad('14d19e97ef734246bc9b3fbceb124856d', 'cycling_sport.block.service.stages_menu'); 1114 } 1115 xhttp.onreadystatechange = function() { 1116 if (this.readyState === 4 && this.status === 200) { 1117 asyncBlockLoaded('14d19e97ef734246bc9b3fbceb124856d', 'cycling_sport.block.service.stages_menu', this.responseText); 1118 } 1119 }; 1120 1121 xhttp.open("GET", "/en/ajax-block/cycling_sport.block.service.stages_menu/%7B%22menu%22:%22route%22%7D/7f9c402e3372c06c6ff9cec6b7c9b806", true); 1122 xhttp.send(); 1123 }; 1124 var eventName = 'route'; 1125 var newEvent; 1126 if (!customEvents[eventName]) { 1127 newEvent = document.createEvent('Event'); 1128 newEvent.initEvent(eventName, true, true); 1129 customEvents[eventName] = newEvent; 1130 } 1131 document.body.addEventListener(eventName, function() { 1132 trigger(); 1133 }); 1134 1135 })() 1136 1137 </script>
1137 1138</div> 1139 1140 1141<div id="1a8699ba981b4739af51498df58adf4c5"> 1142 1143
1143<script> 1144 (function() { 1145 var trigger = function(){ 1146 var xhttp = new XMLHttpRequest(); 1147 if (typeof asyncBlockWillLoad !== 'undefined') { 1148 asyncBlockWillLoad('1a8699ba981b4739af51498df58adf4c5', 'cycling_sport.block.service.teams'); 1149 } 1150 xhttp.onreadystatechange = function() { 1151 if (this.readyState === 4 && this.status === 200) { 1152 asyncBlockLoaded('1a8699ba981b4739af51498df58adf4c5', 'cycling_sport.block.service.teams', this.responseText); 1153 } 1154 }; 1155 1156 xhttp.open("GET", "/en/ajax-block/cycling_sport.block.service.teams/%7B%22menu%22:%22teams%22%7D/2bc3d3d428168b47c2c7c01334a79d60", true); 1157 xhttp.send(); 1158 }; 1159 var eventName = 'teams'; 1160 var newEvent; 1161 if (!customEvents[eventName]) { 1162 newEvent = document.createEvent('Event'); 1163 newEvent.initEvent(eventName, true, true); 1164 customEvents[eventName] = newEvent; 1165 } 1166 document.body.addEventListener(eventName, function() { 1167 trigger(); 1168 }); 1169 1170 })() 1171 1172 </script>
1172 1173</div> 1174 1175 1176<div id="1a4d704617117d19d968db07e8a959580"> 1177 1178
1178<script> 1179 (function() { 1180 var trigger = function(){ 1181 var xhttp = new XMLHttpRequest(); 1182 if (typeof asyncBlockWillLoad !== 'undefined') { 1183 asyncBlockWillLoad('1a4d704617117d19d968db07e8a959580', 'cycling_sport.block.service.stages_menu'); 1184 } 1185 xhttp.onreadystatechange = function() { 1186 if (this.readyState === 4 && this.status === 200) { 1187 asyncBlockLoaded('1a4d704617117d19d968db07e8a959580', 'cycling_sport.block.service.stages_menu', this.responseText); 1188 } 1189 }; 1190 1191 xhttp.open("GET", "/en/ajax-block/cycling_sport.block.service.stages_menu/%7B%22menu%22:%22tourism%22%7D/6939f8c8b0d298a119b4a6926d69dc2a", true); 1192 xhttp.send(); 1193 }; 1194 var eventName = 'tourism'; 1195 var newEvent; 1196 if (!customEvents[eventName]) { 1197 newEvent = document.createEvent('Event'); 1198 newEvent.initEvent(eventName, true, true); 1199 customEvents[eventName] = newEvent; 1200 } 1201 document.body.addEventListener(eventName, function() { 1202 trigger(); 1203 }); 1204 1205 })() 1206 1207 </script>
1207 1208</div> 1209 1210 </div> 1211 1212 1213<div class="stageNav"> 1214 <div class="container"> 1215 <div class="row"> 1216 <div class="col--xs--5 is-alignLeft"> 1217 1218 1219 1220 </div> 1221 <div class="col--xs--2"></div> 1222 <div class="col--xs--5 is-alignRight"> 1223 1224 1225 1226 </div> 1227 </div> 1228 </div> 1229</div> 1230 1231 </div> 1232</header> 1233 1234 1235 1236 1237 1238 1239 1240<main> 1241 <div class="grid-container"> 1242 1243 1244 1245 1246<div class="pageHeader "> 1247 <div class="pageHeader__headingZone"> 1248 <h1 class="pageHeader__heading">Photos and Videos</h1> </div> 1249 </div> 1250 1251 1252 1253 1254 <section class="pushs pushs--gallery"> 1255 <div class="container"> 1256 <div class="row"> 1257 <div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="" class="push__img lazyItem js-lazy" 1258 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260509lvf7-a-s-o-cxcling-toni-baixauli-bx9-2579/7471/100:0,899:666-300-0-60/4afd4" 1259 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260509lvf7-a-s-o-cxcling-toni-baixauli-bx9-2579/7471/100:0,899:666-300-0-60/4afd4"></figure><div class="dispatch"><span class="stage">Stage 7</span><span class="cities"> 1260 La Pola Llaviana/Pola de Laviana / L'Angliru 1261 </span><div class="dispatch__links"><a class="dispatch__link" href="/en/stage-7/video-gallery"><icon class="icon icon--video"></icon><span class="dispatch__label">Watch videos</span></a><a class="dispatch__link" href="/en/stage-7/image-gallery"><icon class="icon icon--photo"></icon><span class="dispatch__label">View photos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="" class="push__img lazyItem js-lazy" 1262 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260508lvf6-a-s-o-cxcling-toni-baixauli-bx8-0441/7394/100:0,899:666-300-0-60/4e1b0" 1263 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260508lvf6-a-s-o-cxcling-toni-baixauli-bx8-0441/7394/100:0,899:666-300-0-60/4e1b0"></figure><div class="dispatch"><span class="stage">Stage 6</span><span class="cities"> 1264 Gijón/Xixón / Les Praeres. Nava 1265 </span><div class="dispatch__links"><a class="dispatch__link" href="/en/stage-6/video-gallery"><icon class="icon icon--video"></icon><span class="dispatch__label">Watch videos</span></a><a class="dispatch__link" href="/en/stage-6/image-gallery"><icon class="icon icon--photo"></icon><span class="dispatch__label">View photos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="" class="push__img lazyItem js-lazy" 1266 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260507lvf5-a-s-o-cxcling-toni-baixauli-bx9-0731/7340/100:0,899:666-300-0-60/7031a" 1267 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260507lvf5-a-s-o-cxcling-toni-baixauli-bx9-0731/7340/100:0,899:666-300-0-60/7031a"></figure><div class="dispatch"><span class="stage">Stage 5</span><span class="cities"> 1268 León / Astorga 1269 </span><div class="dispatch__links"><a class="dispatch__link" href="/en/stage-5/video-gallery"><icon class="icon icon--video"></icon><span class="dispatch__label">Watch videos</span></a><a class="dispatch__link" href="/en/stage-5/image-gallery"><icon class="icon icon--photo"></icon><span class="dispatch__label">View photos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="" class="push__img lazyItem js-lazy" 1270 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260506lvf4-a-s-o-cxcling-toni-baixauli-bx9-0317/7265/100:0,899:666-300-0-60/ea138" 1271 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260506lvf4-a-s-o-cxcling-toni-baixauli-bx9-0317/7265/100:0,899:666-300-0-60/ea138"></figure><div class="dispatch"><span class="stage">Stage 4</span><span class="cities"> 1272 Monforte de Lemos / Antas de Ulla 1273 </span><div class="dispatch__links"><a class="dispatch__link" href="/en/stage-4/video-gallery"><icon class="icon icon--video"></icon>
1273<span class="dispatch__label">Watch videos</span></a><a class="dispatch__link" href="/en/stage-4/image-gallery"><icon class="icon icon--photo"></icon><span class="dispatch__label">View photos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="" class="push__img lazyItem js-lazy" 1274 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260505lvf3-a-s-o-cxcling-toni-baixauli-bx9-0370/7204/100:0,899:666-300-0-60/9738b" 1275 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260505lvf3-a-s-o-cxcling-toni-baixauli-bx9-0370/7204/100:0,899:666-300-0-60/9738b"></figure><div class="dispatch"><span class="stage">Stage 3</span><span class="cities"> 1276 Padrón / A Coruña 1277 </span><div class="dispatch__links"><a class="dispatch__link" href="/en/stage-3/video-gallery"><icon class="icon icon--video"></icon><span class="dispatch__label">Watch videos</span></a><a class="dispatch__link" href="/en/stage-3/image-gallery"><icon class="icon icon--photo"></icon><span class="dispatch__label">View photos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="" class="push__img lazyItem js-lazy" 1278 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260504lvf2-a-s-o-cxcling-angel-camarena-a1-00313/7099/100:0,899:666-300-0-60/5b8aa" 1279 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260504lvf2-a-s-o-cxcling-angel-camarena-a1-00313/7099/100:0,899:666-300-0-60/5b8aa"></figure><div class="dispatch"><span class="stage">Stage 2</span><span class="cities"> 1280 Lobios / San Cibrao das Viñas 1281 </span><div class="dispatch__links"><a class="dispatch__link" href="/en/stage-2/video-gallery"><icon class="icon icon--video"></icon><span class="dispatch__label">Watch videos</span></a><a class="dispatch__link" href="/en/stage-2/image-gallery"><icon class="icon icon--photo"></icon><span class="dispatch__label">View photos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="" class="push__img lazyItem js-lazy" 1282 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260504lvf2-a-s-o-cxcling-creative-agency-aritz-arambarri-zka-0410-1/7126/100:0,899:666-300-0-60/834ea" 1283 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/20260504lvf2-a-s-o-cxcling-creative-agency-aritz-arambarri-zka-0410-1/7126/100:0,899:666-300-0-60/834ea"></figure><div class="dispatch"><span class="stage">Stage 1</span><span class="cities"> 1284 MarÃn / Salvaterra de Miño 1285 </span><div class="dispatch__links"><a class="dispatch__link" href="/en/stage-1/video-gallery"><icon class="icon icon--video"></icon><span class="dispatch__label">Watch videos</span></a><a class="dispatch__link" href="/en/stage-1/image-gallery"><icon class="icon icon--photo"></icon><span class="dispatch__label">View photos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="Best of 2026" class="push__img lazyItem js-lazy" 1286 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/marianne-vos/6937/145:101,1420:1163-300-0-60/15017" 1287 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/marianne-vos/6937/145:101,1420:1163-300-0-60/15017"></figure><div class="dispatch"><span class="stage">Best of 2026</span><span class="cities"></span><div class="dispatch__links"><a class="dispatch__link" href="/en/video-gallery/best-of-2026"><icon class="icon icon--video"></icon><span class="dispatch__label">Watch videos</span></a><a class="dispatch__link" href="/en/image-gallery/best-of-2026"><icon class="icon icon--photo"></icon><span class="dispatch__label">View photos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="2025 Best-Of" class="push__img lazyItem js-lazy" 1288 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/podium03/5964/210:25,978:665-300-0-60/6364f" 1289 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/podium03/5964/210:25,978:665-300-0-60/6364f"></figure><div class="dispatch"><span class="stage">2025 Best-Of</span><span class="cities"></span><div class="dispatch__links"><a class="dispatch__link" href="/en/video-gallery/2025-best-of"><icon class="icon icon--video"></icon>
1289<span class="dispatch__label">Watch videos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="La Vuelta Femenina 25 by Carrefour.es - Official presentation" class="push__img lazyItem js-lazy" 1290 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/img-20250310-wa0384/5114/737:7,2048:1099-300-0-60/4b44b" 1291 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/img-20250310-wa0384/5114/737:7,2048:1099-300-0-60/4b44b"></figure><div class="dispatch"><span class="stage">La Vuelta Femenina 25 by Carrefour.es - Official presentation</span><span class="cities"></span><div class="dispatch__links"><a class="dispatch__link" href="/en/video-gallery/route-presentation-2025"><icon class="icon icon--video"></icon><span class="dispatch__label">Watch videos</span></a><a class="dispatch__link" href="/en/image-gallery/la-vuelta-femenina-25-by-carrefour-es-presentacion-oficial-del-recorrido"><icon class="icon icon--photo"></icon><span class="dispatch__label">View photos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="Best-Of 2024" class="push__img lazyItem js-lazy" 1292 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/i-r69842/4962/196:5,982:660-300-0-60/220e0" 1293 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/i-r69842/4962/196:5,982:660-300-0-60/220e0"></figure><div class="dispatch"><span class="stage">Best-Of 2024</span><span class="cities"></span><div class="dispatch__links"><a class="dispatch__link" href="/en/video-gallery/best-of-2024"><icon class="icon icon--video"></icon><span class="dispatch__label">Watch videos</span></a><a class="dispatch__link" href="/en/image-gallery/best-of-la-vuelta-femenina-24-by-carrefour-es"><icon class="icon icon--photo"></icon><span class="dispatch__label">View photos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="Teams Presentation - La Vuelta Femenina 24 by Carrefour.es" class="push__img lazyItem js-lazy" 1294 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/lavuelta-fem-64777/4003/290:80,992:665-300-0-60/10668" 1295 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/lavuelta-fem-64777/4003/290:80,992:665-300-0-60/10668"></figure><div class="dispatch"><span class="stage">Teams Presentation - La Vuelta Femenina 24 by Carrefour.es</span><span class="cities"></span><div class="dispatch__links"><a class="dispatch__link" href="/en/image-gallery/presentacion-de-equipos-la-vuelta-femenina-24-by-carrefour-es"><icon class="icon icon--photo"></icon><span class="dispatch__label">View photos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="Official course presentation - La Vuelta Femenina 24 by Carrefour.es" class="push__img lazyItem js-lazy" 1296 src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/lvf24-presentacio-n-033-5206/3611/205:89,843:620-300-0-60/30de1" 1297 data-src="https://img.aso.fr/core_app/img-cycling-lvf-jpg/lvf24-presentacio-n-033-5206/3611/205:89,843:620-300-0-60/30de1"></figure><div class="dispatch"><span class="stage">Official course presentation - La Vuelta Femenina 24 by Carrefour.es</span><span class="cities"></span><div class="dispatch__links"><a class="dispatch__link" href="/en/video-gallery/route-presentation-2024"><icon class="icon icon--video"></icon><span class="dispatch__label">Watch videos</span></a><a class="dispatch__link" href="/en/image-gallery/la-vuelta-femenina-24-by-carrefour-es-presentacion-oficial-del-recorrido"><icon class="icon icon--photo"></icon><span class="dispatch__label">View photos</span></a></div></div></div><div class="push push--gallery push--background js-push-link"><figure class="push__figure"><img alt="2023 Best-Of" class="push__img lazyItem js-lazy" 1298 src="https://img.aso.fr/core_app/img-cycling-lvf-png/080523-carrusel-2/3531/901:0,1729:690-300-0-60/3f8a4" 1299 data-src="https://img.aso.fr/core_app/img-cycling-lvf-png/080523-carrusel-2/3531/901:0,1729:690-300-0-60/3f8a4"></figure><div class="dispatch"><span class="stage">2023 Best-Of</span><span class="cities"></span><div class="dispatch__links"><a class="dispatch__link" href="/en/video-gallery/2023-best-of"><icon class="icon icon--video"></icon>
1299<span class="dispatch__label">Watch videos</span></a></div></div></div> </div> 1300 </div> 1301 </section> 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313<div id="1349f0f647f78b38e19f064d2920be42a"> 1314 1315
1315<script> 1316 (function() { 1317 var trigger = function(){ 1318 var xhttp = new XMLHttpRequest(); 1319 if (typeof asyncBlockWillLoad !== 'undefined') { 1320 asyncBlockWillLoad('1349f0f647f78b38e19f064d2920be42a', 'core_partners.block.service.bandeau_partners'); 1321 } 1322 xhttp.onreadystatechange = function() { 1323 if (this.readyState === 4 && this.status === 200) { 1324 asyncBlockLoaded('1349f0f647f78b38e19f064d2920be42a', 'core_partners.block.service.bandeau_partners', this.responseText); 1325 } 1326 }; 1327 1328 xhttp.open("GET", "/en/ajax-block/core_partners.block.service.bandeau_partners/%5B%5D/83f529db531fbbc4313859efdc525935", true); 1329 xhttp.send(); 1330 }; 1331 var myAnchor = document.getElementById('1349f0f647f78b38e19f064d2920be42a'); 1332 myAnchor.classList.add('asyncBlockOnScreen'); 1333 myAnchor.dataset.trigger = trigger; 1334 1335 })() 1336 1337 </script>
1337 1338</div> 1339 1340<div id="17da43b1a0c7cfe836b054526b5462103"> 1341 1342
1342<script> 1343 (function() { 1344 var trigger = function(){ 1345 var xhttp = new XMLHttpRequest(); 1346 if (typeof asyncBlockWillLoad !== 'undefined') { 1347 asyncBlockWillLoad('17da43b1a0c7cfe836b054526b5462103', 'core_partners.block.service.bandeau_partners_bis'); 1348 } 1349 xhttp.onreadystatechange = function() { 1350 if (this.readyState === 4 && this.status === 200) { 1351 asyncBlockLoaded('17da43b1a0c7cfe836b054526b5462103', 'core_partners.block.service.bandeau_partners_bis', this.responseText); 1352 } 1353 }; 1354 1355 xhttp.open("GET", "/en/ajax-block/core_partners.block.service.bandeau_partners_bis/%7B%22displayTitle%22:false%7D/149260e8741e8722a4ed4e96cb8dd31a", true); 1356 xhttp.send(); 1357 }; 1358 var myAnchor = document.getElementById('17da43b1a0c7cfe836b054526b5462103'); 1359 myAnchor.classList.add('asyncBlockOnScreen'); 1360 myAnchor.dataset.trigger = trigger; 1361 1362 })() 1363 1364 </script>
1364 1365</div> 1366 1367<div id="14ae2a158997a46e58435c5230874dd0a"> 1368 1369
1369<script> 1370 (function() { 1371 var trigger = function(){ 1372 var xhttp = new XMLHttpRequest(); 1373 if (typeof asyncBlockWillLoad !== 'undefined') { 1374 asyncBlockWillLoad('14ae2a158997a46e58435c5230874dd0a', 'core_partners.block.service.bandeau_partners_ter'); 1375 } 1376 xhttp.onreadystatechange = function() { 1377 if (this.readyState === 4 && this.status === 200) { 1378 asyncBlockLoaded('14ae2a158997a46e58435c5230874dd0a', 'core_partners.block.service.bandeau_partners_ter', this.responseText); 1379 } 1380 }; 1381 1382 xhttp.open("GET", "/en/ajax-block/core_partners.block.service.bandeau_partners_ter/%7B%22displayTitle%22:false%7D/9eea853b8a8459ade81803ac65afb000", true); 1383 xhttp.send(); 1384 }; 1385 var myAnchor = document.getElementById('14ae2a158997a46e58435c5230874dd0a'); 1386 myAnchor.classList.add('asyncBlockOnScreen'); 1387 myAnchor.dataset.trigger = trigger; 1388 1389 })() 1390 1391 </script>
1391 1392</div> 1393 1394 </div> 1395</main> 1396 1397<footer class="footer"> 1398 1399 1400<div class="footer__top"><div class="container"><div class="row"><div class="col--xs--12 col--sm--2 col--md--2 col--lg--2 footer__col footer__brand"><img alt="Logo" class="footer__brand__img lazyItem js-lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="/img/global/logo_aso.png|/img/global/[email protected]" width="150" height="56"></div><div class="col--xs--12 col--sm--8 col--md--9 col--lg--8 footer__col"><ul class="footer__nav"><li class="footer__nav__item"><a class="footer__nav__link" href="https://racecenter.lavueltafemenina.es/en" data-xtclick="footer::pre::navigation::live">Live</a></li><li class="footer__nav__item"><a class="footer__nav__link" href="#" data-xtclick="footer::pre::navigation::route">Route</a></li><li class="footer__nav__item"><a class="footer__nav__link" href="#" data-xtclick="footer::pre::navigation::teams">Teams</a></li><li class="footer__nav__item"><a class="footer__nav__link" href="/en/rankings" data-xtclick="footer::pre::navigation::rankings">Rankings</a></li><li class="footer__nav__item"><a class="footer__nav__link" href="#" data-xtclick="footer::pre::navigation::the-race">THE RACE</a></li><li class="footer__nav__item"><a class="footer__nav__link" href="#" data-xtclick="footer::pre::navigation::la-vuelta-es-mas">La Vuelta es Más</a></li><li class="footer__nav__item"><a class="footer__nav__link" href="#" data-xtclick="footer::pre::navigation::host-cities">Host Cities</a></li><li class="footer__nav__item"><a class="footer__nav__link" href="/en/home-galerie" data-xtclick="footer::pre::navigation::videos-photos">VIDEOS & PHOTOS</a></li><li class="footer__nav__item"><a class="footer__nav__link" href="https://www.lavueltafemenina.es/en/partners" data-xtclick="footer::pre::navigation::partners">Partners</a></li></ul></div></div><div class="row"><hr class="footer__separator"></div></div></div> 1401 1402 1403<div class="footer__navigation"> 1404 <div class="container"> 1405 <div class="row"> 1406 <ul class="clearfix footer__nav"> 1407 <li class="footer__nav__item"> 1408 <a class="footer__nav__link" 1409 href="mailto:[email protected]" 1410 target="_self" data-xtclick="footer::middle::navigation::contacts">Contacts</a> 1411 </li> 1412 <li class="footer__nav__item"> 1413 <a class="footer__nav__link" 1414 href="http://www.unipublic.es/" 1415 target="_self" data-xtclick="footer::middle::navigation::unipublic">Unipublic</a> 1416 </li> 1417 <li class="footer__nav__item"> 1418 <a class="footer__nav__link" 1419 href="https://registering.aso.fr/Authentification" 1420 target="_self" data-xtclick="footer::middle::navigation::accreditations">Accréditations</a> 1421 </li> 1422 <li class="footer__nav__item"> 1423 <a class="footer__nav__link" 1424 href="/en/cookies-policy" 1425 target="_self" data-xtclick="footer::middle::navigation::privacy-statement-cookie-policy">Privacy Statement & Cookie Policy</a> 1426 </li> 1427 <li class="footer__nav__item"> 1428 <a class="footer__nav__link" 1429 href="/en/request-management" 1430 target="_self" data-xtclick="footer::middle::navigation::exercise-your-rights">Exercise your rights</a> 1431 </li> 1432 </ul> 1433 </div> 1434 </div> 1435</div> 1436 1437 1438 1439<div class="footer__bottom"> 1440 <div class="container"> 1441 <div class="row"> 1442 <div class="col--xs--10 col--sm--10 footer__links"> 1443 <a href="/en/copyrights" class="footer__links__item" data-xtclick="footer::bottom::link::terms-conditions">Terms & Conditions</a> 1444 <a class="footer__links__item optanon-toggle-display" data-xtclick="footer::bottom::link::cookie-sett
1444ings" data-clicktype="A">Cookie settings</a> 1445 </div> 1446 <div class="col--xs--2 col--sm--2 footer__copyright">© ASO</div> 1447 </div> 1448 </div> 1449</div> 1450 1451 </footer> 1452 1453
1454<script src="/dist/js/scripts.jquery.6a7766d.js"></script>
1454 1455
1455<script src="/dist/js/scripts.runtime.ebcda04.js"></script>
1455 1456
1456<script src="/dist/js/scripts.vendors.90b9a54.js"></script>
vendor: 1 bytes, line 1456
1456
1457<script src="/dist/js/scripts.vendor.8e810d3.js"></script>
1457 1458 1459
1460<script src="/dist/js/scripts.main.6939bb7.js"></script>
1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 </body> 1470</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.