www.targetoptical.com Open in urlscan Pro
2a02:26f0:3500:1b::1724:a392  Public Scan

Submitted URL: https://www.dpbolvw.net/click-46157-15734232
Effective URL: https://www.targetoptical.com/?cjdata=MXxZfDB8WXww&cid=PM-ACJ_000000-46157_Ebates+Performance+Marketing%2C+Inc.+dba+Rakuten+Re...
Submission: On October 06 via manual from US — Scanned from NL

Form analysis 9 forms found in the DOM

Name: CatalogSearchFormGET javascript:openLink()

<form name="CatalogSearchForm" onsubmit="openLink()" action="javascript:openLink()" method="get" id="CatalogSearchForm" class="w-100 search-bar-wrap ng-pristine ng-valid"><input type="hidden" name="storeId" value="12001"
    id="WC_CachedHeaderDisplay_FormInput_storeId_In_CatalogSearchForm_1" autocomplete="off"><input type="hidden" name="catalogId" value="12751" id="WC_CachedHeaderDisplay_FormInput_catalogId_In_CatalogSearchForm_1" autocomplete="off"><input
    type="hidden" name="langId" value="-1" id="WC_CachedHeaderDisplay_FormInput_langId_In_CatalogSearchForm_1" autocomplete="off"><input type="hidden" name="pageSize" value="21" id="WC_CachedHeaderDisplay_FormInput_pageSize_In_CatalogSearchForm_1"
    autocomplete="off"><input type="hidden" name="beginIndex" value="0" id="WC_CachedHeaderDisplay_FormInput_beginIndex_In_CatalogSearchForm_1" autocomplete="off"><input type="hidden" name="searchSource" value="Q"
    id="WC_CachedHeaderDisplay_FormInput_searchSource_In_CatalogSearchForm_1" autocomplete="off"><input type="hidden" name="sType" value="SimpleSearch" id="WC_CachedHeaderDisplay_FormInput_sType_In_CatalogSearchForm_1" autocomplete="off"><input
    type="hidden" name="resultCatEntryType" value="2" id="WC_CachedHeaderDisplay_FormInput_resultType_In_CatalogSearchForm_1" autocomplete="off"><input type="hidden" name="showResultsPage" value="true" id="WC_CachedHeaderDisplay_input_1"
    autocomplete="off"><input type="hidden" name="pageView" value="image" id="WC_CachedHeaderDisplay_input_2" autocomplete="off"><input type="hidden" name="searchView" value="" id="searchView" autocomplete="off">
  <div id="header-search" class="iefix">
    <meta name="CommerceSearch" content="storeId_12001">
    <div class="input-group">
      <div class="h-search-icon header-icon mobile-hide-1220"></div>
      <div class="h-search-icon-s header-icon header-icon-16 desktop-hide-1221"></div><input class="input-box jsSearchInput" placeholder="Search products or services" aria-label="Search on TargetOptical for brands, contacts and glasses" type="text"
        maxlength="64" accesskey="0" name="searchTerm" id="SimpleSearchForm_SearchTerm" value="" onfocus="retrieveCachedSuggestions('/webapp/wcs/stores/servlet/CachedSuggestionsView?langId=-1&amp;storeId=12001&amp;catalogId=12751');"
        onkeyup="doAutoSuggest(event, &quot;/webapp/wcs/stores/servlet/AutoSuggestView?coreName=MC_12651_CatalogEntry_en_US&amp;serverURL=http%3a%2f%2flbsolrronaprodlive.luxgroup.net%3a3737%2fsolr%2fMC_12651_CatalogEntry_en_US&amp;min_search_slide=4&quot;, this.value);"
        onkeypress="onKeyPressFunctions(event);" autocomplete="off" tabindex="0"><input type="submit" class="submit d-none" value="search" id="searchBarButton"
        style="font-family: HelveticaNeueforTarget-Bd !important; position: relative; margin-left: -5px !important; cursor: pointer !important; z-index: 1001;"
        onclick="JavaScript:document.CatalogSearchForm.searchTerm.value=trim(document.CatalogSearchForm.searchTerm.value); if(document.CatalogSearchForm.searchTerm.value == 'search') document.CatalogSearchForm.searchTerm.value = ''; if(document.CatalogSearchForm.searchTerm.value != '') {utagFiller.setSearchFlag(); submitSpecifiedForm(document.CatalogSearchForm);} return false;">
    </div>
    <div id="autoCompleteContainer"></div>
  </div>
</form>

/AjaxStoreLocatorDisplayView?storeId=12001&urlRequestType=Base&langId=-1&catalogId=12751

<form action="/AjaxStoreLocatorDisplayView?storeId=12001&amp;urlRequestType=Base&amp;langId=-1&amp;catalogId=12751" class="ng-pristine ng-valid">
  <div class="input-group"><input type="text" class="main-input" required="" size="25" name="zipCode" aria-label="Search a store. Enter zip code or city." placeholder="Enter City / State or Zip Code"><input type="hidden" name="storeId" value="12001"
      autocomplete="off"><input type="hidden" name="catalogId" value="12751" autocomplete="off"><input type="hidden" name="langId" value="-1" autocomplete="off">
    <div class="input-group-append"><button class="ct-button" type="submit">SEARCH</button></div>
  </div>
</form>

<form class="needs-validation ng-pristine ng-valid" id="insurance-information-form" novalidate=""><input type="hidden" name="storeId" value="12001" autocomplete="off"><input type="hidden" name="catalogId" value="12751" autocomplete="off"><input
    type="hidden" name="langId" value="-1" autocomplete="off"><input type="hidden" name="infoForm" value="personal" autocomplete="off">
  <fieldset id="personal-information-fieldset">
    <div class="form-row selectize">
      <div class="col-md">
        <div class="selectize input-field"><label for="provider-selectized">Select or type your insurance carrier*</label><select class="form-control utagpiimask selectized" id="provider" name="provider" tabindex="-1" style="display: none;">
            <option value="" selected="selected"></option>
          </select>
          <div class="selectize-control form-control utagpiimask single plugin-no_results plugin-clear_button plugin-input_label"><button type="button" tabindex="-1" class="clear-input" disabled=""></button>
            <div class="selectize-input items required invalid not-full has-options form-control"><input type="select-one" autocomplete="new-password" autofill="no" tabindex="" id="provider-selectized" required="" aria-label="Insurance provider"
                style="width: 4px;"></div>
            <div class="selectize-dropdown form-control utagpiimask selectized dropdown-empty-message" style="display: none;">
              <div class="selectize-dropdown-content">
                <div class="option" style="pointer-events: none">No match found.</div>
                <div class="option" style="pointer-events: none"><b>Your insurance might be out of network, check information below.</b></div>
              </div>
            </div>
            <div class="selectize-dropdown single form-control utagpiimask plugin-no_results plugin-clear_button plugin-input_label" style="display: none;">
              <div class="selectize-dropdown-content" tabindex="-1"></div>
            </div>
          </div>
          <div class="invalid-feedback">Insurance provider cannot be empty.</div>
        </div>
        <div id="out-of-network-error" class="mt-3 hide"><span class="strong">Your insurance is out-of-network, check the information below</span></div>
      </div>
    </div>
    <div class="form-row d-none">
      <div class="col-md-6 mt-3">
        <div class="input-field"><input onfocus="insuranceController.closeCommunicationErrorModal(); insuranceController.closeCalendarWidget()" type="text" class="form-control utagpiimask" id="first-name" placeholder="First name" value=""
            name="firstName" required=""><label for="first-name">First name*</label>
          <div class="ml-3 invalid-feedback"></div><svg class="icon-valid" style="display: none;" width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path d="M7.33333 9.22888L5.47133 7.36721L4.52867 8.30988L7.33333 11.1149L11.8047 6.64321L10.862 5.70054L7.33333 9.22888Z" fill="#489F2D"></path>
            <path
              d="M8 0.171875C3.58867 0.171875 0 3.76054 0 8.17188C0 12.5832 3.58867 16.1719 8 16.1719C12.4113 16.1719 16 12.5832 16 8.17188C16 3.76054 12.4113 0.171875 8 0.171875ZM8 14.8385C4.324 14.8385 1.33333 11.8479 1.33333 8.17188C1.33333 4.49588 4.324 1.50521 8 1.50521C11.676 1.50521 14.6667 4.49588 14.6667 8.17188C14.6667 11.8479 11.676 14.8385 8 14.8385Z"
              fill="#489F2D"></path>
          </svg><a class="clear-input"></a>
        </div>
      </div>
      <div class="col-md-6 mt-3">
        <div class="input-field"><input onfocus="insuranceController.closeCommunicationErrorModal(); insuranceController.closeCalendarWidget()" type="text" class="form-control utagpiimask" id="last-name" placeholder="Last name" value=""
            name="lastName" required=""><label for="last-name">Last name*</label>
          <div class="ml-3 invalid-feedback"></div><svg class="icon-valid" style="display: none;" width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path d="M7.33333 9.22888L5.47133 7.36721L4.52867 8.30988L7.33333 11.1149L11.8047 6.64321L10.862 5.70054L7.33333 9.22888Z" fill="#489F2D"></path>
            <path
              d="M8 0.171875C3.58867 0.171875 0 3.76054 0 8.17188C0 12.5832 3.58867 16.1719 8 16.1719C12.4113 16.1719 16 12.5832 16 8.17188C16 3.76054 12.4113 0.171875 8 0.171875ZM8 14.8385C4.324 14.8385 1.33333 11.8479 1.33333 8.17188C1.33333 4.49588 4.324 1.50521 8 1.50521C11.676 1.50521 14.6667 4.49588 14.6667 8.17188C14.6667 11.8479 11.676 14.8385 8 14.8385Z"
              fill="#489F2D"></path>
          </svg><a class="clear-input"></a>
        </div>
      </div>
    </div>
    <div class="form-row d-none">
      <div class="col-md-6 mt-3">
        <div class="input-field date"><input onfocus="insuranceController.closeCommunicationErrorModal()" type="text" inputmode="numeric" placeholder="MM / DD / YYYY" class="form-control utagpiimask" id="insuranceDOB" required="" maxlength="10"
            min="1920-01-01" max="2024-10-06"><label for="insuranceDOB">Date of birth*</label><span onclick="insuranceController.toggleCalendarWidget()" class="calendar-toggler"><svg width="16" height="17" viewBox="0 0 16 17" fill="none">
              <g clip-path="url(#clip0_2163_3480)">
                <path
                  d="M15 1.50521H12.3333V0.171875H11V1.50521H8.66667V0.171875H7.33333V1.50521H5V0.171875H3.66667V1.50521H1C0.448667 1.50521 0 1.95388 0 2.50521V15.1719C0 15.7232 0.448667 16.1719 1 16.1719H15C15.5513 16.1719 16 15.7232 16 15.1719V2.50521C16 1.95388 15.5513 1.50521 15 1.50521ZM3.66667 2.83854V4.17188H5V2.83854H7.33333V4.17188H8.66667V2.83854H11V4.17188H12.3333V2.83854H14.6667V5.50521H1.33333V2.83854H3.66667ZM1.33333 14.8385V6.83854H14.6667V14.8385H1.33333Z"
                  fill="#333333"></path>
              </g>
              <defs>
                <clipPath id="clip0_2163_3480">
                  <rect width="16" height="16" fill="white" transform="translate(0 0.171875)"></rect>
                </clipPath>
              </defs>
            </svg></span>
          <div class="ml-3 invalid-feedback"></div><svg class="icon-valid" style="display: none;" width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path d="M7.33333 9.22888L5.47133 7.36721L4.52867 8.30988L7.33333 11.1149L11.8047 6.64321L10.862 5.70054L7.33333 9.22888Z" fill="#489F2D"></path>
            <path
              d="M8 0.171875C3.58867 0.171875 0 3.76054 0 8.17188C0 12.5832 3.58867 16.1719 8 16.1719C12.4113 16.1719 16 12.5832 16 8.17188C16 3.76054 12.4113 0.171875 8 0.171875ZM8 14.8385C4.324 14.8385 1.33333 11.8479 1.33333 8.17188C1.33333 4.49588 4.324 1.50521 8 1.50521C11.676 1.50521 14.6667 4.49588 14.6667 8.17188C14.6667 11.8479 11.676 14.8385 8 14.8385Z"
              fill="#489F2D"></path>
          </svg>
          <div class="d-none calendar-widget ng-scope" id="calendarWidget" ng-controller="DatePickerController" ng-init="init({})">
            <div class="calendar-widget-header">
              <div class="calendar-widget-month"><span ng-click="goToPrevMonth()" ng-class="{'disabled': prevMonthIsInvalid()}" ng-disabled="prevMonthIsInvalid()"><img alt="arrow-left-icon"
                    src="/wcsstore/TargetOpticalStorefrontAssetStore/images/icons/arrow_left.svg"></span><span ng-click="goToMonthPage()" class="selected-month ng-binding">October</span><span ng-class="{'disabled': nextMonthIsInvalid()}"
                  ng-disabled="nextMonthIsInvalid()" ng-click="goToNextMonth()" disabled="disabled" class="disabled"><img alt="arrow-right-icon" src="/wcsstore/TargetOpticalStorefrontAssetStore/images/icons/arrow_right.svg"></span></div>
              <div class="calendar-widget-year" ng-switch="" on="currentPage"><span ng-click="goToYearPage()" class="ng-binding">2024</span><!-- ngSwitchWhen: datePage --><!-- ngSwitchDefault: --><span ng-switch-default="" ng-click="goToDayPage()"
                  class="ng-scope"><img class="calendar-widget-arrow-icon" alt="arrow-top-icon" src="/wcsstore/TargetOpticalStorefrontAssetStore/images/icons/arrow_top.svg"></span><!-- end ngSwitchWhen: --></div>
            </div>
            <div class="calendar-widget-body year-page-body" ng-switch="" on="currentPage" ng-class="{'year-page-body': currentPage === 'yearPage'}"><!-- ngSwitchWhen: datePage --><!-- ngSwitchWhen: monthPage --><!-- ngSwitchWhen: yearPage -->
              <div class="calendar-widget-days years-page ng-scope" ng-switch-when="yearPage"><!-- ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1920</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1921</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1922</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1923</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1924</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1925</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1926</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1927</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1928</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1929</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1930</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1931</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1932</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1933</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1934</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1935</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1936</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1937</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1938</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1939</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1940</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1941</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1942</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1943</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1944</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1945</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1946</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1947</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1948</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1949</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1950</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1951</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1952</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1953</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1954</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1955</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1956</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1957</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1958</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1959</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1960</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1961</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1962</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1963</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1964</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1965</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1966</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1967</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1968</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1969</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1970</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1971</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1972</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1973</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1974</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1975</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1976</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1977</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1978</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1979</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1980</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1981</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1982</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1983</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1984</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1985</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1986</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1987</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1988</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1989</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1990</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1991</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1992</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1993</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1994</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1995</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1996</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1997</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1998</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">1999</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2000</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2001</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2002</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2003</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2004</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2005</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2006</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2007</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2008</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2009</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2010</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2011</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2012</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2013</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2014</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2015</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2016</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2017</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2018</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2019</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2020</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2021</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2022</span><!-- end ngRepeat: y in yearsPage --><span class="year ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2023</span><!-- end ngRepeat: y in yearsPage --><span
                  class="year ng-binding ng-scope selected" ng-class="{'selected': selectedDate.getFullYear() === y, 'invalid': yearIsInvalid(y)}" ng-repeat="y in yearsPage" ng-click="selectYear(y)">2024</span><!-- end ngRepeat: y in yearsPage -->
              </div><!-- end ngSwitchWhen: -->
            </div>
          </div><a class="clear-input"></a>
        </div>
      </div>
      <div class="col-md-6 mt-3">
        <div class="input-field"><input onfocus="insuranceController.closeCommunicationErrorModal(); insuranceController.closeCalendarWidget()" type="text" inputmode="numeric" class="form-control utagpiimask" id="zip-code" placeholder="Zip code"
            value="" name="zip" required="" pattern="\d{5}" maxlength="5"><label for="zip-code">Zip code*</label>
          <div class="ml-3 invalid-feedback"></div><svg class="icon-valid" style="display: none;" width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path d="M7.33333 9.22888L5.47133 7.36721L4.52867 8.30988L7.33333 11.1149L11.8047 6.64321L10.862 5.70054L7.33333 9.22888Z" fill="#489F2D"></path>
            <path
              d="M8 0.171875C3.58867 0.171875 0 3.76054 0 8.17188C0 12.5832 3.58867 16.1719 8 16.1719C12.4113 16.1719 16 12.5832 16 8.17188C16 3.76054 12.4113 0.171875 8 0.171875ZM8 14.8385C4.324 14.8385 1.33333 11.8479 1.33333 8.17188C1.33333 4.49588 4.324 1.50521 8 1.50521C11.676 1.50521 14.6667 4.49588 14.6667 8.17188C14.6667 11.8479 11.676 14.8385 8 14.8385Z"
              fill="#489F2D"></path>
          </svg><a class="clear-input"></a>
        </div>
      </div>
    </div>
    <div class="form-row not-network d-none">
      <p class="panel-title"></p>
      <div class="panel-instructions">
        <div class="pb-3 not-network-instructions"><span>1</span>
          <div class="instruction1"></div>
        </div>
        <div class="py-3 not-network-instructions"><span>2</span>
          <div class="instruction2"></div>
        </div>
        <div class="pt-3 not-network-instructions"><span>3</span>
          <div class="instruction3"></div>
        </div>
      </div>
    </div>
  </fieldset>
  <div class="check18 d-none mt-3" role="group" aria-labelledby="check18YearsForInsurance"><label class="" for="certificate-1"><input onfocus="insuranceController.closeCommunicationErrorModal()" class="insurance-certificate-check form-control"
        type="checkbox" value="" id="certificate-1" required="" data-element-id="D_X_MainNav_Insurance-18YearsOld">
      <div class="certificate-text"> I certify that my use of this service abides by the <a target="_blank" data-analytics_available_call="0" href="https://www.targetoptical.com/to-us/privacy-policy#insurance">Luxottica
