1<!DOCTYPE html> 2<html lang="it" style="background: #f8f5fa;"> 3 <head> 4 <meta charset="utf-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 6<meta name="theme-color" content="#f8f5fa"> 7<meta name="author" content="October CMS"> 8<meta name="generator" content="October CMS"> 9 <title>Lega Serie C - Girone A - Serie C</title> 10 <meta name="description" content="Calendario e classifica del Girone A di Serie C - Lega Pro"> 11 <meta name="title" content="Girone A - Serie C"> 12 <link rel="icon" type="image/png" sizes="512x512" href="https://www.seriec.com/themes/demo/assets/images/favicon-512.png?v=2"> 13<link rel="icon" type="image/png" sizes="192x192" href="https://www.seriec.com/themes/demo/assets/images/favicon-192.png?v=2"> 14<link rel="shortcut icon" href="/favicon.ico?v=2"> 15<link rel="apple-touch-icon" href="https://www.seriec.com/themes/demo/assets/images/favicon-192.png?v=2"> 16 17<link rel="preconnect" href="/storage/app/media" crossorigin> 18<link rel="dns-prefetch" href="/storage/app/media"> 19 20<link href="https://www.seriec.com/themes/demo/assets/css/vendor.css" rel="stylesheet"> 21<link href="https://www.seriec.com/themes/demo/assets/css/theme.css" rel="stylesheet"> 22<link href="https://www.seriec.com/themes/demo/assets/css/accessibility.css" rel="stylesheet"> 23 24 25<style> 26/* Prevent horizontal overflow on all pages */ 27html, body { 28 overflow-x: hidden !important; 29 max-width: 100vw !important; 30 background: #f8f5fa !important; /* Solid color instead of gradient - prevents striped loading effect */ 31} 32 33/* Force header and top area to match background */ 34#layout-header, 35header, 36nav, 37.navbar, 38.lega-pro-navbar, 39.navbar-container, 40.navbar-dark, 41#layout-nav, 42#layout-nav-decorations, 43.navbar-decorations { 44 background: transparent !important; 45 background-color: transparent !important; 46 background-image: none !important; 47} 48 49/* Kill any pseudo-elements that might have color */ 50#layout-header::before, 51#layout-header::after, 52header::before, 53header::after, 54nav::before, 55nav::after { 56 display: none !important; 57} 58 59/* Force all containers to respect viewport */ 60#layout-content, 61#layout-header, 62section:not(.awards-section):not(.partners-section), 63.container:not(.navbar-container) { 64 max-width: 100vw !important; 65 overflow-x: hidden !important; 66} 67 68/* Navbar container needs visible overflow for menus */ 69.navbar-container { 70 overflow: visible !important; 71} 72 73/* Footer needs visible overflow for logo that extends above */ 74#layout-footer, 75footer { 76 overflow: visible !important; 77} 78 79/* Footer logo must extend above the footer into previous section */ 80#layout-footer { 81 position: relative !important; 82 z-index: 10 !important; 83 margin-top: 0 !important; 84 padding-top: 0 !important; 85} 86 87/* Ensure footer container has visible overflow */ 88#layout-footer > footer { 89 overflow: visible !important; 90} 91 92/* Footer brand center - ensure logo is visible above and positioned correctly */ 93.footer-brand-center { 94 position: relative !important; 95 z-index: 100 !important; 96} 97 98/* Add padding to layout-content to accommodate overlapping logo */ 99#layout-content { 100 padding-bottom: 5rem !important; 101} 102 103/* Sponsors carousel section - add extra padding for logo overlap */ 104.sponsors-carousel-section { 105 padding-bottom: 6rem !important; 106} 107 108/* Ensure images don't overflow */ 109img { 110 max-width: 100%; 111 height: auto; 112} 113 114/* Responsive iframes (YouTube videos, etc.) */ 115iframe { 116 max-width: 100% !important; 117} 118 119/* Video cards and sliders mobile fix */ 120@media (max-width: 768px) { 121 .video-card, 122 .video-card-slider { 123 max-width: 100% !important; 124 width: 100% !important; 125 } 126 127 .video-thumbnail { 128 max-width: 100% !important; 129 } 130 131 .video-thumbnail img { 132 width: 100% !important; 133 height: auto !important; 134 } 135 136 /* Swiper slides mobile fix */ 137 .swiper-slide { 138 max-width: 100% !important; 139 } 140 141 /* Adjust spacing for mobile */ 142 #layout-content { 143 padding-bottom: 4rem !important; 144 } 145 146 .sponsors-carousel-section { 147 padding-bottom: 4rem !important; 148 } 149} 150 151/* Footer link tap targets - min 44px touch target */ 152@media (max-width: 768px) { 153 /* Target all footer links */ 154 #layout-footer a, 155 footer a { 156 display: inline-block; 157 min-height: 44px; 158 line-height: 44px; 159 padding: 0 8px; 160 margin: -4px -8px; 161 } 162 163 #layout-footer li, 164 footer li { 165 margin-bottom: 0.25rem !important; 166 } 167 168 /* Social icons already have 48px, don't override */ 169 .social-icon-lg { 170 min-height: auto; 171 line-height: normal; 172 padding: 0; 173 margin: 0; 174 } 175 176 /* Smaller font adjustments for mobile */ 177 .container { 178 padding-left: 1rem; 179 padding-right: 1rem; 180 } 181} 182 183/* Global minimum font size for mobile readability */ 184@media (max-width: 576px) { 185 p, span, a, li, td, th, label { 186 font-size: max(inherit, 12px) !important; 187 } 188 189 /* Smaller text that should stay small */ 190 .badge, .form-badge, small, .small, .text-muted { 191 font-size: 0.75rem !important; 192 } 193} 194 195/* Mobile tap targets for interactive elements - min 44px */ 196@media (max-width: 768px) { 197 /* Carousel/Swiper navigation arrows */ 198 .swiper-button-prev, 199 .swiper-button-next, 200 .carousel-control-prev, 201 .carousel-control-next, 202 .slick-prev, 203 .slick-next, 204 button[class*="prev"], 205 button[class*="next"], 206 .nav-arrow, 207 .carousel-arrow, 208 .matches-nav-btn { 209 min-width: 44px !important; 210 min-height: 44px !important; 211 width: 44px !important; 212 height: 44px !important; 213 display: flex !important; 214 align-items: center !important; 215 justify-content: center !important; 216 font-size: 1.5rem !important; 217 } 218 219 /* "Calendario completo", "Classifica completa" links */ 220 .btn-link, 221 a.btn-link { 222 min-height: 44px !important; 223 display: inline-flex !important; 224 align-items: center !important; 225 padding: 8px 12px !important; 226 } 227 228 /* Pagination buttons */ 229 .pagination .page-link, 230 .pagination a, 231 .pagination button, 232 .page-item a, 233 .page-numbers a, 234 [class*="pagination"] a, 235 [class*="pagination"] button { 236 min-width: 44px !important; 237 min-height: 44px !important; 238 display: inline-flex !important; 239 align-items: center !important; 240 justify-content: center !important; 241 padding: 8px 12px !important; 242 } 243 244 /* Video category/filter buttons */ 245 .video-filter button, 246 .video-categories button, 247 .filter-btn, 248 .category-btn, 249 [class*="filter"] button, 250 [class*="category"] button, 251 .btn-filter, 252 .btn-category { 253 min-height: 44px !important; 254 padding: 10px 16px !important; 255 } 256 257 /* Email and contact links */ 258 a[href^="mailto:"], 259 a[href^="tel:"], 260 .contact-link, 261 .email-link { 262 display: inline-block !important; 263 min-height: 44px !important; 264 line-height: 44px !important; 265 padding: 0 8px !important; 266 } 267 268 /* Generic small buttons and links */ 269 .btn-sm, 270 .btn-link, 271 a.btn, 272 button.btn { 273 min-height: 44px !important; 274 padding: 10px 16px !important; 275 } 276 277 /* "Vedi Tutte", "Calendario completo" type links */ 278 a[class*="view-all"], 279 a[class*="see-all"], 280 .view-all-link, 281 .more-link, 282 [class*="completo"] a,
283 a[href*="calendario"], 284 a[href*="news"] { 285 min-height: 44px !important; 286 display: inline-flex !important; 287 align-items: center !important; 288 padding: 8px 12px !important; 289 } 290 291 /* Video page tabs and buttons */ 292 .video-tab, 293 .video-all-btn { 294 min-height: 44px !important; 295 padding: 10px 16px !important; 296 display: inline-flex !important; 297 align-items: center !important; 298 } 299 300 /* Press Room "Vedi Tutte" button */ 301 .btn-view-all, 302 a[class*="view-all"], 303 .view-all, 304 .gallery-all-btn, 305 a[class*="-all-btn"] { 306 min-height: 44px !important; 307 padding: 10px 16px !important; 308 display: inline-flex !important; 309 align-items: center !important; 310 } 311 312 /* Home page "Completa" links in panoramica_gironi */ 313 .classifica-link, 314 .girone-section a[href*="classifiche"], 315 .girone-section a[href*="calendario"] { 316 min-height: 44px !important; 317 display: inline-flex !important; 318 align-items: center !important; 319 padding: 10px 12px !important; 320 } 321} 322 323/* ============================================ 324 WCAG2AA CONTRAST FIXES - Accessibility 325 Minimum contrast ratio: 4.5:1 for normal text 326 ============================================ */ 327 328/* Form badges in classifiche - green needs darker background */ 329.form-badge.form-win, 330span.form-badge.form-win, 331.classifica-table .form-win, 332.standings-table .form-win, 333[class*="classifica"] .form-win { 334 background-color: #0a7b22 !important; /* Was #28a745, contrast was 3.13:1, now ~4.5:1 */ 335 color: #ffffff !important; 336} 337 338/* VS badge in match cards */ 339.vs-badge, 340.match-vs, 341span.vs-badge { 342 color: #292929 !important; /* Was white on light bg, contrast was 2.2:1 */ 343 background-color: #ffffff !important; 344 border: 1px solid #292929 !important; 345} 346 347/* Section titles - "Prossime Partite", etc. */ 348.section-title, 349h2.section-title, 350h3.section-title, 351.girone-section .section-title { 352 color: #4a1a6b !important; /* Darker purple for better contrast */ 353} 354 355/* News metadata - dates, categories */ 356.news-date, 357.news-meta, 358.news-category, 359.article-meta, 360.post-meta, 361.meta-info, 362.news-card .text-muted, 363.news-item span[style*="color"], 364article span[style*="#888"], 365article span[style*="#999"] { 366 color: #595959 !important; /* Was ~#888/#999, now 7:1 contrast */ 367} 368 369/* Video strip categories */ 370.video-strip-cat, 371.video-category, 372.video-meta { 373 color: #595959 !important; 374} 375 376/* Winner notes in supercoppa */ 377.winner-notes, 378.champion-info, 379.trophy-details { 380 color: #0d0d0d !important; 381} 382 383/* Statistiche page gray text */ 384.stat-label, 385.stat-value, 386.statistics-text, 387[style*="color: #7f8c8d"], 388[style*="color:#7f8c8d"] { 389 color: #595959 !important; 390} 391 392/* Sede e Contatti - P.I. and footer info */ 393.pi-info, 394.vat-info, 395.company-info, 396footer [style*="color: #888"], 397footer [style*="color:#888"], 398.sede-info [style*="color"], 399[style*="color: #888888"] { 400 color: #595959 !important; 401} 402 403/* Press Room doc size and descriptions */ 404.doc-size, 405.file-size, 406.document-meta, 407.press-description, 408.press-room .text-muted { 409 color: #595959 !important; 410} 411 412/* Generic gray text overrides */ 413.text-muted, 414.text-secondary, 415small.text-muted, 416span.text-muted { 417 color: #595959 !important; 418} 419 420/* Calendar and date displays */ 421.match-date, 422.event-date, 423.calendar-date, 424.fixture-date { 425 color: #595959 !important; 426} 427 428/* Form badge other states for consistency */ 429.form-badge.form-draw, 430span.form-badge.form-draw { 431 background-color: #5a5a5a !important; /* Darker gray */ 432 color: #ffffff !important; 433} 434 435.form-badge.form-loss, 436span.form-badge.form-loss { 437 background-color: #c41e3a !important; /* Darker red */ 438 color: #ffffff !important; 439} 440 441/* Light backgrounds with light text - force dark text */ 442.card .text-light, 443.bg-light .text-muted, 444.bg-white .text-muted, 445section[style*="background: #f"] span, 446section[style*="background:#f"] span { 447 color: #595959 !important; 448} 449 450/* Inline style overrides for common gray values */ 451[style*="color: #aaa"], 452[style*="color:#aaa"], 453[style*="color: #bbb"], 454[style*="color:#bbb"], 455[style*="color: #ccc"], 456[style*="color:#ccc"], 457[style*="color: #999"], 458[style*="color:#999"], 459[style*="color: #888"], 460[style*="color:#888"], 461[style*="color: #777"],
462[style*="color:#777"], 463[style*="color: #666"], 464[style*="color:#666"] { 465 color: #595959 !important; 466} 467 468/* Girone specific section titles */ 469.girone-a .section-title, 470.girone-b .section-title, 471.girone-c .section-title, 472[class*="girone"] .section-title { 473 color: #4a1a6b !important; 474} 475 476/* Match card details */ 477.match-info, 478.match-details, 479.fixture-info { 480 color: #333333 !important; 481} 482 483/* Sponsor type labels */ 484.sponsor-type { 485 color: #4a4a4a !important; 486} 487 488/* Classifiche position colors - green and blue rankings */ 489td[style*="color: #27ae60"], 490td[style*="color:#27ae60"], 491[style*="color: #27ae60"], 492[style*="color:#27ae60"] { 493 color: #02893b !important; /* Darker green for 4.5:1 contrast */ 494} 495 496td[style*="color: #3498db"], 497td[style*="color:#3498db"], 498[style*="color: #3498db"], 499[style*="color:#3498db"] { 500 color: #177bbe !important; /* Darker blue for 4.5:1 contrast */ 501} 502 503/* Scorer rank and goals number in classifiche */ 504.scorer-rank, 505.goals-number, 506span.goals-number, 507div.scorer-rank { 508 color: #000a39 !important; /* Dark navy for contrast */ 509} 510 511/* Press Room media kit descriptions */ 512#mediakit-section p, 513.media-kit-section p, 514.press-description, 515.mediakit-description { 516 color: #333333 !important; 517} 518 519/* Pagination active state */ 520.pagination-btn.active, 521span.pagination-btn.active, 522.pagination .active, 523[class*="pagination"] .active { 524 background-color: #5B2C6F !important; 525 color: #ffffff !important; 526} 527 528/* Visually hidden - Accessibilita screen reader */ 529.visually-hidden, 530.sr-only { 531 position: absolute !important; 532 width: 1px !important; 533 height: 1px !important; 534 padding: 0 !important; 535 margin: -1px !important; 536 overflow: hidden !important; 537 clip: rect(0, 0, 0, 0) !important; 538 white-space: nowrap !important; 539 border: 0 !important; 540} 541/* Pallini outcome (form squadre) nascosti globalmente su richiesta cliente */ 542.outcome-indicator, 543.outcome-dot { 544 display: none !important; 545} 546</style>
546<script src="https://www.seriec.com/themes/demo/assets/js/accessibility.js"></script>
546 547
548<script src="https://www.seriec.com/themes/demo/assets/vendor/jquery.min.js"></script>
vendor: 1 bytes, line 548
548
549<script src="https://www.seriec.com/themes/demo/assets/vendor/bootstrap/bootstrap.min.js"></script>
549 550
551<script type="module"> 552 import PhotoSwipeLightbox from "https://www.seriec.com/themes/demo/assets/vendor/photoswipe/photoswipe-lightbox.esm.min.js"; 553 import PhotoSwipeModule from "https://www.seriec.com/themes/demo/assets/vendor/photoswipe/photoswipe.esm.min.js" 554 import PhotoSwipeDynamicCaption from "https://www.seriec.com/themes/demo/assets/vendor/photoswipe-dynamic-caption-plugin/photoswipe-dynamic-caption-plugin.esm.js"; 555 556 window.PhotoSwipeLightbox = PhotoSwipeLightbox; 557 window.PhotoSwipeModule = PhotoSwipeModule; 558 window.PhotoSwipeDynamicCaption = PhotoSwipeDynamicCaption; 559</script>
559 560
561<script src="/modules/system/assets/js/framework-extras.js"></script>
561 562<link rel="stylesheet" property="stylesheet" href="/modules/system/assets/css/framework-extras.css">
563<script src="https://www.seriec.com/themes/demo/assets/js/controls/alert-dialog.js"></script>
vendor: 1 bytes, line 563
563
564<script src="https://www.seriec.com/themes/demo/assets/js/controls/password-dialog.js"></script>
vendor: 1 bytes, line 564
564
565<script src="https://www.seriec.com/themes/demo/assets/js/controls/gallery-slider.js"></script>
vendor: 1 bytes, line 565
565
566<script src="https://www.seriec.com/themes/demo/assets/js/controls/card-slider.js"></script>
vendor: 1 bytes, line 566
566
567<script src="https://www.seriec.com/themes/demo/assets/js/app.js"></script>
567 568 569
570<script> 571document.addEventListener('DOMContentLoaded', function() { 572 document.querySelectorAll('button:not([type])').forEach(function(btn) { 573 btn.setAttribute('type', 'button'); 574 }); 575}); 576</script>
576 <style> 577 @media (max-width: 768px) { 578 /* backdrop-filter mirato (no asterisco universale: e' costosissimo) */ 579 .lega-pro-menu, 580 .award-girone-badge, 581 .award-category-badge-bottom, 582 .foto-carousel-card > div:nth-child(2), 583 #fotoGalleryModal, 584 .award-modal, 585 [style*="backdrop-filter"] { 586 backdrop-filter: none !important; 587 -webkit-backdrop-filter: none !important; 588 } 589 /* Alleggerimento box-shadow pesanti (saturano VRAM iOS) */ 590 .award-card-inner { 591 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important; 592 border: 1px solid rgba(91, 44, 111, 0.3) !important; 593 } 594 .swiper-slide-active .award-card-inner { 595 box-shadow: 0 8px 25px rgba(91, 44, 111, 0.4) !important; 596 } 597 .foto-carousel-card { 598 box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important; 599 } 600 .fotogallery-swiper .swiper-slide-active .foto-carousel-card { 601 box-shadow: 0 8px 25px rgba(91, 44, 111, 0.3) !important; 602 } 603 .sponsors-track, 604 .sponsors-track.auto-scroll, 605 .chatbot-toggle-ball, 606 .chatbot-typing, 607 .live-score, 608 [class*="pulse-live"] { 609 animation: none !important; 610 } 611 [style*="animation: blink"], 612 [style*="animation:blink"], 613 [style*="animation: pulse"], 614 [style*="animation:pulse"] { 615 animation: none !important; 616 } 617 } 618 </style> 619 </head> 620 <body class="page-gironi-girone-a internal-page"> 621 622 623 <!-- Skip Link per Accessibilita --> 624 <a href="#main-content" class="skip-link">Salta al contenuto principale</a> 625 626 <!-- Header Pagine Interne (solo burger menu) --> 627 <header id="layout-header"> 628 <!-- Header Pagine Interne - Solo Burger Menu --> 629 630 631 632<!-- Nav con solo burger menu --> 633<nav id="layout-nav" class="navbar navbar-dark lega-pro-navbar inner-page-nav" style="position: absolute; top: 0; left: 0; right: 0; z-index: 10001; background: transparent !important; pointer-events: none;"> 634 <div class="navbar-container container" style="display: flex; align-items: flex-start; justify-content: space-between; position: relative;"> 635 636 <button class="lega-pro-burger" type="button" aria-label="Menu" style="display: inline-flex; align-items: center; justify-content: center; background: transparent; border: 2px solid rgba(91, 44, 111, 0.6); border-radius: 8px; padding: 0.5rem 0.75rem; cursor: pointer; transition: all 0.3s ease; z-index: 10002; margin-top: 15px; pointer-events: auto;"> 637 <span class="navbar-toggler-icon" style="width: 24px; height: 24px; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(91, 44, 111, 0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");"></span> 638 </button> 639 640 <div style="width: 50px;"></div> 641 642 <div class="lega-pro-menu" id="legaProBurgerMenu" style="position: fixed; top: 0; left: -320px; bottom: 0; width: 320px; background: transparent; backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); transition: left 0.3s ease; z-index: 9999999; overflow-y: auto; -webkit-overflow-scrolling: touch;"> 643 <button class="lega-pro-menu-close" type="button" aria-label="Chiudi menu" style="display: inline-flex; align-items: center; justify-content: center; background: transparent; border: 2px solid rgba(255, 255, 255, 0.8); border-radius: 8px; padding: 0.5rem 0.75rem; cursor: pointer; transition: all 0.3s ease; margin: 1.5rem 0 0 1.75rem;">
644 <span style="width: 24px; height: 24px; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");"></span> 645 </button> 646 647 <div class="burger-search-box" style="padding: 1.5rem 1.5rem 0.5rem 1.5rem;"> 648 <form action="/ricerca" method="get" style="display: flex; gap: 0.5rem;"> 649 <input type="text" name="q" placeholder="Cerca..." style="flex: 1; padding: 0.6rem 1rem; border: none; border-radius: 25px; background: rgba(255,255,255,0.15); color: white; font-size: 16px; outline: none;" onfocus="this.style.background='rgba(255,255,255,0.25)'" onblur="this.style.background='rgba(255,255,255,0.15)'"> 650 <button type="submit" style="background: rgba(255,255,255,0.2); border: none; border-radius: 50%; width: 44px; height: 44px; min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s;"> 651 <svg width="20" height="20" fill="white" viewBox="0 0 16 16" style="flex-shrink: 0;"> 652 <path d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"/> 653 </svg> 654 </button> 655 </form> 656 </div> 657 658 <ul class="lega-pro-nav" style="list-style: none; padding: 1rem 1.5rem 1rem 0.75rem; margin: 0;"> 659 <li class="nav-item" style="margin-bottom: 0.15rem;"> 660 <a class="nav-link" href="/" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 661 HOME 662 </a> 663 </li> 664 665 <li class="nav-item competizioni-mobile-only"> 666 <button class="nav-link nav-parent" data-toggle="submenu" type="button" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: flex; align-items: center; justify-content: space-between; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px; width: 100%; background: transparent; border: none; cursor: pointer; text-align: left;"> 667 <span>COMPETIZIONI</span> 668 <i class="submenu-arrow" style="font-size: 0.8rem; transition: transform 0.3s ease;">▼</i> 669 </button> 670 <ul class="submenu" style="list-style: none; padding-left: 1.5rem; max-height: 0; overflow: hidden; transition: max-height 0.3s ease;"> 671 <li style="margin-bottom: 0.1rem;"> 672 <a class="nav-link" href="/date-stagionali" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 673 DATE STAGIONALI 674 </a> 675 </li> 676 <li style="margin-bottom: 0.1rem;"> 677 <a class="nav-link" href="/gironi/girone-a" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 678 GIRONE A 679 </a> 680 </li> 681 <li style="margin-bottom: 0.1rem;"> 682 <a class="nav-link" href="/gironi/girone-b" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 683 GIRONE B 684 </a> 685 </li> 686 <li style="margin-bottom: 0.1rem;"> 687 <a class="nav-link" href="/gironi/girone-c" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 688 GIRONE C 689 </a> 690 </li> 691 <li style="margin-bottom: 0.1rem;"> 692 <a class="nav-link" href="/coppa-italia/calendario" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 693 COPPA ITALIA 694 </a> 695 </li> 696 </ul> 697 </li> 698 <li class="nav-item" style="margin-bottom: 0.15rem;"> 699 <a class="nav-link" href="/news" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 700 NEWS 701 </a> 702 </li> 703 704 <li class="nav-item" style="margin-bottom: 0.15rem;"> 705 <a class="nav-link" href="/clubs" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 706 CLUB 707 </a> 708 </li> 709 710 <li class="nav-item" style="margin-bottom: 0.15rem;"> 711 <a class="nav-link" href="/classifiche" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 712 CLASSIFICHE 713 </a> 714 </li> 715 716 <li class="nav-item" style="margin-bottom: 0.15rem;"> 717 <a class="nav-link" href="/calendario" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 718 CALENDARIO 719 </a> 720 </li> 721 722 <li class="nav-item" style="margin-bottom: 0.15rem;"> 723 <button class="nav-link nav-parent" data-toggle="submenu" type="button" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: flex; align-items: center; justify-content: space-between; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px; width: 100%; background: transparent; border: none; cursor: pointer; text-align: left;">
724 <span> 725 PLAYOFF 726 </span> 727 <i class="submenu-arrow" style="font-size: 0.8rem; transition: transform 0.3s ease;">▼</i> 728 </button> 729 <ul class="submenu" style="list-style: none; padding-left: 1.5rem; max-height: 0; overflow: hidden; transition: max-height 0.3s ease;"> 730 <li style="margin-bottom: 0.1rem;"> 731 <a class="nav-link" href="/playoff-storia" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 732 STORIA 733 </a> 734 </li> 735 </ul> 736 </li> 737 738 <li class="nav-item" style="margin-bottom: 0.15rem;"> 739 <a class="nav-link" href="/statistiche" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 740 STATISTICHE 741 </a> 742 </li> 743 744 <li class="nav-item" style="margin-bottom: 0.15rem;"> 745 <button class="nav-link nav-parent" data-toggle="submenu" type="button" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: flex; align-items: center; justify-content: space-between; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px; width: 100%; background: transparent; border: none; cursor: pointer; text-align: left;"> 746 <span> 747 COPPA ITALIA SERIE C REGIONALE TRENITALIA 748 </span> 749 <i class="submenu-arrow" style="font-size: 0.8rem; transition: transform 0.3s ease;">▼</i> 750 </button> 751 <ul class="submenu" style="list-style: none; padding-left: 1.5rem; max-height: 0; overflow: hidden; transition: max-height 0.3s ease;"> 752 <li style="margin-bottom: 0.1rem;"> 753 <a class="nav-link" href="/coppa-italia/calendario" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 754 CALENDARIO 755 </a> 756 </li> 757 <li style="margin-bottom: 0.1rem;"> 758 <a class="nav-link" href="/coppa-italia/albo-oro" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 759 ALBO D'ORO 760 </a> 761 </li> 762 </ul> 763 </li> 764 765 <li class="nav-item" style="margin-bottom: 0.15rem;"> 766 <a class="nav-link" href="/supercoppa" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 767 SUPERCOPPA SERIE C REGIONALE TRENITALIA 768 </a> 769 </li> 770 771 <li class="nav-item" style="margin-bottom: 0.15rem;"> 772 <button class="nav-link nav-parent" data-toggle="submenu" type="button" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: flex; align-items: center; justify-content: space-between; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px; width: 100%; background: transparent; border: none; cursor: pointer; text-align: left;">
773 <span> 774 PRIMAVERA 775 </span> 776 <i class="submenu-arrow" style="font-size: 0.8rem; transition: transform 0.3s ease;">▼</i> 777 </button> 778 <ul class="submenu" style="list-style: none; padding-left: 1.5rem; max-height: 0; overflow: hidden; transition: max-height 0.3s ease;"> 779 <li style="margin-bottom: 0.1rem;"> 780 <a class="nav-link" href="/primavera3" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 781 PRIMAVERA 3 782 </a> 783 </li> 784 <li style="margin-bottom: 0.1rem;"> 785 <a class="nav-link" href="/primavera4" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 786 PRIMAVERA 4 787 </a> 788 </li> 789 </ul> 790 </li> 791 792 <li class="nav-item" style="margin-bottom: 0.15rem;"> 793 <a class="nav-link" href="/rappresentativa" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 794 RAPPRESENTATIVA 795 </a> 796 </li> 797 798 <li class="nav-item" style="margin-bottom: 0.15rem;"> 799 <button class="nav-link nav-parent" data-toggle="submenu" type="button" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: flex; align-items: center; justify-content: space-between; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px; width: 100%; background: transparent; border: none; cursor: pointer; text-align: left;"> 800 <span> 801 SERIE C 802 </span> 803 <i class="submenu-arrow" style="font-size: 0.8rem; transition: transform 0.3s ease;">▼</i> 804 </button> 805 <ul class="submenu" style="list-style: none; padding-left: 1.5rem; max-height: 0; overflow: hidden; transition: max-height 0.3s ease;"> 806 <li style="margin-bottom: 0.1rem;"> 807 <a class="nav-link" href="/organigramma" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 808 ORGANIGRAMMA 809 </a> 810 </li> 811 <li style="margin-bottom: 0.1rem;"> 812 <a class="nav-link" href="/partner" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 813 PARTNER 814 </a> 815 </li> 816 <li style="margin-bottom: 0.1rem;"> 817 <a class="nav-link" href="/storia" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 818 STORIA 819 </a> 820 </li> 821 <li style="margin-bottom: 0.1rem;"> 822 <a class="nav-link" href="/sede-e-contatti" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 823 SEDE E CONTATTI 824 </a> 825 </li> 826 <li style="margin-bottom: 0.1rem;"> 827 <a class="nav-link" href="/collegio-arbitrale" style="color: rgba(255,255,255,0.75); padding: 0.4rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.5px;"> 828 COLLEGIO ARBITRALE 829 </a> 830 </li> 831 </ul> 832 </li> 833 834 <li class="nav-item" style="margin-bottom: 0.15rem;"> 835 <a class="nav-link" href="/documentazione" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 836 DOCUMENTAZIONE 837 </a> 838 </li> 839 840 <li class="nav-item" style="margin-bottom: 0.15rem;"> 841 <a class="nav-link" href="/video" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 842 VIDEO 843 </a> 844 </li> 845 846 <li class="nav-item" style="margin-bottom: 0.15rem;"> 847 <a class="nav-link" href="/press-room" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 848 PRESS ROOM 849 </a> 850 </li> 851 852 <li class="nav-item" style="margin-bottom: 0.15rem;"> 853 <a class="nav-link" href="/c-sociale" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 854 C SOCIALE 855 </a> 856 </li> 857 858 <li class="nav-item" style="margin-bottom: 0.15rem;"> 859 <a class="nav-link" href="/i-campioni-della-serie-c" style="color: rgba(255,255,255,0.9); padding: 0.6rem 1rem; display: block; text-decoration: none; border-radius: 8px; transition: all 0.3s ease; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.5px;"> 860 I CAMPIONI DELLA C 861 </a> 862 </li> 863 864 </ul> 865 </div> 866 867 <div class="lega-pro-overlay" style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.7); opacity: 0; visibility: hidden; transition: all 0.3s ease; z-index: 9999998;"></div> 868 </div> 869</nav> 870 871<style> 872 /* Header pagine interne - trasparente */ 873 .inner-page-nav { 874 background: transparent !important; 875 } 876 877 /* Burger Menu Hover - viola */ 878 .inner-page-nav .lega-pro-burger:hover { 879 background: rgba(91, 44, 111, 0.1) !important; 880 border-color: #4a2359 !important; 881 } 882 883 /* Burger Menu Nav Links Hover */ 884 .lega-pro-nav .nav-link:hover { 885 background: rgba(255, 255, 255, 0.15) !important; 886 } 887 888 /* Force uniform alignment for all top-level menu items */ 889 .lega-pro-nav > .nav-item { 890 margin-left: 0 !important; 891 padding-left: 0 !important; 892 } 893 .lega-pro-nav > .nav-item > .nav-link, 894 .lega-pro-nav > .nav-item > .nav-parent { 895 margin-left: 0 !important; 896 text-indent: 0 !important; 897 padding-left: 1rem !important; 898 } 899 900 /* Active States */ 901 .lega-pro-menu.active { 902 left: 0 !important; 903 } 904 905 .lega-pro-overlay.active { 906 opacity: 1 !important; 907 visibility: visible !important; 908 } 909 910 /* Competizioni visibile solo su mobile */ 911 .competizioni-mobile-only { 912 display: none !important; 913 } 914 915 @media (max-width: 991px) { 916 .competizioni-mobile-only { 917 display: block !important; 918 } 919 } 920 921 /* Burger button più piccolo su mobile */ 922 @media (max-width: 768px) { 923 .lega-pro-burger { 924 width: 36px !important; 925 height: 36px !important; 926 min-width: 36px !important; 927 min-height: 36px !important; 928 padding: 0.3rem !important; 929 border-radius: 6px !important; 930 } 931 .lega-pro-burger .navbar-toggler-icon { 932 width: 18px !important; 933 height: 18px !important; 934 } 935 } 936 @media (max-width: 480px) { 937 .lega-pro-burger { 938 width: 32px !important; 939 height: 32px !important; 940 min-width: 32px !important; 941 min-height: 32px !important; 942 padding: 0.25rem !important; 943 border-radius: 5px !important; 944 } 945 .lega-pro-burger .navbar-toggler-icon { 946 width: 16px !important; 947 height: 16px !important; 948 } 949 } 950 951 /* Menu più compatto su mobile/tablet */ 952 @media (max-width: 768px) { 953 #legaProBurgerMenu { 954 width: 180px !important;
955 left: -180px !important; 956 } 957 #legaProBurgerMenu.active { 958 left: 0 !important; 959 } 960 #legaProBurgerMenu .lega-pro-nav { 961 padding: 0.3rem 0.5rem !important; 962 } 963 #legaProBurgerMenu .nav-item { 964 margin-bottom: 0 !important; 965 } 966 #legaProBurgerMenu .nav-link { 967 font-size: 0.65rem !important; 968 padding: 0.25rem 0.4rem !important; 969 letter-spacing: 0 !important; 970 } 971 #legaProBurgerMenu .submenu .nav-link { 972 font-size: 0.6rem !important; 973 padding: 0.2rem 0.4rem !important; 974 } 975 #legaProBurgerMenu .burger-search-box { 976 padding: 0.5rem !important; 977 } 978 #legaProBurgerMenu .burger-search-box input { 979 padding: 0.3rem 0.5rem !important; 980 font-size: 16px !important; 981 } 982 #legaProBurgerMenu .burger-search-box button { 983 width: 44px !important; 984 height: 44px !important; 985 min-width: 44px !important; 986 min-height: 44px !important; 987 } 988 #legaProBurgerMenu .lega-pro-menu-close { 989 margin: 0.5rem 0 0 0.5rem !important; 990 padding: 0.4rem !important; 991 width: 44px !important; 992 height: 44px !important; 993 min-width: 44px !important; 994 min-height: 44px !important; 995 } 996 #legaProBurgerMenu .lega-pro-menu-close span { 997 width: 18px !important; 998 height: 18px !important; 999 } 1000 } 1001 1002</style> 1003
1004<script> 1005document.addEventListener('DOMContentLoaded', function() { 1006 const burgerButton = document.querySelector('.lega-pro-burger'); 1007 const closeButton = document.querySelector('.lega-pro-menu-close'); 1008 const menu = document.querySelector('.lega-pro-menu'); 1009 const overlay = document.querySelector('.lega-pro-overlay'); 1010 1011 // Move menu and overlay to body for proper z-index stacking 1012 if (menu) document.body.appendChild(menu); 1013 if (overlay) document.body.appendChild(overlay); 1014 1015 // iOS scroll lock - save/restore scroll position 1016 var savedScrollY = 0; 1017 1018 function openMenu() { 1019 savedScrollY = window.scrollY; 1020 document.body.classList.add('menu-open'); 1021 document.body.style.position = 'fixed'; 1022 document.body.style.top = '-' + savedScrollY + 'px'; 1023 document.body.style.left = '0'; 1024 document.body.style.right = '0'; 1025 menu.classList.add('active'); 1026 overlay.classList.add('active'); 1027 burgerButton.style.opacity = '0'; 1028 burgerButton.style.pointerEvents = 'none'; 1029 } 1030 1031 function closeMenu() { 1032 document.body.classList.remove('menu-open'); 1033 document.body.style.position = ''; 1034 document.body.style.top = ''; 1035 document.body.style.left = ''; 1036 document.body.style.right = ''; 1037 window.scrollTo(0, savedScrollY); 1038 menu.classList.remove('active'); 1039 overlay.classList.remove('active'); 1040 burgerButton.style.opacity = '1'; 1041 burgerButton.style.pointerEvents = 'auto'; 1042 } 1043 1044 if (burgerButton) { 1045 burgerButton.addEventListener('click', function(e) { 1046 e.preventDefault(); 1047 e.stopPropagation(); 1048 const isOpen = menu.classList.contains('active'); 1049 if (isOpen) { 1050 closeMenu(); 1051 } else { 1052 openMenu(); 1053 } 1054 }); 1055 } 1056 1057 if (closeButton) { 1058 closeButton.addEventListener('click', function() { 1059 closeMenu(); 1060 }); 1061 } 1062 1063 if (overlay) { 1064 overlay.addEventListener('click', function() { 1065 closeMenu(); 1066 }); 1067 } 1068 1069 // Accordion submenu functionality 1070 const navParents = document.querySelectorAll('.nav-parent'); 1071 navParents.forEach(function(parent) { 1072 parent.addEventListener('click', function() { 1073 const wrapper = this.closest('.nav-parent-wrapper'); 1074 const submenu = wrapper ? wrapper.nextElementSibling : this.nextElementSibling; 1075 const arrow = this.querySelector('.submenu-arrow'); 1076 1077 if (submenu) { 1078 const isOpen = submenu.style.maxHeight && submenu.style.maxHeight !== '0px'; 1079 if (isOpen) { 1080 submenu.style.maxHeight = '0'; 1081 arrow.style.transform = 'rotate(0deg)'; 1082 } else { 1083 submenu.style.maxHeight = submenu.scrollHeight + 'px'; 1084 arrow.style.transform = 'rotate(180deg)'; 1085 } 1086 } 1087 }); 1088 }); 1089}); 1090</script>
1090 </header> 1091 1092 1093 <!-- Content --> 1094 <section id="layout-content" role="main" style="margin-bottom: 0; padding-bottom: 0;"> 1095 <a id="main-content" tabindex="-1"></a> 1096 <!-- Girone A Page --> 1097<div class="girone-page" style="background: linear-gradient(180deg, #f8f5fa 0%, #efe7f4 30%, #e3d4ec 60%, #d9c7e5 100%); min-height: 100vh; min-height: 100dvh; padding-bottom: 8rem;"> 1098 <div style="text-align: center; padding-top: 18px; margin-bottom: 1rem;"> 1099 <a href="/"> 1100 <img src="/storage/app/media/Serie_C_SKY_WIFI.png" alt="Girone A" style="max-height: 100px;"> 1101 </a> 1102 </div> 1103 1104 <div style="max-width: 1100px; margin: 0 auto; padding: 0 40px;"> 1105 <!-- Header Section --> 1106 <div class="text-center mb-4"> 1107 <h1 style="color: #5B2C6F; font-size: 2.5rem; font-weight: 800; margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 2px;"> 1108 Girone A 1109 </h1> 1110 <div style="width: 80px; height: 4px; background: linear-gradient(90deg, #D4AF37, #5B2C6F); margin: 0 auto 1rem; border-radius: 2px;"></div> 1111 <p style="color: #666; font-size: 1.1rem;">Stagione 2026/2027</p> 1112 1113 <!-- Link Documentazione - NASCOSTO --> 1114 <a href="/documentazione#girone_a" style="display: none !important; align-items: center; gap: 0.5rem; margin-top: 1rem; background: linear-gradient(135deg, #D4AF37 0%, #B8960C 100%); color: white; padding: 0.6rem 1.25rem; border-radius: 25px; font-weight: 600; font-size: 0.85rem; text-decoration: none; transition: all 0.3s; box-shadow: 0 2px 10px rgba(212, 175, 55, 0.3);"> 1115 <svg width="16" height="16" fill="currentColor" viewBox="0 0 16 16"> 1116 <path d="M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z"/> 1117 <path d="M4.5 12.5A.5.5 0 0 1 5 12h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm0-2A.5.5 0 0 1 5 10h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm0-2A.5.5 0 0 1 5 8h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm0-2A.5.5 0 0 1 5 6h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5z"/> 1118 </svg> 1119 DOCUMENTAZIONE 1120 </a> 1121 </div> 1122 </div> 1123 1124 <div style="max-width: 1100px; margin: 0 auto; padding: 0 40px; padding-bottom: 60px; background: transparent;"> 1125 <!-- Prossime Partite - Stile EFL --> 1126 1127 1128<div class="prossime-partite-efl"> 1129 <div class="efl-header"> 1130 <h2 class="efl-title">Prossime Partite</h2> 1131 <a href="/calendario" class="efl-link">Risultati e Calendario â</a> 1132 </div> 1133 1134 <div class="efl-matches-list"> 1135 <div class="efl-match-row odd"> 1136 <!-- Riga 1: Data e Ora centrata --> 1137 <div class="efl-datetime-row"> 1138 <span class="efl-date">Sab 03 Ott</span> 1139 <span class="efl-time">14:30</span> 1140 </div> 1141 1142 <!-- Riga 2: Teams --> 1143 <div class="efl-teams"> 1144 <!-- Home Team --> 1145 <div class="efl-team efl-team-home"> 1146 <span class="efl-team-name">CITTADELLA</span> 1147 <img src="/storage/app/media/2025-2026/loghi-società /cittadella.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /cittadella.png'" alt="AS Cittadella" class="efl-team-logo"> 1148 </div> 1149 1150 <!-- VS Badge --> 1151 <div class="efl-vs">VS</div> 1152 1153 <!-- Away Team --> 1154 <div class="efl-team efl-team-away"> 1155 <img src="/storage/app/media/2025-2026/loghi-società /Albinoleffe.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /Albinoleffe.png'" alt="US Albinoleffe" class="efl-team-logo"> 1156 <span class="efl-team-name">ALBINOLEFFE</span> 1157 </div> 1158 </div> 1159 </div> 1160 <div class="efl-match-row "> 1161 <!-- Riga 1: Data e Ora centrata --> 1162 <div class="efl-datetime-row"> 1163 <sp
1163an class="efl-date">Sab 03 Ott</span> 1164 <span class="efl-time">17:30</span> 1165 </div> 1166 1167 <!-- Riga 2: Teams --> 1168 <div class="efl-teams"> 1169 <!-- Home Team --> 1170 <div class="efl-team efl-team-home"> 1171 <span class="efl-team-name">ARZIGNANO V.</span> 1172 <img src="/storage/app/media/2025-2026/loghi-società /Arzignano%20Valchiampo.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /Arzignano Valchiampo.png'" alt="FC Arzignano Valchiampo" class="efl-team-logo"> 1173 </div> 1174 1175 <!-- VS Badge --> 1176 <div class="efl-vs">VS</div> 1177 1178 <!-- Away Team --> 1179 <div class="efl-team efl-team-away"> 1180 <img src="/storage/app/media/2025-2026/loghi-società /Pergolettese.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /Pergolettese.png'" alt="US Pergolettese Crema" class="efl-team-logo"> 1181 <span class="efl-team-name">PERGOLETTESE</span> 1182 </div> 1183 </div> 1184 </div> 1185 <div class="efl-match-row odd"> 1186 <!-- Riga 1: Data e Ora centrata --> 1187 <div class="efl-datetime-row"> 1188 <span class="efl-date">Sab 03 Ott</span> 1189 <span class="efl-time">20:30</span> 1190 </div> 1191 1192 <!-- Riga 2: Teams --> 1193 <div class="efl-teams"> 1194 <!-- Home Team --> 1195 <div class="efl-team efl-team-home"> 1196 <span class="efl-team-name">PRO VERCELLI</span> 1197 <img src="/storage/app/media/2025-2026/loghi-società /Pro%20Vercelli.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /Pro Vercelli.png'" alt="Pro Vercelli 1892" class="efl-team-logo"> 1198 </div> 1199 1200 <!-- VS Badge --> 1201 <div class="efl-vs">VS</div> 1202 1203 <!-- Away Team --> 1204 <div class="efl-team efl-team-away"> 1205 <img src="/storage/app/media/2025-2026/loghi-società /Carpi.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /Carpi.png'" alt="AC Carpi" class="efl-team-logo"> 1206 <span class="efl-team-name">CARPI</span> 1207 </div> 1208 </div> 1209 </div> 1210 <div class="efl-match-row "> 1211 <!-- Riga 1: Data e Ora centrata --> 1212 <div class="efl-datetime-row"> 1213 <span class="efl-date">Sab 03 Ott</span> 1214 <span class="efl-time">20:30</span> 1215 </div> 1216 1217 <!-- Riga 2: Teams --> 1218 <div class="efl-teams"> 1219 <!-- Home Team --> 1220 <div class="efl-team efl-team-home"> 1221 <span class="efl-team-name">OSPITALETTO F.</span> 1222 <img src="/storage/app/media/2025-2026/loghi-società /ospitaletto.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /ospitaletto.png'" alt="ACD Ospitaletto" class="efl-team-logo"> 1223 </div> 1224 1225 <!-- VS Badge --> 1226 <div class="efl-vs">VS</div> 1227 1228 <!-- Away Team --> 1229 <div class="efl-team efl-team-away"> 1230 <img src="/storage/app/media/2025-2026/loghi-società /Renate.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /Renate.png'" alt="AC Renate" class="efl-team-logo"> 1231 <span class="efl-team-name">RENATE</span> 1232 </div> 1233 </div> 1234 </div> 1235 <div class="efl-match-row odd"> 1236 <!-- Riga 1: Data e Ora centrata --> 1237 <div class="efl-datetime-row"> 1238 <sp
1238an class="efl-date">Sab 03 Ott</span> 1239 <span class="efl-time">20:30</span> 1240 </div> 1241 1242 <!-- Riga 2: Teams --> 1243 <div class="efl-teams"> 1244 <!-- Home Team --> 1245 <div class="efl-team efl-team-home"> 1246 <span class="efl-team-name">FOLGORE CARATESE</span> 1247 <img src="/storage/app/media/loghi-squadre/folgorecaratese-trasp-logo.png" onerror="this.onerror=null;this.src='/storage/app/media//loghi-squadre/folgorecaratese-trasp-logo.png'" alt="US Folgore Caratese" class="efl-team-logo"> 1248 </div> 1249 1250 <!-- VS Badge --> 1251 <div class="efl-vs">VS</div> 1252 1253 <!-- Away Team --> 1254 <div class="efl-team efl-team-away"> 1255 <img src="/storage/app/media/loghi-squadre/Desenzano.png" onerror="this.onerror=null;this.src='/storage/app/media//loghi-squadre/Desenzano.png'" alt="Desenzano FC" class="efl-team-logo"> 1256 <span class="efl-team-name">DESENZANO</span> 1257 </div> 1258 </div> 1259 </div> 1260 <div class="efl-match-row "> 1261 <!-- Riga 1: Data e Ora centrata --> 1262 <div class="efl-datetime-row"> 1263 <span class="efl-date">Dom 04 Ott</span> 1264 <span class="efl-time">12:30</span> 1265 </div> 1266 1267 <!-- Riga 2: Teams --> 1268 <div class="efl-teams"> 1269 <!-- Home Team --> 1270 <div class="efl-team efl-team-home"> 1271 <span class="efl-team-name">LECCO</span> 1272 <img src="/storage/app/media/2025-2026/loghi-società /lecco.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /lecco.png'" alt="Calcio Lecco 1912" class="efl-team-logo"> 1273 </div> 1274 1275 <!-- VS Badge --> 1276 <div class="efl-vs">VS</div> 1277 1278 <!-- Away Team --> 1279 <div class="efl-team efl-team-away"> 1280 <img src="/storage/app/media/2025-2026/loghi-società /unionbrescia.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /unionbrescia.png'" alt="Union Brescia" class="efl-team-logo"> 1281 <span class="efl-team-name">UNION BRESCIA</span> 1282 </div> 1283 </div> 1284 </div> 1285 <div class="efl-match-row odd"> 1286 <!-- Riga 1: Data e Ora centrata --> 1287 <div class="efl-datetime-row"> 1288 <span class="efl-date">Dom 04 Ott</span> 1289 <span class="efl-time">12:30</span> 1290 </div> 1291 1292 <!-- Riga 2: Teams --> 1293 <div class="efl-teams"> 1294 <!-- Home Team --> 1295 <div class="efl-team efl-team-home"> 1296 <span class="efl-team-name">TREVISO</span> 1297 <img src="/storage/app/media/r2-backup/STORICO/SQUADRE_PASSATE/treviso.png" onerror="this.onerror=null;this.src='/storage/app/media//r2-backup/STORICO/SQUADRE_PASSATE/treviso.png'" alt="Treviso" class="efl-team-logo"> 1298 </div> 1299 1300 <!-- VS Badge --> 1301 <div class="efl-vs">VS</div> 1302 1303 <!-- Away Team --> 1304 <div class="efl-team efl-team-away"> 1305 <img src="/storage/app/media/2025-2026/loghi-società /Giana%20Erminio.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /Giana Erminio.png'" alt="AS Giana Erminio" class="efl-team-logo"> 1306 <span class="efl-team-name">GIANA ERMINIO</span> 1307 </div> 1308 </div> 1309 </div> 1310 <div class="efl-match-row "> 1311 <!-- Riga 1: Data e Ora centrata --> 1312 <div class="efl-datetime-row"> 1313 <sp
1313an class="efl-date">Dom 04 Ott</span> 1314 <span class="efl-time">17:30</span> 1315 </div> 1316 1317 <!-- Riga 2: Teams --> 1318 <div class="efl-teams"> 1319 <!-- Home Team --> 1320 <div class="efl-team efl-team-home"> 1321 <span class="efl-team-name">DOLOMITI BELLUNESI</span> 1322 <img src="/storage/app/media/2025-2026/loghi-società /dolomitibellunesi.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /dolomitibellunesi.png'" alt="Dolomiti Bellunesi" class="efl-team-logo"> 1323 </div> 1324 1325 <!-- VS Badge --> 1326 <div class="efl-vs">VS</div> 1327 1328 <!-- Away Team --> 1329 <div class="efl-team efl-team-away"> 1330 <img src="/storage/app/media/2025-2026/loghi-società /Novara.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /Novara.png'" alt="Novara FC" class="efl-team-logo"> 1331 <span class="efl-team-name">NOVARA</span> 1332 </div> 1333 </div> 1334 </div> 1335 <div class="efl-match-row odd"> 1336 <!-- Riga 1: Data e Ora centrata --> 1337 <div class="efl-datetime-row"> 1338 <span class="efl-date">Dom 04 Ott</span> 1339 <span class="efl-time">20:30</span> 1340 </div> 1341 1342 <!-- Riga 2: Teams --> 1343 <div class="efl-teams"> 1344 <!-- Home Team --> 1345 <div class="efl-team efl-team-home"> 1346 <span class="efl-team-name">ALCIONE MILANO</span> 1347 <img src="/storage/app/media/2025-2026/loghi-società /Alcione-milano.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /Alcione-milano.png'" alt="Alcione Milano" class="efl-team-logo"> 1348 </div> 1349 1350 <!-- VS Badge --> 1351 <div class="efl-vs">VS</div> 1352 1353 <!-- Away Team --> 1354 <div class="efl-team efl-team-away"> 1355 <img src="/storage/app/media/2025-2026/loghi-società /trento.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /trento.png'" alt="AC Trento" class="efl-team-logo"> 1356 <span class="efl-team-name">TRENTO</span> 1357 </div> 1358 </div> 1359 </div> 1360 <div class="efl-match-row "> 1361 <!-- Riga 1: Data e Ora centrata --> 1362 <div class="efl-datetime-row"> 1363 <span class="efl-date">Ven 09 Ott</span> 1364 <span class="efl-time">20:30</span> 1365 </div> 1366 1367 <!-- Riga 2: Teams --> 1368 <div class="efl-teams"> 1369 <!-- Home Team --> 1370 <div class="efl-team efl-team-home"> 1371 <span class="efl-team-name">UNION BRESCIA</span> 1372 <img src="/storage/app/media/2025-2026/loghi-società /unionbrescia.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /unionbrescia.png'" alt="Union Brescia" class="efl-team-logo"> 1373 </div> 1374 1375 <!-- VS Badge --> 1376 <div class="efl-vs">VS</div> 1377 1378 <!-- Away Team --> 1379 <div class="efl-team efl-team-away"> 1380 <img src="/storage/app/media/2025-2026/loghi-società /Pro%20Vercelli.png" onerror="this.onerror=null;this.src='/storage/app/media//2025-2026/loghi-società /Pro Vercelli.png'" alt="Pro Vercelli 1892" class="efl-team-logo"> 1381 <span class="efl-team-name">PRO VERCELLI</span> 1382 </div> 1383 </div> 1384 </div> 1385 </div> 1386 </div> 1387 1388<style> 1389/* ============================================ */ 1390/* PROSSIME PARTITE - STILE EFL COMPATTO */ 1391/* ============================================ */ 1392.prossime-partite-efl { 1393 max-width: 900px; 1394 margin: 0 auto 2rem; 1395 background: transparent; 1396 border-radius: 12px; 1397 overflow: hidden; 1398} 1399 1400.efl-header { 1401 display: flex; 1402 justify-content: space-between; 1403 align-items: center; 1404 padding: 16px 20px; 1405 background: linear-gradient(135deg, #5B2C6F 0%, #7D3C98 100%); 1406} 1407 1408.efl-title { 1409 color: white; 1410 font-size: 1.25rem; 1411 font-weight: 700; 1412 margin: 0; 1413 text-transform: uppercase; 1414 letter-spacing: 1px; 1415} 1416 1417.efl-link { 1418 color: #D4AF37; 1419 text-decoration: none; 1420 font-size: 0.9rem; 1421 font-weight: 600; 1422 transition: all 0.2s ease; 1423} 1424 1425.efl-link:hover { 1426 color: white; 1427} 1428 1429.efl-matches-list { 1430 background: transparent; 1431} 1432 1433.efl-match-row { 1434 display: flex; 1435 flex-direction: column; 1436 padding: 12px 16px; 1437 background: transparent; 1438 border-bottom: 1px solid #e0e0e0; 1439 gap: 6px; 1440} 1441 1442.efl-match-row.odd { 1443 background: transparent; 1444} 1445 1446.efl-match-row:hover { 1447 background: rgba(91, 44, 111, 0.05); 1448} 1449 1450.efl-match-row:last-child { 1451 border-bottom: none; 1452} 1453 1454/* Riga Data e Ora centrata */ 1455.efl-datetime-row { 1456 display: flex; 1457 justify-content: center;
1458 align-items: center; 1459 gap: 8px; 1460 font-size: 0.75rem; 1461} 1462 1463.efl-date { 1464 font-weight: 600; 1465 color: #555; 1466} 1467 1468.efl-time { 1469 font-weight: 700; 1470 color: #5B2C6F; 1471} 1472 1473/* Squadre e VS */ 1474.efl-teams { 1475 flex: 1; 1476 display: flex; 1477 align-items: center; 1478 justify-content: center; 1479 gap: 10px; 1480 min-width: 0; 1481} 1482 1483.efl-team { 1484 display: flex; 1485 align-items: center; 1486 gap: 8px; 1487 flex: 1; 1488 min-width: 0; 1489} 1490 1491.efl-team-home { 1492 justify-content: flex-end; 1493} 1494 1495.efl-team-away { 1496 justify-content: flex-start; 1497} 1498 1499.efl-team-name { 1500 font-size: 1.1rem; 1501 font-weight: 700; 1502 color: #1a1a1a; 1503 white-space: nowrap; 1504 overflow: hidden; 1505 text-overflow: ellipsis; 1506 text-transform: uppercase; 1507} 1508 1509.efl-team-home .efl-team-name { 1510 text-align: right; 1511} 1512 1513.efl-team-logo { 1514 width: 42px; 1515 height: 42px; 1516 object-fit: contain; 1517 flex-shrink: 0; 1518} 1519 1520/* VS Badge */ 1521.efl-vs { 1522 display: flex; 1523 align-items: center; 1524 justify-content: center; 1525 background: linear-gradient(135deg, #5B2C6F 0%, #7D3C98 100%); 1526 padding: 6px 12px; 1527 border-radius: 8px; 1528 min-width: 50px; 1529 flex-shrink: 0; 1530 font-size: 0.75rem; 1531 font-weight: 700; 1532 color: white; 1533 letter-spacing: 1px; 1534} 1535 1536.efl-empty { 1537 padding: 40px 20px; 1538 text-align: center; 1539 color: #666; 1540 background: transparent; 1541} 1542 1543/* ============================================ */ 1544/* RESPONSIVE */ 1545/* ============================================ */ 1546@media (max-width: 768px) { 1547 .efl-match-row { 1548 padding: 10px 12px; 1549 gap: 5px; 1550 } 1551 1552 .efl-datetime-row { 1553 font-size: 0.7rem; 1554 gap: 6px; 1555 } 1556 1557 .efl-team-name { 1558 font-size: 0.85rem; 1559 max-width: 90px; 1560 } 1561 1562 .efl-team-logo { 1563 width: 32px; 1564 height: 32px; 1565 } 1566 1567 .efl-vs { 1568 padding: 5px 10px; 1569 min-width: 45px; 1570 font-size: 0.7rem; 1571 } 1572} 1573 1574@media (max-width: 480px) { 1575 .efl-header { 1576 padding: 12px 16px; 1577 } 1578 1579 .efl-title { 1580 font-size: 1rem; 1581 } 1582 1583 .efl-match-row { 1584 padding: 8px; 1585 gap: 4px; 1586 } 1587 1588 .efl-datetime-row { 1589 font-size: 0.65rem; 1590 gap: 4px; 1591 } 1592 1593 .efl-team-name { 1594 font-size: 0.75rem; 1595 max-width: 70px; 1596 } 1597 1598 .efl-team-logo { 1599 width: 26px; 1600 height: 26px; 1601 } 1602 1603 .efl-vs { 1604 padding: 4px 8px; 1605 min-width: 40px; 1606 font-size: 0.65rem; 1607 } 1608} 1609</style> 1610 <!-- Classifica --> 1611 <div style="margin-top: 2rem;"> 1612 <h2 style="color: #5B2C6F; font-size: 1.5rem; font-weight: 700; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 1px; text-align: center;">Classifica</h2> 1613 1614<!-- Standings Component --> 1615<div class="standings-container"> 1616 <!-- Main Content: 2-column layout --> 1617 <div class="standings-layout"> 1618 <!-- Left column: Standings Table --> 1619 <div class="standings-main"> 1620 <!-- Standings Table --> 1621 <div class="standings-table-wrapper"> 1622 <table class="standings-table"> 1623 <thead> 1624 <tr> 1625 <th class="col-rank">#</th> 1626 <th class="col-team">Squadra</th> 1627 <th class="col-stat">P</th> 1628 <th class="col-stat">V</th> 1629 <th class="col-stat">N</th> 1630 <th class="col-stat">S</th> 1631 <th class="col-stat">GF</th> 1632 <th class="col-stat">GS</th> 1633 <th class="col-stat">DR</th> 1634 <th class="col-points">Pt</th> 1635 <th class="col-form">Forma</th> 1636 </tr> 1637 </thead> 1638 <tbody> 1639 <tr class="standing-row"> 1640 <!-- Rank --> 1641 <td class="col-rank"> 1642 <div class="rank-wrapper"> 1643 <span class="rank-number">1</span>
1644 <span class="outcome-indicator" 1645 style="background-color: #02893b" title="Promozione diretta"> 1646 </span> 1647 </div> 1648 </td> 1649 1650 <!-- Team --> 1651 <td class="col-team"> 1652 <div class="team-info"> 1653 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/cittadella.png" 1654 alt="AS Cittadella" 1655 class="team-logo"> 1656 <span class="team-name">CITTADELLA</span> 1657 </div> 1658 </td> 1659 1660 <!-- Stats --> 1661 <td class="col-stat">7</td> 1662 <td class="col-stat">7</td> 1663 <td class="col-stat">0</td> 1664 <td class="col-stat">0</td> 1665 <td class="col-stat">13</td> 1666 <td class="col-stat">2</td> 1667 <td class="col-stat">11</td> 1668 1669 <!-- Points --> 1670 <td class="col-points"> 1671 <strong>21</strong> 1672 </td> 1673 1674 <!-- Form --> 1675 <td class="col-form"> 1676 <div class="form-badges"> 1677 <span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-win" title="Vittoria">V</span> 1678 </div> 1679 </td> 1680 </tr> 1681 <tr class="standing-row"> 1682 <!-- Rank --> 1683 <td class="col-rank"> 1684 <div class="rank-wrapper"> 1685 <span class="rank-number">2</span> 1686 <span class="outcome-indicator" 1687 style="background-color: #17a2b8" title="Zona Playoff"> 1688 </span> 1689 </div> 1690 </td> 1691 1692 <!-- Team --> 1693 <td class="col-team"> 1694 <div class="team-info"> 1695 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/unionbrescia.png" 1696 alt="Union Brescia" 1697 class="team-logo"> 1698 <span class="team-name">UNION BRESCIA</span> 1699 </div> 1700 </td> 1701 1702 <!-- Stats --> 1703 <td class="col-stat">7</td> 1704 <td class="col-stat">4</td> 1705 <td class="col-stat">3</td> 1706 <td class="col-stat">0</td> 1707 <td class="col-stat">12</td> 1708 <td class="col-stat">4</td> 1709 <td class="col-stat">8</td> 1710 1711 <!-- Points --> 1712 <td class="col-points"> 1713 <strong>15</strong> 1714 </td> 1715 1716 <!-- Form --> 1717 <td class="col-form"> 1718 <div class="form-badges"> 1719 <span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-win" title="Vittoria">V</span> 1720 </div> 1721 </td> 1722 </tr> 1723 <tr class="standing-row"> 1724 <!-- Rank --> 1725 <td class="col-rank"> 1726 <div class="rank-wrapper">
1727 <span class="rank-number">3</span> 1728 <span class="outcome-indicator" 1729 style="background-color: #17a2b8" title="Zona Playoff"> 1730 </span> 1731 </div> 1732 </td> 1733 1734 <!-- Team --> 1735 <td class="col-team"> 1736 <div class="team-info"> 1737 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/ospitaletto.png" 1738 alt="ACD Ospitaletto" 1739 class="team-logo"> 1740 <span class="team-name">OSPITALETTO F.</span> 1741 </div> 1742 </td> 1743 1744 <!-- Stats --> 1745 <td class="col-stat">7</td> 1746 <td class="col-stat">4</td> 1747 <td class="col-stat">2</td> 1748 <td class="col-stat">1</td> 1749 <td class="col-stat">13</td> 1750 <td class="col-stat">5</td> 1751 <td class="col-stat">8</td> 1752 1753 <!-- Points --> 1754 <td class="col-points"> 1755 <strong>14</strong> 1756 </td> 1757 1758 <!-- Form --> 1759 <td class="col-form"> 1760 <div class="form-badges"> 1761 <span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span> 1762 </div> 1763 </td> 1764 </tr> 1765 <tr class="standing-row"> 1766 <!-- Rank --> 1767 <td class="col-rank"> 1768 <div class="rank-wrapper"> 1769 <span class="rank-number">4</span> 1770 <span class="outcome-indicator" 1771 style="background-color: #17a2b8" title="Zona Playoff"> 1772 </span> 1773 </div> 1774 </td> 1775 1776 <!-- Team --> 1777 <td class="col-team"> 1778 <div class="team-info"> 1779 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/trento.png" 1780 alt="AC Trento" 1781 class="team-logo"> 1782 <span class="team-name">TRENTO</span> 1783 </div> 1784 </td> 1785 1786 <!-- Stats --> 1787 <td class="col-stat">7</td> 1788 <td class="col-stat">3</td> 1789 <td class="col-stat">4</td> 1790 <td class="col-stat">0</td> 1791 <td class="col-stat">9</td> 1792 <td class="col-stat">3</td> 1793 <td class="col-stat">6</td> 1794 1795 <!-- Points --> 1796 <td class="col-points"> 1797 <strong>13</strong> 1798 </td> 1799 1800 <!-- Form --> 1801 <td class="col-form"> 1802 <div class="form-badges"> 1803 <span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span> 1804 </div> 1805 </td> 1806 </tr> 1807 <tr class="standing-row"> 1808 <!-- Rank --> 1809 <td class="col-rank"> 1810 <div class="rank-wrapper">
1811 <span class="rank-number">5</span> 1812 <span class="outcome-indicator" 1813 style="background-color: #17a2b8" title="Zona Playoff"> 1814 </span> 1815 </div> 1816 </td> 1817 1818 <!-- Team --> 1819 <td class="col-team"> 1820 <div class="team-info"> 1821 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/Arzignano%20Valchiampo.png" 1822 alt="FC Arzignano Valchiampo" 1823 class="team-logo"> 1824 <span class="team-name">ARZIGNANO V.</span> 1825 </div> 1826 </td> 1827 1828 <!-- Stats --> 1829 <td class="col-stat">7</td> 1830 <td class="col-stat">4</td> 1831 <td class="col-stat">1</td> 1832 <td class="col-stat">2</td> 1833 <td class="col-stat">10</td> 1834 <td class="col-stat">7</td> 1835 <td class="col-stat">3</td> 1836 1837 <!-- Points --> 1838 <td class="col-points"> 1839 <strong>13</strong> 1840 </td> 1841 1842 <!-- Form --> 1843 <td class="col-form"> 1844 <div class="form-badges"> 1845 <span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-win" title="Vittoria">V</span> 1846 </div> 1847 </td> 1848 </tr> 1849 <tr class="standing-row"> 1850 <!-- Rank --> 1851 <td class="col-rank"> 1852 <div class="rank-wrapper"> 1853 <span class="rank-number">6</span> 1854 <span class="outcome-indicator" 1855 style="background-color: #17a2b8" title="Zona Playoff"> 1856 </span> 1857 </div> 1858 </td> 1859 1860 <!-- Team --> 1861 <td class="col-team"> 1862 <div class="team-info"> 1863 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/r2-backup/STORICO/SQUADRE_PASSATE/treviso.png" 1864 alt="Treviso" 1865 class="team-logo"> 1866 <span class="team-name">TREVISO</span> 1867 </div> 1868 </td> 1869 1870 <!-- Stats --> 1871 <td class="col-stat">7</td> 1872 <td class="col-stat">3</td> 1873 <td class="col-stat">3</td> 1874 <td class="col-stat">1</td> 1875 <td class="col-stat">8</td> 1876 <td class="col-stat">6</td> 1877 <td class="col-stat">2</td> 1878 1879 <!-- Points --> 1880 <td class="col-points"> 1881 <strong>12</strong> 1882 </td> 1883 1884 <!-- Form --> 1885 <td class="col-form"> 1886 <div class="form-badges"> 1887 <span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-win" title="Vittoria">V</span> 1888 </div> 1889 </td> 1890 </tr> 1891 <tr class="standing-row"> 1892 <!-- Rank --> 1893 <td class="col-rank"> 1894 <div class="rank-wrapper">
1895 <span class="rank-number">7</span> 1896 <span class="outcome-indicator" 1897 style="background-color: #17a2b8" title="Zona Playoff"> 1898 </span> 1899 </div> 1900 </td> 1901 1902 <!-- Team --> 1903 <td class="col-team"> 1904 <div class="team-info"> 1905 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/dolomitibellunesi.png" 1906 alt="Dolomiti Bellunesi" 1907 class="team-logo"> 1908 <span class="team-name">DOLOMITI BELLUNESI</span> 1909 </div> 1910 </td> 1911 1912 <!-- Stats --> 1913 <td class="col-stat">7</td> 1914 <td class="col-stat">2</td> 1915 <td class="col-stat">4</td> 1916 <td class="col-stat">1</td> 1917 <td class="col-stat">6</td> 1918 <td class="col-stat">5</td> 1919 <td class="col-stat">1</td> 1920 1921 <!-- Points --> 1922 <td class="col-points"> 1923 <strong>10</strong> 1924 </td> 1925 1926 <!-- Form --> 1927 <td class="col-form"> 1928 <div class="form-badges"> 1929 <span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span> 1930 </div> 1931 </td> 1932 </tr> 1933 <tr class="standing-row"> 1934 <!-- Rank --> 1935 <td class="col-rank"> 1936 <div class="rank-wrapper"> 1937 <span class="rank-number">8</span> 1938 <span class="outcome-indicator" 1939 style="background-color: #17a2b8" title="Zona Playoff"> 1940 </span> 1941 </div> 1942 </td> 1943 1944 <!-- Team --> 1945 <td class="col-team"> 1946 <div class="team-info"> 1947 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/Alcione-milano.png" 1948 alt="Alcione Milano" 1949 class="team-logo"> 1950 <span class="team-name">ALCIONE MILANO</span> 1951 </div> 1952 </td> 1953 1954 <!-- Stats --> 1955 <td class="col-stat">7</td> 1956 <td class="col-stat">2</td> 1957 <td class="col-stat">4</td> 1958 <td class="col-stat">1</td> 1959 <td class="col-stat">10</td> 1960 <td class="col-stat">11</td> 1961 <td class="col-stat">-1</td> 1962 1963 <!-- Points --> 1964 <td class="col-points"> 1965 <strong>10</strong> 1966 </td> 1967 1968 <!-- Form --> 1969 <td class="col-form"> 1970 <div class="form-badges"> 1971 <span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span> 1972 </div> 1973 </td> 1974 </tr> 1975 <tr class="standing-row"> 1976 <!-- Rank --> 1977 <td class="col-rank"> 1978 <div class="rank-wrapper">
1979 <span class="rank-number">9</span> 1980 <span class="outcome-indicator" 1981 style="background-color: #17a2b8" title="Zona Playoff"> 1982 </span> 1983 </div> 1984 </td> 1985 1986 <!-- Team --> 1987 <td class="col-team"> 1988 <div class="team-info"> 1989 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/Albinoleffe.png" 1990 alt="US Albinoleffe" 1991 class="team-logo"> 1992 <span class="team-name">ALBINOLEFFE</span> 1993 </div> 1994 </td> 1995 1996 <!-- Stats --> 1997 <td class="col-stat">7</td> 1998 <td class="col-stat">2</td> 1999 <td class="col-stat">3</td> 2000 <td class="col-stat">2</td> 2001 <td class="col-stat">10</td> 2002 <td class="col-stat">9</td> 2003 <td class="col-stat">1</td> 2004 2005 <!-- Points --> 2006 <td class="col-points"> 2007 <strong>9</strong> 2008 </td> 2009 2010 <!-- Form --> 2011 <td class="col-form"> 2012 <div class="form-badges"> 2013 <span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span> 2014 </div> 2015 </td> 2016 </tr> 2017 <tr class="standing-row"> 2018 <!-- Rank --> 2019 <td class="col-rank"> 2020 <div class="rank-wrapper"> 2021 <span class="rank-number">10</span> 2022 <span class="outcome-indicator" 2023 style="background-color: #17a2b8" title="Zona Playoff"> 2024 </span> 2025 </div> 2026 </td> 2027 2028 <!-- Team --> 2029 <td class="col-team"> 2030 <div class="team-info"> 2031 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/Lumezzane.png" 2032 alt="AC Lumezzane" 2033 class="team-logo"> 2034 <span class="team-name">LUMEZZANE</span> 2035 </div> 2036 </td> 2037 2038 <!-- Stats --> 2039 <td class="col-stat">7</td> 2040 <td class="col-stat">2</td> 2041 <td class="col-stat">2</td> 2042 <td class="col-stat">3</td> 2043 <td class="col-stat">7</td> 2044 <td class="col-stat">9</td> 2045 <td class="col-stat">-2</td> 2046 2047 <!-- Points --> 2048 <td class="col-points"> 2049 <strong>8</strong> 2050 </td> 2051 2052 <!-- Form --> 2053 <td class="col-form"> 2054 <div class="form-badges"> 2055 <span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-win" title="Vittoria">V</span> 2056 </div> 2057 </td> 2058 </tr> 2059 <tr class="standing-row"> 2060 <!-- Rank --> 2061 <td class="col-rank"> 2062 <div class="rank-wrapper">
2063 <span class="rank-number">11</span> 2064 <span class="outcome-indicator" 2065 > 2066 </span> 2067 </div> 2068 </td> 2069 2070 <!-- Team --> 2071 <td class="col-team"> 2072 <div class="team-info"> 2073 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/lecco.png" 2074 alt="Calcio Lecco 1912" 2075 class="team-logo"> 2076 <span class="team-name">LECCO</span> 2077 </div> 2078 </td> 2079 2080 <!-- Stats --> 2081 <td class="col-stat">7</td> 2082 <td class="col-stat">2</td> 2083 <td class="col-stat">2</td> 2084 <td class="col-stat">3</td> 2085 <td class="col-stat">4</td> 2086 <td class="col-stat">6</td> 2087 <td class="col-stat">-2</td> 2088 2089 <!-- Points --> 2090 <td class="col-points"> 2091 <strong>8</strong> 2092 </td> 2093 2094 <!-- Form --> 2095 <td class="col-form"> 2096 <div class="form-badges"> 2097 <span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-loss" title="Sconfitta">S</span> 2098 </div> 2099 </td> 2100 </tr> 2101 <tr class="standing-row"> 2102 <!-- Rank --> 2103 <td class="col-rank"> 2104 <div class="rank-wrapper"> 2105 <span class="rank-number">12</span> 2106 <span class="outcome-indicator" 2107 > 2108 </span> 2109 </div> 2110 </td> 2111 2112 <!-- Team --> 2113 <td class="col-team"> 2114 <div class="team-info"> 2115 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/loghi-squadre/Desenzano.png" 2116 alt="Desenzano FC" 2117 class="team-logo"> 2118 <span class="team-name">DESENZANO</span> 2119 </div> 2120 </td> 2121 2122 <!-- Stats --> 2123 <td class="col-stat">7</td> 2124 <td class="col-stat">1</td> 2125 <td class="col-stat">4</td> 2126 <td class="col-stat">2</td> 2127 <td class="col-stat">4</td> 2128 <td class="col-stat">6</td> 2129 <td class="col-stat">-2</td> 2130 2131 <!-- Points --> 2132 <td class="col-points"> 2133 <strong>7</strong> 2134 </td> 2135 2136 <!-- Form --> 2137 <td class="col-form"> 2138 <div class="form-badges"> 2139 <span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span> 2140 </div> 2141 </td> 2142 </tr> 2143 <tr class="standing-row"> 2144 <!-- Rank --> 2145 <td class="col-rank"> 2146 <div class="rank-wrapper">
2147 <span class="rank-number">13</span> 2148 <span class="outcome-indicator" 2149 > 2150 </span> 2151 </div> 2152 </td> 2153 2154 <!-- Team --> 2155 <td class="col-team"> 2156 <div class="team-info"> 2157 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/Pergolettese.png" 2158 alt="US Pergolettese Crema" 2159 class="team-logo"> 2160 <span class="team-name">PERGOLETTESE</span> 2161 </div> 2162 </td> 2163 2164 <!-- Stats --> 2165 <td class="col-stat">7</td> 2166 <td class="col-stat">1</td> 2167 <td class="col-stat">4</td> 2168 <td class="col-stat">2</td> 2169 <td class="col-stat">1</td> 2170 <td class="col-stat">3</td> 2171 <td class="col-stat">-2</td> 2172 2173 <!-- Points --> 2174 <td class="col-points"> 2175 <strong>7</strong> 2176 </td> 2177 2178 <!-- Form --> 2179 <td class="col-form"> 2180 <div class="form-badges"> 2181 <span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span> 2182 </div> 2183 </td> 2184 </tr> 2185 <tr class="standing-row"> 2186 <!-- Rank --> 2187 <td class="col-rank"> 2188 <div class="rank-wrapper"> 2189 <span class="rank-number">14</span> 2190 <span class="outcome-indicator" 2191 > 2192 </span> 2193 </div> 2194 </td> 2195 2196 <!-- Team --> 2197 <td class="col-team"> 2198 <div class="team-info"> 2199 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/loghi-squadre/folgorecaratese-trasp-logo.png" 2200 alt="US Folgore Caratese" 2201 class="team-logo"> 2202 <span class="team-name">FOLGORE CARATESE</span> 2203 </div> 2204 </td> 2205 2206 <!-- Stats --> 2207 <td class="col-stat">7</td> 2208 <td class="col-stat">1</td> 2209 <td class="col-stat">3</td> 2210 <td class="col-stat">3</td> 2211 <td class="col-stat">8</td> 2212 <td class="col-stat">10</td> 2213 <td class="col-stat">-2</td> 2214 2215 <!-- Points --> 2216 <td class="col-points"> 2217 <strong>6</strong> 2218 </td> 2219 2220 <!-- Form --> 2221 <td class="col-form"> 2222 <div class="form-badges"> 2223 <span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span> 2224 </div> 2225 </td> 2226 </tr> 2227 <tr class="standing-row"> 2228 <!-- Rank --> 2229 <td class="col-rank"> 2230 <div class="rank-wrapper">
2231 <span class="rank-number">15</span> 2232 <span class="outcome-indicator" 2233 > 2234 </span> 2235 </div> 2236 </td> 2237 2238 <!-- Team --> 2239 <td class="col-team"> 2240 <div class="team-info"> 2241 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/Novara.png" 2242 alt="Novara FC" 2243 class="team-logo"> 2244 <span class="team-name">NOVARA</span> 2245 </div> 2246 </td> 2247 2248 <!-- Stats --> 2249 <td class="col-stat">7</td> 2250 <td class="col-stat">1</td> 2251 <td class="col-stat">3</td> 2252 <td class="col-stat">3</td> 2253 <td class="col-stat">6</td> 2254 <td class="col-stat">9</td> 2255 <td class="col-stat">-3</td> 2256 2257 <!-- Points --> 2258 <td class="col-points"> 2259 <strong>6</strong> 2260 </td> 2261 2262 <!-- Form --> 2263 <td class="col-form"> 2264 <div class="form-badges"> 2265 <span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span> 2266 </div> 2267 </td> 2268 </tr> 2269 <tr class="standing-row"> 2270 <!-- Rank --> 2271 <td class="col-rank"> 2272 <div class="rank-wrapper"> 2273 <span class="rank-number">16</span> 2274 <span class="outcome-indicator" 2275 style="background-color: #ffc107" title="Zona Playout"> 2276 </span> 2277 </div> 2278 </td> 2279 2280 <!-- Team --> 2281 <td class="col-team"> 2282 <div class="team-info"> 2283 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/Carpi.png" 2284 alt="AC Carpi" 2285 class="team-logo"> 2286 <span class="team-name">CARPI</span> 2287 </div> 2288 </td> 2289 2290 <!-- Stats --> 2291 <td class="col-stat">7</td> 2292 <td class="col-stat">1</td> 2293 <td class="col-stat">3</td> 2294 <td class="col-stat">3</td> 2295 <td class="col-stat">10</td> 2296 <td class="col-stat">15</td> 2297 <td class="col-stat">-5</td> 2298 2299 <!-- Points --> 2300 <td class="col-points"> 2301 <strong>6</strong> 2302 </td> 2303 2304 <!-- Form --> 2305 <td class="col-form"> 2306 <div class="form-badges"> 2307 <span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-draw" title="Pareggio">P</span> 2308 </div> 2309 </td> 2310 </tr> 2311 <tr class="standing-row"> 2312 <!-- Rank --> 2313 <td class="col-rank"> 2314 <div class="rank-wrapper">
2315 <span class="rank-number">17</span> 2316 <span class="outcome-indicator" 2317 style="background-color: #ffc107" title="Zona Playout"> 2318 </span> 2319 </div> 2320 </td> 2321 2322 <!-- Team --> 2323 <td class="col-team"> 2324 <div class="team-info"> 2325 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/Pro%20Vercelli.png" 2326 alt="Pro Vercelli 1892" 2327 class="team-logo"> 2328 <span class="team-name">PRO VERCELLI</span> 2329 </div> 2330 </td> 2331 2332 <!-- Stats --> 2333 <td class="col-stat">7</td> 2334 <td class="col-stat">1</td> 2335 <td class="col-stat">3</td> 2336 <td class="col-stat">3</td> 2337 <td class="col-stat">6</td> 2338 <td class="col-stat">11</td> 2339 <td class="col-stat">-5</td> 2340 2341 <!-- Points --> 2342 <td class="col-points"> 2343 <strong>6</strong> 2344 </td> 2345 2346 <!-- Form --> 2347 <td class="col-form"> 2348 <div class="form-badges"> 2349 <span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-win" title="Vittoria">V</span><span class="form-badge form-loss" title="Sconfitta">S</span> 2350 </div> 2351 </td> 2352 </tr> 2353 <tr class="standing-row"> 2354 <!-- Rank --> 2355 <td class="col-rank"> 2356 <div class="rank-wrapper"> 2357 <span class="rank-number">18</span> 2358 <span class="outcome-indicator" 2359 style="background-color: #ffc107" title="Zona Playout"> 2360 </span> 2361 </div> 2362 </td> 2363 2364 <!-- Team --> 2365 <td class="col-team"> 2366 <div class="team-info"> 2367 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/Juventus%20Next%20Gen.png" 2368 alt="Juventus Next Gen" 2369 class="team-logo"> 2370 <span class="team-name">JUVENTUS NEXT GEN</span> 2371 </div> 2372 </td> 2373 2374 <!-- Stats --> 2375 <td class="col-stat">7</td> 2376 <td class="col-stat">1</td> 2377 <td class="col-stat">3</td> 2378 <td class="col-stat">3</td> 2379 <td class="col-stat">7</td> 2380 <td class="col-stat">13</td> 2381 <td class="col-stat">-6</td> 2382 2383 <!-- Points --> 2384 <td class="col-points"> 2385 <strong>6</strong> 2386 </td> 2387 2388 <!-- Form --> 2389 <td class="col-form"> 2390 <div class="form-badges"> 2391 <span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span> 2392 </div> 2393 </td> 2394 </tr> 2395 <tr class="standing-row"> 2396 <!-- Rank --> 2397 <td class="col-rank"> 2398 <div class="rank-wrapper">
2399 <span class="rank-number">19</span> 2400 <span class="outcome-indicator" 2401 style="background-color: #ffc107" title="Zona Playout"> 2402 </span> 2403 </div> 2404 </td> 2405 2406 <!-- Team --> 2407 <td class="col-team"> 2408 <div class="team-info"> 2409 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/Giana%20Erminio.png" 2410 alt="AS Giana Erminio" 2411 class="team-logo"> 2412 <span class="team-name">GIANA ERMINIO</span> 2413 </div> 2414 </td> 2415 2416 <!-- Stats --> 2417 <td class="col-stat">7</td> 2418 <td class="col-stat">0</td> 2419 <td class="col-stat">3</td> 2420 <td class="col-stat">4</td> 2421 <td class="col-stat">6</td> 2422 <td class="col-stat">10</td> 2423 <td class="col-stat">-4</td> 2424 2425 <!-- Points --> 2426 <td class="col-points"> 2427 <strong>3</strong> 2428 </td> 2429 2430 <!-- Form --> 2431 <td class="col-form"> 2432 <div class="form-badges"> 2433 <span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-loss" title="Sconfitta">S</span> 2434 </div> 2435 </td> 2436 </tr> 2437 <tr class="standing-row"> 2438 <!-- Rank --> 2439 <td class="col-rank"> 2440 <div class="rank-wrapper"> 2441 <span class="rank-number">20</span> 2442 <span class="outcome-indicator" 2443 style="background-color: #dc3545" title="Retrocessione"> 2444 </span> 2445 </div> 2446 </td> 2447 2448 <!-- Team --> 2449 <td class="col-team"> 2450 <div class="team-info"> 2451 <img loading="lazy" decoding="async" src="https://www.seriec.com/storage/app/media/2025-2026/loghi-societ%C3%A0/Renate.png" 2452 alt="AC Renate" 2453 class="team-logo"> 2454 <span class="team-name">RENATE</span> 2455 </div> 2456 </td> 2457 2458 <!-- Stats --> 2459 <td class="col-stat">7</td> 2460 <td class="col-stat">0</td> 2461 <td class="col-stat">2</td> 2462 <td class="col-stat">5</td> 2463 <td class="col-stat">5</td> 2464 <td class="col-stat">11</td> 2465 <td class="col-stat">-6</td> 2466 2467 <!-- Points --> 2468 <td class="col-points"> 2469 <strong>2</strong> 2470 </td> 2471 2472 <!-- Form --> 2473 <td class="col-form"> 2474 <div class="form-badges"> 2475 <span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-draw" title="Pareggio">P</span><span class="form-badge form-loss" title="Sconfitta">S</span><span class="form-badge form-loss" title="Sconfitta">S</span> 2476 </div> 2477 </td> 2478 </tr> 2479 </tbody> 2480 </table> 2481 </div> 2482 2483 <!-- Legend --> 2484 <div class="standings-legend"> 2485 <h4>Legenda</h4> 2486 <div class="legend-items"> 2487 <div class="legend-item">
2488 <span class="legend-color" style="background-color: #28a745;"></span> 2489 <span>Promozione diretta</span> 2490 </div> 2491 <div class="legend-item"> 2492 <span class="legend-color" style="background-color: #17a2b8;"></span> 2493 <span>Playoff promozione</span> 2494 </div> 2495 <div class="legend-item"> 2496 <span class="legend-color" style="background-color: #ffc107;"></span> 2497 <span>Playout retrocessione</span> 2498 </div> 2499 <div class="legend-item"> 2500 <span class="legend-color" style="background-color: #dc3545;"></span> 2501 <span>Retrocessione diretta</span> 2502 </div> 2503 </div> 2504 </div> 2505 2506 2507 </div> 2508 <!-- End standings-main --> 2509 2510 <!-- Right column: Sidebar Widgets --> 2511 <div class="standings-sidebar"> 2512 <!-- Widget: Top Scorers (first 5 visible, rest expandable) --> 2513 <div class="widget widget-scorers"> 2514 <h3 class="widget-title">ð Classifica Marcatori</h3> 2515 <div class="scorers-list"> 2516 <div class="scorer-item "> 2517 <div class="scorer-rank">#1</div> 2518 <div class="scorer-info"> 2519 <div class="scorer-name">Mandelli, Andrea</div> 2520 <div class="scorer-team">ALBINOLEFFE</div> 2521 </div> 2522 <div class="scorer-goals"> 2523 <span class="goals-number">3</span> 2524 <span class="goals-icon">â½</span> 2525 </div> 2526 </div> 2527 <div class="scorer-item "> 2528 <div class="scorer-rank">#2</div> 2529 <div class="scorer-info"> 2530 <div class="scorer-name">Nanni, Nicola</div> 2531 <div class="scorer-team">ARZIGNANO V.</div> 2532 </div> 2533 <div class="scorer-goals"> 2534 <span class="goals-number">3</span> 2535 <span class="goals-icon">â½</span> 2536 </div> 2537 </div> 2538 <div class="scorer-item "> 2539 <div class="scorer-rank">#3</div> 2540 <div class="scorer-info"> 2541 <div class="scorer-name">Anatriello, Gennaro</div> 2542 <div class="scorer-team">LUMEZZANE</div> 2543 </div> 2544 <div class="scorer-goals"> 2545 <span class="goals-number">3</span> 2546 <span class="goals-icon">â½</span> 2547 </div> 2548 </div> 2549 <div class="scorer-item "> 2550 <div class="scorer-rank">#4</div> 2551 <div class="scorer-info"> 2552 <div class="scorer-name">D Amico, Felice</div> 2553 <div class="scorer-team">FOLGORE CARATESE</div> 2554 </div> 2555 <div class="scorer-goals"> 2556 <span class="goals-number">3</span> 2557 <span class="goals-icon">â½</span> 2558 </div> 2559 </div> 2560 <div class="scorer-item "> 2561 <div class="scorer-rank">#5</div> 2562 <div class="scorer-info"> 2563 <div class="scorer-name">Molina, Juan Ignacio</div> 2564 <div class="scorer-team">TRENTO</div> 2565 </div> 2566 <div class="scorer-goals">
2567 <span class="goals-number">3</span> 2568 <span class="goals-icon">â½</span> 2569 </div> 2570 </div> 2571 <div class="scorer-item scorer-hidden"> 2572 <div class="scorer-rank">#6</div> 2573 <div class="scorer-info"> 2574 <div class="scorer-name">Stefanoni, Davide</div> 2575 <div class="scorer-team">OSPITALETTO F.</div> 2576 </div> 2577 <div class="scorer-goals"> 2578 <span class="goals-number">3</span> 2579 <span class="goals-icon">â½</span> 2580 </div> 2581 </div> 2582 <div class="scorer-item scorer-hidden"> 2583 <div class="scorer-rank">#7</div> 2584 <div class="scorer-info"> 2585 <div class="scorer-name">Paolucci, Lorenzo</div> 2586 <div class="scorer-team">CITTADELLA</div> 2587 </div> 2588 <div class="scorer-goals"> 2589 <span class="goals-number">3</span> 2590 <span class="goals-icon">â½</span> 2591 </div> 2592 </div> 2593 <div class="scorer-item scorer-hidden"> 2594 <div class="scorer-rank">#8</div> 2595 <div class="scorer-info"> 2596 <div class="scorer-name">Casarini, Federico</div> 2597 <div class="scorer-team">CARPI</div> 2598 </div> 2599 <div class="scorer-goals"> 2600 <span class="goals-number">3</span> 2601 <span class="goals-icon">â½</span> 2602 </div> 2603 </div> 2604 <div class="scorer-item scorer-hidden"> 2605 <div class="scorer-rank">#9</div> 2606 <div class="scorer-info"> 2607 <div class="scorer-name">Morselli, Fabio</div> 2608 <div class="scorer-team">ALCIONE MILANO</div> 2609 </div> 2610 <div class="scorer-goals"> 2611 <span class="goals-number">3</span> 2612 <span class="goals-icon">â½</span> 2613 </div> 2614 </div> 2615 <div class="scorer-item scorer-hidden"> 2616 <div class="scorer-rank">#10</div> 2617 <div class="scorer-info"> 2618 <div class="scorer-name">De Paoli, Andrea</div> 2619 <div class="scorer-team">ALBINOLEFFE</div> 2620 </div> 2621 <div class="scorer-goals"> 2622 <span class="goals-number">2</span> 2623 <span class="goals-icon">â½</span> 2624 </div> 2625 </div> 2626 </div> 2627 <button type="button" class="widget-more-link" onclick="toggleScorers(this)">Vedi di più â</button> 2628 </div> 2629 2630 <!-- Widget: Girone Stats --> 2631 <div class="widget widget-stats"> 2632 <h3 class="widget-title">ð Statistiche Girone</h3> 2633 <div class="stats-list"> 2634 <div class="stat-item"> 2635 <div class="stat-label">
2635Media gol/partita</div> 2636 <div class="stat-value">2.21</div> 2637 </div> 2638 <div class="stat-item"> 2639 <div class="stat-label">Partite giocate</div> 2640 <div class="stat-value">70/380</div> 2641 </div> 2642 <div class="stat-item"> 2643 <div class="stat-label">ð¯ Miglior attacco</div> 2644 <div class="stat-value"> 2645 AS Cittadella 2646 <small>(13 gol)</small> 2647 </div> 2648 </div> 2649 <div class="stat-item"> 2650 <div class="stat-label">ð¡ï¸ Miglior difesa</div> 2651 <div class="stat-value"> 2652 AS Cittadella 2653 <small>(2 subiti)</small> 2654 </div> 2655 </div> 2656 </div> 2657 </div> 2658 </div> 2659 <!-- End standings-sidebar --> 2660 </div> 2661 <!-- End standings-layout --> 2662</div> 2663 2664<!-- Standings Styles --> 2665<style> 2666.standings-container { 2667 max-width: 900px; 2668 margin: 0 auto; 2669 padding: 0; 2670} 2671 2672/* Single Column Layout - più compatto */ 2673.standings-layout { 2674 display: flex; 2675 flex-direction: column; 2676 gap: 20px; 2677} 2678 2679.standings-main { 2680 min-width: 0; /* Prevent grid overflow */ 2681} 2682 2683.standings-sidebar { 2684 display: grid; 2685 grid-template-columns: repeat(2, 1fr); 2686 gap: 20px; 2687} 2688 2689/* Standings Table */ 2690.standings-table-wrapper { 2691 overflow-x: auto; 2692 -webkit-overflow-scrolling: touch; 2693 background: transparent; 2694 border-radius: 8px; 2695 position: relative; 2696} 2697 2698.standings-table { 2699 width: 100%; 2700 border-collapse: collapse; 2701} 2702 2703.standings-table thead { 2704 background: transparent; 2705 border-bottom: 2px solid #e0e0e0; 2706} 2707 2708.standings-table th { 2709 padding: 12px 8px; 2710 font-size: 0.85rem; 2711 font-weight: 600; 2712 text-transform: uppercase; 2713 color: #5B2C6F; 2714 text-align: center; 2715} 2716 2717.standings-table th.col-team { 2718 text-align: left; 2719} 2720 2721.standings-table td { 2722 padding: 12px 8px; 2723 font-size: 0.9rem; 2724 color: #212529; 2725 border-bottom: 1px solid #e0e0e0; 2726 text-align: center; 2727} 2728 2729.standing-row:hover { 2730 background-color: #f5f5f5; 2731} 2732 2733/* Rank Column */ 2734.col-rank { 2735 width: 50px; 2736} 2737 2738.rank-wrapper { 2739 display: flex; 2740 align-items: center; 2741 justify-content: center; 2742 gap: 6px; 2743} 2744 2745.rank-number { 2746 font-weight: 600; 2747 font-size: 1rem; 2748 display: inline-block; 2749 min-width: 1.4em; 2750 text-align: right; 2751 font-variant-numeric: tabular-nums; 2752} 2753 2754.outcome-indicator { 2755 width: 8px; 2756 height: 8px; 2757 border-radius: 50%; 2758 display: inline-block; 2759 background-color: transparent; 2760 flex-shrink: 0; 2761} 2762 2763/* Team Column */ 2764.col-team { 2765 min-width: 200px; 2766 text-align: left !important; 2767} 2768 2769.team-info { 2770 display: flex; 2771 align-items: center; 2772 gap: 12px; 2773} 2774 2775.team-logo { 2776 width: 42px; 2777 height: 42px; 2778 object-fit: contain; 2779} 2780 2781.team-name { 2782 font-weight: 700; 2783 font-size: 1.1rem; 2784 color: #1a1a1a; 2785 text-transform: uppercase; 2786} 2787 2788/* Stats Columns */ 2789.col-stat { 2790 width: 40px; 2791 font-size: 0.85rem; 2792} 2793 2794.col-points { 2795 width: 50px; 2796 background-color: #f5f5f5; 2797} 2798 2799.col-points strong { 2800 font-size: 1.1rem; 2801 color: #000; 2802} 2803 2804/* Form Column */ 2805.col-form { 2806 min-width: 120px; 2807} 2808 2809.form-badges { 2810 display: flex; 2811 justify-content: center; 2812 gap: 3px; 2813} 2814 2815.form-badge { 2816 display: inline-block; 2817 width: 20px; 2818 height: 20px; 2819 line-height: 20px; 2820 text-align: center; 2821 border-radius: 3px; 2822 font-size: 0.7rem; 2823 font-weight: 600; 2824 color: white; 2825} 2826 2827.form-win { 2828 background-color: #28a745; 2829} 2830 2831.form-draw { 2832 background-color: #ffc107; 2833 color: #333; 2834} 2835 2836.form-loss { 2837 background-color: #dc3545; 2838} 2839 2840/* Legend */ 2841.standings-legend { 2842 margin-top: 30px; 2843 padding: 20px; 2844 background: transparent; 2845 border-radius: 8px; 2846} 2847 2848.standings-legend h4 { 2849 margin: 0 0 15px 0; 2850 font-size: 1rem; 2851 font-weight: 600; 2852 color: #5B2C6F; 2853} 2854 2855.legend-items { 2856 display: flex; 2857 flex-wrap: wrap; 2858 gap: 20px; 2859} 2860 2861.legend-item { 2862 display: flex; 2863 align-items: center; 2864 gap: 8px; 2865 font-size: 0.85rem; 2866 color: #333; 2867} 2868 2869.legend-color { 2870 width: 16px; 2871 height: 16px; 2872 border-radius: 3px; 2873 display: inline-block; 2874} 2875 2876/* Empty State */ 2877.standings-empty { 2878 text-align: center; 2879 padding: 60px 20px; 2880 color: #666; 2881} 2882 2883/* Sidebar Widgets */ 2884.widget { 2885 background: transparent; 2886 border-radius: 8px; 2887 padding: 20px 0; 2888 -webkit-font-smoothing: antialiased; 2889 -moz-osx-font-smoothing: grayscale; 2890 text-rendering: optimizeLegibility; 2891} 2892 2893.widget-title { 2894 font-size: 1.1rem; 2895 font-weight: 700; 2896 color: #5B2C6F; 2897 margin: 0 0 15px 0; 2898 padding-bottom: 10px; 2899 border-bottom: 2px solid #e0e0e0; 2900} 2901 2902/* Top Scorers Widget */ 2903.scorers-list { 2904 display: flex; 2905 flex-direction: column; 2906 gap: 12px; 2907} 2908 2909.scorer-item { 2910 display: flex; 2911 align-items: center; 2912 gap: 12px; 2913 padding: 10px; 2914 border-radius: 6px; 2915 background: transparent; 2916 border-bottom: 1px solid #e0e0e0; 2917 transition: background 0.2s; 2918} 2919 2920.scorer-item:last-child { 2921 border-bottom: none; 2922} 2923 2924.scorer-item:hover { 2925 background: #f5f5f5; 2926} 2927 2928.scorer-rank { 2929 font-size: 1rem; 2930 font-weight: 700; 2931 color: #000; 2932 min-width: 30px; 2933} 2934 2935.scorer-info { 2936 flex: 1; 2937 min-width: 0; 2938} 2939 2940.scorer-name { 2941 font-size: 1.1rem !important; 2942 font-weight: 700 !important; 2943 color: #000; 2944 white-space: nowrap; 2945 overflow: hidden; 2946 text-overflow: ellipsis; 2947 text-transform: capitalize; 2948} 2949 2950.scorer-team { 2951 font-size: 0.75rem; 2952 font-weight: 700; 2953 color: #000; 2954 margin-top: 2px; 2955} 2956 2957.scorer-goals { 2958 display: flex; 2959 align-items: center; 2960 gap: 4px; 2961} 2962 2963.goals-number { 2964 font-size: 1.1rem; 2965 font-weight: 700; 2966 color: #000; 2967} 2968 2969.goals-icon { 2970 font-size: 1rem; 2971} 2972 2973/* Widget More Link */ 2974.widget-more-link { 2975 display: block; 2976 width: 100%; 2977 text-align: center; 2978 padding: 12px; 2979 margin-top: 12px; 2980 color: #5B2C6F; 2981 font-weight: 600; 2982 font-size: 0.9rem; 2983 text-decoration: none; 2984 border: none; 2985 border-top: 1px solid #eee; 2986 background: transparent; 2987 cursor: pointer; 2988 transition: all 0.2s; 2989} 2990 2991.widget-more-link:hover { 2992 color: #7D3C98; 2993 background: #f8f5fa; 2994} 2995 2996/* Hidden scorers */ 2997.scorer-hidden { 2998 display: none; 2999} 3000 3001.scorers-list.expanded .scorer-hidden { 3002 display: flex; 3003} 3004 3005/* Girone Stats Widget */ 3006.stats-list { 3007 display: flex; 3008 flex-direction: column; 3009 gap: 15px; 3010 color: #000 !important; 3011} 3012 3013.stats-list * { 3014 color: #000 !important; 3015} 3016 3017.stat-item { 3018 padding-bottom: 12px; 3019 border-bottom: 1px solid #e0e0e0; 3020} 3021 3022.stat-item:last-child { 3023 border-bottom: none; 3024 padding-bottom: 0; 3025} 3026 3027.stat-label { 3028 font-size: 0.85rem; 3029 font-weight: 700; 3030 color: #000; 3031 margin-bottom: 4px; 3032} 3033 3034.stat-value { 3035 font-size: 1.1rem !important; 3036 font-weight: 700 !important; 3037 color: #000; 3038 text-transform: uppercase; 3039} 3040 3041.stat-value small { 3042 font-size: 0.8rem; 3043 font-weight: 700; 3044 color: #000; 3045 display: block; 3046 margin-top: 2px; 3047} 3048 3049/* Responsive */ 3050@media (max-width: 768px) { 3051 .standings-sidebar { 3052 grid-template-columns: 1fr; 3053 } 3054 3055 .standings-table { 3056 font-size: 0.8rem; 3057 } 3058 3059 .standings-table th, 3060 .standings-table td { 3061 padding: 8px 4px; 3062 } 3063 3064 /* Mobile: mostra solo logo, nascondi nome squadra */ 3065 .team-name { 3066 display: none !important; 3067 } 3068 3069 .col-team { 3070 min-width: 50px !important; 3071 width: 50px !important; 3072 padding: 6px 4px !important; 3073 } 3074 3075 .team-info { 3076 justify-content: center !important; 3077 gap: 0 !important; 3078 } 3079 3080 .col-form { 3081 display: none; 3082 } 3083 3084 .col-stat { 3085 width: 28px; 3086 font-size: 0.75rem; 3087 padding: 6px 2px !important; 3088 } 3089 3090 .col-rank { 3091 width: 28px; 3092 padding: 6px 2px !important; 3093 } 3094 3095 .col-points { 3096 padding: 6px 4px !important; 3097 } 3098 3099 /* Fade hint rimosso su richiesta cliente - lo scroll orizzontale resta attivo */ 3100 .standings-table-wrapper { 3101 -webkit-mask-image: none; 3102 mask-image: none; 3103 } 3104 3105 .legend-items { 3106 flex-direction: column; 3107 gap: 10px; 3108 } 3109} 3110 3111/* Extra-small screens (Android 360px and similar) */ 3112@media (max-width: 420px) { 3113 .standings-table { 3114 font-size: 0.7rem; 3115 } 3116 3117 .col-team { 3118 min-width: 40px !important; 3119 width: 40px !important; 3120 } 3121 3122 .team-name { 3123 display: none !important; 3124 } 3125 3126 .team-logo { 3127 width: 24px !important; 3128 height: 24px !important; 3129 } 3130 3131 /* Torna a mostrare DR anche sotto 420 ora che abbiamo piu spazio */ 3132 .col-stat:nth-child(9), 3133 .standings-table th:nth-child(9) { 3134 display: table-cell !important; 3135 } 3136 3137 .col-stat { 3138 width: 22px !important; 3139 font-size: 0.65rem !important; 3140 padding: 4px 1px !important; 3141 } 3142 3143 /* Nascondere DR (differenza reti) su schermi piccoli */ 3144 .col-stat:nth-child(9) { 3145 display: none !important; 3146 } 3147 .standings-table th:nth-child(9) { 3148 display: none !important; 3149 } 3150 3151 .col-rank { 3152 width: 22px !important; 3153 font-size: 0.7rem !important; 3154 padding: 4px 1px !important; 3155 } 3156 3157 .col-points { 3158 width: 32px !important; 3159 padding: 4px 2px !important; 3160 } 3161 3162 .col-points strong { 3163 font-size: 0.8rem !important; 3164 } 3165 3166 .rank-number { 3167 font-size: 0.7rem !important; 3168 } 3169} 3170</style> 3171
3172<script> 3173// Detect table horizontal scroll to remove fade hint 3174document.addEventListener('DOMContentLoaded', function() { 3175 document.querySelectorAll('.standings-table-wrapper').forEach(function(wrapper) { 3176 wrapper.addEventListener('scroll', function() { 3177 if (this.scrollLeft > 5) { 3178 this.classList.add('scrolled'); 3179 } else { 3180 this.classList.remove('scrolled'); 3181 } 3182 }, { passive: true }); 3183 }); 3184}); 3185 3186function toggleScorers(btn) { 3187 var list = btn.parentElement.querySelector('.scorers-list'); 3188 if (list.classList.contains('expanded')) { 3189 list.classList.remove('expanded'); 3190 btn.textContent = 'Vedi di più â'; 3191 } else { 3192 list.classList.add('expanded'); 3193 btn.textContent = 'Vedi meno â'; 3194 } 3195} 3196</script>
3196 3197 3198 </div> 3199 </div> 3200</div> </section> 3201 3202 <!-- Footer --> 3203 <footer id="layout-footer" style="background: #5B2C6F; margin-top: 0; padding-top: 0; position: relative; z-index: 10;"> 3204 3205<footer style="background: linear-gradient(135deg, #5B2C6F 0%, #462456 100%); color: white; padding: 4rem 0 0 0; margin-top: -90px; position: relative; overflow: visible; z-index: 100;"> 3206 3207 <div class="footer-brand-center"> 3208 <img src="https://www.seriec.com/storage/app/uploads/public/692/72f/59a/69272f59a8c5f114285693.png" alt="Serie C - Lega Pro" class="footer-logo-main"> 3209 </div> 3210 3211 <div class="footer-columns-wrapper"> 3212 3213 <div class="footer-col"> 3214 <div class="footer-section "> 3215 <h5 style="color: white; font-weight: 700; font-size: 0.9rem; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 0.5px;"> 3216 SERIE C 3217 </h5> 3218 <ul style="list-style: none; padding: 0; margin: 0;"> 3219 <li class="footer-link-item" style="margin-bottom: 0.25rem;"> 3220 <a href="/classifiche" class="footer-nav-link" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; transition: color 0.3s; display: block;">Classifiche</a> 3221 </li> 3222 <li class="footer-link-item" style="margin-bottom: 0.25rem;"> 3223 <a href="/calendario" class="footer-nav-link" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; transition: color 0.3s; display: block;">Calendario</a> 3224 </li> 3225 <li class="footer-link-item" style="margin-bottom: 0.25rem;"> 3226 <a href="/documentazione" class="footer-nav-link" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; transition: color 0.3s; display: block;">Documentazione</a> 3227 </li> 3228 <li class="footer-link-item" style="margin-bottom: 0.25rem;"> 3229 <a href="/storia" class="footer-nav-link" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; transition: color 0.3s; display: block;">Storia</a> 3230 </li> 3231 <li class="footer-link-item" style="margin-bottom: 0.25rem;"> 3232 <a href="https://www.cattolicafirenze.it/sinistri-lega-pro/" target="_blank" class="footer-nav-link" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; transition: color 0.3s; display: block;">Informativa sinistri</a> 3233 </li> 3234 </ul> 3235 </div> 3236 </div> 3237 <div class="footer-col"> 3238 <div class="footer-section "> 3239 <h5 style="color: white; font-weight: 700; font-size: 0.9rem; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 0.5px;"> 3240 COMPETIZIONI 3241 </h5> 3242 <ul style="list-style: none; padding: 0; margin: 0;"> 3243 <li class="footer-link-item" style="margin-bottom: 0.25rem;"> 3244 <a href="/gironi/girone-a" class="footer-nav-link" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; transition: color 0.3s; display: block;">Girone A</a> 3245 </li> 3246 <li class="footer-link-item" style="margin-bottom: 0.25rem;"> 3247 <a href="/gironi/girone-b" class="footer-nav-link" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; transition: color 0.3s; display: block;">Girone B</a> 3248 </li> 3249 <li class="footer-link-item" style="margin-bottom: 0.25rem;"> 3250 <a href="/gironi/girone-c" class="footer-nav-link" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; transition: color 0.3s; display: block;">Girone C</a> 3251 </li> 3252 <li class="footer-link-item" style="margin-bottom: 0.25rem;"> 3253 <a href="/playoff" class="footer-nav-link" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; transition: color 0.3s; display: block;">
3253Playoff</a> 3254 </li> 3255 <li class="footer-link-item" style="margin-bottom: 0.25rem;"> 3256 <a href="/playout" class="footer-nav-link" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; transition: color 0.3s; display: block;">Playout</a> 3257 </li> 3258 </ul> 3259 </div> 3260 </div> 3261 3262 <div class="footer-col-center"> 3263 3264 <div class="footer-social-wrapper" style="margin-top: 0;"> 3265 <p style="color: white; font-weight: 700; font-size: 1.4rem; text-transform: uppercase; letter-spacing: 3px; margin-bottom: 1.5rem;"> 3266 LA SERIE C SUI SOCIAL 3267 </p> 3268 <div class="footer-social-grid"> 3269 <div class="social-row" style="display: flex; gap: 0.8rem; justify-content: center; margin-bottom: 0.8rem;"> 3270 <a href="https://www.facebook.com/SerieCofficial" target="_blank" class="social-icon-lg" title="Facebook"> 3271 <svg width="28" height="28" fill="currentColor" viewBox="0 0 24 24"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg> 3272 </a> 3273 <a href="https://x.com/seriecofficial" target="_blank" class="social-icon-lg" title="Twitter/X"> 3274 <svg width="28" height="28" fill="currentColor" viewBox="0 0 24 24"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg> 3275 </a> 3276 <a href="https://www.instagram.com/seriec" target="_blank" class="social-icon-lg" title="Instagram"> 3277 <svg width="28" height="28" fill="currentColor" viewBox="0 0 24 24"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/></svg> 3278 </a> 3279 <a href="https://www.youtube.com/@SerieCofficial" target="_blank" class="social-icon-lg" title="YouTube"> 3280 <svg width="28" height="28" fill="currentColor" viewBox="0 0 24 24"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg> 3281 </a> 3282 </div> 3283 <div class="social-row" style="display: flex; gap: 0.8rem; justify-content: center;"> 3284 <a href="https://www.linkedin.com/company/seriec/" target="_blank" class="social-icon-lg" title="LinkedIn"> 3285 <svg width="28" height="28" fill="currentColor" viewBox="0 0 24 24">
3285<path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg> 3286 </a> 3287 <a href="https://www.tiktok.com/@seriecofficial" target="_blank" class="social-icon-lg" title="TikTok"> 3288 <svg width="28" height="28" fill="currentColor" viewBox="0 0 24 24"><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/></svg> 3289 </a> 3290 <a href="https://www.threads.net/@seriec" target="_blank" class="social-icon-lg" title="Threads"> 3291 <svg width="28" height="28" fill="currentColor" viewBox="0 0 24 24"><path d="M12.186 24h-.007c-3.581-.024-6.334-1.205-8.184-3.509C2.35 18.44 1.5 15.586 1.472 12.01v-.017c.03-3.579.879-6.43 2.525-8.482C5.845 1.205 8.6.024 12.18 0h.014c2.746.02 5.043.725 6.826 2.098 1.677 1.29 2.858 3.13 3.509 5.467l-2.04.569c-1.104-3.96-3.898-5.984-8.304-6.015-2.91.018-5.11.932-6.54 2.719-1.366 1.709-2.06 4.082-2.09 7.065v.008c.028 2.976.724 5.35 2.09 7.053 1.43 1.784 3.63 2.698 6.54 2.717 2.623-.02 4.358-.631 5.8-2.045 1.647-1.613 1.618-3.593 1.09-4.798-.31-.71-.873-1.3-1.634-1.75-.192 1.352-.622 2.446-1.284 3.272-.886 1.102-2.14 1.704-3.73 1.79-1.202.065-2.361-.218-3.259-.801-1.063-.689-1.685-1.74-1.752-2.964-.065-1.19.408-2.285 1.33-3.082.88-.76 2.119-1.207 3.583-1.291a13.853 13.853 0 0 1 3.02.142l-.126.742a12.99 12.99 0 0 0-2.867-.135c-1.243.072-2.237.435-2.954 1.076-.69.615-1.056 1.392-1.007 2.134.047.71.453 1.33 1.178 1.798.697.45 1.638.663 2.652.609 1.31-.07 2.297-.579 2.937-1.514.553-.805.938-1.937 1.152-3.374l.031-.198.195.025c.707.093 1.31.24 1.784.436.906.375 1.5.88 1.816 1.543.63 1.324.679 3.496-1.297 5.406-1.588 1.535-3.548 2.238-6.423 2.263z"/></svg> 3292 </a> 3293 </div> 3294 </div> 3295 </div> 3296 </div> 3297 3298 <div class="footer-col"> 3299 <div class="footer-section "> 3300 <h5 style="color: white; font-weight: 700; font-size: 0.9rem; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 0.5px;"> 3301 NEWS 3302 </h5> 3303 <ul style="list-style: none; padding: 0; margin: 0;"> 3304 <li class="footer-link-item" style="margin-bottom: 0.25rem;"> 3305 <a href="/news" class="footer-nav-link" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; transition: color 0.3s; display: block;">News</a> 3306 </li> 3307 </ul> 3308 </div> 3309 <div class="footer-section mt-3"> 3310 <h5 style="color: white; font-weight: 700; font-size: 0.9rem; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 0.5px;"> 3311 PRIVACY & COOKIE 3312 </h5> 3313 <ul style="list-style: none; padding: 0; margin: 0;"> 3314 <li class="footer-link-item" style="margin-bottom: 0.25rem;"> 3315 <a href="https://lega-pro.segnalazioni.net/" target="_blank" class="footer-nav-link" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; transition: color 0.3s; display: block;">Segnalazioni whistleblowing</a> 3316 </li> 3317 </ul> 3318 </div> 3319 </div> 3320 3321 <div class="footer-col"> 3322 <h5 style="color: white; font-weight: 700; font-size: 0.9rem; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 0.5px;"> 3323 CONTATTI 3324 </h5> 3325 <ul style="list-style: none; padding: 0; margin: 0;"> 3326 <li style="margin-bottom: 0.5rem; display: flex; align-items: start; gap: 0.5rem;"> 3327 <svg width="14" height="14" style="margin-top: 2px; flex-shrink: 0;
3327" fill="rgba(255,255,255,0.8)" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg> 3328 <a href="/cdn-cgi/l/email-protection#5a293f3d283f2e3f28333b1a293f28333f3974393537" style="color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.8rem; white-space: nowrap;"> 3329 <span class="__cf_email__" data-cfemail="89faeceefbecfdecfbe0e8c9faecfbe0eceaa7eae6e4">[email protected]</span> 3330 </a> 3331 </li> 3332 <li style="margin-bottom: 0.5rem; display: flex; align-items: start; gap: 0.5rem;"> 3333 <svg width="14" height="14" style="margin-top: 2px; flex-shrink: 0;" fill="rgba(255,255,255,0.8)" viewBox="0 0 24 24"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/></svg> 3334 <span style="color: rgba(255,255,255,0.8); font-size: 0.8rem;"> 3335 055 323741 3336 </span> 3337 </li> 3338 <li style="margin-bottom: 0.5rem; display: flex; align-items: start; gap: 0.5rem;"> 3339 <svg width="14" height="14" style="margin-top: 2px; flex-shrink: 0;" fill="rgba(255,255,255,0.8)" viewBox="0 0 24 24"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg> 3340 <span style="color: rgba(255,255,255,0.8); font-size: 0.8rem;"> 3341 Via Jacopo da Diacceto 19, Firenze, Italia 3342 </span> 3343 </li> 3344 </ul> 3345 </div> 3346 </div> 3347 3348 <div style="border-top: 1px solid rgba(255,255,255,0.1); margin-top: 2.5rem; padding: 1.5rem 0;"> 3349 <div class="footer-bottom-wrapper"> 3350 <p style="margin: 0; color: rgba(255,255,255,0.7); font-size: 0.8rem;"> 3351 © 2026 LEGA PRO. All Rights Reserved. 3352 P.IVA: 03974420485 3353 </p> 3354 <div style="display: flex; gap: 1.5rem; flex-wrap: wrap;"> 3355 <a href="/privacy-policy" style="color: rgba(255,255,255,0.7); text-decoration: none; font-size: 0.8rem; transition: color 0.3s;"> 3356 Privacy Policy 3357 </a> 3358 <a href="" style="color: rgba(255,255,255,0.7); text-decoration: none; font-size: 0.8rem; transition: color 0.3s;"> 3359 3360 </a> 3361 <a href="" style="color: rgba(255,255,255,0.7); text-decoration: none; font-size: 0.8rem; transition: color 0.3s;"> 3362 3363 </a> 3364 </div> 3365 </div> 3366 </div> 3367</footer> 3368 3369<style> 3370 /* Footer Columns Layout */ 3371 .footer-columns-wrapper { 3372 display: flex; 3373 justify-content: center; 3374 align-items: flex-start; 3375 gap: 2.5rem; 3376 max-width: 1500px; 3377 margin: -3rem auto 0; 3378 padding: 0 60px; 3379 flex-wrap: wrap; 3380 } 3381 3382 .footer-col { 3383 flex: 0 0 150px; 3384 width: 150px; 3385 } 3386 3387 .footer-col-center { 3388 flex: 0 0 auto; 3389 text-align: center; 3390 min-width: 280px; 3391 padding: 0 2rem; 3392 } 3393 3394 .footer-bottom-wrapper { 3395 display: flex; 3396 justify-content: space-between; 3397 align-items: center; 3398 max-width: 1400px; 3399 margin: 0 auto; 3400 padding: 0 60px; 3401 flex-wrap: wrap; 3402 gap: 1rem; 3403 } 3404 3405 .footer-section a:hover { 3406 color: white !important; 3407 } 3408 3409 /* Footer brand center - positioned to overlap border, centered on footer */ 3410 .footer-brand-center { 3411 position: absolute; 3412 top: -110px; 3413 left: 0; 3414 right: 0; 3415 display: flex; 3416 justify-content: center; 3417 z-index: 1000; 3418 pointer-events: none; 3419 } 3420 3421 .footer-brand-center img { 3422 pointer-events: auto; 3423 } 3424 3425 /* Footer Logo - Sized to straddle border */ 3426 .footer-logo-main { 3427 max-width: 100px !important; 3428 max-height: 100px !important; 3429 object-fit: contain !important; 3430 filter: drop-shadow(0 6px 16px rgba(0,0,0,0.25)) !important; 3431 display: block !important; 3432 } 3433
3434 /* Social Icons - Large centered */ 3435 .social-icon-lg { 3436 color: white; 3437 transition: all 0.3s ease; 3438 display: flex; 3439 align-items: center; 3440 justify-content: center; 3441 width: 48px; 3442 height: 48px; 3443 border-radius: 50%; 3444 background: rgba(255,255,255,0.1); 3445 } 3446 3447 .social-icon-lg:hover { 3448 background: rgba(255,255,255,0.25); 3449 transform: translateY(-3px); 3450 color: white; 3451 } 3452 3453 .social-icon-lg:active { 3454 transform: translateY(-1px); 3455 } 3456 3457 /* Footer social wrapper - allineato ai titoli delle colonne */ 3458 .footer-social-wrapper { 3459 margin-top: -0.5rem !important; 3460 } 3461 3462 /* Responsive adjustments */ 3463 @media (max-width: 991px) { 3464 .footer-brand-center { 3465 top: -35px !important; 3466 } 3467 .footer-logo-main { 3468 max-width: 80px !important; 3469 max-height: 80px !important; 3470 } 3471 } 3472 3473 @media (max-width: 768px) { 3474 .footer-brand-center { 3475 top: -85px !important; 3476 } 3477 .footer-logo-main { 3478 max-width: 50px !important; 3479 max-height: 50px !important; 3480 } 3481 } 3482 3483 /* Mobile tap targets - min 44px touch area */ 3484 @media (max-width: 768px) { 3485 .footer-nav-link { 3486 display: block !important; 3487 min-height: 44px !important; 3488 line-height: 44px !important; 3489 } 3490 .footer-link-item { 3491 margin-bottom: 0 !important; 3492 } 3493 .footer-columns-wrapper { 3494 gap: 1.5rem; 3495 } 3496 .footer-col { 3497 flex: 1 1 40%; 3498 min-width: 120px; 3499 text-align: left !important; 3500 } 3501 .footer-col * { 3502 text-align: left !important; 3503 } 3504 .footer-col-center { 3505 order: -1; 3506 flex: 1 1 100%; 3507 margin-bottom: 1rem; 3508 } 3509 .footer-bottom-wrapper { 3510 flex-direction: column; 3511 text-align: center; 3512 } 3513 } 3514</style>
vendor: 110 bytes, lines 3514-3516
3514 3515 3516<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
3516<script type="text/template" data-control="alert-dialog"> 3517 <div class="modal" data-bs-backdrop="static" data-bs-keyboard="false"> 3518 <div class="modal-dialog modal-dialog-centered"> 3519 <div class="modal-content"> 3520 <div class="modal-body"> 3521 <p class="modal-title lead" data-message></p> 3522 </div> 3523 <div class="modal-footer"> 3524 <button type="button" class="btn btn-secondary" data-cancel> 3525 Cancel 3526 </button> 3527 <button type="button" class="btn btn-primary" data-ok> 3528 OK 3529 </button> 3530 </div> 3531 </div> 3532 </div> 3533 </div> 3534</script>
3534<script type="text/template" data-control="password-dialog"> 3535 <div class="modal" data-bs-backdrop="static" data-bs-keyboard="false"> 3536 <div class="modal-dialog modal-dialog-centered"> 3537 <form method="post" class="modal-content" data-request="onConfirmPassword" data-request-flash> 3538 <div class="modal-header"> 3539 <h5 class="modal-title fs-5" data-message>Confirm password</h5> 3540 </div> 3541 <div class="modal-body"> 3542 <p>For your security, please confirm your password to continue.</p> 3543 <input 3544 name="confirmable_password" 3545 type="password" 3546 value="" 3547 class="form-control" 3548 placeholder="Current password" 3549 /> 3550 </div> 3551 <div class="modal-footer"> 3552 <button type="button" class="btn btn-secondary" data-cancel> 3553 Cancel 3554 </button> 3555 <button type="submit" class="btn btn-primary" data-confirm data-attach-loading> 3556 Confirm 3557 </button> 3558 </div> 3559 </form> 3560 </div> 3561 </div> 3562</script>
3562<div class="modal" id="siteModal"> 3563 <div class="modal-dialog modal-dialog-centered" id="siteModalContent"> 3564 <!-- Partial Contents Will Go Here --> 3565 </div> 3566 3567 <div class="modal-dialog modal-dialog-centered modal-loading"> 3568 <div class="spinner-border text-light mx-auto"></div> 3569 </div> 3570</div> </footer> 3571 3572 <!-- Mobile --> 3573 <div class="navbar-mobile"> 3574 <div class="collapse navbar-collapse" id="navbarSupportedContent"> 3575 <div class="text-end"> 3576 <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> 3577 <span class="bi bi-x-circle"></span> 3578 </button> 3579 </div> 3580 <ul class="nav flex-column mb-2 mb-lg-0"> 3581 3582<li class="nav-item"> 3583 <a class="nav-link " href="">Blog</a> 3584</li> 3585<li class="nav-item"> 3586 <a class="nav-link " href="">Wiki</a> 3587</li> 3588<li class="nav-item"> 3589 <a class="nav-link " href="">About</a> 3590</li> 3591<li class="nav-item"> 3592 <a class="nav-link " href="">Contact</a> 3593</li> 3594<li class="nav-item"> 3595 <a class="nav-link " href="">Components Demo</a> 3596</li> 3597 </ul> 3598 </div> 3599 <div class="navbar-mobile-backdrop" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent"></div> 3600</div> 3601 <!-- How the page is made --> 3602 3603 3604 3605 3606 <!-- Back to Top Button --> 3607 <button type="button" id="back-to-top" aria-label="Torna su" style=" 3608 position: fixed; 3609 bottom: 215px; 3610 right: 28px; 3611 width: 50px; 3612 height: 50px; 3613 background: #1a1a1a; 3614 border: 2px solid #333; 3615 border-radius: 50%; 3616 cursor: pointer; 3617 display: flex; 3618 align-items: center; 3619 justify-content: center; 3620 opacity: 0; 3621 visibility: hidden; 3622 transition: all 0.3s ease; 3623 z-index: 999999; 3624 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); 3625 "> 3626 <svg aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"> 3627 <path d="M18 15l-6-6-6 6"/> 3628 </svg> 3629 </button> 3630 <style> 3631 #back-to-top.visible { 3632 opacity: 1 !important; 3633 visibility: visible !important; 3634 } 3635 #back-to-top:hover { 3636 background: #333; 3637 transform: translateY(-3px); 3638 box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5); 3639 } 3640 @media (max-width: 768px) { 3641 #back-to-top { 3642 bottom: 245px; 3643 right: 26px; 3644 width: 44px; 3645 height: 44px; 3646 } 3647 } 3648 </style> 3649
3649<script> 3650 (function() { 3651 var btn = document.getElementById('back-to-top'); 3652 window.addEventListener('scroll', function() { 3653 if (window.scrollY > 400) { 3654 btn.classList.add('visible'); 3655 } else { 3656 btn.classList.remove('visible'); 3657 } 3658 }, { passive: true }); 3659 btn.addEventListener('click', function() { 3660 window.scrollTo({ top: 0, behavior: 'smooth' }); 3661 }); 3662 })(); 3663 </script>
3663 3664
3664<script> 3665 document.addEventListener('error', function(e) { 3666 if (e.target.tagName === 'IMG' && e.target.src.indexOf('pub-2d72d15d77484d80a1d834f6269f026b.r2.dev') !== -1) { 3667 e.target.src = e.target.src.replace('/storage/app/media', '/storage/app/media'); 3668 } 3669 }, true); 3670 </script>
3670 3671 3672 <!-- Chatbot Widget --> 3673 <div id="legapro-chatbot" style="display: none;"> 3674 <!-- Chat Button - Pallone viola con C animato --> 3675 <button id="chatbot-toggle" class="chatbot-toggle chatbot-toggle-ball" aria-label="Apri chat"> 3676 <svg class="chatbot-ball-icon" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> 3677 <circle cx="50" cy="50" r="38" fill="url(#lgBallGrad)" stroke="#6B21A8" stroke-width="2"/> 3678 <g fill="#7C3AED" opacity="0.55"> 3679 <polygon points="50,17 62,25 62,40 50,48 38,40 38,25" fill="#5B21B6"/> 3680 <polygon points="25,35 32,30 38,35 38,47 32,52 25,47"/> 3681 <polygon points="75,35 68,30 62,35 62,47 68,52 75,47"/> 3682 <polygon points="30,60 38,55 46,60 46,72 38,77 30,72"/> 3683 <polygon points="70,60 62,55 54,60 54,72 62,77 70,72"/> 3684 </g> 3685 <text x="50" y="60" text-anchor="middle" font-family="Arial Black, Arial, sans-serif" font-size="32" font-weight="bold" fill="#FFFFFF" stroke="#4C1D95" stroke-width="1">C</text> 3686 <defs> 3687 <radialGradient id="lgBallGrad" cx="35%" cy="35%"> 3688 <stop offset="0%" stop-color="#A855F7"/> 3689 <stop offset="70%" stop-color="#7C3AED"/> 3690 <stop offset="100%" stop-color="#5B21B6"/> 3691 </radialGradient> 3692 </defs> 3693 </svg> 3694 <span class="chatbot-badge" id="chatbot-badge" style="display:none;"></span> 3695 </button> 3696 3697 <!-- Chat Window --> 3698 <div id="chatbot-window" class="chatbot-window"> 3699 <!-- Header --> 3700 <div class="chatbot-header"> 3701 <div class="chatbot-header-info"> 3702 <img id="chatbot-avatar" src="" alt="Bot" class="chatbot-avatar"> 3703 <div> 3704 <h3 id="chatbot-name">Assistant</h3> 3705 <span class="chatbot-status">Online</span> 3706 </div> 3707 </div> 3708 <button id="chatbot-close" class="chatbot-close-btn" aria-label="Chiudi chat"> 3709 <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 3710 <line x1="18" y1="6" x2="6" y2="18"></line> 3711 <line x1="6" y1="6" x2="18" y2="18"></line> 3712 </svg> 3713 </button> 3714 </div> 3715 3716 <!-- Messages --> 3717 <div id="chatbot-messages" class="chatbot-messages"> 3718 <div class="chatbot-welcome"> 3719 <p id="chatbot-welcome-text">Ciao! Come posso aiutarti?</p> 3720 </div> 3721 </div> 3722 3723 <!-- Input --> 3724 <div class="chatbot-input-container"> 3725 <textarea 3726 id="chatbot-input" 3727 class="chatbot-input" 3728 placeholder="Scrivi un messaggio..." 3729 rows="1" 3730 maxlength="500"></textarea> 3731 <button id="chatbot-send" class="chatbot-send-btn" aria-label="Invia"> 3732 <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 3733 <line x1="22" y1="2" x2="11" y2="13"></line> 3734 <polygon points="22 2 15 22 11 13 2 9 22 2"></polygon> 3735 </svg> 3736 </button> 3737 </div> 3738 3739 <!-- Powered by --> 3740 <div class="chatbot-footer"> 3741 <span>Powered by AI - Le risposte possono contenere errori</span> 3742 </div> 3743 </div> 3744</div> 3745 3746<style> 3747#legapro-chatbot { 3748 position: fixed; 3749 z-index: 9999; 3750 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; 3751} 3752 3753/* Position variants */ 3754#legapro-chatbot.position-bottom-right { 3755 bottom: 80px; 3756 right: 20px; 3757} 3758 3759#legapro-chatbot.position-bottom-left { 3760 bottom: 20px; 3761 left: 20px; 3762} 3763 3764#legapro-chatbot.position-top-right { 3765 top: 80px; 3766 right: 20px; 3767} 3768 3769#legapro-chatbot.position-top-left { 3770 top: 80px; 3771 left: 20px; 3772} 3773 3774/* Toggle Button - Pallone viola */ 3775.chatbot-toggle { 3776 width: 65px; 3777 height: 65px; 3778 border-radius: 50%; 3779 background: transparent; 3780 border: none; 3781 color: white; 3782 cursor: pointer; 3783 transition: all 0.3s ease; 3784 position: relative; 3785 display: flex; 3786 align-items: center; 3787 justify-content: center; 3788 padding: 0; 3789} 3790 3791.chatbot-toggle-ball { 3792 animation: ballBounce 1.5s ease-in-out infinite; 3793 transform-origin: center bottom; 3794 filter: drop-shadow(0 4px 15px rgba(138, 43, 226, 0.5)); 3795} 3796 3797.chatbot-toggle:hover { 3798 filter: drop-shadow(0 6px 25px rgba(138, 43, 226, 0.7)); 3799} 3800 3801.chatbot-ball-icon { 3802 width: 60px; 3803 height: 60px; 3804} 3805 3806@keyframes ballBounce { 3807 0%, 100% { transform: translateY(0) scaleY(1) scaleX(1); } 3808 10% { transform: translateY(0) scaleY(0.92) scaleX(1.08); } 3809 30% { transform: translateY(-12px) scaleY(1.05) scaleX(0.95); } 3810 50% { transform: translateY(-18px) scaleY(1) scaleX(1); } 3811 70% { transform: translateY(-12px) scaleY(1.05) scaleX(0.95); } 3812 90% { transform: translateY(0) scaleY(0.92) scaleX(1.08); } 3813} 3814 3815.chatbot-badge { 3816 position: absolute; 3817 top: -5px; 3818 right: -5px; 3819 background: #e74c3c; 3820 color: white; 3821 width: 24px; 3822 height: 24px; 3823 border-radius: 50%; 3824 display: flex; 3825 align-items: center; 3826 justify-content: center; 3827 font-size: 12px; 3828 font-weight: bold; 3829} 3830 3831.chatbot-badge.hidden { 3832 display: none; 3833} 3834 3835/* Chat Window */ 3836.chatbot-window { 3837 display: none; 3838 flex-direction: column; 3839 width: 380px; 3840 height: 600px; 3841 max-height: calc(100vh - 100px); 3842 background: white; 3843 border-radius: 16px; 3844 box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12); 3845 overflow: hidden; 3846} 3847 3848.chatbot-window.open { 3849 display: flex; 3850 animation: slideIn 0.3s ease; 3851} 3852 3853@keyframes slideIn { 3854 from { 3855 opacity: 0; 3856 transform: translateY(20px); 3857 } 3858 to { 3859 opacity: 1; 3860 transform: translateY(0); 3861 } 3862} 3863 3864/* Header */ 3865.chatbot-header { 3866 background: var(--chatbot-primary-color, #5B2C6F); 3867 color: white; 3868 padding: 16px; 3869 display: flex; 3870 justify-content: space-between; 3871 align-items: center; 3872} 3873 3874.chatbot-header-info { 3875 display: flex; 3876 align-items: center; 3877 gap: 12px; 3878} 3879 3880.chatbot-avatar { 3881 width: 40px; 3882 height: 40px; 3883 border-radius: 50%; 3884 background: white; 3885 padding: 4px; 3886} 3887 3888.chatbot-header h3 { 3889 margin: 0; 3890 font-size: 16px; 3891 font-weight: 600; 3892} 3893 3894.chatbot-status { 3895 font-size: 12px; 3896 opacity: 0.9; 3897} 3898 3899.chatbot-close-btn { 3900 background: transparent; 3901 border: none; 3902 color: white; 3903 cursor: pointer; 3904 padding: 4px; 3905 border-radius: 4px; 3906 transition: background 0.2s; 3907} 3908 3909.chatbot-close-btn:hover { 3910 background: rgba(255, 255, 255, 0.1); 3911} 3912 3913/* Messages */ 3914.chatbot-messages { 3915 flex: 1; 3916 overflow-y: auto; 3917 padding: 16px; 3918 display: flex; 3919 flex-direction: column; 3920 gap: 12px; 3921 background: #f8f9fa; 3922} 3923 3924.chatbot-message { 3925 display: flex; 3926 gap: 8px; 3927 animation: messageIn 0.3s ease; 3928} 3929 3930@keyframes messageIn { 3931 from { 3932 opacity: 0; 3933 transform: translateY(10px); 3934 } 3935 to { 3936 opacity: 1; 3937 transform: translateY(0); 3938 } 3939} 3940 3941.chatbot-message.user { 3942 flex-direction: row-reverse; 3943} 3944 3945.chatbot-message-content { 3946 max-width: 70%; 3947 padding: 10px 14px; 3948 border-radius: 12px; 3949 font-size: 14px; 3950 line-height: 1.4; 3951} 3952 3953.chatbot-message.bot .chatbot-message-content { 3954 background: white; 3955 color: #2c3e50; 3956 border-bottom-left-radius: 4px; 3957} 3958 3959.chatbot-message.user .chatbot-message-content { 3960 background: var(--chatbot-primary-color, #5B2C6F); 3961 color: white; 3962 border-bottom-right-radius: 4px; 3963} 3964 3965.chatbot-welcome { 3966 text-align: center; 3967 padding: 20px; 3968 color: #7f8c8d; 3969} 3970 3971.chatbot-typing { 3972 display: inline-flex; 3973 gap: 4px; 3974 padding: 10px 14px; 3975 background: white; 3976 border-radius: 12px; 3977} 3978 3979.chatbot-typing span { 3980 width: 8px; 3981 height: 8px; 3982 background: #95a5a6; 3983 border-radius: 50%; 3984 animation: typing 1.4s infinite; 3985} 3986 3987.chatbot-typing span:nth-child(2) { 3988 animation-delay: 0.2s; 3989} 3990 3991.chatbot-typing span:nth-child(3) { 3992 animation-delay: 0.4s; 3993} 3994 3995@keyframes typing { 3996 0%, 60%, 100% { 3997 transform: translateY(0); 3998 } 3999 30% { 4000 transform: translateY(-10px); 4001 } 4002} 4003 4004/* Input */ 4005.chatbot-input-container { 4006 display: flex; 4007 gap: 8px; 4008 padding: 12px; 4009 background: white; 4010 border-top: 1px solid #e0e0e0; 4011} 4012 4013.chatbot-input { 4014 flex: 1; 4015 border: 1px solid #e0e0e0; 4016 border-radius: 20px; 4017 padding: 10px 16px; 4018 font-size: 16px; 4019 resize: none; 4020 font-family: inherit; 4021 max-height: 100px; 4022} 4023 4024.chatbot-input:focus { 4025 outline: none; 4026 border-color: var(--chatbot-primary-color, #5B2C6F); 4027} 4028 4029.chatbot-send-btn { 4030 width: 40px; 4031 height: 40px; 4032 border-radius: 50%; 4033 background: var(--chatbot-primary-color, #5B2C6F); 4034 border: none; 4035 color: white; 4036 cursor: pointer; 4037 display: flex; 4038 align-items: center; 4039 justify-content: center; 4040 transition: all 0.2s; 4041} 4042 4043.chatbot-send-btn:hover { 4044 transform: scale(1.05); 4045} 4046 4047.chatbot-send-btn:disabled { 4048 opacity: 0.5;
4049 cursor: not-allowed; 4050} 4051 4052/* Footer */ 4053.chatbot-footer { 4054 text-align: center; 4055 padding: 8px; 4056 font-size: 11px; 4057 color: #95a5a6; 4058 background: white; 4059 border-top: 1px solid #e0e0e0; 4060} 4061 4062/* Mobile */ 4063@media (max-width: 768px) { 4064 .chatbot-window { 4065 width: calc(100vw - 40px); 4066 height: calc(100vh - 40px); 4067 max-height: calc(100vh - 40px); 4068 border-radius: 12px; 4069 } 4070 4071 #legapro-chatbot.position-bottom-right, 4072 #legapro-chatbot.position-bottom-left { 4073 bottom: 10px; 4074 right: 10px; 4075 left: 10px; 4076 } 4077} 4078</style> 4079
4080<script> 4081(function() { 4082 'use strict'; 4083 4084 // Chatbot Class 4085 class LegaProChatbot { 4086 constructor() { 4087 this.config = null; 4088 this.conversationHistory = []; 4089 this.isOpen = false; 4090 this.isLoading = false; 4091 4092 this.init(); 4093 } 4094 4095 async init() { 4096 // Load config 4097 await this.loadConfig(); 4098 4099 if (!this.config || !this.config.enabled) { 4100 return; 4101 } 4102 4103 // Setup DOM 4104 this.setupDOM(); 4105 this.attachEventListeners(); 4106 4107 // Show chatbot 4108 document.getElementById('legapro-chatbot').style.display = 'block'; 4109 4110 // Load conversation from localStorage 4111 this.loadConversation(); 4112 } 4113 4114 async loadConfig() { 4115 try { 4116 const response = await fetch('/api/legapro/chatbot/config'); 4117 this.config = await response.json(); 4118 4119 // Apply configuration 4120 if (this.config.primary_color) { 4121 document.documentElement.style.setProperty('--chatbot-primary-color', this.config.primary_color); 4122 } 4123 4124 if (this.config.position) { 4125 document.getElementById('legapro-chatbot').classList.add('position-' + this.config.position); 4126 } 4127 } catch (error) { 4128 console.error('Failed to load chatbot config:', error); 4129 } 4130 } 4131 4132 setupDOM() { 4133 // Set bot name and avatar 4134 if (this.config.bot_name) { 4135 document.getElementById('chatbot-name').textContent = this.config.bot_name; 4136 } 4137 4138 // Set avatar or use default 4139 const avatarImg = document.getElementById('chatbot-avatar'); 4140 if (this.config.bot_avatar) { 4141 avatarImg.src = this.config.bot_avatar; 4142 } else { 4143 // Use default avatar - generated from bot name 4144 const botName = this.config.bot_name || 'Bot'; 4145 avatarImg.src = `https://ui-avatars.com/api/?name=${encodeURIComponent(botName)}&background=5B2C6F&color=fff&size=128&bold=true`; 4146 } 4147 4148 if (this.config.welcome_message) { 4149 document.getElementById('chatbot-welcome-text').textContent = this.config.welcome_message; 4150 } 4151 } 4152 4153 attachEventListeners() { 4154 // Toggle button 4155 document.getElementById('chatbot-toggle').addEventListener('click', () => this.toggle()); 4156 4157 // Close button 4158 document.getElementById('chatbot-close').addEventListener('click', () => this.close()); 4159 4160 // Send button 4161 document.getElementById('chatbot-send').addEventListener('click', () => this.sendMessage()); 4162 4163 // Input enter key 4164 document.getElementById('chatbot-input').addEventListener('keydown', (e) => { 4165 if (e.key === 'Enter' && !e.shiftKey) { 4166 e.preventDefault(); 4167 this.sendMessage(); 4168 } 4169 }); 4170 4171 // Auto-resize textarea 4172 document.getElementById('chatbot-input').addEventListener('input', (e) => { 4173 e.target.style.height = 'auto'; 4174 e.target.style.height = e.target.scrollHeight + 'px'; 4175 }); 4176 } 4177 4178 toggle() { 4179 if (this.isOpen) { 4180 this.close(); 4181 } else { 4182 this.open(); 4183 } 4184 } 4185 4186 open() { 4187 this.isOpen = true; 4188 document.getElementById('chatbot-window').classList.add('open'); 4189 document.getElementById('chatbot-toggle').style.display = 'none'; 4190 document.getElementById('chatbot-badge').classList.add('hidden'); 4191 document.getElementById('chatbot-input').focus(); 4192 4193 // Scroll to bottom 4194 this.scrollToBottom(); 4195 } 4196 4197 close() { 4198 this.isOpen = false; 4199 document.getElementById('chatbot-window').classList.remove('open'); 4200 document.getElementById('chatbot-toggle').style.display = 'flex'; 4201 } 4202 4203 async sendMessage() { 4204 const input = document.getElementById('chatbot-input'); 4205 const message = input.value.trim(); 4206 4207 if (!message || this.isLoading) { 4208 return; 4209 } 4210 4211 // Clear input 4212 input.value = ''; 4213 input.style.height = 'auto'; 4214 4215 // Add user message to UI 4216 this.addMessage('user', message); 4217 4218 // Add to history 4219 this.conversationHistory.push({ 4220 role: 'user', 4221 content: message 4222 }); 4223 4224 // Show typing indicator 4225 this.showTyping(); 4226 this.isLoading = true; 4227 4228 try { 4229 // Send to API 4230 const response = await fetch('/api/legapro/chat', { 4231 method: 'POST', 4232 headers: { 4233 'Content-Type': 'application/json', 4234 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]')?.content 4235 }, 4236 body: JSON.stringify({ 4237 message: message, 4238 history: this.conversationHistory.slice(-10) // Last 10 messages 4239 }) 4240 }); 4241 4242 const data = await response.json(); 4243 4244 // Hide typing 4245 this.hideTyping(); 4246 4247 if (data.success) { 4248 // Add bot response 4249 this.addMessage('bot', data.message); 4250 4251 // Add to history 4252 this.conversationHistory.push({ 4253 role: 'assistant', 4254 content: data.message 4255 }); 4256 4257 // Save conversation 4258 this.saveConversation(); 4259 } else { 4260 this.addMessage('bot', data.error || 'Si è verificato un errore.'); 4261 } 4262 4263 } catch (error) { 4264 console.error('Chat error:', error); 4265 this.hideTyping(); 4266 this.addMessage('bot', 'Errore di connessione. Riprova.'); 4267 } finally { 4268 this.isLoading = false;
4269 } 4270 } 4271 4272 addMessage(role, content) { 4273 const messagesContainer = document.getElementById('chatbot-messages'); 4274 4275 const messageDiv = document.createElement('div'); 4276 messageDiv.className = `chatbot-message ${role}`; 4277 4278 const contentDiv = document.createElement('div'); 4279 contentDiv.className = 'chatbot-message-content'; 4280 4281 if (role === 'bot') { 4282 // Bot messages: format with clickable links and basic markdown 4283 // Content comes from our own AI service, not user input 4284 contentDiv.innerHTML = this.formatMessage(content); 4285 } else { 4286 contentDiv.textContent = content; 4287 } 4288 4289 messageDiv.appendChild(contentDiv); 4290 messagesContainer.appendChild(messageDiv); 4291 4292 this.scrollToBottom(); 4293 } 4294 4295 formatMessage(text) { 4296 // Escape HTML to prevent any injection 4297 let safe = text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); 4298 4299 // Bold: **text** 4300 safe = safe.replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>'); 4301 4302 // Italic: *text* 4303 safe = safe.replace(/\*(.+?)\*/g, '<em>$1</em>'); 4304 4305 // Markdown links: [text](url) - supports balanced parens inside url (es. Wikipedia) 4306 safe = safe.replace(/\[([^\]]+)\]\((https?:\/\/[^\s]+?|\/[^\s)]+)\)/g, function(match, label, url) { 4307 // Strip trailing punctuation from url 4308 url = url.replace(/[.,;:!?]+$/, ''); 4309 const target = url.startsWith('/') ? '' : ' target="_blank" rel="noopener"'; 4310 return '<a href="' + url + '"' + target + ' style="color: var(--chatbot-primary-color, #5B2C6F); text-decoration: underline;">' + label + '</a>'; 4311 }); 4312 4313 // Auto-link bare URLs: https://... or http://... (not already inside an href) 4314 // Excludes trailing punctuation .,;:!?) from the matched url 4315 safe = safe.replace(/(^|[^"'>=])(https?:\/\/[^\s<]+?)(?=[.,;:!?)\]]*(?:\s|<|$))/g, function(match, prefix, url) { 4316 return prefix + '<a href="' + url + '" target="_blank" rel="noopener" style="color: var(--chatbot-primary-color, #5B2C6F); text-decoration: underline;">' + url + '</a>'; 4317 }); 4318 4319 // Line breaks 4320 safe = safe.replace(/\n/g, '<br>'); 4321 4322 return safe; 4323 } 4324 4325 showTyping() { 4326 const messagesContainer = document.getElementById('chatbot-messages'); 4327 4328 const typingDiv = document.createElement('div'); 4329 typingDiv.className = 'chatbot-message bot';
4330 typingDiv.id = 'chatbot-typing-indicator'; 4331 4332 const typingContent = document.createElement('div'); 4333 typingContent.className = 'chatbot-typing'; 4334 typingContent.innerHTML = '<span></span><span></span><span></span>'; 4335 4336 typingDiv.appendChild(typingContent); 4337 messagesContainer.appendChild(typingDiv); 4338 4339 this.scrollToBottom(); 4340 } 4341 4342 hideTyping() { 4343 const typing = document.getElementById('chatbot-typing-indicator'); 4344 if (typing) { 4345 typing.remove(); 4346 } 4347 } 4348 4349 scrollToBottom() { 4350 const messagesContainer = document.getElementById('chatbot-messages'); 4351 messagesContainer.scrollTop = messagesContainer.scrollHeight; 4352 } 4353 4354 saveConversation() { 4355 try { 4356 localStorage.setItem('legapro_chat_history', JSON.stringify(this.conversationHistory)); 4357 localStorage.setItem('legapro_chat_last_active', Date.now().toString()); 4358 } catch (error) { 4359 console.error('Failed to save conversation:', error); 4360 } 4361 } 4362 4363 loadConversation() { 4364 try { 4365 // Pulisci cronologia dopo 24 ore di inattività 4366 const lastActive = localStorage.getItem('legapro_chat_last_active'); 4367 if (lastActive && (Date.now() - parseInt(lastActive)) > 24 * 60 * 60 * 1000) { 4368 localStorage.removeItem('legapro_chat_history'); 4369 localStorage.removeItem('legapro_chat_last_active'); 4370 return; 4371 } 4372 4373 const saved = localStorage.getItem('legapro_chat_history'); 4374 if (saved) { 4375 this.conversationHistory = JSON.parse(saved); 4376 4377 // Restore messages to UI
4378 this.conversationHistory.forEach(msg => { 4379 this.addMessage(msg.role === 'user' ? 'user' : 'bot', msg.content); 4380 }); 4381 } 4382 } catch (error) { 4383 console.error('Failed to load conversation:', error); 4384 } 4385 } 4386 } 4387 4388 // Mobile (iOS/Android): lazy-init al primo click del toggle per risparmiare memoria/CPU. 4389 // Desktop: init immediato come prima. 4390 var isMobile = window.innerWidth < 768 || /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 4391 4392 function initChatbot() { 4393 var inst = new LegaProChatbot(); 4394 if (isMobile) { 4395 // Su mobile il primo click ha inizializzato il chatbot ma non ha aperto il pannello 4396 // (l'addEventListener dentro init non cattura questo click perché ancora non esiste). 4397 // Apriamo esplicitamente. 4398 if (typeof inst.toggle === 'function') inst.toggle(); 4399 } 4400 } 4401 4402 if (isMobile) { 4403 var toggle = document.getElementById('chatbot-toggle'); 4404 if (toggle) { 4405 toggle.addEventListener('click', function onFirstClick() { 4406 toggle.removeEventListener('click', onFirstClick); 4407 initChatbot(); 4408 }, { once: false }); 4409 } 4410 } else if (document.readyState === 'loading') { 4411 document.addEventListener('DOMContentLoaded', function() { new LegaProChatbot(); }); 4412 } else { 4413 new LegaProChatbot(); 4414 } 4415 4416})(); 4417</script>
4417 <!-- accessWidget (accessibilita') --> 4418
4418<script async type="text/javascript" src="https://embeds.acswapp.com/accessibility/app.js"></script>
4418 4419
4419<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"7ff4176177a5419cb47c64f2c9462e57","spa":2}' crossorigin="anonymous"></script>
4419 4420</body> 4421</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.