BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Sabre//Sabre VObject 3.5.3//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Europe/London
BEGIN:STANDARD
TZNAME:GMT
DTSTART:19701025T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
END:STANDARD
BEGIN:DAYLIGHT
TZNAME:BST
DTSTART:19700329T010000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:event_310886@hertfordshire-showband.org
DTSTART;TZID=Europe/London:20261114T170000
DTEND;TZID=Europe/London:20261114T183000
SUMMARY:Hitchin Christmas Parade
DESCRIPTION:RICHARD DO NOT EDIT\n/* --- GLOBAL STYLES (ALWAYS APPLIED) --- 
 */\n\n/* NEW: Make the wrapper take up 100% of its available width */\n#ev
 prog-wrapper {\n    width: 100% !important\; \n    box-sizing: border-box\
 ; \n}\n\n/* 1. Ensure the table inside the wrapper takes up 100% width glo
 bally. */\n#evprog-wrapper table {\n    width: 100% !important\; \n}\n\n/*
  2. Global Hiding of Column 4 (Minutes) and Column 5 (Run by) Headers */\n
 #ev_prog_show_hdr_Minutes\,\n#ev_prog_show_hdr_Member {\n    display: none
  !important\;\n}\n\n/* 3. Global Hiding of Column 4 (Minutes) and Column 5
  (Run by) Data Cells */\n[id^="ev_prog_show_Minutes_"]\,\n[id^="ev_prog_sh
 ow_Member_"] {\n    display: none !important\;\n}\n\n/* --- NEW: STYLES FO
 R WIDE SCREENS (840px and wider) --- */\n@media (min-width: 840px) {\n    
 /* Hide the jQuery-injected stacking content when there is enough room for
  side-by-side columns */\n    .notes-detail {\n        display: none !impo
 rtant\;\n    }\n}\n\n\n/* --- RESPONSIVE STYLES (For screens 839px and nar
 rower) --- */\n@media (max-width: 839px) {\n\n    /* HIDE the original 'De
 tails/Notes' column (6th column) Header and Cells */\n    #ev_prog_show_hd
 r_Notes\,\n    [id^="ev_prog_show_Notes_"] {\n        display: none !impor
 tant\;\n    }\n\n    /* 4. RESPONSIVE FIX: Remove min-widths from the Acti
 vity and Music columns */\n    [id^="ev_prog_show_Activity_"]\,\n    [id^=
 "ev_prog_show_Music_"] {\n        min-width: unset !important\;\n        w
 idth: auto !important\;\n    }\n    \n    /* 5. Styling for the injected D
 etails/Notes content to make it stack (display: block) */\n    .notes-deta
 il {\n        display: block !important\; /* CRITICAL: Force it to show an
 d stack below 840px */\n        margin-top: 5px\;\n        padding-top: 5p
 x\;\n        border-top: 1px dotted #ccc\;\n        font-style: italic\;\n
         font-size: 0.9em\;\n        color: #666\;\n    }\n    .notes-detai
 l::before {\n        content: "Details: "\; \n        font-weight: bold\;\
 n        color: #333\;\n    }\n}\n\n\n$(document).ready(function() {\n    
 // Indices for existing logic (0=Start Time\, 1=Activity)\n    var startTi
 meIndex = 0\;\n    var activityIndex = 1\;\n\n    // Indices for NEW logic
  (2=Music\, 5=Details/Notes)\n    // Note: Indices are 0-based and account
  for all 6 original columns\n    var musicIndex = 2\;\n    var notesIndex 
 = 5\; \n\n    // 1. Loop through every data row in the table body\n    $('
 #evprog-wrapper table tbody tr').each(function() {\n        var $row = $(t
 his)\;\n        \n        // --- Existing Logic: Hide Start time if Activi
 ty is empty ---\n        var $activityCell = $row.find('td').eq(activityIn
 dex)\;\n        var activityContent = $activityCell.html().trim()\;\n\n   
      if (activityContent === '' || activityContent === ' ') {\n          
   $row.find('td').eq(startTimeIndex).css('visibility'\, 'hidden')\;\n     
    }\n\n        // --- NEW Logic: Move Details/Notes content to Music colu
 mn ---\n\n        // Get the content of the Details/Notes column (index 5)
 \n        var $notesCell = $row.find('td').eq(notesIndex)\;\n        var n
 otesContent = $notesCell.html().trim()\;\n\n        // Check if the Notes 
 cell has any meaningful content (not just a space)\n        if (notesConte
 nt !== '' && notesContent !== ' ') {\n            // Get the Music cell (
 index 2)\n            var $musicCell = $row.find('td').eq(musicIndex)\;\n 
            \n            // Append the Notes content to the Music cell\, w
 rapped in the stacking div\n            $musicCell.append('' + notesConten
 t + '')\;\n        }\n    })\;\n})\;\n \n$(document).ready(function() {\n 
    \n    // --- FINAL SECTION REORDERING LOGIC ---\n    \n    // 1. Identi
 fy all three major sections\n    const $programmeWrapper = $('.q_price_tab
 le .title_content:contains("Programme")').closest('.q_price_table')\;\n   
  const $filesResourcesWrapper = $('.q_price_table .title_content:contains(
 "Files/resources")').closest('.q_price_table')\;\n    const $attendanceWra
 pper = $('#evview_attendance')\; // Target the main Attendance div\n\n    
 // 2. Perform the moves sequentially\n    if ($programmeWrapper.length && 
 $attendanceWrapper.length) {\n        // A. Move the entire Programme bloc
 k to appear immediately BEFORE the Attendance block.\n        $programmeWr
 apper.insertBefore($attendanceWrapper)\;\n    }\n    \n    if ($filesResou
 rcesWrapper.length && $programmeWrapper.length) {\n        // B. Move the 
 Files/resources block to appear immediately AFTER the now-moved Programme 
 block.\n        // This ensures the order is Programme -> Files/resources 
 -> Attendance.\n        $filesResourcesWrapper.insertAfter($programmeWrapp
 er)\;\n    }\n})\;\n\n\nFor full event details\, visit: https://www.hertfo
 rdshire-showband.org/dbpage.php?pg=view&dbase=events&id=310886
LOCATION:Meet: Bancroft Car Park\, Hitchin\, End: Market Place\, Hitchin
URL:https://www.hertfordshire-showband.org/dbpage.php?pg=view&dbase=events&
 id=310886
END:VEVENT
END:VCALENDAR
