{"id":744,"date":"2026-03-26T12:04:23","date_gmt":"2026-03-26T12:04:23","guid":{"rendered":"https:\/\/staging5.symphony-solution.com\/selfseawp\/?page_id=744"},"modified":"2026-04-16T11:26:52","modified_gmt":"2026-04-16T11:26:52","slug":"login","status":"publish","type":"page","link":"https:\/\/staging5.symphony-solution.com\/selfseawp\/login\/","title":{"rendered":"login"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"744\" class=\"elementor elementor-744\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4af5273 e-con-full e-flex e-con e-parent\" data-id=\"4af5273\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-792ab0a e-con-full elementor-hidden-mobile e-flex e-con e-child\" data-id=\"792ab0a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-87f1773 e-con-full e-flex e-con e-child\" data-id=\"87f1773\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-049fba6 e-con-full e-flex e-con e-child\" data-id=\"049fba6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-7cfacf9 e-con-full e-flex e-con e-child\" data-id=\"7cfacf9\" 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-d286a7f elementor-widget elementor-widget-heading\" data-id=\"d286a7f\" 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\">log in<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b9a8217 elementor-align-center elementor-widget__width-inherit auth_google_button elementor-widget elementor-widget-button\" data-id=\"b9a8217\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\"><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M17.6 9.2l-.1-1.8H9v3.4h4.8C13.6 12 13 13 12 13.6v2.2h3a8.8 8.8 0 0 0 2.6-6.6z\" fill=\"#4285F4\" fill-rule=\"nonzero\"><\/path><path d=\"M9 18c2.4 0 4.5-.8 6-2.2l-3-2.2a5.4 5.4 0 0 1-8-2.9H1V13a9 9 0 0 0 8 5z\" fill=\"#34A853\" fill-rule=\"nonzero\"><\/path><path d=\"M4 10.7a5.4 5.4 0 0 1 0-3.4V5H1a9 9 0 0 0 0 8l3-2.3z\" fill=\"#FBBC05\" fill-rule=\"nonzero\"><\/path><path d=\"M9 3.6c1.3 0 2.5.4 3.4 1.3L15 2.3A9 9 0 0 0 1 5l3 2.4a5.4 5.4 0 0 1 5-3.7z\" fill=\"#EA4335\" fill-rule=\"nonzero\"><\/path><path d=\"M0 0h18v18H0z\"><\/path><\/g><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Sign in with Google<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-786f2c9 elementor-widget-divider--view-line_text elementor-widget-divider--element-align-center elementor-widget elementor-widget-divider\" data-id=\"786f2c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t\t<span class=\"elementor-divider__text elementor-divider__element\">\n\t\t\t\tor\t\t\t\t<\/span>\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-354a10f elementor-widget__width-inherit elementor-widget elementor-widget-login\" data-id=\"354a10f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"login.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46be1c3 elementor-widget elementor-widget-html\" data-id=\"46be1c3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n.custom-field-error,\n.login-form-error {\n  display: none;\n  color: #ef4b3f;\n  font-size: 14px;\n  line-height: 1.5;\n  margin-top: 8px;\n}\n\n.elementor-field-group.has-error input {\n  border-color: #ef4b3f !important;\n}\n\n.elementor-login .elementor-field-group {\n  position: relative;\n}\n\n.elementor-login .elementor-field-group:nth-child(2) input {\n  padding-right: 48px !important;\n}\n\n.elementor-login .toggle-password {\n  position: absolute !important;\n  right: 14px !important;\n  top: 36px !important;\n  transform: none !important;\n  z-index: 20 !important;\n  display: flex !important;\n  align-items: center;\n  justify-content: center;\n  width: 20px;\n  height: 20px;\n}\n\n.elementor-login .toggle-password img,\n.elementor-login .toggle-password svg {\n  display: block !important;\n  width: 18px;\n  height: 18px;\n}\n\n.elementor-login button[type=\"submit\"] {\n  background-color: #b6e35a !important;\n  color: #000 !important;\n}\n\n.elementor-login button[type=\"submit\"]:disabled,\n.elementor-login button[type=\"submit\"].custom-disabled {\n  background-color: #d9d9d9 !important;\n  color: #000 !important;\n  border-color: #000 !important;\n  cursor: not-allowed !important;\n  opacity: 1 !important;\n}\n<\/style>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  const form = document.querySelector(\".elementor-login.elementor-form\");\n  if (!form) return;\n\n  form.setAttribute(\"novalidate\", \"novalidate\");\n\n  const usernameField = form.querySelector(\"[name='log']\");\n  const passwordField = form.querySelector(\"[name='pwd']\");\n  const submitBtn = form.querySelector(\"button[type='submit']\");\n\n  if (!usernameField || !passwordField || !submitBtn) return;\n\n  const fieldGroups = form.querySelectorAll(\".elementor-field-group\");\n  const usernameGroup = fieldGroups[0] || null;\n  const passwordGroup = fieldGroups[1] || null;\n\n  function ensureErrorEl(group, className) {\n    if (!group) return null;\n\n    let el = group.querySelector(\".\" + className);\n    if (!el) {\n      el = document.createElement(\"div\");\n      el.className = \"custom-field-error \" + className;\n      group.appendChild(el);\n    }\n    return el;\n  }\n\n  function ensureFormError() {\n    let el = form.querySelector(\".login-form-error\");\n    if (!el) {\n      el = document.createElement(\"div\");\n      el.className = \"login-form-error\";\n      const submitWrap = submitBtn.closest(\".elementor-field-type-submit\");\n      if (submitWrap) {\n        submitWrap.insertAdjacentElement(\"afterend\", el);\n      } else {\n        form.appendChild(el);\n      }\n    }\n    return el;\n  }\n\n  const usernameError = ensureErrorEl(usernameGroup, \"username-error\");\n  const passwordError = ensureErrorEl(passwordGroup, \"password-error\");\n  const formError = ensureFormError();\n\n  function showError(group, errorEl, message) {\n    if (group) group.classList.add(\"has-error\");\n    if (errorEl) {\n      errorEl.textContent = message;\n      errorEl.style.display = \"block\";\n    }\n  }\n\n  function hideError(group, errorEl) {\n    if (group) group.classList.remove(\"has-error\");\n    if (errorEl) {\n      errorEl.textContent = \"\";\n      errorEl.style.display = \"none\";\n    }\n  }\n\n  function showFormError(message) {\n    formError.textContent = message;\n    formError.style.display = \"block\";\n  }\n\n  function hideFormError() {\n    formError.textContent = \"\";\n    formError.style.display = \"none\";\n  }\n\n  function disableBtn() {\n    submitBtn.disabled = true;\n    submitBtn.classList.add(\"custom-disabled\");\n  }\n\n  function enableBtn() {\n    submitBtn.disabled = false;\n    submitBtn.classList.remove(\"custom-disabled\");\n  }\n\n  function isValidEmail(email) {\n    return \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email);\n  }\n\n  function validateFields() {\n    let valid = true;\n\n    hideError(usernameGroup, usernameError);\n    hideError(passwordGroup, passwordError);\n    hideFormError();\n\n    const usernameVal = usernameField.value.trim();\n    const passwordVal = passwordField.value.trim();\n\n    if (!usernameVal) {\n      valid = false;\n      showError(usernameGroup, usernameError, \"Please enter a valid email address\");\n    } else if (usernameVal.includes(\"@\") && !isValidEmail(usernameVal)) {\n      valid = false;\n      showError(usernameGroup, usernameError, \"Please enter a valid email address\");\n    }\n\n    if (!passwordVal) {\n      valid = false;\n      showError(passwordGroup, passwordError, \"Password is required.\");\n    }\n\n    if (!valid) {\n      disableBtn();\n    } else {\n      enableBtn();\n    }\n\n    return valid;\n  }\n\n  function handleInputState() {\n  const usernameVal = usernameField.value.trim();\n  const passwordVal = passwordField.value.trim();\n\n  \/\/ BOTH fields required\n  if (usernameVal && passwordVal) {\n    enableBtn();\n  } else {\n    disableBtn();\n  }\n\n  \/\/ remove error while typing\n  if (usernameVal) {\n    hideError(usernameGroup, usernameError);\n  }\n\n  if (passwordVal) {\n    hideError(passwordGroup, passwordError);\n  }\n\n  hideFormError();\n}\n\n  usernameField.addEventListener(\"input\", handleInputState);\n  passwordField.addEventListener(\"input\", handleInputState);\n\n  form.addEventListener(\"submit\", async function (e) {\n    e.preventDefault();\n    e.stopPropagation();\n\n    if (!validateFields()) return;\n\n    disableBtn();\n\n    const formData = new FormData();\n    formData.append(\"action\", \"selfsea_elementor_login\");\n    formData.append(\"username\", usernameField.value.trim());\n    formData.append(\"password\", passwordField.value.trim());\n\n    try {\n      const response = await fetch(\"\/selfseawp\/wp-admin\/admin-ajax.php\", {\n        method: \"POST\",\n        body: formData,\n        credentials: \"same-origin\"\n      });\n\n      const data = await response.json();\n\n      if (data.success) {\n        window.location.href = data.data.redirect;\n      } else {\n        showFormError(\"Wrong username\/password.\");\n        enableBtn();\n      }\n    } catch (error) {\n      showFormError(\"Something went wrong. Please try again.\");\n      enableBtn();\n    }\n  });\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b2d4d2 elementor-widget elementor-widget-text-editor\" data-id=\"0b2d4d2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<a class=\"auth_forgot_password_link\" href=\"https:\/\/staging5.symphony-solution.com\/selfseawp\/trouble-login\">forgot your password?<\/a>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-239d949 e-con-full e-flex e-con e-child\" data-id=\"239d949\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-10a6560 e-con-full e-flex e-con e-child\" data-id=\"10a6560\" 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-096a1dc elementor-widget elementor-widget-text-editor\" data-id=\"096a1dc\" 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>don\u2019t have an account yet?<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-78f7130 elementor-widget elementor-widget-button\" data-id=\"78f7130\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/staging5.symphony-solution.com\/selfseawp\/signup\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">sign up<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7007df2 e-con-full elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-child\" data-id=\"7007df2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"likebtn_container\" style=\"\"><!-- LikeBtn.com BEGIN --><span class=\"likebtn-wrapper\"  data-identifier=\"page_744\"  data-site_id=\"69cae70cfa8fdf484b53ce90\"  data-style=\"\"  data-unlike_allowed=\"\"  data-show_copyright=\"\"  data-item_url=\"https:\/\/staging5.symphony-solution.com\/selfseawp\/login\/\"  data-item_title=\"login\"  data-item_date=\"2026-03-26T12:04:23+00:00\"  data-engine=\"WordPress\"  data-plugin_v=\"2.6.59\"  data-prx=\"https:\/\/staging5.symphony-solution.com\/selfseawp\/wp-admin\/admin-ajax.php?action=likebtn_prx\"  data-event_handler=\"likebtn_eh\" ><\/span><!-- LikeBtn.com END --><\/div>","protected":false},"excerpt":{"rendered":"<p>log in Sign in with Google or forgot your password? don\u2019t have an account yet? sign up<\/p>\n<div class=\"likebtn_container\" style=\"\"><!-- LikeBtn.com BEGIN --><span class=\"likebtn-wrapper\"  data-identifier=\"page_744\"  data-site_id=\"69cae70cfa8fdf484b53ce90\"  data-style=\"\"  data-unlike_allowed=\"\"  data-show_copyright=\"\"  data-item_url=\"https:\/\/staging5.symphony-solution.com\/selfseawp\/login\/\"  data-item_title=\"login\"  data-item_date=\"2026-03-26T12:04:23+00:00\"  data-engine=\"WordPress\"  data-plugin_v=\"2.6.59\"  data-prx=\"https:\/\/staging5.symphony-solution.com\/selfseawp\/wp-admin\/admin-ajax.php?action=likebtn_prx\"  data-event_handler=\"likebtn_eh\" ><\/span><!-- LikeBtn.com END --><\/div>","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_angie_page":false,"footnotes":""},"class_list":["post-744","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/staging5.symphony-solution.com\/selfseawp\/wp-json\/wp\/v2\/pages\/744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging5.symphony-solution.com\/selfseawp\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/staging5.symphony-solution.com\/selfseawp\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/staging5.symphony-solution.com\/selfseawp\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/staging5.symphony-solution.com\/selfseawp\/wp-json\/wp\/v2\/comments?post=744"}],"version-history":[{"count":199,"href":"https:\/\/staging5.symphony-solution.com\/selfseawp\/wp-json\/wp\/v2\/pages\/744\/revisions"}],"predecessor-version":[{"id":6193,"href":"https:\/\/staging5.symphony-solution.com\/selfseawp\/wp-json\/wp\/v2\/pages\/744\/revisions\/6193"}],"wp:attachment":[{"href":"https:\/\/staging5.symphony-solution.com\/selfseawp\/wp-json\/wp\/v2\/media?parent=744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}