{"id":2863,"date":"2026-07-20T10:48:37","date_gmt":"2026-07-20T10:48:37","guid":{"rendered":"https:\/\/dunmanwayhistoricalassociation.ie\/?page_id=2863"},"modified":"2026-07-22T13:02:31","modified_gmt":"2026-07-22T13:02:31","slug":"password-reset","status":"publish","type":"page","link":"https:\/\/dunmanwayhistoricalassociation.ie\/ga\/password-reset\/","title":{"rendered":"Password Reset"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2863\" class=\"elementor elementor-2863\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5f22310 e-flex e-con-boxed e-con e-parent\" data-id=\"5f22310\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;video&quot;,&quot;background_video_link&quot;:&quot;https:\\\/\\\/dunmanwayhistoricalassociation.ie\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/273382_Typing-Office-Man-Business_By_Film_Spirits_Artlist_4K.mp4&quot;,&quot;background_play_on_mobile&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-background-video-container\">\n\t\t\t\t\t\t\t<video class=\"elementor-background-video-hosted\" role=\"presentation\" autoplay muted playsinline loop><\/video>\n\t\t\t\t\t<\/div><div class=\"elementor-element elementor-element-063f0a7 e-con-full e-flex e-con e-child\" data-id=\"063f0a7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fa688b4 elementor-widget elementor-widget-image\" data-id=\"fa688b4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/dunmanwayhistoricalassociation.ie\/wp-content\/uploads\/2026\/02\/Logo_April2026_Transparent-150x150.webp\" class=\"attachment-thumbnail size-thumbnail wp-image-1321\" alt=\"Dunmanway Historical Association Logo with a transparent background\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a2fe71 DHA-reset-title elementor-widget elementor-widget-heading\" data-id=\"7a2fe71\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Reset your password<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d484d73 DHA-reset-instructions elementor-widget elementor-widget-text-editor\" data-id=\"d484d73\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Enter the email address associated with your Dunmanway Historical Association account below. We will send you an email with a secure link to create a new password.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-461ff9e elementor-widget__width-inherit elementor-widget elementor-widget-shortcode\" data-id=\"461ff9e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">            <form name=\"lostpasswordform\" id=\"lostpasswordform\" action=\"\" method=\"post\" style=\"width: 100%;\">\n                <p style=\"width: 100%;\">\n                    <label for=\"user_login\">Email Address *<\/label>\n                    <input type=\"text\" name=\"user_login\" id=\"user_login\" class=\"input dha-full-input\" value=\"\" required style=\"width: 100% !important; box-sizing: border-box !important;\" \/>\n                <\/p>\n                <p class=\"submit\" style=\"text-align: center; width: 100%;\">\n                    <input type=\"submit\" name=\"wp-submit\" id=\"wp-submit\" class=\"button button-primary button-large\" value=\"Get New Password\" \/>\n                <\/p>\n            <\/form>\n            <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-322f12a DHA-back-to-login elementor-widget elementor-widget-text-editor\" data-id=\"322f12a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/dunmanwayhistoricalassociation.ie\/member-login\/\">\u2190 Back to Login<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e65d712 elementor-widget elementor-widget-html\" data-id=\"e65d712\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\/* --- 1. CARD CONTAINER MAX-WIDTH CAP --- *\/\n\n.elementor-widget-html,\n.elementor-widget-container,\n.elementor-shortcode {\n    width: 100% !important;\n    max-width: 500px !important;\n    margin: 0 auto !important;\n    box-sizing: border-box !important;\n}\n\n\/* --- 2. FORM & INPUT FULL WIDTH --- *\/\n\nform#lostpasswordform,\nform#resetpassform,\n#lostpasswordform p,\n#resetpassform p,\nform[name=\"lostpasswordform\"] p,\nform[name=\"resetpassform\"] p {\n    width: 100% !important;\n    max-width: 100% !important;\n    box-sizing: border-box !important;\n    margin-left: 0 !important;\n    margin-right: 0 !important;\n    display: block !important;\n    clear: both !important;\n}\n\ninput#user_login,\ninput#pass1,\ninput[type=\"text\"],\ninput[type=\"password\"],\n.input {\n    width: 100% !important;\n    max-width: 100% !important;\n    min-width: 100% !important;\n    background-color: #ffffff !important;\n    border: 1px solid #cccccc !important;\n    border-radius: 4px !important;\n    padding: 12px 14px !important;\n    box-sizing: border-box !important;\n    display: block !important;\n    outline: none !important;\n}\n\n\/* Green Focus Ring *\/\ninput#user_login:focus,\ninput#pass1:focus {\n    border-color: #14532d !important; \n    outline: 1px solid #14532d !important; \n    box-shadow: 0 0 3px rgba(20, 83, 45, 0.15) !important;\n}\n\n\/* Kill Autofill Tint *\/\ninput:-webkit-autofill {\n    -webkit-box-shadow: 0 0 0 30px white inset !important;\n}\n\nlabel[for=\"user_login\"] {\n    font-size: 0px !important; \n}\nlabel[for=\"user_login\"]::before {\n    content: \"Email Address *\";\n    font-size: 15px !important; \n    color: #333333 !important; \n    display: block;\n    margin-bottom: 6px !important; \n    font-weight: 500 !important;\n}\n\n\/* --- 3. SUBMIT BUTTON STYLING (Left Aligned) --- *\/\n\np.submit {\n    display: block !important;\n    width: 100% !important;\n    margin-top: 20px !important;\n    text-align: left !important;\n}\n\ninput[type=\"submit\"] {\n    background-color: #14532d !important;\n    color: #ffffff !important;\n    border: 1px solid #14532d !important; \n    border-radius: 6px !important; \n    font-weight: 600 !important;\n    padding: 12px 28px !important;\n    transition: all 0.3s ease !important; \n    cursor: pointer !important;\n    display: inline-block !important;\n    margin: 0 !important;\n    float: none !important;\n}\n\ninput[type=\"submit\"]:hover {\n    background-color: #0f3d21 !important; \n    border-color: #0f3d21 !important; \n}\n\n\/* --- 4. ALERT & UTILITY BOXES --- *\/\n\n.ld-alert,\n.ld-login-message,\n.ld-alert-success,\n.elementor-message {\n    color: #14532d !important; \n    background-color: #f0fdf4 !important; \n    border: 1px solid #14532d !important;\n    border-radius: 6px !important;\n    font-weight: 500 !important;\n    padding: 12px 15px !important;\n    margin-top: 20px !important;\n    margin-bottom: 20px !important;\n}\n\n.dha-error-box {\n    color: #14532d !important; \n    background-color: #f0fdf4 !important; \n    border: 1px solid #14532d !important; \n    border-radius: 6px !important;\n    font-weight: 700 !important;\n    padding: 12px 15px !important;\n    margin-top: 15px !important;\n    margin-bottom: 15px !important;\n    font-size: 14px !important;\n}\n\n.dha-note-bold {\n    color: #14532d;\n    font-weight: 700;\n}\n\n.dha-show-hide-link {\n    position: absolute;\n    right: 15px;\n    top: 50%;\n    transform: translateY(-50%);\n    color: #14532d; \n    font-size: 13px;\n    text-decoration: underline; \n    z-index: 10;\n    user-select: none;\n}\n\n.dha-return-login-btn {\n    display: block !important;\n    background-color: #14532d !important;\n    color: #ffffff !important;\n    border: 1px solid #14532d !important;\n    border-radius: 6px !important;\n    padding: 12px 20px !important;\n    text-decoration: none !important;\n    font-size: 15px !important;\n    font-weight: 600 !important;\n    margin: 20px auto 0 auto !important;\n    text-align: center !important;\n    cursor: pointer !important;\n    transition: all 0.3s ease !important;\n    width: 100% !important;\n    box-sizing: border-box !important;\n}\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n\n    \/\/ Helper function to display an inline error box on the form\n    function showInlineError(formElement, message) {\n        var existingError = formElement.querySelector('.dha-error-box');\n        if (existingError) {\n            existingError.remove();\n        }\n\n        var errorBox = document.createElement('div');\n        errorBox.className = 'dha-error-box';\n        errorBox.innerText = message;\n\n        formElement.insertBefore(errorBox, formElement.firstChild);\n        errorBox.scrollIntoView({ behavior: 'smooth', block: 'center' });\n    }\n\n    \/\/ Function to hide any \"Back to Login\" links on success\n    function hideBackToLoginLinks() {\n        var allLinks = document.querySelectorAll('a, p, div');\n        allLinks.forEach(function(el) {\n            if (el.children.length === 0 && el.innerText && el.innerText.includes('Back to Login')) {\n                el.style.display = 'none';\n                if (el.parentElement && el.parentElement.tagName === 'A') {\n                    el.parentElement.style.display = 'none';\n                }\n            }\n        });\n    }\n\n    \/\/ --- PHASE 3: Password Successfully Reset ---\n    if (document.body.innerText.includes('Password reset, please log into your account')) {\n        var instructions = document.querySelector('.DHA-reset-instructions, .dha-reset-instructions');\n        if (instructions) instructions.style.display = 'none';\n\n        var mainTitle = document.querySelector('.dha-reset-title');\n        if (mainTitle) mainTitle.style.display = 'none'; \n        \n        var loginForm = document.querySelector('form');\n        if (loginForm) loginForm.style.display = 'none';\n\n        hideBackToLoginLinks();\n        \n        var successMessage = document.querySelector('.ld-login-message, .ld-alert-success, .elementor-message');\n        if (successMessage && !document.querySelector('.dha-return-login-btn')) {\n            var returnBtn = document.createElement('a');\n            returnBtn.href = 'https:\/\/dunmanwayhistoricalassociation.ie\/member-login\/';\n            returnBtn.className = 'dha-return-login-btn';\n            returnBtn.innerText = 'Click here to Log In';\n            \n            successMessage.parentNode.insertBefore(returnBtn, successMessage.nextSibling);\n        }\n    }\n    \/\/ --- PHASE 2: \"Set New Password\" screen (Email link) ---\n    else if (window.location.search.includes('key=')) {\n        var instructions = document.querySelector('.DHA-reset-instructions, .dha-reset-instructions');\n        if (instructions) {\n            instructions.innerHTML = 'Enter your new password below.<br><br><span class=\"dha-note-bold\">Please note:<\/span> Your password must be at least 12 characters long and include letters, numbers, and special characters.';\n        }\n        \n        hideBackToLoginLinks();\n    }\n\n    \/\/ --- PHASE 1.5: \"Email Sent\" Success Screen ---\n    if (document.body.innerText.includes('If an account with that username')) {\n        var instructions = document.querySelector('.DHA-reset-instructions, .dha-reset-instructions');\n        if (instructions) instructions.style.display = 'none'; \n\n        var emailInput = document.querySelector('input#user_login');\n        var emailLabel = document.querySelector('label[for=\"user_login\"]');\n        var submitBtn = document.querySelector('input[type=\"submit\"]');\n        \n        if (emailInput) emailInput.style.display = 'none';\n        if (emailLabel) emailLabel.style.display = 'none';\n        if (submitBtn) submitBtn.style.display = 'none';\n    }\n\n    \/\/ --- PHASE 4: SECURITY GUARD ---\n    document.addEventListener('submit', function(e) {\n        var activeForm = e.target;\n        var emailInput = activeForm.querySelector('input#user_login');\n        var passInput = activeForm.querySelector('input#pass1') || activeForm.querySelector('input[type=\"password\"]');\n        var errorMessage = '';\n\n        if (emailInput && emailInput.offsetParent !== null && !passInput) {\n            if (!emailInput.value.trim()) {\n                errorMessage = 'Please enter your email address.';\n            } else if (!emailInput.value.includes('@')) {\n                errorMessage = 'Please enter a valid email address.';\n            }\n        }\n        else if (passInput && passInput.offsetParent !== null) {\n            var password = passInput.value;\n\n            var hasLetters = \/[a-zA-Z]\/.test(password);\n            var hasNumbers = \/[0-9]\/.test(password);\n            var hasSpecialChars = \/[^a-zA-Z0-9]\/.test(password);\n\n            if (!password.trim()) {\n                errorMessage = 'Please enter a new password.';\n            } else if (password.length < 12) {\n                errorMessage = 'Your password must be at least 12 characters long.';\n            } else if (!hasLetters) {\n                errorMessage = 'Your password must contain at least one letter.';\n            } else if (!hasNumbers) {\n                errorMessage = 'Your password must contain at least one number.';\n            } else if (!hasSpecialChars) {\n                errorMessage = 'Your password must contain at least one special character (e.g., !@#$%^&*).';\n            }\n        }\n\n        if (errorMessage !== '') {\n            e.preventDefault();\n            e.stopPropagation();\n            showInlineError(activeForm, errorMessage);\n            return false;\n        }\n    }, true);\n\n    \/\/ --- Show\/Hide Password Toggle Logic ---\n    var passwordFields = document.querySelectorAll('input[type=\"password\"]');\n    passwordFields.forEach(function(field) {\n        field.parentElement.style.position = 'relative';\n\n        var nativeButton = field.parentElement.querySelector('button');\n        if (nativeButton) {\n            nativeButton.remove(); \n        }\n\n        var toggleLink = document.createElement('a');\n        toggleLink.className = 'dha-show-hide-link';\n        toggleLink.href = 'javascript:void(0);'; \n        toggleLink.innerText = 'Show';\n\n        field.parentNode.insertBefore(toggleLink, field.nextSibling);\n\n        toggleLink.addEventListener('click', function(e) {\n            e.preventDefault(); \n            if (field.type === 'password') {\n                field.type = 'text';\n                toggleLink.innerText = 'Hide';\n            } else {\n                field.type = 'password';\n                toggleLink.innerText = 'Show';\n            }\n        });\n    });\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Reset your password Enter the email address associated with your Dunmanway Historical Association account below. We will send you an email with a secure link to create a new password. \u2190 Back to Login<\/p>","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2863","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/dunmanwayhistoricalassociation.ie\/ga\/wp-json\/wp\/v2\/pages\/2863","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dunmanwayhistoricalassociation.ie\/ga\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dunmanwayhistoricalassociation.ie\/ga\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dunmanwayhistoricalassociation.ie\/ga\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/dunmanwayhistoricalassociation.ie\/ga\/wp-json\/wp\/v2\/comments?post=2863"}],"version-history":[{"count":101,"href":"https:\/\/dunmanwayhistoricalassociation.ie\/ga\/wp-json\/wp\/v2\/pages\/2863\/revisions"}],"predecessor-version":[{"id":3155,"href":"https:\/\/dunmanwayhistoricalassociation.ie\/ga\/wp-json\/wp\/v2\/pages\/2863\/revisions\/3155"}],"wp:attachment":[{"href":"https:\/\/dunmanwayhistoricalassociation.ie\/ga\/wp-json\/wp\/v2\/media?parent=2863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}