Retail HIPAA &amp; Privacy Policies</a></div>
    </label>
    <div class="invalid-feedback">To proceed, tick the box above to certify that your 18 years or older. If you're not, you cannot proceed with this step.</div>
  </div>
  <fieldset disabled="" id="plan-information-fieldset" class="hide">
    <div class="form-row">
      <p class="add-your-group">Add your Group ID and Member ID to help us find you.</p>
      <div id="planIDhide" class="col-md-6 mb-3 plan-col">
        <div class="input-field"><input onfocus="insuranceController.closeCommunicationErrorModal()" type="text" class="form-control utagpiimask" id="plan-group-id" placeholder="Plan / Group ID" value="" name="planID"><label for="plan-group-id">Plan
            / Group ID</label>
          <div class="ml-3 invalid-feedback"></div><svg class="icon-valid" style="display: none;" width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path d="M7.33333 9.22888L5.47133 7.36721L4.52867 8.30988L7.33333 11.1149L11.8047 6.64321L10.862 5.70054L7.33333 9.22888Z" fill="#489F2D"></path>
            <path
              d="M8 0.171875C3.58867 0.171875 0 3.76054 0 8.17188C0 12.5832 3.58867 16.1719 8 16.1719C12.4113 16.1719 16 12.5832 16 8.17188C16 3.76054 12.4113 0.171875 8 0.171875ZM8 14.8385C4.324 14.8385 1.33333 11.8479 1.33333 8.17188C1.33333 4.49588 4.324 1.50521 8 1.50521C11.676 1.50521 14.6667 4.49588 14.6667 8.17188C14.6667 11.8479 11.676 14.8385 8 14.8385Z"
              fill="#489F2D"></path>
          </svg><a class="clear-input"></a>
        </div>
      </div>
      <div class="col-md-6 mb-3 group-col">
        <div class="input-field"><input onfocus="insuranceController.closeCommunicationErrorModal()" type="text" class="form-control utagpiimask" id="member-id" placeholder="Member ID" value="" name="memberID"><label for="member-id">Member ID</label>
          <div class="ml-3 invalid-feedback"></div><svg class="icon-valid" style="display: none;" width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path d="M7.33333 9.22888L5.47133 7.36721L4.52867 8.30988L7.33333 11.1149L11.8047 6.64321L10.862 5.70054L7.33333 9.22888Z" fill="#489F2D"></path>
            <path
              d="M8 0.171875C3.58867 0.171875 0 3.76054 0 8.17188C0 12.5832 3.58867 16.1719 8 16.1719C12.4113 16.1719 16 12.5832 16 8.17188C16 3.76054 12.4113 0.171875 8 0.171875ZM8 14.8385C4.324 14.8385 1.33333 11.8479 1.33333 8.17188C1.33333 4.49588 4.324 1.50521 8 1.50521C11.676 1.50521 14.6667 4.49588 14.6667 8.17188C14.6667 11.8479 11.676 14.8385 8 14.8385Z"
              fill="#489F2D"></path>
          </svg><a class="clear-input"></a>
        </div>
      </div>
    </div>
  </fieldset>
  <div class="form-group submit hide network">
    <div class="row justify-content-center buttons-network"><button data-description="" data-element-id="X_X_InsurancePanel_Submit" class="btn btn-primary text-uppercase" id="submit-insur-info" type="submit"> Apply insurance</button><button
        class="btn btn-primary text-uppercase d-none" id="submit-insur-loading" disabled=""><img alt="submit-loader" src="/wcsstore/TargetOpticalStorefrontAssetStore/images/icons/loader-red.svg"></button></div>
  </div>
  <div class="form-group submit hide not-network">
    <div class="row justify-content-center buttons-not-network">
      <a data-element-id="" data-description="" href="/to-us/eyewear-all" class="btn btn-primary text-uppercase" id="shop-now-btn" type="">Shop now</a><a data-element-id="plan-visit-btn" data-description="" class="btn btn-secondary text-uppercase" id="plan-visit-btn" type="" href="/to-us/eye-exams">Plan your visit</a>
    </div>
  </div>
</form>

Name: ResetPasswordFormPOST AjaxResetPassword

<form name="ResetPasswordForm" class="ResetPasswordForm ng-pristine ng-valid-email ng-invalid ng-invalid-required ng-valid-pattern ng-valid-maxlength" id="ResetPasswordForm" method="post" action="AjaxResetPassword" novalidate="novalidate"><input
    type="hidden" name="challengeAnswer" value="-" id="WC_PasswordResetForm_FormInput_challengeAnswer_In_ResetPasswordForm_1" autocomplete="off"><input type="hidden" name="storeId" value="12001"
    id="WC_PasswordResetForm_FormInput_storeId_In_ResetPasswordForm_1" autocomplete="off"><input type="hidden" name="catalogId" value="12751" id="WC_PasswordResetForm_FormInput_catalogId_In_ResetPasswordForm_1" autocomplete="off"><input type="hidden"
    name="langId" value="-1" id="WC_PasswordResetForm_FormInput_langId_In_ResetPasswordForm_1" autocomplete="off"><input type="hidden" name="state" value="passwdconfirm" id="WC_PasswordResetForm_FormInput_state_In_ResetPasswordForm_1"
    autocomplete="off"><input type="hidden" name="URL" value="ResetPasswordAjaxView" id="WC_PasswordResetForm_FormInput_URL_In_ResetPasswordForm_1" autocomplete="off"><input type="hidden" name="errorViewName" value="ResetPasswordAjaxView"
    id="WC_PasswordResetForm_FormInput_errorViewName_In_ResetPasswordForm_1" autocomplete="off"><input type="hidden" name="currentID" value="" id="currentID" autocomplete="off">
  <div class="fe-row">
    <div class="fe"><input class="form-input utagpiimask ng-pristine ng-untouched ng-empty ng-valid-email ng-invalid ng-invalid-required ng-valid-pattern ng-valid-maxlength" size="25" type="email" name="logonId"
        id="WC_PasswordResetForm_FormInput_logonId_In_ResetPasswordForm_1" maxlength="64" ng-model="logonIdEmail" required="" ng-class="{'form-input-filled' : ResetPasswordForm.logonId.$viewValue}" ng-pattern="/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/"
        autocomplete="off"><label class="form-label" for="logonId_landing"> E-mail address* </label><svg class="icon-field">
        <use ng-show="ResetPasswordForm.logonId.$valid" xlink:href="#valid-field" class="ng-hide"></use>
        <use ng-show="!ResetPasswordForm.logonId.$valid &amp;&amp; ResetPasswordForm.logonId.$touched" xlink:href="#error-field" class="ng-hide"></use>
      </svg><svg class="icon-field-not-associated" style="display:none">
        <use xlink:href="#error-field"></use>
      </svg></div>
  </div><span class="empty-email-message ng-hide" ng-show="!ResetPasswordForm.logonId.$valid &amp;&amp; ResetPasswordForm.logonId.$touched &amp;&amp; ResetPasswordForm.logonId.$viewValue">Please provide a valid e-mail address.</span><span
    class="empty-email-message ng-hide" ng-show="!ResetPasswordForm.logonId.$valid &amp;&amp; ResetPasswordForm.logonId.$touched &amp;&amp; !ResetPasswordForm.logonId.$viewValue">The e-mail address field cannot be empty.</span>
  <div class="ResetPasswordSuccessFullResponseMessageDiv"></div>
  <div class="ResetPasswordFailureResponseMessageDiv"></div>
  <div class="ResetPasswordErrorMsg" style="display:none"> This e-mail is not associated with an account. </div>
  <a data-element-id="X_X_ForgotPwdOverlay_Submit"><input type="submit" id="passwordResetSubmitButton" value="Submit" class="button-medium-blue-fill passwordResetSubmitButton submit" tabindex="2"></a>
</form>

Name: passwordResetResendButton

