{"id":7140,"date":"2025-09-22T21:32:04","date_gmt":"2025-09-22T21:32:04","guid":{"rendered":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/?page_id=7140"},"modified":"2026-08-06T02:52:46","modified_gmt":"2026-08-06T02:52:46","slug":"ncysa-calendar","status":"publish","type":"page","link":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/ncysa-calendar\/","title":{"rendered":"NCYSA Calendar"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>2026-2027 NCYSA Calendar<\/title>\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue&#038;family=Source+Sans+3:wght@400;600;700&#038;display=swap\" rel=\"stylesheet\">\n  <style>\n    .entry-title { display: none !important; }\n    :root {\n      --navy: #10045a;\n      --red: #b82f2f;\n      --gold: #edc32c;\n      --cream: #f9f7f7;\n      --dark: #1d1a18;\n      --navy-light: #1a0a6e;\n    }\n    * { margin: 0; padding: 0; box-sizing: border-box; }\n    body {\n      font-family: 'Source Sans 3', system-ui, sans-serif;\n      background: var(--cream);\n      color: var(--dark);\n      overflow-x: hidden;\n    }\n    .hero { position: relative; background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 40%, #0d0342 100%); padding: 50px 20px 80px; text-align: center; overflow: hidden; }\n    .hero::before { content: ''; position: absolute; top: -50%; left: -20%; width: 140%; height: 200%; background: radial-gradient(ellipse at 30% 50%, rgba(184,47,47,0.15) 0%, transparent 60%), radial-gradient(ellipse at 70% 30%, rgba(184,47,47,0.08) 0%, transparent 50%); pointer-events: none; }\n    .hero::after { content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 80px; background: var(--cream); clip-path: ellipse(55% 100% at 50% 100%); }\n    .hero-pattern { position: absolute; inset: 0; opacity: 0.03; background-image: radial-gradient(circle at 20% 30%, #fff 1px, transparent 1px), radial-gradient(circle at 80% 70%, #fff 1px, transparent 1px), radial-gradient(circle at 50% 10%, #fff 0.5px, transparent 0.5px); background-size: 60px 60px, 80px 80px, 40px 40px; pointer-events: none; }\n    .hero-content { position: relative; z-index: 2; max-width: 900px; margin: 0 auto; }\n    .hero-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(184,47,47,0.15); border: 1px solid rgba(184,47,47,0.4); border-radius: 50px; padding: 8px 20px; margin-bottom: 28px; animation: fadeDown 0.8s ease both; }\n    .hero-badge span { color: rgba(255,255,255,0.9); font-size: 0.85rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }\n    .hero h1 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(2rem, 4.5vw, 3.2rem); color: #fff; letter-spacing: 0.05em; line-height: 1; margin-bottom: 20px; animation: fadeDown 0.8s ease 0.15s both; text-shadow: 0 2px 8px rgba(0,0,0,0.3); }\n    .hero h1 .accent { color: var(--red); }\n    .hero-sub { color: rgba(255,255,255,0.75); font-size: 1rem; line-height: 1.6; max-width: 600px; margin: 0 auto; animation: fadeDown 0.8s ease 0.3s both; }\n    .red-divider { width: 60px; height: 3px; background: var(--red); border-radius: 2px; margin: 20px auto 0; animation: fadeDown 0.8s ease 0.4s both; }\n    .calendar-wrapper { max-width: 1120px; margin: -40px auto 0; padding: 0 20px 60px; position: relative; z-index: 3; }\n    .notice { display: flex; gap: 12px; align-items: flex-start; background: #fff; border-left: 4px solid var(--gold); border-radius: 10px; padding: 16px 20px; margin-bottom: 24px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }\n    .notice svg { width: 20px; height: 20px; flex-shrink: 0; margin-top: 2px; stroke: #b8860b; fill: none; stroke-width: 2; }\n    .notice p { font-size: 0.9rem; line-height: 1.5; color: #555; }\n    .notice strong { color: var(--navy); }\n    .filter-bar { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 28px; padding: 20px; background: #fff; border-radius: 14px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }\n    .filter-btn { padding: 8px 18px; border: 2px solid #e0dce8; border-radius: 50px; background: #fff; color: var(--dark); font-family: 'Source Sans 3', sans-serif; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; white-space: nowrap; }\n    .filter-btn:hover { border-color: var(--navy); color: var(--navy); }\n    .filter-btn.active { background: var(--navy); border-color: var(--navy); color: #fff; }\n    .legend { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; margin-bottom: 24px; }\n    .legend-item { display: flex; align-items: center; gap: 6px; font-size: 0.8rem; font-weight: 600; color: #666; }\n    .legend-dot { width: 10px; height: 10px; border-radius: 50%; }\n    .month-group { margin-bottom: 32px; animation: cardIn 0.5s ease both; }\n    .month-group.hidden { display: none; }\n    .month-header { font-family: 'Bebas Neue', sans-serif; font-size: 1.8rem; color: var(--navy); letter-spacing: 0.04em; padding: 12px 20px; background: linear-gradient(135deg, rgba(16,4,90,0.06) 0%, rgba(16,4,90,0.02) 100%); border-left: 4px solid var(--red); border-radius: 0 10px 10px 0; margin-bottom: 12px; }\n    .event-row { display: flex; align-items: flex-start; gap: 16px; padding: 14px 20px; background: #fff; border-radius: 10px; margin-bottom: 6px; border: 1px solid rgba(0,0,0,0.04); transition: all 0.2s ease; }\n    .event-row:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); transform: translateX(4px); border-left: 3px solid var(--red); }\n    .event-date { min-width: 150px; font-weight: 700; font-size: 0.9rem; color: var(--navy); padding-top: 2px; line-height: 1.4; }\n    .event-details { flex: 1; }\n    .event-name { font-weight: 600; font-size: 0.95rem; color: var(--dark); line-height: 1.4; margin-bottom: 4px; }\n    .event-note { font-size: 0.82rem; color: #777; line-height: 1.4; margin-bottom: 4px; font-style: italic; }\n    .event-location { font-size: 0.82rem; color: #888; display: flex; align-items: center; gap: 4px; }\n    .event-location svg { width: 12px; height: 12px; fill: none; stroke: #aaa; stroke-width: 2; }\n    .event-badge { display: inline-block; padding: 2px 10px; border-radius: 50px; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; white-space: nowrap; margin-left: 8px; vertical-align: middle; }\n    .badge-coaching { background: #e8f0fe; color: #1a56db; }\n    .badge-classic { background: #fef3e2; color: #b45309; }\n    .badge-statecup { background: #fce4ec; color: #b82f2f; }\n    .badge-odp { background: #e8f5e9; color: #2e7d32; }\n    .badge-deadline { background: #fff3e0; color: #e65100; }\n    .badge-office { background: #f3e5f5; color: #7b1fa2; }\n    .badge-event { background: #e0f2f1; color: #00695c; }\n    .badge-recreation { background: #fff9c4; color: #f57f17; }\n    .empty-msg { text-align:center; color:#999; font-size:0.95rem; padding:40px 20px; }\n    .cta-section { background: var(--navy); padding: 100px 20px 60px; text-align: center; position: relative; overflow: hidden; }\n    .cta-section::before { content: ''; position: absolute; top: -2px; left: 0; right: 0; height: 80px; background: var(--cream); clip-path: ellipse(55% 100% at 50% 0%); }\n    .cta-inner { max-width: 700px; margin: 0 auto; position: relative; z-index: 2; }\n    .cta-section h2 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(2rem, 5vw, 3rem); color: #fff; letter-spacing: 0.04em; margin-bottom: 12px; }\n    .cta-section p { color: rgba(255,255,255,0.7); font-size: 1.05rem; line-height: 1.6; margin-bottom: 28px; }\n    .cta-buttons { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }\n    .cta-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px; border-radius: 10px; font-size: 1rem; font-weight: 700; text-decoration: none; text-transform: uppercase; letter-spacing: 0.06em; transition: all 0.25s ease; box-shadow: 0 6px 18px rgba(0,0,0,0.25); }\n    .cta-btn.primary { background: var(--red); color: #fff; }\n    .cta-btn.primary:hover { background: #d63939; transform: translateY(-3px); box-shadow: 0 10px 25px rgba(0,0,0,0.35); }\n    .cta-btn.secondary { background: rgba(255,255,255,0.1); color: #fff; border: 2px solid rgba(255,255,255,0.3); }\n    .cta-btn.secondary:hover { background: rgba(255,255,255,0.2); border-color: rgba(255,255,255,0.6); transform: translateY(-3px); }\n    @keyframes fadeDown { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } }\n    @keyframes cardIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }\n    @media (max-width: 768px) {\n      .hero { padding: 40px 20px 70px; }\n      .calendar-wrapper { margin-top: -30px; }\n      .event-row { flex-direction: column; gap: 4px; }\n      .event-date { min-width: unset; }\n      .filter-btn { padding: 6px 14px; font-size: 0.8rem; }\n    }\n  <\/style>\n<\/head>\n<body>\n<section class=\"hero\">\n  <div class=\"hero-pattern\"><\/div>\n  <div class=\"hero-content\">\n    <div class=\"hero-badge\">\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#b82f2f\" stroke-width=\"2\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/><\/svg>\n      <span>2026&ndash;2027 Season<\/span>\n    <\/div>\n    <h1>NCYSA <span class=\"accent\">CALENDAR<\/span><\/h1>\n    <p class=\"hero-sub\">Key dates for coaching courses, ODP evaluations, recreation and registration deadlines, office closings, meetings, and more across the full seasonal year.<\/p>\n    <div class=\"red-divider\"><\/div>\n  <\/div>\n<\/section>\n<section class=\"calendar-wrapper\">\n  <div class=\"filter-bar\">\n    <button class=\"filter-btn\" data-month=\"all\">All Months<\/button>\n    <button class=\"filter-btn\" data-month=\"aug\">Aug<\/button>\n    <button class=\"filter-btn\" data-month=\"sep\">Sep<\/button>\n    <button class=\"filter-btn\" data-month=\"oct\">Oct<\/button>\n    <button class=\"filter-btn\" data-month=\"nov\">Nov<\/button>\n    <button class=\"filter-btn\" data-month=\"dec\">Dec<\/button>\n    <button class=\"filter-btn\" data-month=\"jan\">Jan<\/button>\n    <button class=\"filter-btn\" data-month=\"feb\">Feb<\/button>\n    <button class=\"filter-btn\" data-month=\"mar\">Mar<\/button>\n    <button class=\"filter-btn\" data-month=\"apr\">Apr<\/button>\n    <button class=\"filter-btn\" data-month=\"may\">May<\/button>\n    <button class=\"filter-btn\" data-month=\"jun\">Jun<\/button>\n  <\/div>\n  <div class=\"legend\">\n    <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#1a56db\"><\/div>Coaching<\/div>\n    <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#b82f2f\"><\/div>State Cup<\/div>\n    <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#b45309\"><\/div>Classic<\/div>\n    <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#2e7d32\"><\/div>ODP<\/div>\n    <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#e65100\"><\/div>Deadline<\/div>\n    <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#7b1fa2\"><\/div>Office<\/div>\n    <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#00695c\"><\/div>Meeting \/ Event<\/div>\n  <\/div>\n  <div id=\"calendar-events\"><\/div>\n<\/section>\n<section class=\"cta-section\">\n  <div class=\"cta-inner\">\n    <h2>Stay Up to Date<\/h2>\n    <p>Have questions about upcoming events, deadlines, or registration? We&#8217;re here to help.<\/p>\n    <div class=\"cta-buttons\">\n      <a href=\"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/contact-us\/\" class=\"cta-btn primary\">Contact Us<\/a>\n      <a href=\"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/ncysa-sanctioned-tournaments\/\" class=\"cta-btn secondary\">Tournament Calendar<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n<script>\nconst events = [\n  {month:'aug',date:'August 1-2, 2026',name:'NC ODP Talent ID Center (2010\u20132014 Age Groups)',loc:'Girls: Asheboro; Boys: High Point',cat:'odp'},\n  {month:'aug',date:'August 1-2, 2026',name:'D License Coaching Course \u2013 In-Person Meeting #2',loc:'High Point',cat:'coaching'},\n  {month:'aug',date:'August 1-2, 2026',name:'D License Coaching Course \u2013 In-Person Meeting #2',loc:'Charlotte',cat:'coaching'},\n  {month:'aug',date:'August 3, 2026',name:'Intent to Participate Due \u2013 Fall 2026 Youth Academy',loc:'',cat:'deadline'},\n  {month:'aug',date:'August 7, 2026',name:'Classic League \u2013 Schedules Finalizing, Clubs Entering into PlayMetrics',loc:'',cat:'classic'},\n  {month:'aug',date:'August 15, 2026',name:'Classic League \u2013 Fall Play Date Range Opens (Teams Can Begin Playing)',loc:'',cat:'classic'},\n  {month:'aug',date:'August 19, 2026',name:'State of NC Meeting (12:00 PM)',loc:'',cat:'event'},\n  {month:'aug',date:'August 19, 2026',name:'2026\u201327 Laws of the Game Update Webinar (1:00\u20132:30 PM)',loc:'Virtual',cat:'coaching'},\n  {month:'aug',date:'August 22, 2026',name:'State Cup: Application Window Opens',loc:'',cat:'statecup'},\n  {month:'aug',date:'August 23, 2026',name:'2026\u201327 Laws of the Game Update Webinar (8:00\u20139:30 PM)',loc:'Virtual',cat:'coaching'},\n  {month:'sep',date:'September 7, 2026',name:'NCYSA Office Closed \u2013 Labor Day',loc:'',cat:'office'},\n  {month:'sep',date:'September 8-11, 2026',name:'B License Coaching Course \u2013 In-Person Meeting #1',loc:'Raleigh',cat:'coaching'},\n  {month:'sep',date:'September 8-11, 2026',name:'C License Coaching Course \u2013 In-Person Meeting',loc:'High Point',cat:'coaching'},\n  {month:'sep',date:'September 8, 2026',name:'State Cup: Applications \u2013 Early Applicant Discount Window Ends',loc:'',cat:'statecup'},\n  {month:'sep',date:'September 12-13, 2026',name:'D License Coaching Course \u2013 In-Person Meeting #1',loc:'Asheville',cat:'coaching'},\n  {month:'sep',date:'September 12-13, 2026',name:'D License Coaching Course \u2013 In-Person Meeting #1',loc:'Raleigh',cat:'coaching'},\n  {month:'sep',date:'September 14, 2026',name:'State Cup: Applications \u2013 Final Deadline',loc:'',cat:'statecup'},\n  {month:'sep',date:'September 15, 2026',name:'Intent to Participate Due \u2013 Fall 2026 TOPSoccer',loc:'',cat:'deadline'},\n  {month:'sep',date:'September 16, 2026',name:'Deadline \u2013 Fall 2026 Recreation Bulk Registration',loc:'',cat:'deadline'},\n  {month:'sep',date:'September 16, 2026',name:'State of NC Meeting (12:00 PM)',loc:'',cat:'event'},\n  {month:'sep',date:'Late September \/ early October 2026',name:'NCYSA Award Nomination Information Sent to Membership',loc:'',cat:'event'},\n  {month:'oct',date:'October 10-11, 2026',name:'D License Coaching Course \u2013 In-Person Meeting #2',loc:'Asheville',cat:'coaching'},\n  {month:'oct',date:'October 10-11, 2026',name:'D License Coaching Course \u2013 In-Person Meeting #2',loc:'Raleigh',cat:'coaching'},\n  {month:'oct',date:'October 21, 2026',name:'State of NC Meeting (12:00 PM)',loc:'',cat:'event'},\n  {month:'oct',date:'October 24-25, 2026',name:'Fall 2026 Youth Academy Showcase',loc:'High Point',cat:'event'},\n  {month:'oct',date:'October 25, 2026',name:'NC ODP Talent ID Center #1 \u2013 2015 Age Group',loc:'East: Goldsboro; West: Statesville',cat:'odp'},\n  {month:'nov',date:'November 7-8, 2026',name:'USYS State Cup \u2013 Consolidated Central Prelim Weekend',loc:'Charlotte \/ Pineville',cat:'statecup'},\n  {month:'nov',date:'November 9-12, 2026',name:'B License Coaching Course \u2013 In-Person Meeting #2',loc:'Raleigh',cat:'coaching'},\n  {month:'nov',date:'November 14-15, 2026',name:'Kepner Presidents State Cup \u2013 Prelim Weekend',loc:'Site coming soon',cat:'statecup'},\n  {month:'nov',date:'November 16-19, 2026',name:'C License Coaching Course \u2013 In-Person Meeting',loc:'Charlotte',cat:'coaching'},\n  {month:'nov',date:'November 18, 2026',name:'State of NC Meeting (12:00 PM)',loc:'',cat:'event'},\n  {month:'nov',date:'November 20, 2026',name:'Classic League \u2013 Spring 2027 Program (CLP) Due',loc:'',cat:'classic',note:'Formerly Intent to Play (ITP).'},\n  {month:'nov',date:'November 22, 2026',name:'NC ODP Talent ID Center #3 \u2013 2010\u20132015 Age Groups',loc:'2010\u20132014: Asheboro; 2015 East: Goldsboro; 2015 West: Statesville',cat:'odp'},\n  {month:'nov',date:'November 26-27, 2026',name:'NCYSA Office Closed \u2013 Thanksgiving',loc:'',cat:'office'},\n  {month:'dec',date:'December 5-6, 2026',name:'Final Four Weekend \u2013 USYS State Cup &amp; Kepner Presidents Cup',loc:'Wilson',cat:'statecup'},\n  {month:'dec',date:'December 11, 2026',name:'Classic League \u2013 Spring 2027 Directors\\' Viewing for Brackets',loc:'',cat:'classic',note:'Available for 12 hours.'},\n  {month:'dec',date:'December 13, 2026',name:'Classic League \u2013 U11-U14 G\/B &amp; U15-U19G: Remaining Games Played to Count for Promotion\/Relegation',loc:'',cat:'classic'},\n  {month:'dec',date:'December 14, 2026',name:'Classic League \u2013 Spring 2027 Brackets Posted',loc:'',cat:'classic'},\n  {month:'dec',date:'December 16, 2026',name:'State of NC Meeting (12:00 PM)',loc:'',cat:'event'},\n  {month:'dec',date:'December 19, 2026',name:'NC ODP Team Event Training Sessions (Selected Players Only)',loc:'Asheboro',cat:'odp'},\n  {month:'dec',date:'December 21, 2026',name:'Classic League \u2013 Spring 2027 Bracket Schedules Due to Club Admins',loc:'',cat:'classic'},\n  {month:'dec',date:'December 23, 2026 \u2013 January 1, 2027',name:'NCYSA Office Closed for Winter Break',loc:'',cat:'office'},\n  {month:'jan',date:'January 4, 2027',name:'NCYSA Office Re-opens',loc:'',cat:'office'},\n  {month:'jan',date:'January 4, 2027',name:'Intent to Participate Due \u2013 Spring 2027 Youth Academy',loc:'',cat:'deadline'},\n  {month:'jan',date:'January 9-10, 2027',name:'USYS ODP Mini-Region Team Event (Selected Players Only)',loc:'Matthews\/Pineville, NC',cat:'odp'},\n  {month:'jan',date:'January 16, 2027',name:'Classic League \u2013 Spring 2027 First Day of League Play',loc:'',cat:'classic'},\n  {month:'jan',date:'January 18, 2027',name:'NCYSA Office Closed \u2013 Martin Luther King Jr. Day',loc:'',cat:'office'},\n  {month:'jan',date:'January 20, 2027',name:'State of NC Meeting (12:00 PM)',loc:'',cat:'event'},\n  {month:'jan',date:'January 24, 2027',name:'NC ODP January Talent ID Training Center (All Age Groups)',loc:'Older age groups: Asheboro; 12U East: Goldsboro; 12U West: Statesville',cat:'odp'},\n  {month:'jan',date:'January 29-30, 2027',name:'NCYSA Symposium \/ AGM (Awards Luncheon TBD)',loc:'Wilmington, NC',cat:'event'},\n  {month:'feb',date:'February 17, 2027',name:'State of NC Meeting (12:00 PM)',loc:'',cat:'event'},\n  {month:'feb',date:'February 20-21, 2027',name:'USYS ODP Mini-Region Team Event (Selected Players Only)',loc:'Williamsburg, VA',cat:'odp'},\n  {month:'mar',date:'March 1, 2027',name:'Deadline \u2013 Spring 2027 Recreation Bulk Registration',loc:'',cat:'deadline'},\n  {month:'mar',date:'March 3, 2027',name:'State Cup: Spring Cup Applications \u2013 Early Entry Deadline',loc:'',cat:'statecup'},\n  {month:'mar',date:'March 10, 2027',name:'State Cup: Spring Cup Applications \u2013 Final Deadline',loc:'',cat:'statecup'},\n  {month:'mar',date:'March 11-14, 2027',name:'USSF AGM',loc:'Atlanta, GA',cat:'event'},\n  {month:'mar',date:'March 14, 2027',name:'NC ODP March Talent ID Training Center (2013\u20132015 Age Groups)',loc:'2013 & 2014: Asheboro; 2015 East: Goldsboro; 2015 West: Hickory or Statesville',cat:'odp'},\n  {month:'mar',date:'March 17, 2027',name:'State of NC Meeting (12:00 PM)',loc:'',cat:'event'},\n  {month:'mar',date:'March 26, 2027',name:'NCYSA Office Closed \u2013 Good Friday',loc:'',cat:'office'},\n  {month:'apr',date:'April 11, 2027',name:'NC ODP April Talent ID Training Center (All Age Groups)',loc:'Older age groups: Asheboro; 2015 East: Goldsboro; 2015 West: Hickory or Statesville',cat:'odp'},\n  {month:'apr',date:'April 21, 2027',name:'State of NC Meeting (12:00 PM)',loc:'',cat:'event'},\n  {month:'apr',date:'April 24-25, 2027',name:'Spring 2027 Youth Academy Showcase',loc:'Truist Sports Park (Bermuda Run)',cat:'event'},\n  {month:'may',date:'May 3, 2027',name:'2027\u201328 Member Association Re-Affiliation & Risk Management Requirements Open in PlayMetrics',loc:'',cat:'deadline',note:'Head registrars gain access to the new seasonal year in PlayMetrics once their club\\'s re-affiliation application is approved.'},\n  {month:'may',date:'May 3 \u2013 June 1, 2027',name:'Member Association Renewal Fee Due',loc:'',cat:'deadline',note:'Late fees apply after June 1, 2027.'},\n  {month:'may',date:'May 9, 2027',name:'Classic League \u2013 Spring 2027 Final Play Date (U11\u2013U14 B\/G)',loc:'',cat:'classic'},\n  {month:'may',date:'May 19, 2027',name:'State of NC Meeting (12:00 PM)',loc:'',cat:'event'},\n  {month:'may',date:'May 31, 2027',name:'NCYSA Office Closed \u2013 Memorial Day',loc:'',cat:'office'},\n  {month:'jun',date:'June 2027 (date TBD)',name:'NC ODP 2015 Boys & Girls June Event',loc:'Location TBD',cat:'odp'},\n  {month:'jun',date:'June 2027 (date TBD)',name:'NC ODP 2010\u20132014 Boys & Girls June Event',loc:'Location TBD',cat:'odp'},\n  {month:'jun',date:'June 4, 2027',name:'Classic League \u2013 Fall 2027 Program (CLP) Registration Due',loc:'',cat:'classic',note:'Formerly Intent to Play (ITP).'},\n  {month:'jun',date:'Summer 2027 (date TBD)',name:'NCYSA Mid-Year Meeting',loc:'Location TBD',cat:'event'},\n  {month:'jun',date:'June 30, 2027',name:'End of NCYSA Fiscal Year',loc:'',cat:'event'},\n];\nconst monthNames = {\n  aug:'August 2026', sep:'September 2026', oct:'October 2026', nov:'November 2026',\n  dec:'December 2026', jan:'January 2027', feb:'February 2027', mar:'March 2027',\n  apr:'April 2027', may:'May 2027', jun:'June 2027'\n};\nconst catLabels = {\n  coaching:'Coaching', classic:'Classic', statecup:'State Cup', odp:'ODP',\n  deadline:'Deadline', office:'Office', event:'Meeting\/Event', recreation:'Recreation'\n};\nconst locIcon = '<svg viewBox=\"0 0 24 24\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>';\nconst monthOrder = ['aug','sep','oct','nov','dec','jan','feb','mar','apr','may','jun'];\nfunction eventRowHtml(ev) {\n  return '<div class=\"event-row\"><div class=\"event-date\">' + ev.date + '<\/div><div class=\"event-details\"><div class=\"event-name\">' + ev.name + '<span class=\"event-badge badge-' + ev.cat + '\">' + catLabels[ev.cat] + '<\/span><\/div>' + (ev.note ? '<div class=\"event-note\">' + ev.note + '<\/div>' : '') + (ev.loc ? '<div class=\"event-location\">' + locIcon + ' ' + ev.loc + '<\/div>' : '') + '<\/div><\/div>';\n}\nfunction renderMonths(months) {\n  const container = document.getElementById('calendar-events');\n  container.innerHTML = '';\n  let any = false;\n  months.forEach((m, mi) => {\n    const monthEvents = events.filter(e => e.month === m);\n    if (!monthEvents.length) return;\n    any = true;\n    const group = document.createElement('div');\n    group.className = 'month-group';\n    group.style.animationDelay = (mi * 0.08) + 's';\n    const header = document.createElement('div');\n    header.className = 'month-header';\n    header.textContent = monthNames[m];\n    group.appendChild(header);\n    monthEvents.forEach(ev => {\n      const wrap = document.createElement('div');\n      wrap.innerHTML = eventRowHtml(ev);\n      group.appendChild(wrap.firstChild);\n    });\n    container.appendChild(group);\n  });\n  if (!any) container.innerHTML = '<div class=\"empty-msg\">No events scheduled for this month yet.<\/div>';\n}\ndocument.querySelectorAll('.filter-btn').forEach(btn => {\n  btn.addEventListener('click', () => {\n    document.querySelectorAll('.filter-btn').forEach(b => b.classList.remove('active'));\n    btn.classList.add('active');\n    if (btn.dataset.month === 'all') { renderMonths(monthOrder); } else { renderMonths([btn.dataset.month]); }\n  });\n});\n\/\/ Default view: current season month (+ next) if we're inside the season, else the first month(s).\nconst now = new Date();\nconst ym = now.getFullYear() * 12 + now.getMonth(); \/\/ 0-based month\nconst seasonYM = { aug:2026*12+7, sep:2026*12+8, oct:2026*12+9, nov:2026*12+10, dec:2026*12+11,\n  jan:2027*12+0, feb:2027*12+1, mar:2027*12+2, apr:2027*12+3, may:2027*12+4, jun:2027*12+5 };\nlet currentIdx = monthOrder.findIndex(k => seasonYM[k] === ym);\nlet defaultMonths;\nif (currentIdx === -1) {\n  \/\/ before season starts -> show first two months; after season ends -> show last month\n  if (ym < seasonYM['aug']) defaultMonths = ['aug','sep'];\n  else defaultMonths = ['jun'];\n} else {\n  const nextIdx = currentIdx + 1;\n  defaultMonths = nextIdx < monthOrder.length ? [monthOrder[currentIdx], monthOrder[nextIdx]] : [monthOrder[currentIdx]];\n}\ndocument.querySelectorAll('.filter-btn').forEach(b => {\n  b.classList.remove('active');\n  if (defaultMonths.includes(b.dataset.month)) b.classList.add('active');\n});\nrenderMonths(defaultMonths);\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>2026-2027 NCYSA Calendar 2026&ndash;2027 Season NCYSA CALENDAR Key dates for coaching courses, ODP evaluations, recreation and registration deadlines, office closings, meetings, and more across the full seasonal year. All Months [&hellip;]<\/p>\n","protected":false},"author":492,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ghostkit_customizer_options":"","ghostkit_custom_css":"","ghostkit_custom_js_head":"","ghostkit_custom_js_foot":"","ghostkit_typography":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","sec_layout_page":false,"footnotes":""},"class_list":["post-7140","page","type-page","status-publish","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.9 (Yoast SEO v27.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>NCYSA Calendar - North Carolina Youth Soccer<\/title>\n<meta name=\"robots\" content=\"noindex, nofollow\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"NCYSA Calendar - North Carolina Youth Soccer\" \/>\n<meta property=\"og:description\" content=\"2026-2027 NCYSA Calendar 2026&ndash;2027 Season NCYSA CALENDAR Key dates for coaching courses, ODP evaluations, recreation and registration deadlines, office closings, meetings, and more across the full seasonal year. All Months [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/ncysa-calendar\/\" \/>\n<meta property=\"og:site_name\" content=\"North Carolina Youth Soccer\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-06T02:52:46+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/ncysa-calendar\\\/\",\"url\":\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/ncysa-calendar\\\/\",\"name\":\"NCYSA Calendar - North Carolina Youth Soccer\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/#website\"},\"datePublished\":\"2025-09-22T21:32:04+00:00\",\"dateModified\":\"2026-08-06T02:52:46+00:00\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/ncysa-calendar\\\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/#website\",\"url\":\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/\",\"name\":\"North Carolina Youth Soccer\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/#\\\/schema\\\/person\\\/4d3188383d1a597450ac3a31c990c3b8\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/#\\\/schema\\\/person\\\/4d3188383d1a597450ac3a31c990c3b8\",\"name\":\"jsmithnc\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/wp-content\\\/uploads\\\/sites\\\/167\\\/2026\\\/02\\\/cropped-cropped-USYS_NCYSA_50th_RGB-2.png\",\"url\":\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/wp-content\\\/uploads\\\/sites\\\/167\\\/2026\\\/02\\\/cropped-cropped-USYS_NCYSA_50th_RGB-2.png\",\"contentUrl\":\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/wp-content\\\/uploads\\\/sites\\\/167\\\/2026\\\/02\\\/cropped-cropped-USYS_NCYSA_50th_RGB-2.png\",\"width\":648,\"height\":799,\"caption\":\"jsmithnc\"},\"logo\":{\"@id\":\"https:\\\/\\\/sportsengine-develop.go-vip.net\\\/ncsoccer\\\/wp-content\\\/uploads\\\/sites\\\/167\\\/2026\\\/02\\\/cropped-cropped-USYS_NCYSA_50th_RGB-2.png\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"NCYSA Calendar - North Carolina Youth Soccer","robots":{"index":"noindex","follow":"nofollow"},"og_locale":"en_US","og_type":"article","og_title":"NCYSA Calendar - North Carolina Youth Soccer","og_description":"2026-2027 NCYSA Calendar 2026&ndash;2027 Season NCYSA CALENDAR Key dates for coaching courses, ODP evaluations, recreation and registration deadlines, office closings, meetings, and more across the full seasonal year. All Months [&hellip;]","og_url":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/ncysa-calendar\/","og_site_name":"North Carolina Youth Soccer","article_modified_time":"2026-08-06T02:52:46+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/ncysa-calendar\/","url":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/ncysa-calendar\/","name":"NCYSA Calendar - North Carolina Youth Soccer","isPartOf":{"@id":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/#website"},"datePublished":"2025-09-22T21:32:04+00:00","dateModified":"2026-08-06T02:52:46+00:00","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/ncysa-calendar\/"]}]},{"@type":"WebSite","@id":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/#website","url":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/","name":"North Carolina Youth Soccer","description":"","publisher":{"@id":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/#\/schema\/person\/4d3188383d1a597450ac3a31c990c3b8"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/#\/schema\/person\/4d3188383d1a597450ac3a31c990c3b8","name":"jsmithnc","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/wp-content\/uploads\/sites\/167\/2026\/02\/cropped-cropped-USYS_NCYSA_50th_RGB-2.png","url":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/wp-content\/uploads\/sites\/167\/2026\/02\/cropped-cropped-USYS_NCYSA_50th_RGB-2.png","contentUrl":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/wp-content\/uploads\/sites\/167\/2026\/02\/cropped-cropped-USYS_NCYSA_50th_RGB-2.png","width":648,"height":799,"caption":"jsmithnc"},"logo":{"@id":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/wp-content\/uploads\/sites\/167\/2026\/02\/cropped-cropped-USYS_NCYSA_50th_RGB-2.png"}}]}},"featured_image_src":null,"featured_image_src_square":null,"jetpack_sharing_enabled":true,"publishpress_future_action":{"enabled":false,"date":"2026-08-25 11:05:27","action":"change-status","newStatus":"draft","terms":[],"taxonomy":"","extraData":[]},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/wp-json\/wp\/v2\/pages\/7140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/wp-json\/wp\/v2\/users\/492"}],"replies":[{"embeddable":true,"href":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/wp-json\/wp\/v2\/comments?post=7140"}],"version-history":[{"count":13,"href":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/wp-json\/wp\/v2\/pages\/7140\/revisions"}],"predecessor-version":[{"id":10685,"href":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/wp-json\/wp\/v2\/pages\/7140\/revisions\/10685"}],"wp:attachment":[{"href":"https:\/\/sportsengine-develop.go-vip.net\/ncsoccer\/wp-json\/wp\/v2\/media?parent=7140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}