(function() { var templateHtml = "\u003Ctemplate id=\u0027scholarship-form-template\u0027\u003E\n \u003Cstyle\u003E\n :host { display: block; font-family: sans-serif !important;color:#000!important; }\n #scholarship-form{margin: 20px 0; padding: 20px; width: 100%; max-width: 100%;float:left;background-color: #f5f5f5; text-align: left; box-sizing: border-box;}\n .scholarship-form button {background-color: #007bff; color: white; border: none; padding: 10px 20px; cursor: pointer;}\n .container { margin: 0 auto; width: 100%; max-width: 100%; position: relative; }\n .form_groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }\n .form-group { padding: 20px;position:relative; box-sizing: border-box; border-radius: 4px;}\n .form-group a{color:#000;}\n .form-group a:hover{color:#3a7fb0;}\n .form-group span{color:red;}\n .form-group p{margin-top:0;font-size:14px;color:#7a7a7a;line-height:24px;}\n .form-group.form-group-wide { grid-column: span 3; }\n .form-group label{display: block; margin-bottom: 5px; font-weight: bold; font-size: 16px; color: #454545;}\n .form-group input[type=\u0027text\u0027],\n .form-group input[type=\u0027email\u0027],\n .form-group input[type=\u0027tel\u0027],\n .form-group input[type=\u0027number\u0027],\n .form-group input[type=\u0027date\u0027],\n .form-group textarea,\n .form-group select{width: 100%; padding: 15px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box;}\n .form-group textarea { height: 100px; resize: vertical; }\n .form-group.checkbox_con label {display:inline-block;}\n .form-group.checkbox_con input[type=\u0027checkbox\u0027] {width: 15px;height: 15px;position: absolute;top:61px;left: 15px;}\n .form-group.checkbox_con p{margin:3px 0 0 0;padding-left:20px;}\n .form-group .radio_con{margin:0 0 3px;display:flex;gap:5px;align-items:center;}\n .form-group .radio_con label{margin:0;}\n .form-group .radio_con input{margin:0;}\n .no_applications{text-align: center;font-size: 18px;color: #7a7a7a;line-height: 24px;}\n \n .error_messages { color: #dc3545; font-size: 12px; margin: 6px 0 5px; display: none; }\n .form-group.has-error input { border-color: #dc3545; }\n .sch_submit {\n margin: 20px auto 0; padding: 15px 30px; display: block; background: #000; color: #fff;\n border: none; border-radius: 4px; text-align: center; cursor: pointer; transition: all 0.3s ease;\n }\n .sch_submit:hover { background: #3a7fb0; }\n @media (max-width:768px) {\n .form_groups { grid-template-columns: 1fr; }\n .form-group{padding: 12px 0;}\n .form-group.form-group-wide { grid-column: span 1; }\n .form-group.checkbox_con input[type=\u0027checkbox\u0027]{top: 51px;left: 0;}\n .form-group.checkbox_con p{padding-left: 25px;}\n }\n \u003C\/style\u003E\u003Cform id=\u0027scholarship-form\u0027\u003E\n \u003Cdiv class=\u0027container\u0027\u003E\n \u003Ch2\u003EPerseverance Scholarship - Spring 2026 Application\u003C\/h2\u003E\n \u003Cinput type=\u0027hidden\u0027 name=\u0027client_id\u0027 value=\u002754\u0027\u003E\n \u003Cinput type=\u0027hidden\u0027 name=\u0027scholarship_id\u0027 value=\u0027360\u0027\u003E\n \u003Cinput type=\u0027hidden\u0027 id=\u0027ss_email\u0027 value=\u0027scholarship@kjs-law.com\u0027\u003E\n \u003Cinput type=\u0027hidden\u0027 id=\u0027ss_date\u0027 value=\u0027December 24, 2025\u0027\u003E\n \u003Cinput type=\u0027hidden\u0027 id=\u0027ss_season\u0027 value=\u0027Fall\u0027\u003E\n \u003Cdiv class=\u0027form_groups\u0027\u003E\u003Cdiv class=\u0027form-group form-group form-grid\u0027\u003E\u003Clabel for=\u0027First Name\u0027\u003EFirst Name \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cinput type=\u0027text\u0027 id=\u0027first_name\u0027 name=\u0027first_name\u0027 required\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-grid\u0027\u003E\u003Clabel for=\u0027Last Name\u0027\u003ELast Name \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cinput type=\u0027text\u0027 id=\u0027last_name\u0027 name=\u0027last_name\u0027 required\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-grid\u0027\u003E\u003Clabel for=\u0027Email\u0027\u003EEmail \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cinput type=\u0027email\u0027 id=\u0027email\u0027 name=\u0027email\u0027 required\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-grid\u0027\u003E\u003Clabel for=\u0027Phone\u0027\u003EPhone \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cinput type=\u0027tel\u0027 id=\u0027phone\u0027 name=\u0027phone\u0027 pattern=\u0027[0-9]{3}-[0-9]{3}-[0-9]{4}\u0027 placeholder=\u0027123-456-7890\u0027 required\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-grid\u0027\u003E\u003Clabel for=\u0027State\u0027\u003EState \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cselect id=\u0027state\u0027 name=\u0027state\u0027 required\u003E\u003Coption value=\u0027\u0027\u003ESelect State\u003C\/option\u003E\u003Coption value=\u0027Alabama\u0027\u003EAlabama\u003C\/option\u003E\u003Coption value=\u0027Alaska\u0027\u003EAlaska\u003C\/option\u003E\u003Coption value=\u0027Arizona\u0027\u003EArizona\u003C\/option\u003E\u003Coption value=\u0027Arkansas\u0027\u003EArkansas\u003C\/option\u003E\u003Coption value=\u0027California\u0027\u003ECalifornia\u003C\/option\u003E\u003Coption value=\u0027Colorado\u0027\u003EColorado\u003C\/option\u003E\u003Coption value=\u0027Connecticut\u0027\u003EConnecticut\u003C\/option\u003E\u003Coption value=\u0027DC\u0027\u003EDC\u003C\/option\u003E\u003Coption value=\u0027Delaware\u0027\u003EDelaware\u003C\/option\u003E\u003Coption value=\u0027Florida\u0027\u003EFlorida\u003C\/option\u003E\u003Coption value=\u0027Georgia\u0027\u003EGeorgia\u003C\/option\u003E\u003Coption value=\u0027Hawaii\u0027\u003EHawaii\u003C\/option\u003E\u003Coption value=\u0027Idaho\u0027\u003EIdaho\u003C\/option\u003E\u003Coption value=\u0027Illinois\u0027\u003EIllinois\u003C\/option\u003E\u003Coption value=\u0027Indiana\u0027\u003EIndiana\u003C\/option\u003E\u003Coption value=\u0027Iowa\u0027\u003EIowa\u003C\/option\u003E\u003Coption value=\u0027Kansas\u0027\u003EKansas\u003C\/option\u003E\u003Coption value=\u0027Kentucky\u0027\u003EKentucky\u003C\/option\u003E\u003Coption value=\u0027Louisiana\u0027\u003ELouisiana\u003C\/option\u003E\u003Coption value=\u0027Maine\u0027\u003EMaine\u003C\/option\u003E\u003Coption value=\u0027Maryland\u0027\u003EMaryland\u003C\/option\u003E\u003Coption value=\u0027Massachusetts\u0027\u003EMassachusetts\u003C\/option\u003E\u003Coption value=\u0027Michigan\u0027\u003EMichigan\u003C\/option\u003E\u003Coption value=\u0027Minnesota\u0027\u003EMinnesota\u003C\/option\u003E\u003Coption value=\u0027Mississippi\u0027\u003EMississippi\u003C\/option\u003E\u003Coption value=\u0027Missouri\u0027\u003EMissouri\u003C\/option\u003E\u003Coption value=\u0027Montana\u0027\u003EMontana\u003C\/option\u003E\u003Coption value=\u0027Nebraska\u0027\u003ENebraska\u003C\/option\u003E\u003Coption value=\u0027Nevada\u0027\u003ENevada\u003C\/option\u003E\u003Coption value=\u0027New Hampshire\u0027\u003ENew Hampshire\u003C\/option\u003E\u003Coption value=\u0027New Jersey\u0027\u003ENew Jersey\u003C\/option\u003E\u003Coption value=\u0027New Mexico\u0027\u003ENew Mexico\u003C\/option\u003E\u003Coption value=\u0027New York\u0027\u003ENew York\u003C\/option\u003E\u003Coption value=\u0027North Carolina\u0027\u003ENorth Carolina\u003C\/option\u003E\u003Coption value=\u0027North Dakota\u0027\u003ENorth Dakota\u003C\/option\u003E\u003Coption value=\u0027Ohio\u0027\u003EOhio\u003C\/option\u003E\u003Coption value=\u0027Oklahoma\u0027\u003EOklahoma\u003C\/option\u003E\u003Coption value=\u0027Oregon\u0027\u003EOregon\u003C\/option\u003E\u003Coption value=\u0027Pennsylvania\u0027\u003EPennsylvania\u003C\/option\u003E\u003Coption value=\u0027Rhode Island\u0027\u003ERhode Island\u003C\/option\u003E\u003Coption value=\u0027South Carolina\u0027\u003ESouth Carolina\u003C\/option\u003E\u003Coption value=\u0027South Dakota\u0027\u003ESouth Dakota\u003C\/option\u003E\u003Coption value=\u0027Tennessee\u0027\u003ETennessee\u003C\/option\u003E\u003Coption value=\u0027Texas\u0027\u003ETexas\u003C\/option\u003E\u003Coption value=\u0027Utah\u0027\u003EUtah\u003C\/option\u003E\u003Coption value=\u0027Vermont\u0027\u003EVermont\u003C\/option\u003E\u003Coption value=\u0027Virginia\u0027\u003EVirginia\u003C\/option\u003E\u003Coption value=\u0027Washington\u0027\u003EWashington\u003C\/option\u003E\u003Coption value=\u0027West Virginia\u0027\u003EWest Virginia\u003C\/option\u003E\u003Coption value=\u0027Wisconsin\u0027\u003EWisconsin\u003C\/option\u003E\u003Coption value=\u0027Wyoming\u0027\u003EWyoming\u003C\/option\u003E\u003C\/select\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-grid\u0027\u003E\u003Clabel for=\u0027College Name\u0027\u003ECollege Name \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cinput type=\u0027text\u0027 id=\u0027college_name\u0027 name=\u0027college_name\u0027 required\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-grid\u0027\u003E\u003Clabel for=\u0027Enrolled In College\u0027\u003EEnrolled In College \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cdiv class=\u0027radio_con\u0027\u003E\u003Cinput type=\u0027radio\u0027 id=\u0027enrolled_in_college_No\u0027 name=\u0027enrolled_in_college\u0027 value=\u0027No\u0027 required\u003E\u003Clabel for=\u0027enrolled_in_college_No\u0027\u003ENo\u003C\/label\u003E\u003C\/div\u003E\u003Cdiv class=\u0027radio_con\u0027\u003E\u003Cinput type=\u0027radio\u0027 id=\u0027enrolled_in_college_Yes\u0027 name=\u0027enrolled_in_college\u0027 value=\u0027Yes\u0027 required\u003E\u003Clabel for=\u0027enrolled_in_college_Yes\u0027\u003EYes\u003C\/label\u003E\u003C\/div\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-grid\u0027\u003E\u003Clabel for=\u0027Gpa\u0027\u003EGPA \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cselect id=\u0027gpa\u0027 name=\u0027gpa\u0027 required\u003E\u003Coption value=\u0027\u0027\u003ESelect GPA\u003C\/option\u003E\u003Coption value=\u00273.0\u0027\u003E3.0\u003C\/option\u003E\u003Coption value=\u00273.1\u0027\u003E3.1\u003C\/option\u003E\u003Coption value=\u00273.2\u0027\u003E3.2\u003C\/option\u003E\u003Coption value=\u00273.3\u0027\u003E3.3\u003C\/option\u003E\u003Coption value=\u00273.4\u0027\u003E3.4\u003C\/option\u003E\u003Coption value=\u00273.5\u0027\u003E3.5\u003C\/option\u003E\u003Coption value=\u00273.6\u0027\u003E3.6\u003C\/option\u003E\u003Coption value=\u00273.7\u0027\u003E3.7\u003C\/option\u003E\u003Coption value=\u00273.8\u0027\u003E3.8\u003C\/option\u003E\u003Coption value=\u00273.9\u0027\u003E3.9\u003C\/option\u003E\u003Coption value=\u00274.0\u0027\u003E4.0\u003C\/option\u003E\u003C\/select\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-grid\u0027\u003E\u003Clabel for=\u0027School Level\u0027\u003ESchool Level \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cselect id=\u0027school_level\u0027 name=\u0027school_level\u0027 required\u003E\u003Coption value=\u0027\u0027\u003ESelect School Level\u003C\/option\u003E\u003Coption value=\u0027College 1st year\u0027\u003ECollege 1st year\u003C\/option\u003E\u003Coption value=\u0027College 2nd year\u0027\u003ECollege 2nd year\u003C\/option\u003E\u003Coption value=\u0027College 3rd year\u0027\u003ECollege 3rd year\u003C\/option\u003E\u003Coption value=\u0027College 4th year\u0027\u003ECollege 4th year\u003C\/option\u003E\u003C\/select\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-grid\u0027\u003E\u003Clabel for=\u0027Applicant Birthdate\u0027\u003EApplicant Birthdate \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cinput type=\u0027date\u0027 id=\u0027applicant_birthdate\u0027 name=\u0027applicant_birthdate\u0027 required min=\u00271945-06-23\u0027 max=\u00272008-06-23\u0027\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-grid\u0027\u003E\u003Clabel for=\u0027Citizenship\u0027\u003ECitizenship \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cselect id=\u0027citizenship\u0027 name=\u0027citizenship\u0027 required\u003E\u003Coption value=\u0027\u0027\u003ESelect Citizenship\u003C\/option\u003E\u003Coption value=\u0027U.S. Citizen\u0027\u003EU.S. Citizen\u003C\/option\u003E\u003Coption value=\u0027U.S. Permanent Resident\u0027\u003EU.S. Permanent Resident\u003C\/option\u003E\u003C\/select\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-grid\u0027\u003E\u003Clabel for=\u0027Photo Upload\u0027\u003EPhoto Upload \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E \u003Cspan style=\u0022font-size:12px;color:gray;\u0022\u003E(png, jpeg, jpg)\u003C\/span\u003E\u003C\/label\u003E\u003Cinput type=\u0027file\u0027 id=\u0027photo_upload\u0027 name=\u0027photo_upload\u0027 accept=\u0027.png,.jpeg,.jpg\u0027 required\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-group-wide\u0027 data-mutually-exclusive=\u0027video_link\u0027\u003E\u003Clabel for=\u0027Essay Upload\u0027\u003EEssay Upload \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E \u003Cspan style=\u0022font-size:12px;color:gray;\u0022\u003E(.docx, pdf)\u003C\/span\u003E\u003C\/label\u003E\u003Cp\u003EApplications must include an original essay of 500-1000 words addressing the provided prompt: Discuss a personal injury or medical issue that you suffered and how you overcame the challenges of this experience. How has this experience prepared you for the challenges of higher education and your future career?\u003C\/p\u003E\u003Cinput type=\u0027file\u0027 id=\u0027essay_upload\u0027 name=\u0027essay_upload\u0027 accept=\u0027.docx,.pdf\u0027 required\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-group-wide\u0027\u003E\u003Clabel for=\u0027Proof Of Enrollment\u0027\u003EProof Of Enrollment \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E \u003Cspan style=\u0022font-size:12px;color:gray;\u0022\u003E(.docx, pdf)\u003C\/span\u003E\u003C\/label\u003E\u003Cp\u003EAccepted options may include an acceptance letter, letter of enrollment, class schedule, etc (PDF or .docx file)\u003C\/p\u003E\u003Cinput type=\u0027file\u0027 id=\u0027proof_of_enrollment\u0027 name=\u0027proof_of_enrollment\u0027 accept=\u0027.docx,.pdf\u0027 required\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group form-group-wide\u0027\u003E\u003Clabel for=\u0027Academic Transcript\u0027\u003EAcademic Transcript \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E \u003Cspan style=\u0022font-size:12px;color:gray;\u0022\u003E(.docx, pdf)\u003C\/span\u003E\u003C\/label\u003E\u003Cp\u003EIf your proof of enrollment does not include your GPA, please upload an up-to-date transcript from your most recent academic institution (high school, college, or university). Your transcript should show your most recent or current cumulative GPA.\u003C\/p\u003E\u003Cinput type=\u0027file\u0027 id=\u0027academic_transcript\u0027 name=\u0027academic_transcript\u0027 accept=\u0027.docx,.pdf\u0027 required\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group checkbox_con\u0027\u003E\u003Clabel for=\u0027Consent To Publish\u0027\u003EConsent To Publish \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cinput type=\u0027checkbox\u0027 id=\u0027consent_to_publish\u0027 name=\u0027consent_to_publish\u0027 required\u003E\u003Cp\u003EBy submitting your application, you consent that your name, photograph, and essay may be published on our website, social media, and other marketing channels.\u003C\/p\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group checkbox_con\u0027\u003E\u003Clabel for=\u0027Disclaimer\u0027\u003EDisclaimer \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cinput type=\u0027checkbox\u0027 id=\u0027disclaimer\u0027 name=\u0027disclaimer\u0027 required\u003E\u003Cp\u003EI confirm that none of the documentation included in my application includes any personally identifiable or private information, such as social security numbers or credit card information.\u003C\/p\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\u0027form-group form-group checkbox_con\u0027\u003E\u003Clabel for=\u0027Agree To Terms\u0027\u003EAgree To Terms \u003Cspan style=\u0022color:red;\u0022\u003E*\u003C\/span\u003E\u003C\/label\u003E\u003Cinput type=\u0027checkbox\u0027 id=\u0027agree_to_terms\u0027 name=\u0027agree_to_terms\u0027 required\u003E\u003Cp\u003EYou agree to the \u003Ca href=\u0027https:\/\/www.ovcscholarshipnetwork.com\/ovc-scholarship-network-program-privacy-policy-disclaimers\u0027 target=\u0027_blank\u0027\u003EPrivacy Policy.\u003C\/a\u003E\u003C\/p\u003E\u003Cdiv class=\u0027error_messages\u0027 style=\u0027display:none;\u0027\u003E\u003C\/div\u003E\u003C\/div\u003E \u003C\/div\u003E\n \u003Cbutton type=\u0027submit\u0027 class=\u0027sch_submit\u0027\u003EApply Now\u003C\/button\u003E\n \u003C\/div\u003E\n \u003C\/form\u003E\n \u003C\/template\u003E"; document.currentScript.insertAdjacentHTML('afterend', templateHtml); class ScholarshipForm extends HTMLElement { constructor() { super(); const shadow = this.attachShadow({ mode: 'open' }); const template = document.getElementById('scholarship-form-template'); shadow.appendChild(template.content.cloneNode(true)); const form = shadow.querySelector('form'); if (!form) return; const essayUpload = shadow.querySelector('#essay_upload'); const videoLink = shadow.querySelector('#video_link'); if (essayUpload && videoLink) { essayUpload.addEventListener('change', function() { if (this.files.length > 0) { videoLink.value = ''; videoLink.required = false; this.required = true; } else { this.required = false; } }); videoLink.addEventListener('input', function() { if (this.value.trim() !== '') { essayUpload.value = ''; essayUpload.required = false; this.required = true; } else { this.required = false; } }); } const phoneInputs = shadow.querySelectorAll('input[type="tel"]'); phoneInputs.forEach(input => { input.addEventListener('input', (e) => { let rawValue = e.target.value.replace(/\D/g, ''); let formatted = rawValue.length > 3 ? rawValue.substring(0, 3) + '-' : rawValue; formatted += rawValue.length > 6 ? rawValue.substring(3, 6) + '-' + rawValue.substring(6, 10) : rawValue.substring(3, 6); e.target.value = formatted; }); }); // Form submission handling (with thank-you popup and error management) if(form){ form.addEventListener('submit', (e) => { e.preventDefault(); // Disable submit button and show loading state const submitBtn = shadow.querySelector('button[type="submit"]'); const originalBtnText = submitBtn.textContent; submitBtn.disabled = true; submitBtn.textContent = 'Submitting Application...'; submitBtn.style.opacity = '0.7'; submitBtn.style.cursor = 'not-allowed'; var formData = new FormData(form); fetch("https://www.ovcscholar.com/submit-application", { method: 'POST', body: formData }) .then(response => response.json()) .then(data => { if (data.success) { let ssEmail = shadow.querySelector('#ss_email').value; let ssDate = shadow.querySelector('#ss_date').value; let ssSeason = shadow.querySelector('#ss_season').value; let homepageUrl = (function(url) { try { return new URL(url).origin; } catch (error) { console.error('Invalid URL:', error); return ''; } })(document.URL); form.remove(); shadow.querySelectorAll('.error_messages').forEach(error => { error.style.display = 'none'; }); shadow.querySelectorAll('.has-error').forEach(group => { group.classList.remove('has-error'); }); const thankYouMessage = document.createElement('div'); thankYouMessage.innerHTML = `
We've received your application! We can expect the winner to be announced on ${ssDate}.
Contact us here.