<form name="passwordResetResendButton" class="passwordResetResendButton ng-pristine ng-valid"><input type="hidden" name="challengeAnswer" value="-" class="WC_PasswordResetForm_FormInput_challengeAnswer_In_ResetPasswordForm_1"
    autocomplete="off"><input type="hidden" name="storeId" value="12001" class="WC_PasswordResetForm_FormInput_storeId_In_ResetPasswordForm_1" autocomplete="off"><input type="hidden" name="catalogId" value="12751"
    class="WC_PasswordResetForm_FormInput_catalogId_In_ResetPasswordForm_1" autocomplete="off"><input type="hidden" name="langId" value="-1" class="WC_PasswordResetForm_FormInput_langId_In_ResetPasswordForm_1" autocomplete="off"><input type="hidden"
    name="state" value="passwdconfirm" class="WC_PasswordResetForm_FormInput_state_In_ResetPasswordForm_1" autocomplete="off"><input type="hidden" name="URL" value="ResetPasswordAjaxView"
    class="WC_PasswordResetForm_FormInput_URL_In_ResetPasswordForm_1" autocomplete="off"><input type="hidden" name="errorViewName" value="ResetPasswordAjaxView" class="WC_PasswordResetForm_FormInput_errorViewName_In_ResetPasswordForm_1"
    autocomplete="off"><input type="hidden" name="currentID" value="" class="currentID" autocomplete="off"><input type="hidden" name="logonId" value="" autocomplete="off"><svg style="display:none;" class="icon-error-field">
    <use xlink:href="#error-field"></use>
  </svg><a data-element-id="X_X_ResetPwdOverlay_ResendEmail"><input type="button" onclick="resetPassword()" class="passwordResetResendButton" value="Resend e-mail" tabindex="2"></a></form>

Name: UpdatePasswordUpdateSubmitFormResetPOST ResetPassword

<form name="UpdatePasswordUpdateSubmitFormReset" method="post"
  class="UpdatePasswordUpdateSubmitFormReset reset ng-pristine ng-invalid ng-invalid-required ng-valid-maxlength ng-invalid-has-uppercase ng-invalid-has-lowercase ng-invalid-has-number ng-invalid-has-special ng-invalid-has-consecutive-char"
  action="ResetPassword" novalidate="novalidate"><input type="hidden" name="storeId" value="12001" class="WC_PasswordUpdateForm_FormInput_storeId_In_Logon_1" autocomplete="off"><input type="hidden" name="catalogId" value="12751"
    class="WC_PasswordUpdateForm_FormInput_catalogId_In_Logon_1" autocomplete="off"><input type="hidden" name="langId" value="-1" class="WC_PasswordUpdateForm_FormInput_langId_In_Logon_1" autocomplete="off"><input type="hidden" name="URL" value=""
    class="WC_PasswordUpdateForm_FormInput_URL_In_ResetPasswordForm_1" autocomplete="off"><input type="hidden" name="errorViewName" value="" class="WC_PasswordUpdateForm_FormInput_errorViewName_In_ResetPasswordForm_1" autocomplete="off"><input
    type="hidden" name="formName" value="ResetPasswordUpdateSubmitForm" autocomplete="off"><input type="hidden" name="isResetPasswordRequest" value="true" autocomplete="off"><input type="hidden" name="challengeQuestion" value="-"
    autocomplete="off"><input type="hidden" name="challengeAnswer" value="-" autocomplete="off"><input type="hidden" name="autoPopulatedEmailHiddenDesktop" class="autoPopulatedEmailHiddenDesktop" autocomplete="off">
  <div class="fe-row hide hide-schedule" id="passwordUpdateEmailInputContainer">
    <div class="fe"><input id="passwordUpdateEmailInput" size="25" type="text" autocomplete="off" placeholder="E-mail" maxlength="32" aria-label="E-mail" name="logonId"
        class="WC_PasswordUpdateForm_FormInput_email_In_Logon_1 resetHighlight WCParam.logonId" value=""></div>
  </div>
  <div class="fe-row">
    <div class="fe"><input class="form-input utagpiimask WC_PasswordUpdateForm_FormInput_logonPasswordOld_In_Logon_1 ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-maxlength" size="25" type="password"
        aria-label="Logon Password Old" name="logonPasswordOld" id="logonPasswordOld-reset" maxlength="32" ng-model="logonPasswordOld" required="" ng-class="{'form-input-filled' : UpdatePasswordUpdateSubmitFormReset.logonPasswordOld.$viewValue}"
        autocomplete="off"><label class="form-label" for="logonPasswordOld"> Temporary password* </label><svg id="logonPasswordOld-reset-icon-email" class="icon-field form-password-valid">
        <use ng-show="UpdatePasswordUpdateSubmitFormReset.logonPasswordOld.$valid" xlink:href="#valid-field" class="ng-hide"></use>
        <use ng-show="!UpdatePasswordUpdateSubmitFormReset.logonPasswordOld.$valid &amp;&amp; UpdatePasswordUpdateSubmitFormReset.logonPasswordOld.$touched" xlink:href="#error-field" class="ng-hide"></use>
      </svg><svg id="logonPasswordOld-reset-icon" class="icon-field form-password-valid" style="display:none">
        <use xlink:href="#error-field"></use>
      </svg><svg onclick="showPassword('logonPasswordOld-reset')" id="logonPasswordOld-reset-icon" class="icon"><svg id="eye-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path class="hide-password" style="display: none"
            d="M12 9.75C12.9658 9.75 13.75 10.5342 13.75 11.5C13.75 12.4658 12.9658 13.25 12 13.25C11.0342 13.25 10.25 12.4658 10.25 11.5C10.25 10.5342 11.0342 9.75 12 9.75ZM15.25 11.5C15.25 9.70579 13.7942 8.25 12 8.25C10.2058 8.25 8.75 9.70579 8.75 11.5C8.75 13.2942 10.2058 14.75 12 14.75C13.7942 14.75 15.25 13.2942 15.25 11.5ZM1.81043 11.5C3.49887 7.53169 7.42451 4.75 12 4.75C16.5755 4.75 20.5011 7.53169 22.1896 11.5C20.5011 15.4683 16.5755 18.25 12 18.25C7.42451 18.25 3.49887 15.4683 1.81043 11.5Z"
            stroke="#222222" stroke-width="1.5"></path>
          <g class="show-password">
            <path fill-rule="evenodd" clip-rule="evenodd" d="M20.0018 21.0001L2.00184 3.00011L3.0625 1.93945L21.0625 19.9395L20.0018 21.0001Z" fill="#222222"></path>
            <path fill-rule="evenodd" clip-rule="evenodd"
              d="M19.4634 16.3403C21.0216 15.0672 22.2497 13.404 23 11.5C21.27 7.11 17 4 12 4C10.5458 4 9.15338 4.26306 7.86722 4.74417L9.05145 5.9284C9.9858 5.64965 10.9755 5.5 12 5.5C16.1496 5.5 19.7287 7.95512 21.3691 11.5C20.6836 12.9814 19.6595 14.2725 18.3967 15.2736L19.4634 16.3403ZM15.1991 12.076C15.2325 11.889 15.25 11.6966 15.25 11.5C15.25 9.70579 13.7942 8.25 12 8.25C11.8034 8.25 11.611 8.26747 11.424 8.30094L15.1991 12.076ZM9.96667 8.96495C9.22497 9.56073 8.75 10.4752 8.75 11.5C8.75 13.2942 10.2058 14.75 12 14.75C13.0248 14.75 13.9393 14.275 14.5351 13.5333L13.4625 12.4608C13.1495 12.936 12.6111 13.25 12 13.25C11.0342 13.25 10.25 12.4658 10.25 11.5C10.25 10.8889 10.564 10.3505 11.0392 10.0375L9.96667 8.96495ZM7.52317 6.52144C5.37334 7.56062 3.63727 9.32523 2.63092 11.5C4.27128 15.0449 7.85043 17.5 12 17.5C13.8683 17.5 15.621 17.0023 17.1332 16.1315L18.2267 17.225C16.419 18.35 14.2858 19 12 19C7 19 2.73 15.89 1 11.5C2.0299 8.88655 3.95999 6.72674 6.40839 5.40666L7.52317 6.52144Z"
              fill="#222222"></path>
          </g>
        </svg></svg><span class="empty-psw-message psw-margin ng-hide" ng-show="UpdatePasswordUpdateSubmitFormReset.logonPasswordOld.$touched &amp;&amp; !UpdatePasswordUpdateSubmitFormReset.logonPasswordOld.$viewValue">The password field cannot be
        empty.</span><span id="logonPasswordOld-reset-labelError" class="empty-psw-message psw-margin" style="display:none">The password field cannot be empty.</span><span id="logonPasswordOld-reset-labelError-email"
        class="empty-psw-message psw-margin padding-email" style="display:none">The temporary password inserted does not match the one sent via e-mail.</span></div>
  </div>
  <div class="fe-row">
    <div class="fe"><input
        class="form-input utagpiimask logonPassword_updateModel ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-invalid-has-uppercase ng-invalid-has-lowercase ng-invalid-has-number ng-invalid-has-special ng-invalid-has-consecutive-char ng-valid-maxlength"
        oninput="checkPswDouble('new-password-update-reset','reset')" size="25" type="password" aria-label="logonPassword_updateModel" name="logonPassword" id="new-password-update-reset" maxlength="32" ng-model="logonPassword" required=""
        ng-class="{'form-input-filled' : UpdatePasswordUpdateSubmitFormReset.logonPassword.$viewValue}" autocomplete="off" password-validation=""><label class="form-label" for="logonPasswordOld"> New password* </label><svg
        class="icon-field form-password-valid">
        <use ng-show="UpdatePasswordUpdateSubmitFormReset.logonPassword.$valid" xlink:href="#valid-field" class="ng-hide"></use>
        <use ng-show="!UpdatePasswordUpdateSubmitFormReset.logonPassword.$valid &amp;&amp; UpdatePasswordUpdateSubmitFormReset.logonPassword.$touched" xlink:href="#error-field" class="ng-hide"></use>
      </svg><svg id="new-password-update-reset-icon" class="icon-field form-password-valid" style="display:none">
        <use xlink:href="#error-field"></use>
      </svg><svg onclick="showPassword('new-password-update-reset')" id="new-password-update-reset-icon" class="icon"><svg id="eye-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path class="hide-password" style="display: none"
            d="M12 9.75C12.9658 9.75 13.75 10.5342 13.75 11.5C13.75 12.4658 12.9658 13.25 12 13.25C11.0342 13.25 10.25 12.4658 10.25 11.5C10.25 10.5342 11.0342 9.75 12 9.75ZM15.25 11.5C15.25 9.70579 13.7942 8.25 12 8.25C10.2058 8.25 8.75 9.70579 8.75 11.5C8.75 13.2942 10.2058 14.75 12 14.75C13.7942 14.75 15.25 13.2942 15.25 11.5ZM1.81043 11.5C3.49887 7.53169 7.42451 4.75 12 4.75C16.5755 4.75 20.5011 7.53169 22.1896 11.5C20.5011 15.4683 16.5755 18.25 12 18.25C7.42451 18.25 3.49887 15.4683 1.81043 11.5Z"
            stroke="#222222" stroke-width="1.5"></path>
          <g class="show-password">
            <path fill-rule="evenodd" clip-rule="evenodd" d="M20.0018 21.0001L2.00184 3.00011L3.0625 1.93945L21.0625 19.9395L20.0018 21.0001Z" fill="#222222"></path>
            <path fill-rule="evenodd" clip-rule="evenodd"
              d="M19.4634 16.3403C21.0216 15.0672 22.2497 13.404 23 11.5C21.27 7.11 17 4 12 4C10.5458 4 9.15338 4.26306 7.86722 4.74417L9.05145 5.9284C9.9858 5.64965 10.9755 5.5 12 5.5C16.1496 5.5 19.7287 7.95512 21.3691 11.5C20.6836 12.9814 19.6595 14.2725 18.3967 15.2736L19.4634 16.3403ZM15.1991 12.076C15.2325 11.889 15.25 11.6966 15.25 11.5C15.25 9.70579 13.7942 8.25 12 8.25C11.8034 8.25 11.611 8.26747 11.424 8.30094L15.1991 12.076ZM9.96667 8.96495C9.22497 9.56073 8.75 10.4752 8.75 11.5C8.75 13.2942 10.2058 14.75 12 14.75C13.0248 14.75 13.9393 14.275 14.5351 13.5333L13.4625 12.4608C13.1495 12.936 12.6111 13.25 12 13.25C11.0342 13.25 10.25 12.4658 10.25 11.5C10.25 10.8889 10.564 10.3505 11.0392 10.0375L9.96667 8.96495ZM7.52317 6.52144C5.37334 7.56062 3.63727 9.32523 2.63092 11.5C4.27128 15.0449 7.85043 17.5 12 17.5C13.8683 17.5 15.621 17.0023 17.1332 16.1315L18.2267 17.225C16.419 18.35 14.2858 19 12 19C7 19 2.73 15.89 1 11.5C2.0299 8.88655 3.95999 6.72674 6.40839 5.40666L7.52317 6.52144Z"
              fill="#222222"></path>
          </g>
        </svg></svg><span class="empty-psw-message ng-hide" ng-show="UpdatePasswordUpdateSubmitFormReset.logonPassword.$touched &amp;&amp; !UpdatePasswordUpdateSubmitFormReset.logonPassword.$viewValue">The password field cannot be empty.</span><span
        id="new-password-update-reset-labelError" class="empty-psw-message" style="display:none">The password field cannot be empty.</span><span class="empty-psw-message ng-hide"
        ng-show="UpdatePasswordUpdateSubmitFormReset.logonPassword.$touched &amp;&amp; UpdatePasswordUpdateSubmitFormReset.logonPassword.$viewValue &amp;&amp; !UpdatePasswordUpdateSubmitFormReset.logonPassword.$valid">Password does not meet the
        requirements.</span>
      <div class="check-psw"><span class="passwordRequirements">The password must contain at least:</span>
        <div class="eight-char" id="eight-char-reset">
          <div class="circle">
            <div class="icons start"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1000" height="1000" viewBox="0 0 1000 1000" xml:space="preserve">
                <desc>Created with Fabric.js 3.5.0</desc>
                <defs></defs>
                <rect x="0" y="0" width="100%" height="100%" fill="#ffffff"></rect>
                <g transform="matrix(56.8182 0 0 56.8182 500.0001 500.0001)" id="271797">
                  <path
                    style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(102,102,102); fill-rule: nonzero; opacity: 1;"
                    vector-effect="non-scaling-stroke" transform=" translate(-8, -8)"
                    d="M 8 0 C 3.58867 0 0 3.58867 0 8 C 0 12.4113 3.58867 16 8 16 C 12.4113 16 16 12.4113 16 8 C 16 3.58867 12.4113 0 8 0 Z M 8 14.6667 C 4.324 14.6667 1.33333 11.676 1.33333 8 C 1.33333 4.324 4.324 1.33333 8 1.33333 C 11.676 1.33333 14.6667 4.324 14.6667 8 C 14.6667 11.676 11.676 14.6667 8 14.6667 Z"
                    stroke-linecap="round"></path>
                </g>
                <g transform="matrix(59.4826 0 0 62.295 499.9999 500)" id="256811">
                  <path
                    style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(102,102,102); fill-rule: nonzero; opacity: 1;"
                    vector-effect="non-scaling-stroke" transform=" translate(-3.9998, -0.9999)" d="M 7.33317 0.333252 H 0.666504 V 1.66659 H 7.33317 V 0.333252 Z" stroke-linecap="round"></path>
                </g>
              </svg></div>
            <div class="icons correct"><svg id="pass-valid" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M7.9987 13.6668C11.1283 13.6668 13.6654 11.1298 13.6654 8.00016C13.6654 4.87055 11.1283 2.3335 7.9987 2.3335C4.86908 2.3335 2.33203 4.87055 2.33203 8.00016C2.33203 11.1298 4.86908 13.6668 7.9987 13.6668ZM7.9987 14.6668C11.6806 14.6668 14.6654 11.6821 14.6654 8.00016C14.6654 4.31826 11.6806 1.3335 7.9987 1.3335C4.3168 1.3335 1.33203 4.31826 1.33203 8.00016C1.33203 11.6821 4.3168 14.6668 7.9987 14.6668Z"
                  fill="#3F8350"></path>
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M10.4439 6.15454C10.705 6.39024 10.7403 6.81062 10.5227 7.09347L7.95862 10.4268C7.84793 10.5707 7.68648 10.6575 7.51376 10.666C7.34104 10.6745 7.17299 10.6038 7.05073 10.4714L5.51227 8.80474C5.27195 8.5444 5.27195 8.12229 5.51227 7.86194C5.75259 7.60159 6.14223 7.60159 6.38256 7.86194L7.44452 9.0124L9.57722 6.23989C9.79479 5.95704 10.1828 5.91883 10.4439 6.15454Z"
                  fill="#3F8350"></path>
              </svg></div>
            <div class="icons error"><svg id="pass-invalid" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M7.9987 13.6668C11.1283 13.6668 13.6654 11.1298 13.6654 8.00016C13.6654 4.87055 11.1283 2.3335 7.9987 2.3335C4.86908 2.3335 2.33203 4.87055 2.33203 8.00016C2.33203 11.1298 4.86908 13.6668 7.9987 13.6668ZM7.9987 14.6668C11.6806 14.6668 14.6654 11.6821 14.6654 8.00016C14.6654 4.31826 11.6806 1.3335 7.9987 1.3335C4.3168 1.3335 1.33203 4.31826 1.33203 8.00016C1.33203 11.6821 4.3168 14.6668 7.9987 14.6668Z"
                  fill="#D96F2B"></path>
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M5.5 9.88071C5.5 9.74805 5.55272 9.62082 5.64656 9.52704L7.1746 8L5.64656 6.47296C5.55272 6.37918 5.5 6.25195 5.5 6.11929C5.5 5.98663 5.55272 5.8594 5.64656 5.76562L5.76593 5.64633C5.96116 5.45122 6.27757 5.45122 6.47281 5.64633L8.0013 7.17383L9.5298 5.64633C9.72503 5.45122 10.0414 5.45122 10.2367 5.64633L10.356 5.76562C10.4499 5.8594 10.5026 5.98662 10.5026 6.11929C10.5026 6.25195 10.4499 6.37918 10.356 6.47296L8.82801 8L10.356 9.52704C10.4499 9.62082 10.5026 9.74805 10.5026 9.88071C10.5026 10.0134 10.4499 10.1406 10.356 10.2344L10.2367 10.3537C10.0414 10.5488 9.72503 10.5488 9.5298 10.3537L8.0013 8.82617L6.47281 10.3537C6.27757 10.5488 5.96116 10.5488 5.76593 10.3537L5.64656 10.2344C5.55272 10.1406 5.5 10.0134 5.5 9.88071Z"
                  fill="#D96F2B"></path>
              </svg></div>
          </div>
          <div class="text">8 characters</div>
        </div>
        <div class="upper-char" id="upper-char-reset">
          <div class="circle">
            <div class="icons start"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1000" height="1000" viewBox="0 0 1000 1000" xml:space="preserve">
                <desc>Created with Fabric.js 3.5.0</desc>
                <defs></defs>
                <rect x="0" y="0" width="100%" height="100%" fill="#ffffff"></rect>
                <g transform="matrix(56.8182 0 0 56.8182 500.0001 500.0001)" id="271797">
                  <path
                    style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(102,102,102); fill-rule: nonzero; opacity: 1;"
                    vector-effect="non-scaling-stroke" transform=" translate(-8, -8)"
                    d="M 8 0 C 3.58867 0 0 3.58867 0 8 C 0 12.4113 3.58867 16 8 16 C 12.4113 16 16 12.4113 16 8 C 16 3.58867 12.4113 0 8 0 Z M 8 14.6667 C 4.324 14.6667 1.33333 11.676 1.33333 8 C 1.33333 4.324 4.324 1.33333 8 1.33333 C 11.676 1.33333 14.6667 4.324 14.6667 8 C 14.6667 11.676 11.676 14.6667 8 14.6667 Z"
                    stroke-linecap="round"></path>
                </g>
                <g transform="matrix(59.4826 0 0 62.295 499.9999 500)" id="256811">
                  <path
                    style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(102,102,102); fill-rule: nonzero; opacity: 1;"
                    vector-effect="non-scaling-stroke" transform=" translate(-3.9998, -0.9999)" d="M 7.33317 0.333252 H 0.666504 V 1.66659 H 7.33317 V 0.333252 Z" stroke-linecap="round"></path>
                </g>
              </svg></div>
            <div class="icons correct"><svg id="pass-valid" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M7.9987 13.6668C11.1283 13.6668 13.6654 11.1298 13.6654 8.00016C13.6654 4.87055 11.1283 2.3335 7.9987 2.3335C4.86908 2.3335 2.33203 4.87055 2.33203 8.00016C2.33203 11.1298 4.86908 13.6668 7.9987 13.6668ZM7.9987 14.6668C11.6806 14.6668 14.6654 11.6821 14.6654 8.00016C14.6654 4.31826 11.6806 1.3335 7.9987 1.3335C4.3168 1.3335 1.33203 4.31826 1.33203 8.00016C1.33203 11.6821 4.3168 14.6668 7.9987 14.6668Z"
                  fill="#3F8350"></path>
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M10.4439 6.15454C10.705 6.39024 10.7403 6.81062 10.5227 7.09347L7.95862 10.4268C7.84793 10.5707 7.68648 10.6575 7.51376 10.666C7.34104 10.6745 7.17299 10.6038 7.05073 10.4714L5.51227 8.80474C5.27195 8.5444 5.27195 8.12229 5.51227 7.86194C5.75259 7.60159 6.14223 7.60159 6.38256 7.86194L7.44452 9.0124L9.57722 6.23989C9.79479 5.95704 10.1828 5.91883 10.4439 6.15454Z"
                  fill="#3F8350"></path>
              </svg></div>
            <div class="icons error"><svg id="pass-invalid" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M7.9987 13.6668C11.1283 13.6668 13.6654 11.1298 13.6654 8.00016C13.6654 4.87055 11.1283 2.3335 7.9987 2.3335C4.86908 2.3335 2.33203 4.87055 2.33203 8.00016C2.33203 11.1298 4.86908 13.6668 7.9987 13.6668ZM7.9987 14.6668C11.6806 14.6668 14.6654 11.6821 14.6654 8.00016C14.6654 4.31826 11.6806 1.3335 7.9987 1.3335C4.3168 1.3335 1.33203 4.31826 1.33203 8.00016C1.33203 11.6821 4.3168 14.6668 7.9987 14.6668Z"
                  fill="#D96F2B"></path>
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M5.5 9.88071C5.5 9.74805 5.55272 9.62082 5.64656 9.52704L7.1746 8L5.64656 6.47296C5.55272 6.37918 5.5 6.25195 5.5 6.11929C5.5 5.98663 5.55272 5.8594 5.64656 5.76562L5.76593 5.64633C5.96116 5.45122 6.27757 5.45122 6.47281 5.64633L8.0013 7.17383L9.5298 5.64633C9.72503 5.45122 10.0414 5.45122 10.2367 5.64633L10.356 5.76562C10.4499 5.8594 10.5026 5.98662 10.5026 6.11929C10.5026 6.25195 10.4499 6.37918 10.356 6.47296L8.82801 8L10.356 9.52704C10.4499 9.62082 10.5026 9.74805 10.5026 9.88071C10.5026 10.0134 10.4499 10.1406 10.356 10.2344L10.2367 10.3537C10.0414 10.5488 9.72503 10.5488 9.5298 10.3537L8.0013 8.82617L6.47281 10.3537C6.27757 10.5488 5.96116 10.5488 5.76593 10.3537L5.64656 10.2344C5.55272 10.1406 5.5 10.0134 5.5 9.88071Z"
                  fill="#D96F2B"></path>
              </svg></div>
          </div>
          <div class="text">1 uppercase letter (A-Z)</div>
        </div>
        <div class="lower-char" id="lower-char-reset">
          <div class="circle">
            <div class="icons start"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1000" height="1000" viewBox="0 0 1000 1000" xml:space="preserve">
                <desc>Created with Fabric.js 3.5.0</desc>
                <defs></defs>
                <rect x="0" y="0" width="100%" height="100%" fill="#ffffff"></rect>
                <g transform="matrix(56.8182 0 0 56.8182 500.0001 500.0001)" id="271797">
                  <path
                    style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(102,102,102); fill-rule: nonzero; opacity: 1;"
                    vector-effect="non-scaling-stroke" transform=" translate(-8, -8)"
                    d="M 8 0 C 3.58867 0 0 3.58867 0 8 C 0 12.4113 3.58867 16 8 16 C 12.4113 16 16 12.4113 16 8 C 16 3.58867 12.4113 0 8 0 Z M 8 14.6667 C 4.324 14.6667 1.33333 11.676 1.33333 8 C 1.33333 4.324 4.324 1.33333 8 1.33333 C 11.676 1.33333 14.6667 4.324 14.6667 8 C 14.6667 11.676 11.676 14.6667 8 14.6667 Z"
                    stroke-linecap="round"></path>
                </g>
                <g transform="matrix(59.4826 0 0 62.295 499.9999 500)" id="256811">
                  <path
                    style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(102,102,102); fill-rule: nonzero; opacity: 1;"
                    vector-effect="non-scaling-stroke" transform=" translate(-3.9998, -0.9999)" d="M 7.33317 0.333252 H 0.666504 V 1.66659 H 7.33317 V 0.333252 Z" stroke-linecap="round"></path>
                </g>
              </svg></div>
            <div class="icons correct"><svg id="pass-valid" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M7.9987 13.6668C11.1283 13.6668 13.6654 11.1298 13.6654 8.00016C13.6654 4.87055 11.1283 2.3335 7.9987 2.3335C4.86908 2.3335 2.33203 4.87055 2.33203 8.00016C2.33203 11.1298 4.86908 13.6668 7.9987 13.6668ZM7.9987 14.6668C11.6806 14.6668 14.6654 11.6821 14.6654 8.00016C14.6654 4.31826 11.6806 1.3335 7.9987 1.3335C4.3168 1.3335 1.33203 4.31826 1.33203 8.00016C1.33203 11.6821 4.3168 14.6668 7.9987 14.6668Z"
                  fill="#3F8350"></path>
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M10.4439 6.15454C10.705 6.39024 10.7403 6.81062 10.5227 7.09347L7.95862 10.4268C7.84793 10.5707 7.68648 10.6575 7.51376 10.666C7.34104 10.6745 7.17299 10.6038 7.05073 10.4714L5.51227 8.80474C5.27195 8.5444 5.27195 8.12229 5.51227 7.86194C5.75259 7.60159 6.14223 7.60159 6.38256 7.86194L7.44452 9.0124L9.57722 6.23989C9.79479 5.95704 10.1828 5.91883 10.4439 6.15454Z"
                  fill="#3F8350"></path>
              </svg></div>
            <div class="icons error"><svg id="pass-invalid" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M7.9987 13.6668C11.1283 13.6668 13.6654 11.1298 13.6654 8.00016C13.6654 4.87055 11.1283 2.3335 7.9987 2.3335C4.86908 2.3335 2.33203 4.87055 2.33203 8.00016C2.33203 11.1298 4.86908 13.6668 7.9987 13.6668ZM7.9987 14.6668C11.6806 14.6668 14.6654 11.6821 14.6654 8.00016C14.6654 4.31826 11.6806 1.3335 7.9987 1.3335C4.3168 1.3335 1.33203 4.31826 1.33203 8.00016C1.33203 11.6821 4.3168 14.6668 7.9987 14.6668Z"
                  fill="#D96F2B"></path>
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M5.5 9.88071C5.5 9.74805 5.55272 9.62082 5.64656 9.52704L7.1746 8L5.64656 6.47296C5.55272 6.37918 5.5 6.25195 5.5 6.11929C5.5 5.98663 5.55272 5.8594 5.64656 5.76562L5.76593 5.64633C5.96116 5.45122 6.27757 5.45122 6.47281 5.64633L8.0013 7.17383L9.5298 5.64633C9.72503 5.45122 10.0414 5.45122 10.2367 5.64633L10.356 5.76562C10.4499 5.8594 10.5026 5.98662 10.5026 6.11929C10.5026 6.25195 10.4499 6.37918 10.356 6.47296L8.82801 8L10.356 9.52704C10.4499 9.62082 10.5026 9.74805 10.5026 9.88071C10.5026 10.0134 10.4499 10.1406 10.356 10.2344L10.2367 10.3537C10.0414 10.5488 9.72503 10.5488 9.5298 10.3537L8.0013 8.82617L6.47281 10.3537C6.27757 10.5488 5.96116 10.5488 5.76593 10.3537L5.64656 10.2344C5.55272 10.1406 5.5 10.0134 5.5 9.88071Z"
                  fill="#D96F2B"></path>
              </svg></div>
          </div>
          <div class="text">1 lowercase letter (a-z)</div>
        </div>
        <div class="number-char" id="number-char-reset">
          <div class="circle">
            <div class="icons start"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1000" height="1000" viewBox="0 0 1000 1000" xml:space="preserve">
                <desc>Created with Fabric.js 3.5.0</desc>
                <defs></defs>
                <rect x="0" y="0" width="100%" height="100%" fill="#ffffff"></rect>
                <g transform="matrix(56.8182 0 0 56.8182 500.0001 500.0001)" id="271797">
                  <path
                    style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(102,102,102); fill-rule: nonzero; opacity: 1;"
                    vector-effect="non-scaling-stroke" transform=" translate(-8, -8)"
                    d="M 8 0 C 3.58867 0 0 3.58867 0 8 C 0 12.4113 3.58867 16 8 16 C 12.4113 16 16 12.4113 16 8 C 16 3.58867 12.4113 0 8 0 Z M 8 14.6667 C 4.324 14.6667 1.33333 11.676 1.33333 8 C 1.33333 4.324 4.324 1.33333 8 1.33333 C 11.676 1.33333 14.6667 4.324 14.6667 8 C 14.6667 11.676 11.676 14.6667 8 14.6667 Z"
                    stroke-linecap="round"></path>
                </g>
                <g transform="matrix(59.4826 0 0 62.295 499.9999 500)" id="256811">
                  <path
                    style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(102,102,102); fill-rule: nonzero; opacity: 1;"
                    vector-effect="non-scaling-stroke" transform=" translate(-3.9998, -0.9999)" d="M 7.33317 0.333252 H 0.666504 V 1.66659 H 7.33317 V 0.333252 Z" stroke-linecap="round"></path>
                </g>
              </svg></div>
            <div class="icons correct"><svg id="pass-valid" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M7.9987 13.6668C11.1283 13.6668 13.6654 11.1298 13.6654 8.00016C13.6654 4.87055 11.1283 2.3335 7.9987 2.3335C4.86908 2.3335 2.33203 4.87055 2.33203 8.00016C2.33203 11.1298 4.86908 13.6668 7.9987 13.6668ZM7.9987 14.6668C11.6806 14.6668 14.6654 11.6821 14.6654 8.00016C14.6654 4.31826 11.6806 1.3335 7.9987 1.3335C4.3168 1.3335 1.33203 4.31826 1.33203 8.00016C1.33203 11.6821 4.3168 14.6668 7.9987 14.6668Z"
                  fill="#3F8350"></path>
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M10.4439 6.15454C10.705 6.39024 10.7403 6.81062 10.5227 7.09347L7.95862 10.4268C7.84793 10.5707 7.68648 10.6575 7.51376 10.666C7.34104 10.6745 7.17299 10.6038 7.05073 10.4714L5.51227 8.80474C5.27195 8.5444 5.27195 8.12229 5.51227 7.86194C5.75259 7.60159 6.14223 7.60159 6.38256 7.86194L7.44452 9.0124L9.57722 6.23989C9.79479 5.95704 10.1828 5.91883 10.4439 6.15454Z"
                  fill="#3F8350"></path>
              </svg></div>
            <div class="icons error"><svg id="pass-invalid" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M7.9987 13.6668C11.1283 13.6668 13.6654 11.1298 13.6654 8.00016C13.6654 4.87055 11.1283 2.3335 7.9987 2.3335C4.86908 2.3335 2.33203 4.87055 2.33203 8.00016C2.33203 11.1298 4.86908 13.6668 7.9987 13.6668ZM7.9987 14.6668C11.6806 14.6668 14.6654 11.6821 14.6654 8.00016C14.6654 4.31826 11.6806 1.3335 7.9987 1.3335C4.3168 1.3335 1.33203 4.31826 1.33203 8.00016C1.33203 11.6821 4.3168 14.6668 7.9987 14.6668Z"
                  fill="#D96F2B"></path>
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M5.5 9.88071C5.5 9.74805 5.55272 9.62082 5.64656 9.52704L7.1746 8L5.64656 6.47296C5.55272 6.37918 5.5 6.25195 5.5 6.11929C5.5 5.98663 5.55272 5.8594 5.64656 5.76562L5.76593 5.64633C5.96116 5.45122 6.27757 5.45122 6.47281 5.64633L8.0013 7.17383L9.5298 5.64633C9.72503 5.45122 10.0414 5.45122 10.2367 5.64633L10.356 5.76562C10.4499 5.8594 10.5026 5.98662 10.5026 6.11929C10.5026 6.25195 10.4499 6.37918 10.356 6.47296L8.82801 8L10.356 9.52704C10.4499 9.62082 10.5026 9.74805 10.5026 9.88071C10.5026 10.0134 10.4499 10.1406 10.356 10.2344L10.2367 10.3537C10.0414 10.5488 9.72503 10.5488 9.5298 10.3537L8.0013 8.82617L6.47281 10.3537C6.27757 10.5488 5.96116 10.5488 5.76593 10.3537L5.64656 10.2344C5.55272 10.1406 5.5 10.0134 5.5 9.88071Z"
                  fill="#D96F2B"></path>
              </svg></div>
          </div>
          <div class="text">1 number (0-9)</div>
        </div>
        <div class="special-char" id="special-char-reset">
          <div class="circle">
            <div class="icons start"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1000" height="1000" viewBox="0 0 1000 1000" xml:space="preserve">
                <desc>Created with Fabric.js 3.5.0</desc>
                <defs></defs>
                <rect x="0" y="0" width="100%" height="100%" fill="#ffffff"></rect>
                <g transform="matrix(56.8182 0 0 56.8182 500.0001 500.0001)" id="271797">
                  <path
                    style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(102,102,102); fill-rule: nonzero; opacity: 1;"
                    vector-effect="non-scaling-stroke" transform=" translate(-8, -8)"
                    d="M 8 0 C 3.58867 0 0 3.58867 0 8 C 0 12.4113 3.58867 16 8 16 C 12.4113 16 16 12.4113 16 8 C 16 3.58867 12.4113 0 8 0 Z M 8 14.6667 C 4.324 14.6667 1.33333 11.676 1.33333 8 C 1.33333 4.324 4.324 1.33333 8 1.33333 C 11.676 1.33333 14.6667 4.324 14.6667 8 C 14.6667 11.676 11.676 14.6667 8 14.6667 Z"
                    stroke-linecap="round"></path>
                </g>
                <g transform="matrix(59.4826 0 0 62.295 499.9999 500)" id="256811">
                  <path
                    style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(102,102,102); fill-rule: nonzero; opacity: 1;"
                    vector-effect="non-scaling-stroke" transform=" translate(-3.9998, -0.9999)" d="M 7.33317 0.333252 H 0.666504 V 1.66659 H 7.33317 V 0.333252 Z" stroke-linecap="round"></path>
                </g>
              </svg></div>
            <div class="icons correct"><svg id="pass-valid" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M7.9987 13.6668C11.1283 13.6668 13.6654 11.1298 13.6654 8.00016C13.6654 4.87055 11.1283 2.3335 7.9987 2.3335C4.86908 2.3335 2.33203 4.87055 2.33203 8.00016C2.33203 11.1298 4.86908 13.6668 7.9987 13.6668ZM7.9987 14.6668C11.6806 14.6668 14.6654 11.6821 14.6654 8.00016C14.6654 4.31826 11.6806 1.3335 7.9987 1.3335C4.3168 1.3335 1.33203 4.31826 1.33203 8.00016C1.33203 11.6821 4.3168 14.6668 7.9987 14.6668Z"
                  fill="#3F8350"></path>
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M10.4439 6.15454C10.705 6.39024 10.7403 6.81062 10.5227 7.09347L7.95862 10.4268C7.84793 10.5707 7.68648 10.6575 7.51376 10.666C7.34104 10.6745 7.17299 10.6038 7.05073 10.4714L5.51227 8.80474C5.27195 8.5444 5.27195 8.12229 5.51227 7.86194C5.75259 7.60159 6.14223 7.60159 6.38256 7.86194L7.44452 9.0124L9.57722 6.23989C9.79479 5.95704 10.1828 5.91883 10.4439 6.15454Z"
                  fill="#3F8350"></path>
              </svg></div>
            <div class="icons error"><svg id="pass-invalid" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M7.9987 13.6668C11.1283 13.6668 13.6654 11.1298 13.6654 8.00016C13.6654 4.87055 11.1283 2.3335 7.9987 2.3335C4.86908 2.3335 2.33203 4.87055 2.33203 8.00016C2.33203 11.1298 4.86908 13.6668 7.9987 13.6668ZM7.9987 14.6668C11.6806 14.6668 14.6654 11.6821 14.6654 8.00016C14.6654 4.31826 11.6806 1.3335 7.9987 1.3335C4.3168 1.3335 1.33203 4.31826 1.33203 8.00016C1.33203 11.6821 4.3168 14.6668 7.9987 14.6668Z"
                  fill="#D96F2B"></path>
                <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M5.5 9.88071C5.5 9.74805 5.55272 9.62082 5.64656 9.52704L7.1746 8L5.64656 6.47296C5.55272 6.37918 5.5 6.25195 5.5 6.11929C5.5 5.98663 5.55272 5.8594 5.64656 5.76562L5.76593 5.64633C5.96116 5.45122 6.27757 5.45122 6.47281 5.64633L8.0013 7.17383L9.5298 5.64633C9.72503 5.45122 10.0414 5.45122 10.2367 5.64633L10.356 5.76562C10.4499 5.8594 10.5026 5.98662 10.5026 6.11929C10.5026 6.25195 10.4499 6.37918 10.356 6.47296L8.82801 8L10.356 9.52704C10.4499 9.62082 10.5026 9.74805 10.5026 9.88071C10.5026 10.0134 10.4499 10.1406 10.356 10.2344L10.2367 10.3537C10.0414 10.5488 9.72503 10.5488 9.5298 10.3537L8.0013 8.82617L6.47281 10.3537C6.27757 10.5488 5.96116 10.5488 5.76593 10.3537L5.64656 10.2344C5.55272 10.1406 5.5 10.0134 5.5 9.88071Z"
                  fill="#D96F2B"></path>
              </svg></div>
          </div>
          <div class="text">1 special character (!�#)</div>
        </div>
      </div>
    </div>
  </div>
  <div class="fe-row">
    <div class="fe"><input class="form-input utagpiimask WC_PasswordUpdateForm_FormInput_logonPasswordVerify_In_Logon_1 ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-maxlength" size="25" type="password"
        aria-label="Logon password Verify" name="logonPasswordVerify" id="confirm-new-password-update-reset" maxlength="32" ng-model="logonPasswordVerify" required=""
        ng-class="{'form-input-filled' : UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$viewValue, 'different-psw': !UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$valid &amp;&amp; UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$touched || (UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$touched &amp;&amp; UpdatePasswordUpdateSubmitFormReset.logonPassword.$viewValue != UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$viewValue)}"
        autocomplete="off"><label class="form-label" for="logonPasswordOld"> Confirm new password* </label><svg class="icon-field form-password-valid">
        <use
          ng-show="UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$touched &amp;&amp; UpdatePasswordUpdateSubmitFormReset.logonPassword.$viewValue == UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$viewValue &amp;&amp; UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$valid"
          xlink:href="#valid-field" class="ng-hide"></use>
        <use
          ng-show="!UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$valid &amp;&amp; UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$touched || (UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$touched &amp;&amp; UpdatePasswordUpdateSubmitFormReset.logonPassword.$viewValue != UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$viewValue)"
          xlink:href="#error-field" class="ng-hide"></use>
      </svg><svg id="confirm-new-password-update-reset-icon" class="icon-field form-password-valid" style="display:none">
        <use xlink:href="#error-field"></use>
      </svg><svg onclick="showPassword('confirm-new-password-update-reset')" id="confirm-new-password-update-reset-icon" class="icon"><svg id="eye-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path class="hide-password" style="display: none"
            d="M12 9.75C12.9658 9.75 13.75 10.5342 13.75 11.5C13.75 12.4658 12.9658 13.25 12 13.25C11.0342 13.25 10.25 12.4658 10.25 11.5C10.25 10.5342 11.0342 9.75 12 9.75ZM15.25 11.5C15.25 9.70579 13.7942 8.25 12 8.25C10.2058 8.25 8.75 9.70579 8.75 11.5C8.75 13.2942 10.2058 14.75 12 14.75C13.7942 14.75 15.25 13.2942 15.25 11.5ZM1.81043 11.5C3.49887 7.53169 7.42451 4.75 12 4.75C16.5755 4.75 20.5011 7.53169 22.1896 11.5C20.5011 15.4683 16.5755 18.25 12 18.25C7.42451 18.25 3.49887 15.4683 1.81043 11.5Z"
            stroke="#222222" stroke-width="1.5"></path>
          <g class="show-password">
            <path fill-rule="evenodd" clip-rule="evenodd" d="M20.0018 21.0001L2.00184 3.00011L3.0625 1.93945L21.0625 19.9395L20.0018 21.0001Z" fill="#222222"></path>
            <path fill-rule="evenodd" clip-rule="evenodd"
              d="M19.4634 16.3403C21.0216 15.0672 22.2497 13.404 23 11.5C21.27 7.11 17 4 12 4C10.5458 4 9.15338 4.26306 7.86722 4.74417L9.05145 5.9284C9.9858 5.64965 10.9755 5.5 12 5.5C16.1496 5.5 19.7287 7.95512 21.3691 11.5C20.6836 12.9814 19.6595 14.2725 18.3967 15.2736L19.4634 16.3403ZM15.1991 12.076C15.2325 11.889 15.25 11.6966 15.25 11.5C15.25 9.70579 13.7942 8.25 12 8.25C11.8034 8.25 11.611 8.26747 11.424 8.30094L15.1991 12.076ZM9.96667 8.96495C9.22497 9.56073 8.75 10.4752 8.75 11.5C8.75 13.2942 10.2058 14.75 12 14.75C13.0248 14.75 13.9393 14.275 14.5351 13.5333L13.4625 12.4608C13.1495 12.936 12.6111 13.25 12 13.25C11.0342 13.25 10.25 12.4658 10.25 11.5C10.25 10.8889 10.564 10.3505 11.0392 10.0375L9.96667 8.96495ZM7.52317 6.52144C5.37334 7.56062 3.63727 9.32523 2.63092 11.5C4.27128 15.0449 7.85043 17.5 12 17.5C13.8683 17.5 15.621 17.0023 17.1332 16.1315L18.2267 17.225C16.419 18.35 14.2858 19 12 19C7 19 2.73 15.89 1 11.5C2.0299 8.88655 3.95999 6.72674 6.40839 5.40666L7.52317 6.52144Z"
              fill="#222222"></path>
          </g>
        </svg></svg><span class="empty-psw-message psw-margin ng-hide"
        ng-show="UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$touched &amp;&amp; UpdatePasswordUpdateSubmitFormReset.logonPassword.$viewValue &amp;&amp; UpdatePasswordUpdateSubmitFormReset.logonPassword.$viewValue != UpdatePasswordUpdateSubmitFormReset.logonPasswordVerify.$viewValue">Passwords
        inserted do not match.</span></div>
  </div>
  <div class="fe submit"><button data-element-id="X_X_ResetPwdOverlay_CTAConfirm" type="submit" class="reset-your-password button-medium-blue-fill submit">RESET YOUR PASSWORD</button></div>
</form>

Name: loginForm

<form name="loginForm" id="loginForm" class="form row ng-pristine ng-valid-email ng-invalid ng-invalid-required ng-valid-maxlength" onsubmit="e.preventDefault();"><input type="hidden" name="storeId" value="12001" ng-model="loginFormData.storeId"
    ng-init="loginFormData.storeId = 12001" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty"><input type="hidden" name="catalogId" value="12751" ng-model="loginFormData.catalogId" ng-init="loginFormData.catalogId = 12751"
    autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty"><input type="hidden" name="langId" value="-1" ng-model="loginFormData.langId" ng-init="loginFormData.langId = -1" autocomplete="off"
    class="ng-pristine ng-untouched ng-valid ng-not-empty"><input name="errorViewName" type="hidden" value="LogonAjaxView" ng-model="loginFormData.errorViewName" ng-init="loginFormData.errorViewName = 'LogonAjaxView'" autocomplete="off"
    class="ng-pristine ng-untouched ng-valid ng-not-empty"><input name="reLogonURL" type="hidden" value="LogonAjaxView" ng-model="loginFormData.errorViewName" ng-init="loginFormData.reLogonURL = 'LogonAjaxView'" autocomplete="off"
    class="ng-pristine ng-untouched ng-valid ng-not-empty"><input type="hidden" name="checkPWD" value="true" ng-model="loginFormData.checkPWD" ng-init="loginFormData.checkPWD = true" autocomplete="off"
    class="ng-pristine ng-untouched ng-valid ng-not-empty"><input name="URL" type="hidden" value="/to-us/my-account" ng-model="loginFormData.URL" ng-init="loginFormData.URL = '/to-us/my-account'" autocomplete="off"
    class="ng-pristine ng-untouched ng-valid ng-not-empty">
  <div class="col">
    <div class="fe form-field row">
      <div class="col"><input id="emailAddress" class="form-input row utagpiimask ng-pristine ng-untouched ng-empty ng-valid-email ng-invalid ng-invalid-required ng-valid-maxlength" name="logonId" type="email" maxlength="64" placeholder=""
          required="" clear-input="" ng-model="loginFormData.logonId" ng-class="{'form-input-filled' : loginForm.logonId.$viewValue}" ng-blur="removeErrorLogin()"><label class="form-label" for="emailAddress"> E-mail address* </label><svg
          class="icon-field">
          <use ng-show="loginForm.logonId.$valid" xlink:href="#valid-field" class="ng-hide"></use>
          <use ng-show="loginForm.logonId.$error.email &amp;&amp; loginForm.logonId.$touched" xlink:href="#error-field" class="ng-hide"></use>
          <use ng-show="loginForm.logonId.$error.required &amp;&amp; loginForm.logonId.$touched" xlink:href="#error-field" class="ng-hide"></use>
        </svg><span class="form-error row ng-hide" ng-show="loginForm.logonId.$error.required &amp;&amp; loginForm.logonId.$touched">The e-mail address field cannot be empty</span><span class="form-error row ng-hide"
          ng-show="loginForm.logonId.$error.email &amp;&amp; loginForm.logonId.$touched">Please enter a valid e-mail address</span><svg class="clear-input-icon " width="16" height="16" viewBox="0 0 16 16">
          <path
            d="M8 0C3.58867 0 0 3.58867 0 8C0 12.4113 3.58867 16 8 16C12.4113 16 16 12.4113 16 8C16 3.58867 12.4113 0 8 0ZM11.8047 10.862L10.862 11.8047L8 8.94267L5.138 11.8047L4.19533 10.862L7.05733 8L4.19533 5.138L5.138 4.19533L8 7.05733L10.862 4.19533L11.8047 5.138L8.94267 8L11.8047 10.862Z"
            fill="#666666"></path>
        </svg><svg class="clear-input-icon " width="16" height="16" viewBox="0 0 16 16">
          <path
            d="M8 0C3.58867 0 0 3.58867 0 8C0 12.4113 3.58867 16 8 16C12.4113 16 16 12.4113 16 8C16 3.58867 12.4113 0 8 0ZM11.8047 10.862L10.862 11.8047L8 8.94267L5.138 11.8047L4.19533 10.862L7.05733 8L4.19533 5.138L5.138 4.19533L8 7.05733L10.862 4.19533L11.8047 5.138L8.94267 8L11.8047 10.862Z"
            fill="#666666"></path>
        </svg></div>
    </div>
    <div class="fe form-field row password">
      <div class="col"><input type="password" name="logonPassword" id="logonPasswordLanding" class="form-input row ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-maxlength" autocomplete="off" maxlength="32" placeholder=""
          required="" ng-model="loginFormData.logonPassword" clear-input="password" ng-class="{'form-input-filled' : loginForm.logonPassword.$viewValue}" ng-blur="removeErrorLogin()"><label class="form-label" for="logonPasswordLanding"> Password*
        </label><svg class="icon-field form-password-valid">
          <use ng-show="loginForm.logonPassword.$error.required &amp;&amp; loginForm.logonPassword.$touched" xlink:href="#error-field" class="ng-hide"></use>
        </svg><span class="form-error form-password-error row ng-hide" ng-show="loginForm.logonPassword.$error.required &amp;&amp; loginForm.logonPassword.$touched">The password field cannot be empty</span>
        <div class="show-password-link" ng-click="toggleShowPassword()"><svg ng-show="!showPassword" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M8.00004 3.99998C10.6957 3.99998 13.1894 5.52465 14.5787 7.99998C14.1074 8.83998 13.5064 9.56731 12.8157 10.1656L13.761 11.111C14.6317 10.339 15.366 9.39864 15.9137 8.33231C16.0204 8.12498 16.0204 7.87498 15.9137 7.66765C14.383 4.68831 11.414 2.66665 8.00004 2.66665C7.1867 2.66665 6.39937 2.78465 5.65004 2.99998L6.76237 4.11231C7.16804 4.04098 7.58104 3.99998 8.00004 3.99998Z"
              fill="#333333"></path>
            <path
              d="M1.13804 0.195312L0.19537 1.13798L3.20137 4.14398C1.89704 5.01998 0.816036 6.23931 0.0767031 7.68698C-0.0229635 7.88231 -0.0229635 8.11764 0.0767031 8.31298C1.60404 11.303 4.5787 13.3333 8.00004 13.3333C9.27837 13.3333 10.4944 13.0496 11.596 12.5386L14.862 15.8046L15.8047 14.862L1.13804 0.195312ZM8.00004 12C5.30304 12 2.8107 10.4756 1.42137 7.99998C2.1047 6.78265 3.05537 5.79698 4.16504 5.10765L6.1967 7.13931C6.07204 7.40031 6.00004 7.69131 6.00004 7.99998C6.00004 9.10464 6.89537 9.99998 8.00004 9.99998C8.3087 9.99998 8.5997 9.92798 8.8607 9.80331L10.5747 11.5173C9.7597 11.83 8.8917 12 8.00004 12Z"
              fill="#333333"></path>
          </svg><svg ng-show="showPassword" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="ng-hide">
            <path d="M8.00004 9.99935C9.1046 9.99935 10 9.10392 10 7.99935C10 6.89478 9.1046 5.99935 8.00004 5.99935C6.89547 5.99935 6.00004 6.89478 6.00004 7.99935C6.00004 9.10392 6.89547 9.99935 8.00004 9.99935Z" fill="black"></path>
            <path
              d="M15.9134 7.66702C14.383 4.68768 11.414 2.66602 8.00004 2.66602C4.5787 2.66602 1.60404 4.69635 0.0767031 7.68635C-0.0229635 7.88168 -0.0229635 8.11701 0.0767031 8.31235C1.60404 11.3023 4.5787 13.3327 8.00004 13.3327C11.414 13.3327 14.383 11.311 15.9134 8.33168C16.02 8.12435 16.02 7.87435 15.9134 7.66702ZM8.00004 11.9993C5.30304 11.9993 2.8107 10.475 1.42137 7.99935C2.8107 5.52335 5.30304 3.99935 8.00004 3.99935C10.6957 3.99935 13.1894 5.52402 14.5787 7.99935C13.1894 10.4747 10.6957 11.9993 8.00004 11.9993Z"
              fill="black"></path>
          </svg></div><svg class="clear-input-icon password" width="16" height="16" viewBox="0 0 16 16">
          <path
            d="M8 0C3.58867 0 0 3.58867 0 8C0 12.4113 3.58867 16 8 16C12.4113 16 16 12.4113 16 8C16 3.58867 12.4113 0 8 0ZM11.8047 10.862L10.862 11.8047L8 8.94267L5.138 11.8047L4.19533 10.862L7.05733 8L4.19533 5.138L5.138 4.19533L8 7.05733L10.862 4.19533L11.8047 5.138L8.94267 8L11.8047 10.862Z"
            fill="#666666"></path>
        </svg><svg class="clear-input-icon password" width="16" height="16" viewBox="0 0 16 16">
          <path
            d="M8 0C3.58867 0 0 3.58867 0 8C0 12.4113 3.58867 16 8 16C12.4113 16 16 12.4113 16 8C16 3.58867 12.4113 0 8 0ZM11.8047 10.862L10.862 11.8047L8 8.94267L5.138 11.8047L4.19533 10.862L7.05733 8L4.19533 5.138L5.138 4.19533L8 7.05733L10.862 4.19533L11.8047 5.138L8.94267 8L11.8047 10.862Z"
            fill="#666666"></path>
        </svg>
      </div><a href="#" id="forgotPassword" class="forgot-password-link end-xs row" onclick="openResetPsw()" ng-click="closeLoginModal()">
Forgot password?
</a>
    </div>
    <div data-element-id="X_X_Login_Open" class="fe form-field row submit"><button type="submit" id="loginSubmit" class="form-submit" ng-click="submitLoginForm(true)" ng-class="{'loading': loginFormSubmit}"
        onclick="standardUserLogin();tealium_data2track.push({id:'Click', data_element_id: 'X_X_Login_Open'});"> Sign In <!-- ngIf: loginFormSubmit --></button></div>
    <script>
      function standardUserLogin() {
        sessionStorage.setItem("Events_UserAccountLogin", "1");
        sessionStorage.setItem("Events_UserAccountLogin_userLogin", "1")
      };
    </script>
  </div>
</form>

/AjaxStoreLocatorDisplayView?storeId=12001&urlRequestType=Base&langId=-1&catalogId=12751

<form action="/AjaxStoreLocatorDisplayView?storeId=12001&amp;urlRequestType=Base&amp;langId=-1&amp;catalogId=12751" class="ng-pristine ng-valid">
  <div class="input-group"><input type="text" class="form-control form-control--search" required="" size="25" aria-label="search a store. Enter zip code or city" name="zipCode" placeholder="Enter zip code or city"><input type="hidden" name="storeId"
      value="12001" autocomplete="off"><input type="hidden" name="catalogId" value="12751" autocomplete="off"><input type="hidden" name="langId" value="-1" autocomplete="off">
    <div class="input-group-append"><button aria-label="search a store." class="btn btn-outline-secondary btn-outline--search text-uppercase" data-element-id="X_HP_Zone1_EyeExam" type="submit"> Search </button></div>
  </div>
</form>

TOEmailSubscription

<form action="TOEmailSubscription" class="section emailSignup ng-pristine ng-valid" id="emailSignup" novalidate="novalidate"><input name="preregister" type="hidden" value="true" autocomplete="off"><input name="addressType" type="hidden" value="M"
    autocomplete="off"><input name="canAddOrigin" type="hidden" value="true" autocomplete="off"><input name="optinStatus" type="hidden" value="true" autocomplete="off"><input name="emailType" type="hidden" value="OFFERS" autocomplete="off"><input
    name="URL" type="hidden" value="SuccessView" autocomplete="off"><input name="storeId" type="hidden" value="12001" autocomplete="off"><input name="langId" type="hidden" value="-1" autocomplete="off"><input name="showRegister" type="hidden"
    value="true" autocomplete="off">
  <div id="subscription-module-container">
    <div class="input-group" id="input-footer-subscription"><input id="__prjid5_signUpButton" class="form-control form-control--cta utagpiimask" size="25" description="Enter your e-mail address" aria-label="Newsletter sign up email"
        placeholder="Enter your e-mail address" accesskey="1" name="newsletterinput" autocomplete="off" tabindex="0" type="email">
      <div class="input-group-append"><button class="btn" type="submit" id="x_signUpBtn" data-element-id="X_X_Footer_Email-SignUp">Sign up</button></div>
    </div>
    <div class="fe"><span class="subscribed" style="display:none;">The email address you provided is already subscribed.</span><span class="logged" style="display:none;"> Please go to the my account section to update your email preferences </span>
    </div>
  </div>
</form>

Text Content

Your session timed out

You're being logged out due to inactivity.

Stay logged inClose session

Your cart is empty.

Start shopping, you’ll love everything in sight!

Discover our responsible styles. Shop now.
20% off your first contact lens purchase. Code: GET20
Superpower your glasses with Transitions® GEN S™ lenses.
Shop now, pay later with Paypal
Use your vision benefits online. Learn more.
Our worry free protection plan.Learn more.
Schedule your eye exam online. Learn more.
Discover our responsible styles. Shop now.
20% off your first contact lens purchase. Code: GET20

Find a storeTrack your orderContact us

Book an eye exam

Contact Lenses

Eyeglasses

Sunglasses

Brands

Vision Insurance

Deals

Book an eye examFind a storeTrack your orderMy Saved itemsContact us
Search
shopping guide RAY-BAN META
Eyeglasses Sunglasses Contact lenses
Ray-Ban Eye exams Reorder contacts
order tracker



Categories
Women's EyeglassesMen's EyeglassesKids Eyeglasses
SHOP ALL EYEGLASSES
Lenses
Transitions®Blue-violet Light
DISCOVER OUR LENSES
Featured
New arrivalsBest sellersResponsible glasses Shopping guideRay-Ban | Meta
Save on your perfect pair
Pick a brand and add lenses starting at $59.
SHOP NOW
Best
sellers
Best sellers
View all
Ray-Ban
$349including lenses
Oakley
$349including lenses
Coach
$299including lenses
Armani Exchange
$199including lenses
Vogue Eyewear
$199including lenses
Categories
Women's SunglassesMen's SunglassesKids Sunglasses
SHOP ALL SUNGLASSES
Lenses
PolarizedPrizm™ Polarized
DISCOVER OUR LENSES
Featured
New arrivalsBest sellersResponsible glasses Shopping guideRay-Ban | Meta
Ray-Ban and Oakley
Pick a brand and add lenses starting at $349.
SHOP NOW
Best
sellers
Best sellers
View all
Coach
$359including lenses
Oakley
$429including lenses
Ray-Ban
$359including lenses
Ralph
$169including lenses
Oakley
$429including lenses
Brands

SHOP ALL CONTACTS
Curious about contact lenses?Find out more
Categories
DailyMonthlyBi-weekly
Curious about contact lenses?
Find out more
Lens types
Single VisionToric | AstigmatismMultifocalResponsible contacts Colored
Get 20% off your first purchase of contact lenses.
Use code: GET20
SHOP CONTACTS
Best
sellers
Best sellers
View all
ACUVUE OASYS® 1-Day with HydraLuxe™ Technology, 90 pack

1-DAY ACUVUE® MOIST, 90 pack

PRECISION1®, 90 pack

ACUVUE OASYS® with HYDRACLEAR® PLUS Technology, 24 pack

DAILIES TOTAL1®, 90 pack

Premium brands

VIEW ALL BRANDS
All brands
| A-Z

VIEW ALL BRANDS
Yours truly, Vogue Eyewear
Unapologetically you, one frame at a time with Vogue Eyewear’s Fall/Winter ‘24
collection.
SHOP VOGUE EYEWEAR
Deals on prescription glasses
Style meets value starting at $59Fashion favorites starting at $199Designer
looks starting at $299Ray-Ban and Oakley starting at $349
VIEW ALL DEALS
Eyewear deals
Designer clearance | Enjoy 40% off prescription glasses Save up to 80% off on
your favorite frames with insuranceGet 40% off additional prescription glasses
Contact Lens deals
Save up to $150 off an annual supply or up to $50 off 6-month supplyGet 20% off
your first purchase of contact lenses
Use code: GET20
Refresh your savings
Restock on contacts and save $150 on an annual supply
or up to $50 on a 6-month supply of contact lenses
SHOP NOW
We accept most insurance plans
..and many more!
SYNC INSURANCE
Use your benefits at TargetOptical
Choose from a wide range of frames, lenses and designer brands
Comprehensive digital eye exams
Shop online from anywhere
Convenient store locations and hours of operation
DISCOVER MORE
Use your vision benefits now
Using your insurance online or in store is easy - don’t wait!
Save up to 80% on your favorite frames with insurance.*
SHOP NOW
PROMO - 90 Day Trial offer to rotate with the evergreen offer
Book an eye exam


SEARCH


×


CHECK YOUR INSURANCE ELIGIBILITY

We accept most major insurance plans. Simply search for yours from the panel
below. Learn more about insurance

STEP 1 / 2 Select your carrier

Select or type your insurance carrier*
No match found.
Your insurance might be out of network, check information below.

Insurance provider cannot be empty.
Your insurance is out-of-network, check the information below
First name*

Last name*

Date of birth*

October
2024
192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024
Zip code*


1

2

3

I certify that my use of this service abides by the Luxottica Retail HIPAA &
Privacy Policies
To proceed, tick the box above to certify that your 18 years or older. If you're
not, you cannot proceed with this step.

Add your Group ID and Member ID to help us find you.

Plan / Group ID

Member ID

Apply insurance
Shop nowPlan your visit
certificate your age

We also accept out-of-network plans

If your plan is not in-network, you can submit a claim form directly to your
insurance company and receive a reimbursement after purchase. Download Form

Need help?

Give us a call at 1-877-753-6727
Chat with Us
Check out our FAQs


WE ALSO ACCEPT OUT-OF-NETWORKS PLANS

You may also use out-of-network benefits at Targetoptical.com for most other
vision insurance companies, like VSP. You can submit the claim form directly to
your insurance company. Download the form

×


SIT TIGHT, WE'RE LOOKING FOR YOU

We're finding your insurance benefits information. This may take a few minutes.


×


SUCCESS! WE FOUND YOU

See below for your available benefits.

Frames

Benefits available:

Benefits unavailable



Good news, you can still save!

Get 40% off prescription glasses or 20% off frame only applied automatically at
checkout.

Having issues? Use these promo codes

40% off prescription glasses



20% off frame only


Lenses

Benefits available:

Benefits unavailable



Contact lenses

Benefits available:

Benefits unavailable



Eye exam

Benefits available:

Benefits unavailable



Frames

Benefits available

Benefits unavailable



Good news, you can still save!

Get 40% off prescription glasses or 20% off frame only applied automatically at
checkout.

Having issues? Use these promo codes

40% off prescription glasses



20% off frame only


Lenses

Benefits available

Benefits unavailable


Contact lenses

Benefits available

Benefits unavailable


Eye exam

Benefits available

Benefits unavailable



Shop eyewear Shop contacts
Remove insurance benefits
×


TOO MANY FAILED ATTEMPTS

Try again in [xx:xx] minutes.

For your security, we've temporarily blocked your insurance look-up function.

We also accept out-of-network plans

If your plan is not in-network, you can submit a claim form directly to your
insurance company and receive a reimbursement after purchase. Download Form

Need help?

Give us a call at 1-877-753-6727
Chat with us
or check out our FAQs
×


WE'RE HAVING TROUBLE FINDING YOU

Make sure what you entered matches the insurance information on file. For your
security, you will have to look up your insurance benefits. For help call,
1-877-848-8476
Check again

NEED HELP?

Give us a call at 1-877-848-8476
Chat with us
or check out our FAQs

--------------------------------------------------------------------------------

Discover all our accepted vision plans online and in store. Discover more

×


SOMETHING WENT WRONG

We're having some technical issues and aren't able to retrieve your insurance
benefits right now. We suggest trying again in a few minutes.

Try Again

Need help?

Give us a call at 1-877-753-6727
Chat with us
Check out our FAQs

For your security, your personal benefits information is only available during
your session and will be erased when you close the browser.


FORGOT YOUR PASSWORD?

Enter your e-mail below and we'll send you a temporary password along with
instructions.

E-mail address*
Please provide a valid e-mail address.The e-mail address field cannot be empty.


This e-mail is not associated with an account.



A TEMPORARY PASSWORD HAS BEEN SENT TO:

{0} Once you have it, click the reset button below or use the link in the
e-mail.
If you don't receive an e-mail, check your spam folder or contact us for help.

Reset your Password






RESET YOUR PASSWORD

Please enter the temporary password we sent you and create a new one below.


Temporary password* The password field cannot be empty.The password field cannot
be empty.The temporary password inserted does not match the one sent via e-mail.
New password* The password field cannot be empty.The password field cannot be
empty.Password does not meet the requirements.
The password must contain at least:
Created with Fabric.js 3.5.0


8 characters
Created with Fabric.js 3.5.0


1 uppercase letter (A-Z)
Created with Fabric.js 3.5.0


1 lowercase letter (a-z)
Created with Fabric.js 3.5.0


1 number (0-9)
Created with Fabric.js 3.5.0


1 special character (!�#)
Confirm new password* Passwords inserted do not match.
RESET YOUR PASSWORD


SIGN IN TO YOUR ACCOUNT

Don't have an account yet? Sign up here to manage all your vision care needs and
get exclusive offers.
E-mail address* The e-mail address field cannot be emptyPlease enter a valid
e-mail address
Password* The password field cannot be empty

Forgot password?
Sign In
or fast login with
Facebook
Google

You have almost finished setting up your account!
Please check your email for a message from us asking you to confirm your
account. If you have not receive anything after 5 minutes, please click on
button below for another email.
RESEND EMAIL
Request another email in 5 minutes
It looks like you've never purchased contacts before or you still have an order
in progress.shop contacts nowgo to my account

It looks like the products you've purchased have been discontinued and cannot be
added to your order.shop alternativesstay in my account


emsName: X_HP_RowUtilities



emsName: X_HP_Row1

Offer includes A New Day™, Cat & Jack ™ and Goodfellow ™ & Co. frames and lenses
for $59. For guests 17 or under offer includes single vision ComfortLight Kids
lenses (polycarbonate without anti-reflective). For guests 18 and older offer
includes single vision ComfortLight (plastic) lenses. Frame and lenses may be
upgraded for an additional charge. Complete pair (frame + lenses) purchase
required. Valid prescription required. Cannot be combined with vision insurance
benefits, other offers, or previous purchases. Valid in-store and online.
Pricing in-store and online could vary. Void where prohibited by law. Discounts
off tag price. No cash value. See Target Optical® Employee for full offer
details. Promotions are subject to change or cancellation at any time without
notice.


SAVE ON YOUR
PERFECT PAIR





Shop EYEGLASSESShop Sunglasses



See details

emsName: X_HP_Row2

All insurance
welcome

Learn more

Buy online,
pick up in store

Learn more

Free shipping
and returns

Learn more

Our Worry-Free
Protection Plan

Learn more

Shop now,
pay later

Learn more

emsName: X_HP_Row3


MORE SAVINGS TO LOVE

Up to $150 off an A/S: Save up to $150 on an annual (12 month) supply or up to
$50 on a 6-month supply of contact lenses. May be combined with vision
insurance. Cannot be combined with Medicare and Medicaid vision insurance
benefits. When combining with vision insurance discount value is applied to
member out of pocket as a bonus savings in addition to vision insurance
benefits, after benefits applied. Instant savings applied at checkout. Savings
not valid on previous purchases. Valid in store and online. No cash value. Void
where prohibited by law. Some restrictions may apply. Check TargetOptical.com or
with a Target Optical employee for more details or for additional savings.
Additional instant savings available in-store & online and may vary by product.
Valid contact prescription required. Ask your eye care professional for complete
wear, care and safety information. ℞

REFRESH YOUR SAVINGS

Restock on contacts and save $150 on an annual supply or up to $50 on a 6-month
supply of contact lenses.

Offer can be combined with vision benefits.



Save up to 80%* on your favorite frames with your insurance benefits at Target
Optical. And get 40% off any additional complete pair. 40% off additional
complete pairs may be redeemed in-store. When purchasing online, contact
customer service to redeem 40% off additional pairs separately, when using
insurance on primary pair. Applies to in-network insurance plans with a frame
allowance of $130 or higher. Only applicable to selected frames up to $160
(average frame sale price). Member with EyeMed Freedom pass eligible for $0
out-of-pocket on frames, redeemable in-store or by contacting customer service.

USE YOUR VISION BENEFITS NOW

Save up to 80% on your favorite frames with insurance.*

Using your insurance online or in store is easy - don’t wait!

Offer valid for new contact lens customers at Target Optical®. Receive 20% off a
6 month supply or more purchase of contact lenses. A new contact lens customer
is any Guest who has not purchased contact lenses at Target Optical® previously.
Can be combined with vision insurance, in-store only. Cannot be combined with
other contact lens offers, in-store instant savings, or previous purchases.
Valid contact lens prescription required. All boxes must be from same
prescription. Discounts are off tag price. No cash value. Valid in store and
online at targetoptical.com. Void where prohibited by law. See Target Optical®
employee for details.

SAVE WHEN YOU TRY CONTACTS

Get 20% off your first purchase

New to contacts? Use your code at checkout to automatically apply the discount.


shop deals


SEE WHAT'S TRENDING

Eyeglasses
Sunglasses
Contact lenses
View all eyeglasses View all sunglasses View all contacts
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Previous


ARMANI EXCHANGE

0AX3077

$131.00

$199including lenses


VOGUE EYEWEAR

0VO5356

$121.00

$199including lenses


RAY-BAN

0RX5387

$166.00

$349including lenses


OAKLEY

0OX8163

$176.00

$349including lenses


RAY-BAN

0RX5154

$210.00

$349including lenses


OAKLEY

0OX8163

$176.00

$349including lenses


RALPH

0RA7158U

$133.00

$199including lenses


ARMANI EXCHANGE

0AX3077

$131.00

$199including lenses


VOGUE EYEWEAR

0VO5356

$121.00

$199including lenses


RAY-BAN

0RX5387

$166.00

$349including lenses


OAKLEY

0OX8163

$176.00

$349including lenses


RAY-BAN

0RX5154

$210.00

$349including lenses


OAKLEY

0OX8163

$176.00

$349including lenses


RALPH

0RA7158U

$133.00

$199including lenses


ARMANI EXCHANGE

0AX3077

$131.00

$199including lenses


VOGUE EYEWEAR

0VO5356

$121.00

$199including lenses


RAY-BAN

0RX5387

$166.00

$349including lenses


OAKLEY

0OX8163

$176.00

$349including lenses
Next
 * 1
 * 2
 * 3
 * 4
 * 5
 * 6
 * 7

emsName: X_HP_Row6


BUY YOUR PRESCRIPTION GLASSES IN 3 EASY STEPS

1

CHOOSE YOUR BRAND

Pick your frame from our wide range of brands, separated into four starting
price points to fit every budget.

2

SELECT YOUR LENSES

Choose from a variety of lens packages which include different lens thicknesses,
treatments, and add-ons.

3

PROCEED TO CHECKOUT

Complete your purchase, and see your savings! Finding your perfect pair for less
has never been easier.

Style meets value

starting at

$59

Shop now

Fashion favorites

starting at

$199

Shop now

Designer looks

starting at

$299

Shop now

Ray-Ban and Oakley

starting at

$349

Shop now
shop now

emsName: X_HP_Row9


IS IT TIME FOR
AN EYE EXAM?

Search

Whether you need a prescription or are due for an update, our Independent
Doctors are here for all your vision needs!
Schedule your comprehensive eye exam with them today. Discover more

DR. RYAN SMEDLEY

An Independent Optometrist discussing contact lenses and the importance of
annual eye exams.

DR. SHANNON JOSEPH

An Independent Optometrist discussing the need for sun protection and how to
find the right lenses.

HIBA DAHDOULI

A Licensed Optician explaining the patient care process and how to use existing
prescriptions.

emsName: X_HP_Row11


YOURS TRULY, VOGUE EYEWEAR

Unapologetically you, one frame at a time with Vogue Eyewear’s Fall/Winter ‘24
collection.

shop VOGUE eyewear FIND A STORE

emsName: X_HP_Row12


OUR CATEGORIES

Women’s
eyewear



Contacts



Responsible eyewear



Kids’
eyewear



Men’s
eyewear



emsName: X_HP_Row13


OUR LENSES

Level up your lenses based on your lifestyle needs. Discover more


BLUE-VIOLET LIGHT FILTERING

Clear lenses with blue-violet light filtering technology designed for digital
and outdoor lifestyles.

DISCOVER OUR LENSES


PRESCRIPTION SUN

Classic sun lenses are perfect for those who want iconic style and vision.

DISCOVER OUR LENSES


LIGHT RESPONSIVE

Lenses that adapt to changing light conditions, darkening outdoors and fading
back to clear indoors.

DISCOVER OUR LENSES


emsName: X_HP_Row14


TRANSITIONS® GEN S™

The perfect everyday lens!
Transitions® GEN S™ is ultra-responsive to light, offers a spectacular color
palette and provides HD vision at the speed of your life.

DISCOVER LENSES

emsName: X_HP_Row15


MORE FOR THE PLANET

We’re staying accountable and making progress towards a better future.

SHOP responsible CONTACTSSHOP responsible EYEWEAR

emsName: X_HP_Row16


STILL LOOKING? DISCOVER MORE BELOW

virtual try on Our shopping guide our services FAQs sustainability Responsible
shipping

Loading





HELP?


COME VISIT US IN STORE

Bring in the whole family and enjoy expert care in the blink of an eye!

FIND A STORE

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------


STAY UP-TO-DATE

Get the latest on our special deals, new collections, and more.

Sign up
The email address you provided is already subscribed. Please go to the my
account section to update your email preferences
Eye & vision care
 * Our lenses
 * Vision insurance
 * Book an eye exam*
 * Worry-Free Protection Plan
 * How to measure your PD
 * EyeCare 101
 * Contact Lenses 101

Shopping online
 * All deals
 * Contact lenses deals
 * Reorder contacts
 * Virtual Try On
 * Shopping Guide
 * Payment methods
 * AARP Members
 * 
 * 

Designer brands
 * Ray-Ban
 * Coach
 * Armani Exchange
 * Oakley
 * Vogue
 * All brands

Products
 * Contact lenses
 * Blue-violet light glasses
 * Transitions glasses
 * Prescription eyeglasses
 * Men's eyeglasses
 * Women's eyeglasses
 * Prescription sunglasses
 * Men's sunglasses
 * Women's sunglasses

Customer service
 * Track my order
 * Shipping & returns
 * In-store & online services
 * FAQs
 * Live chat
 * Contact us

About us
 * About Target Optical
 * Careers
 * Locations
 * Affiliate
 * Accessibility

Legal
 * Privacy & Security
 * Terms of Use
 * Cookie Policy
 * Notice of Privacy Practices
 * Your California Privacy Choices
 * California Collection Notice
 * AdChoices
 * Your Privacy Choices
 * Notice of Financial Incentive
 * Consumer Health Data Privacy Policy

*Eye exams available at the independent doctor of optometry at or next to Target
Optical. Doctors in some states are employed by Target Optical. In California,
Target Optical does not provide eye exams or employ Doctors of Optometry. Eye
exams available from self-employed doctors who lease space inside of Target
Optical.

 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 

Buy now, pay later with PayPal, Affirm or Afterpay. Learn More


View desktop site

WebId: 947695581

--------------------------------------------------------------------------------

Sitemap

--------------------------------------------------------------------------------

target.com

--------------------------------------------------------------------------------

Other sites of the Group
Ray-BanOakleyPersolOliver PeoplesVogue EyewearSunglass
HutLensCraftersGlassesContacts DirectPearle VisionFrames DirectEyeBuyDirect
Privacy & Security
Terms of Use
Cookie Policy
Notice of Privacy Practices
Your California Privacy Choices
California Collection Notice
AdChoices
Your Privacy Choices
Notice of Financial Incentive
Consumer Health Data Privacy Policy
© 2024 Luxottica Retail N.A. All Rights Reserved.
© 2024 Target Brands, Inc. Target and the Bullseye design are the registered
trademarks of Target Brands, Inc.




PUPILLARY DISTANCE


WHAT IS IT?

Pupillary distance measures the space (in millimeters) between the pupils of
your eyes.


WHERE CAN I FIND IT?

On previous eyewear receipts or your prescription. Or measure it yourself with
our handy PD ruler.

download PD ruler


I HAVE TWO NUMBERS FOR MY PD...


Don't worry. Some doctors take your distance for each eye. Your just a simple
equation away from your pupillary distance.


1.ADD THE TWO NUMBERS

The first step is to add the numbers together. We recommend a calculator because
no one's perfect.


2.DIVIDE BY 2

Once you have the two numbers added together just divide them by 2 and that is
you're pupillary distance!

Double check your number and then enter it in the pupillary distance field.


PAYING IN INSTALLMENTS

Want to spread out the cost of your order with Target Optical?
Select ‘Affirm’ or ‘Afterpay‘ as your payment method at checkout
to pay in interest-free installments, with no hidden fees.

With Affirm, pay in 4 interest-free installments every 2 weeks or you can pay
over time with monthly payments over 3, 6 or 12 months. Payment options are
offered by Affirm, are subject to an eligibility check, and may not be available
in all states. CA residents: Loans by Affirm Loan Services, LLC are made or
arranged pursuant to a California Finance Lender license.

With Afterpay, make 4 interest-free* payments every 2 weeks or you can pay over
time with monthly payments spread over 6 or 12 months**. *You must be over 18, a
resident of the U.S. and meet additional eligibility criteria to qualify. Late
fees may apply. Eligibility criteria apply. See www.afterpay.com for more
details. Loans to California residents made or arranged pursuant to a California
Finance Lenders Law license. © 2020 Afterpay US **Loans through the Afterpay Pay
Monthly program are underwritten and issued by First Electronic Bank, Member
FDIC. Loans are subject to credit check and approval and are not available to
residents of Hawaii, New Mexico, West Virginia and Nevada. Click here for
complete terms.











YOUR SESSION HAS EXPIRED

You've been logged out of your session after 30 minutes of inactivity.

Sign in again


COMMUNICATION ERROR

The store has encountered a problem processing the last request. Try again
later. If the problem persists, contact your site administrator.

  Close


WHAT'S YOUR FACE SHAPE?


OVAL

Features nicely balanced with chin slightly narrower than your forehead.
Best frames: any shape (lucky you), dark or light colors.


ROUND

A soft, circular shape with equal width and length.
Best frames: strong angular shapes for contrast


HEART

A broader forehead and narrower jawline and chin.
Best frames: ovals, rounds in thin, light colors


SQUARE

Nice strong, distinct angles in your forehead, cheeks and jawline.
Best frames: rounds, ovals in dark or bold colors for contrast.




Luxottica of America and our third-party partners use cookies, script code, and
other technologies to collect data, monitor your interactions on our site,
and/or advertise to you.

By clicking "Accept All Cookies", you consent to such use.

For more information see our Privacy Policy and Terms of Use.

To manage your selections, please see our Cookie Manager.

Accept all cookies Reject
Manage my preferences