www.lenscrafters.com
Open in
urlscan Pro
2a02:26f0:480:36::212:4005
Public Scan
Submitted URL: http://www.lenscrafters.com/
Effective URL: https://www.lenscrafters.com/
Submission: On June 19 via api from US — Scanned from DE
Effective URL: https://www.lenscrafters.com/
Submission: On June 19 via api from US — Scanned from DE
Form analysis
6 forms found in the DOMName: navigation-find-a-store — GET /lc-us/eye-exam
<form id="storeSearchFormHeader" action="/lc-us/eye-exam" name="navigation-find-a-store" method="get" class="ng-pristine ng-valid" novalidate="novalidate"><input type="hidden" name="storeId" value="10851" autocomplete="off"><input type="hidden"
name="catalogId" value="11651" autocomplete="off"><input type="hidden" name="langId" value="-1" autocomplete="off"><input type="hidden" name="fromHeader" value="true" autocomplete="off"><input type="hidden" class="latLong" name="latLong" value=""
autocomplete="off"><input type="hidden" name="page" value="0" autocomplete="off"><input type="hidden" name="apptId" value="" autocomplete="off"><input type="hidden" name="reschedule" value="" autocomplete="off"><input type="hidden"
id="StoreLocator_ProductId_Header" name="productId" value="" autocomplete="off"><input id="requiredFieldCityStateOrZipCode" type="text" autocomplete="off" class="store-input blur" aria-label="Location entry" name="locationEntry" value=""
maxlength="64" placeholder="Enter City / State or Zip Code"><button id="storeSearchFormHeaderBtnForm" class="store-search-submit submit-find-store button-medium-blue-fill" href="javascript:void(0);"
onclick="javascript:utag.link({link_name:'In-Store Lookup',product_id:['']});checkRequiredFieldCityStateOrZipCode();" type="button" data-element-id="X_X_MainNav_EYE-ZipCode"> SEARCH </button></form>
Name: CatalogSearchForm —
<form name="CatalogSearchForm" id="CatalogSearchForm" ng-show="searchOpen == true" class="ng-pristine ng-valid ng-hide">
<div id="header-search" ng-class="searchInputHasGainFocus == true ? 'd-flex' : ''">
<div class="logo-container ng-hide" ng-show="mobileMenuStatus">
<a aria-label="LensCrafters Homepage" href="/lc-us" title="LensCrafters Homepage" data-element-id="X_X_MainNav_Logo"><svg alt="LensCrafters"><use xlink:href="#main-logo"></use></svg></a></div>
<meta name="CommerceSearch" content="storeId_10851">
<div id="SimpleSearchForm_SearchTerm">
<div class="ais-SearchBox"><input class="ais-SearchBox-input" type="search" placeholder="Search products, brands or information" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" maxlength="512"
aria-label="Search"><button class="ais-SearchBox-submit" type="submit" title="Submit the search query"><a data-element-id="MainNav_Search_ByImage"><svg class="icon"><use xlink:href="#search"></use></svg></a></button><button
class="ais-SearchBox-reset" type="reset" title="Clear the search query" hidden=""><svg class="ais-SearchBox-resetIcon" viewBox="0 0 20 20" width="10" height="10" aria-hidden="true">
<path d="M8.114 10L.944 2.83 0 1.885 1.886 0l.943.943L10 8.113l7.17-7.17.944-.943L20 1.886l-.943.943-7.17 7.17 7.17 7.17.943.944L18.114 20l-.943-.943-7.17-7.17-7.17 7.17-.944.943L0 18.114l.943-.943L8.113 10z"></path>
</svg></button></div>
</div>
<a href="#" class="CloseHeader" ng-click="searchOpen = false; mobileMenuStatus = 0; enableScrolling(); removeHideFromNavLinkGVP()"><svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.7008 2.20078L22.3008 0.800781L12.0008 11.1008L1.70078 0.800781L0.300781 2.20078L10.6008 12.5008L0.300781 22.8008L1.70078 24.2008L12.0008 13.9008L22.3008 24.2008L23.7008 22.8008L13.4008 12.5008L23.7008 2.20078Z" fill="black"></path></svg></a>
</div>
</form>
Name: navigation-find-a-store — GET /lc-us/eye-exam
<form id="storeSearchFormHome-home" action="/lc-us/eye-exam" name="navigation-find-a-store" method="get" class="ng-pristine ng-valid" novalidate="novalidate"><input type="hidden" name="storeId" value="10851" autocomplete="off"><input type="hidden"
name="catalogId" value="22701" autocomplete="off"><input type="hidden" name="fromHeader" value="true" autocomplete="off"><input type="hidden" name="langId" value="-1" autocomplete="off"><input type="hidden" class="latLong" name="latLong" value=""
autocomplete="off"><input type="hidden" name="page" value="0" autocomplete="off"><input type="hidden" name="apptId" value="" autocomplete="off"><input type="hidden" name="reschedule" value="" autocomplete="off"><input type="text"
autocomplete="off" class="store-input" aria-label="Location entry" name="locationEntry" value="" maxlength="64" placeholder="Enter City / State or Zip Code" data-element-id="X_X_MainNav_EYE-ZipCode"><button
class="store-search-submit submit-find-store" type="submit" data-element-id="X_X_1Hero_Banner1_CTA"> SCHEDULE </button></form>
Name: navigation-find-a-store — GET /lc-us/eye-exam
<form id="storeSearchFormHome-mob" action="/lc-us/eye-exam" name="navigation-find-a-store" method="get" class="ng-pristine ng-valid" novalidate="novalidate"><input type="hidden" name="storeId" value="10851" autocomplete="off"><input type="hidden"
name="catalogId" value="22701" autocomplete="off"><input type="hidden" name="fromHeader" value="true" autocomplete="off"><input type="hidden" name="langId" value="-1" autocomplete="off"><input type="hidden" class="latLong" name="latLong" value=""
autocomplete="off"><input type="hidden" name="page" value="0" autocomplete="off"><input type="hidden" name="apptId" value="" autocomplete="off"><input type="hidden" name="reschedule" value="" autocomplete="off"><input type="text"
autocomplete="off" class="store-input" aria-label="Location entry" name="locationEntry" value="" maxlength="64" placeholder="Enter City / State or Zip Code" data-element-id="X_X_MainNav_EYE-ZipCode"><button
class="store-search-submit submit-find-store" type="submit" data-element-id="X_X_1Hero_Banner1_CTA"> SCHEDULE </button></form>
<form class="section emailSignup ng-pristine ng-valid" id="emailSignup"><input name="preregister" ng-model="subscribe.preregister" type="hidden" ng-init="subscribe.preregister=true" autocomplete="off"
class="ng-pristine ng-untouched ng-valid ng-not-empty"><input name="addressType" ng-model="subscribe.addressType" type="hidden" ng-init="subscribe.addressType='M'" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty"><input
id="x__footer_lcGeneralEmailOptIn" name="lcGeneralEmailOptIn_10851_r_1" ng-model="subscribe.lcGeneralEmailOptIn" type="hidden" ng-init="subscribe.lcGeneralEmailOptIn=true" autocomplete="off"
class="ng-pristine ng-untouched ng-valid ng-not-empty"><input id="x_footer_ageCheck" name="ageCheck_10851_r_1" ng-model="subscribe.ageCheck" type="hidden" ng-init="subscribe.ageCheck=true" autocomplete="off"
class="ng-pristine ng-untouched ng-valid ng-not-empty"><input name="canAddOrigin" ng-model="subscribe.canAddOrigin" type="hidden" ng-init="subscribe.canAddOrigin=true" autocomplete="off"
class="ng-pristine ng-untouched ng-valid ng-not-empty"><input name="optinStatus" ng-model="subscribe.optinStatus" type="hidden" ng-init="subscribe.optinStatus=true" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty"><input
name="URL" ng-model="subscribe.URL" type="hidden" ng-init="subscribe.URL='SuccessView'" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty"><input id="x_footer_storeId" name="storeId" ng-model="subscribe.storeId"
type="hidden" ng-init="subscribe.storeId='10851'" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty"><input id="x_footer_langId" "="" name=" langId" ng-model="subscribe.langId" type="hidden" ng-init="subscribe.langId='-1'"
autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty"><input name="emailType" ng-model="subscribe.emailType" type="hidden" ng-init="subscribe.emailType='Footer'" autocomplete="off"
class="ng-pristine ng-untouched ng-valid ng-not-empty"><input name="showRegister" ng-model="subscribe.showRegister" type="hidden" ng-init="subscribe.showRegister=true" autocomplete="off"
class="ng-pristine ng-untouched ng-valid ng-not-empty"><input name="email" ng-model="subscribe.enteredEmail" id="footer_email_signup_acc" placeholder="Enter your e-mail address" class="ng-pristine ng-untouched ng-valid ng-empty"><button
type="submit" class="" ng-click="submitEmailSubscription();" data-element-id="X_X_Subscribe_SignUp"> SIGN UP </button></form>
Name: insuranceLoginForm —
<form name="insuranceLoginForm" class="css-form ng-pristine ng-invalid ng-invalid-required ng-valid-pattern ng-valid-minlength ng-valid-maxlength" novalidate="">
<span class="ng-binding"> </span>
<div class="login-data">
<div class="firstname-input untouched"
ng-class="{'invalid': !firstname_resetenabled && !insuranceLoginForm.firstname.$valid && insuranceLoginForm.firstname.$touched, bold: important, 'valid': !firstname_resetenabled && insuranceLoginForm.firstname.$valid, 'untouched':!insuranceLoginForm.firstname.$touched}">
<section class="insurance-input-container">
<input class="utagpiimask input ng-pristine ng-untouched ng-isolate-scope ng-empty ng-invalid ng-invalid-required ng-valid-pattern" reset-field="" placeholder=" "
ng-class="{'invalid': !firstname_resetenabled && !insuranceLoginForm.firstname.$valid && insuranceLoginForm.firstname.$touched, 'valid': !firstname_resetenabled && insuranceLoginForm.firstname.$valid}" id="firstname"
type="text" ng-model="loginData.firstname" name="firstname" ng-change="preventWrongChars($event)" ng-pattern="/^\D*$/" ng-required="personalFormRequired()" aria-label="First name"
required="required"><a ng-show="enabled" class="clear-input-icon ng-scope ng-hide" ng-mousedown="reset()"><svg class="icon close"><use xlink:href="#clear-input"></use></svg></a>
<label>First Name<span class="required-field">*</span></label>
</section>
<span class="insurance-input-validation ng-hide" ng-show="(insuranceLoginForm.firstname.$viewValue == '' || insuranceLoginForm.firstname.$viewValue == null) && insuranceLoginForm.firstname.$touched"
aria-label="Please insert your first name." tabindex="0">Please insert your first name</span>
<span ng-show="!insuranceLoginForm.firstname.$valid && insuranceLoginForm.firstname.$viewValue != '' && insuranceLoginForm.firstname.$viewValue != null && insuranceLoginForm.firstname.$touched" tabindex="-1"
aria-label="Please enter a valid first name" class="insurance-input-validation ng-hide">Please enter a valid first name</span>
</div>
<div class="lastname-input untouched"
ng-class="{'invalid': !lastname_resetenabled && !insuranceLoginForm.lastname.$valid && insuranceLoginForm.lastname.$touched, bold: important, 'valid': !lastname_resetenabled && insuranceLoginForm.lastname.$valid, 'untouched':!insuranceLoginForm.lastname.$touched}">
<section class="insurance-input-container">
<input class="utagpiimask input ng-pristine ng-untouched ng-isolate-scope ng-empty ng-invalid ng-invalid-required ng-valid-pattern" id="lastname" reset-field=""
ng-class="{'invalid': !lastname_resetenabled && !insuranceLoginForm.lastname.$valid && insuranceLoginForm.lastname.$touched, 'valid': !lastname_resetenabled && insuranceLoginForm.lastname.$valid}" placeholder=" "
type="text" ng-model="loginData.lastname" name="lastname" ng-change="preventWrongChars($event)" ng-pattern="/^\D*$/" ng-required="personalFormRequired()" aria-label="Last name"
required="required"><a ng-show="enabled" class="clear-input-icon ng-scope ng-hide" ng-mousedown="reset()"><svg class="icon close"><use xlink:href="#clear-input"></use></svg></a>
<label>Last Name<span class="required-field">*</span></label>
</section>
<span ng-show="(insuranceLoginForm.lastname.$viewValue == '' || insuranceLoginForm.lastname.$viewValue == null) && insuranceLoginForm.lastname.$touched" tabindex="-1" aria-label="Please enter a valid last name"
class="insurance-input-validation ng-hide">Please insert your last name</span>
<span class="insurance-input-validation required-lastname live-validation ng-hide"
ng-show="!insuranceLoginForm.lastname.$valid && insuranceLoginForm.lastname.$viewValue != '' && insuranceLoginForm.lastname.$viewValue != null && insuranceLoginForm.lastname.$touched"
aria-label="Please insert your last name" tabindex="0">Please enter a valid last name</span>
</div>
<div class="dob-zip-container">
<div class="dob-input insurance-input-container untouched"
ng-class="{'invalid': !dob_resetenabled && !insuranceLoginForm.dob.$valid && insuranceLoginForm.dob.$touched, bold: important, 'valid': !dob_resetenabled && insuranceLoginForm.dob.$valid, 'untouched':!insuranceLoginForm.dob.$touched }">
<input id="date-of-birth2" ng-class="{'invalid': !dob_resetenabled && !insuranceLoginForm.dob.$valid && insuranceLoginForm.dob.$touched, 'valid': !dob_resetenabled && insuranceLoginForm.dob.$valid}" reset-field=""
inputmode="numeric" type="text" class="lc-input lc-input-text utagpiimask ng-pristine ng-untouched ng-isolate-scope ng-empty ng-invalid ng-invalid-required ng-valid-minlength ng-valid-maxlength" name="dob" ng-minlength="10"
ng-change="preventWrongChars($event)" ng-maxlength="10" ng-model="loginData.dob" placeholder="MM / DD / YYYY" angular-mask="00/00/0000" ng-required="personalFormRequired()" dob-ins-validation=""
required="required"><a ng-show="enabled" class="clear-input-icon ng-scope ng-hide" ng-mousedown="reset()"><svg class="icon close"><use xlink:href="#clear-input"></use></svg></a>
<label class="lc-input-label" for="dob">Date of birth*</label>
<a class="calendar-btn" ng-click="dobDatePickerToggleFn()" aria-label="Open or close date picker">
<svg width="20" height="22" viewBox="0 0 20 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.9231 3H3.07692C1.92987 3 1 4.00736 1 5.25V18.75C1 19.9926 1.92987 21 3.07692 21H16.9231C18.0701 21 19 19.9926 19 18.75V5.25C19 4.00736 18.0701 3 16.9231 3Z" stroke="#222222" stroke-width="1.5" stroke-linejoin="round"></path>
<path d="M10.5 10.125C10.5 10.3321 10.3321 10.5 10.125 10.5C9.91789 10.5 9.75 10.3321 9.75 10.125C9.75 9.91789 9.91789 9.75 10.125 9.75C10.3321 9.75 10.5 9.91789 10.5 10.125Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
<path d="M15.5 10.125C15.5 10.3321 15.3321 10.5 15.125 10.5C14.9179 10.5 14.75 10.3321 14.75 10.125C14.75 9.91789 14.9179 9.75 15.125 9.75C15.3321 9.75 15.5 9.91789 15.5 10.125Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
<path d="M10.5 13.625C10.5 13.8321 10.3321 14 10.125 14C9.91789 14 9.75 13.8321 9.75 13.625C9.75 13.4179 9.91789 13.25 10.125 13.25C10.3321 13.25 10.5 13.4179 10.5 13.625Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
<path d="M15.5 13.625C15.5 13.8321 15.3321 14 15.125 14C14.9179 14 14.75 13.8321 14.75 13.625C14.75 13.4179 14.9179 13.25 15.125 13.25C15.3321 13.25 15.5 13.4179 15.5 13.625Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
<path d="M5.5 13.625C5.5 13.8321 5.33211 14 5.125 14C4.91789 14 4.75 13.8321 4.75 13.625C4.75 13.4179 4.91789 13.25 5.125 13.25C5.33211 13.25 5.5 13.4179 5.5 13.625Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
<path d="M5.5 17.125C5.5 17.3321 5.33211 17.5 5.125 17.5C4.91789 17.5 4.75 17.3321 4.75 17.125C4.75 16.9179 4.91789 16.75 5.125 16.75C5.33211 16.75 5.5 16.9179 5.5 17.125Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
<path d="M10.5 17.125C10.5 17.3321 10.3321 17.5 10.125 17.5C9.91789 17.5 9.75 17.3321 9.75 17.125C9.75 16.9179 9.91789 16.75 10.125 16.75C10.3321 16.75 10.5 16.9179 10.5 17.125Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
<path d="M15.5 17.125C15.5 17.3321 15.3321 17.5 15.125 17.5C14.9179 17.5 14.75 17.3321 14.75 17.125C14.75 16.9179 14.9179 16.75 15.125 16.75C15.3321 16.75 15.5 16.9179 15.5 17.125Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
<path d="M5.5 10.125C5.5 10.3321 5.33211 10.5 5.125 10.5C4.91789 10.5 4.75 10.3321 4.75 10.125C4.75 9.91789 4.91789 9.75 5.125 9.75C5.33211 9.75 5.5 9.91789 5.5 10.125Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
<path d="M6 1.25V2.75" stroke="#222222" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M14 1V2.5" stroke="#222222" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M19 6L1 6" stroke="#222222" stroke-width="1.5" stroke-linejoin="round"></path>
</svg>
</a>
<span ng-show="(insuranceLoginForm.dob.$viewValue == '' || insuranceLoginForm.dob.$viewValue == null) && insuranceLoginForm.dob.$touched" tabindex="-1" aria-label="Please insert your date of birth"
class="insurance-input-validation ng-hide">Please insert your date of birth</span>
<span class="insurance-input-validation ng-hide" ng-show="!insuranceLoginForm.dob.$valid && insuranceLoginForm.dob.$viewValue != '' && insuranceLoginForm.dob.$viewValue != null && insuranceLoginForm.dob.$touched"
aria-label="Please enter a valid date of birth" tabindex="0">Please enter a valid date of birth</span>
<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 src="/wcsstore/TargetOpticalStorefrontAssetStore/images/icons/arrow_left.svg" alt="Left arrow icon">
</span>
<span ng-click="goToMonthPage()" class="selected-month ng-binding">June</span>
<span ng-class="{'disabled': nextMonthIsInvalid()}" ng-disabled="nextMonthIsInvalid()" ng-click="goToNextMonth()" disabled="disabled" class="disabled">
<img src="/wcsstore/TargetOpticalStorefrontAssetStore/images/icons/arrow_right.svg" alt="Right arrow icon">
</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 src="/wcsstore/TargetOpticalStorefrontAssetStore/images/icons/arrow_top.svg" alt="Arrow top icon">
</span><!-- end ngSwitchWhen: -->
</div>
</div>
<div class="calendar-widget-body">
<div class="calendar-widget-days date-page d-none">
<div class="calendar-widget-weekdays">
<!-- ngRepeat: day in weekdays track by $index --><span ng-repeat="day in weekdays track by $index" "="" class=" ng-binding ng-scope">S</span><!-- end ngRepeat: day in weekdays track by $index --><span
ng-repeat="day in weekdays track by $index" "="" class=" ng-binding ng-scope">M</span><!-- end ngRepeat: day in weekdays track by $index --><span ng-repeat="day in weekdays track by $index" "="" class=" ng-binding
ng-scope">T</span><!-- end ngRepeat: day in weekdays track by $index --><span ng-repeat="day in weekdays track by $index" "="" class=" ng-binding ng-scope">W</span><!-- end ngRepeat: day in weekdays track by $index --><span
ng-repeat="day in weekdays track by $index" "="" class=" ng-binding ng-scope">T</span><!-- end ngRepeat: day in weekdays track by $index --><span ng-repeat="day in weekdays track by $index" "="" class=" ng-binding
ng-scope">F</span><!-- end ngRepeat: day in weekdays track by $index --><span ng-repeat="day in weekdays track by $index" "="" class=" ng-binding ng-scope">S</span><!-- end ngRepeat: day in weekdays track by $index -->
</div>
<!-- ngRepeat: date in pastMonth --><span class="date pastMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in pastMonth"
ng-click="selectDate(date)">26</span><!-- end ngRepeat: date in pastMonth --><span class="date pastMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date)}"
ng-repeat="date in pastMonth" ng-click="selectDate(date)">27</span><!-- end ngRepeat: date in pastMonth --><span class="date pastMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in pastMonth" ng-click="selectDate(date)">28</span><!-- end ngRepeat: date in pastMonth --><span
class="date pastMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in pastMonth"
ng-click="selectDate(date)">29</span><!-- end ngRepeat: date in pastMonth --><span class="date pastMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date)}"
ng-repeat="date in pastMonth" ng-click="selectDate(date)">30</span><!-- end ngRepeat: date in pastMonth --><span class="date pastMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in pastMonth" ng-click="selectDate(date)">31</span><!-- end ngRepeat: date in pastMonth -->
<!-- ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">1</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">2</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">3</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">4</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">5</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">6</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">7</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">8</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">9</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">10</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">11</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">12</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">13</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">14</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">15</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">16</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">17</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">18</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope selected today"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">19</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">20</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">21</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">22</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">23</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">24</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">25</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">26</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">27</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">28</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">29</span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date), 'today':date.toDateString()===maxDate.toDateString()}" ng-repeat="date in currentMonth"
ng-click="selectDate(date)">30</span><!-- end ngRepeat: date in currentMonth -->
<!-- ngRepeat: date in nextMonth --><span class="date nextMonth ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in nextMonth"
ng-click="selectDate(date)">1</span><!-- end ngRepeat: date in nextMonth --><span class="date nextMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in nextMonth" ng-click="selectDate(date)">2</span><!-- end ngRepeat: date in nextMonth --><span
class="date nextMonth ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in nextMonth"
ng-click="selectDate(date)">3</span><!-- end ngRepeat: date in nextMonth --><span class="date nextMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in nextMonth" ng-click="selectDate(date)">4</span><!-- end ngRepeat: date in nextMonth --><span
class="date nextMonth ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in nextMonth"
ng-click="selectDate(date)">5</span><!-- end ngRepeat: date in nextMonth --><span class="date nextMonth ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.toDateString() === date.toDateString(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in nextMonth" ng-click="selectDate(date)">6</span><!-- end ngRepeat: date in nextMonth -->
</div>
<div class="calendar-widget-days months-page d-none">
<!-- ngRepeat: m in months --><span class="month ng-binding ng-scope" ng-class="{'selected': selectedDate.getMonth() === m && selectedDate.getFullYear() === year, 'invalid': monthIsInvalid(m)}" ng-repeat="m in months"
ng-click="selectMonth(m)">Jan</span><!-- end ngRepeat: m in months --><span class="month ng-binding ng-scope"
ng-class="{'selected': selectedDate.getMonth() === m && selectedDate.getFullYear() === year, 'invalid': monthIsInvalid(m)}" ng-repeat="m in months" ng-click="selectMonth(m)">Feb</span><!-- end ngRepeat: m in months --><span
class="month ng-binding ng-scope" ng-class="{'selected': selectedDate.getMonth() === m && selectedDate.getFullYear() === year, 'invalid': monthIsInvalid(m)}" ng-repeat="m in months"
ng-click="selectMonth(m)">Mar</span><!-- end ngRepeat: m in months --><span class="month ng-binding ng-scope"
ng-class="{'selected': selectedDate.getMonth() === m && selectedDate.getFullYear() === year, 'invalid': monthIsInvalid(m)}" ng-repeat="m in months" ng-click="selectMonth(m)">Apr</span><!-- end ngRepeat: m in months --><span
class="month ng-binding ng-scope" ng-class="{'selected': selectedDate.getMonth() === m && selectedDate.getFullYear() === year, 'invalid': monthIsInvalid(m)}" ng-repeat="m in months"
ng-click="selectMonth(m)">May</span><!-- end ngRepeat: m in months --><span class="month ng-binding ng-scope selected"
ng-class="{'selected': selectedDate.getMonth() === m && selectedDate.getFullYear() === year, 'invalid': monthIsInvalid(m)}" ng-repeat="m in months" ng-click="selectMonth(m)">June</span><!-- end ngRepeat: m in months --><span
class="month ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.getMonth() === m && selectedDate.getFullYear() === year, 'invalid': monthIsInvalid(m)}" ng-repeat="m in months"
ng-click="selectMonth(m)">July</span><!-- end ngRepeat: m in months --><span class="month ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.getMonth() === m && selectedDate.getFullYear() === year, 'invalid': monthIsInvalid(m)}" ng-repeat="m in months" ng-click="selectMonth(m)">Aug</span><!-- end ngRepeat: m in months --><span
class="month ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.getMonth() === m && selectedDate.getFullYear() === year, 'invalid': monthIsInvalid(m)}" ng-repeat="m in months"
ng-click="selectMonth(m)">Sep</span><!-- end ngRepeat: m in months --><span class="month ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.getMonth() === m && selectedDate.getFullYear() === year, 'invalid': monthIsInvalid(m)}" ng-repeat="m in months" ng-click="selectMonth(m)">Oct</span><!-- end ngRepeat: m in months --><span
class="month ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.getMonth() === m && selectedDate.getFullYear() === year, 'invalid': monthIsInvalid(m)}" ng-repeat="m in months"
ng-click="selectMonth(m)">Nov</span><!-- end ngRepeat: m in months --><span class="month ng-binding ng-scope invalid"
ng-class="{'selected': selectedDate.getMonth() === m && selectedDate.getFullYear() === year, 'invalid': monthIsInvalid(m)}" ng-repeat="m in months" ng-click="selectMonth(m)">Dec</span><!-- end ngRepeat: m in months -->
</div>
<div class="calendar-widget-days years-page">
<div class="calendar-widget-years-slider slick-initialized slick-slider slick-dotted slick-vertical">
<div class="slick-list draggable" style="height: 0px;">
<div class="slick-track" style="opacity: 1; height: 0px; transform: translate3d(0px, 0px, 0px);">
<div class="slide slick-slide" data-slick-index="0" aria-hidden="true" style="width: 0px;" tabindex="-1" role="tabpanel" id="slick-slide20" aria-describedby="slick-slide-control20"><span class="year"
ng-class="{'invalid': yearIsInvalid(1920)}" ng-click="selectYear(1920)">1920</span><span class="year" ng-class="{'invalid': yearIsInvalid(1921)}" ng-click="selectYear(1921)">1921</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1922)}" ng-click="selectYear(1922)">1922</span><span class="year" ng-class="{'invalid': yearIsInvalid(1923)}" ng-click="selectYear(1923)">1923</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1924)}" ng-click="selectYear(1924)">1924</span><span class="year" ng-class="{'invalid': yearIsInvalid(1925)}" ng-click="selectYear(1925)">1925</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1926)}" ng-click="selectYear(1926)">1926</span><span class="year" ng-class="{'invalid': yearIsInvalid(1927)}" ng-click="selectYear(1927)">1927</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1928)}" ng-click="selectYear(1928)">1928</span><span class="year" ng-class="{'invalid': yearIsInvalid(1929)}" ng-click="selectYear(1929)">1929</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1930)}" ng-click="selectYear(1930)">1930</span><span class="year" ng-class="{'invalid': yearIsInvalid(1931)}" ng-click="selectYear(1931)">1931</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1932)}" ng-click="selectYear(1932)">1932</span><span class="year" ng-class="{'invalid': yearIsInvalid(1933)}" ng-click="selectYear(1933)">1933</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1934)}" ng-click="selectYear(1934)">1934</span><span class="year" ng-class="{'invalid': yearIsInvalid(1935)}" ng-click="selectYear(1935)">1935</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1936)}" ng-click="selectYear(1936)">1936</span><span class="year" ng-class="{'invalid': yearIsInvalid(1937)}" ng-click="selectYear(1937)">1937</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1938)}" ng-click="selectYear(1938)">1938</span><span class="year" ng-class="{'invalid': yearIsInvalid(1939)}" ng-click="selectYear(1939)">1939</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1940)}" ng-click="selectYear(1940)">1940</span><span class="year" ng-class="{'invalid': yearIsInvalid(1941)}" ng-click="selectYear(1941)">1941</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1942)}" ng-click="selectYear(1942)">1942</span><span class="year" ng-class="{'invalid': yearIsInvalid(1943)}" ng-click="selectYear(1943)">1943</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1944)}" ng-click="selectYear(1944)">1944</span><span class="year" ng-class="{'invalid': yearIsInvalid(1945)}" ng-click="selectYear(1945)">1945</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1946)}" ng-click="selectYear(1946)">1946</span><span class="year" ng-class="{'invalid': yearIsInvalid(1947)}" ng-click="selectYear(1947)">1947</span></div>
<div class="slide slick-slide" data-slick-index="1" aria-hidden="true" style="width: 0px;" tabindex="-1" role="tabpanel" id="slick-slide21" aria-describedby="slick-slide-control21"><span class="year"
ng-class="{'invalid': yearIsInvalid(1948)}" ng-click="selectYear(1948)">1948</span><span class="year" ng-class="{'invalid': yearIsInvalid(1949)}" ng-click="selectYear(1949)">1949</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1950)}" ng-click="selectYear(1950)">1950</span><span class="year" ng-class="{'invalid': yearIsInvalid(1951)}" ng-click="selectYear(1951)">1951</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1952)}" ng-click="selectYear(1952)">1952</span><span class="year" ng-class="{'invalid': yearIsInvalid(1953)}" ng-click="selectYear(1953)">1953</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1954)}" ng-click="selectYear(1954)">1954</span><span class="year" ng-class="{'invalid': yearIsInvalid(1955)}" ng-click="selectYear(1955)">1955</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1956)}" ng-click="selectYear(1956)">1956</span><span class="year" ng-class="{'invalid': yearIsInvalid(1957)}" ng-click="selectYear(1957)">1957</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1958)}" ng-click="selectYear(1958)">1958</span><span class="year" ng-class="{'invalid': yearIsInvalid(1959)}" ng-click="selectYear(1959)">1959</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1960)}" ng-click="selectYear(1960)">1960</span><span class="year" ng-class="{'invalid': yearIsInvalid(1961)}" ng-click="selectYear(1961)">1961</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1962)}" ng-click="selectYear(1962)">1962</span><span class="year" ng-class="{'invalid': yearIsInvalid(1963)}" ng-click="selectYear(1963)">1963</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1964)}" ng-click="selectYear(1964)">1964</span><span class="year" ng-class="{'invalid': yearIsInvalid(1965)}" ng-click="selectYear(1965)">1965</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1966)}" ng-click="selectYear(1966)">1966</span><span class="year" ng-class="{'invalid': yearIsInvalid(1967)}" ng-click="selectYear(1967)">1967</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1968)}" ng-click="selectYear(1968)">1968</span><span class="year" ng-class="{'invalid': yearIsInvalid(1969)}" ng-click="selectYear(1969)">1969</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1970)}" ng-click="selectYear(1970)">1970</span><span class="year" ng-class="{'invalid': yearIsInvalid(1971)}" ng-click="selectYear(1971)">1971</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1972)}" ng-click="selectYear(1972)">1972</span><span class="year" ng-class="{'invalid': yearIsInvalid(1973)}" ng-click="selectYear(1973)">1973</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1974)}" ng-click="selectYear(1974)">1974</span><span class="year" ng-class="{'invalid': yearIsInvalid(1975)}" ng-click="selectYear(1975)">1975</span></div>
<div class="slide slick-slide" data-slick-index="2" aria-hidden="true" style="width: 0px;" tabindex="-1" role="tabpanel" id="slick-slide22" aria-describedby="slick-slide-control22"><span class="year"
ng-class="{'invalid': yearIsInvalid(1976)}" ng-click="selectYear(1976)">1976</span><span class="year" ng-class="{'invalid': yearIsInvalid(1977)}" ng-click="selectYear(1977)">1977</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1978)}" ng-click="selectYear(1978)">1978</span><span class="year" ng-class="{'invalid': yearIsInvalid(1979)}" ng-click="selectYear(1979)">1979</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1980)}" ng-click="selectYear(1980)">1980</span><span class="year" ng-class="{'invalid': yearIsInvalid(1981)}" ng-click="selectYear(1981)">1981</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1982)}" ng-click="selectYear(1982)">1982</span><span class="year" ng-class="{'invalid': yearIsInvalid(1983)}" ng-click="selectYear(1983)">1983</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1984)}" ng-click="selectYear(1984)">1984</span><span class="year" ng-class="{'invalid': yearIsInvalid(1985)}" ng-click="selectYear(1985)">1985</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1986)}" ng-click="selectYear(1986)">1986</span><span class="year" ng-class="{'invalid': yearIsInvalid(1987)}" ng-click="selectYear(1987)">1987</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1988)}" ng-click="selectYear(1988)">1988</span><span class="year" ng-class="{'invalid': yearIsInvalid(1989)}" ng-click="selectYear(1989)">1989</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1990)}" ng-click="selectYear(1990)">1990</span><span class="year" ng-class="{'invalid': yearIsInvalid(1991)}" ng-click="selectYear(1991)">1991</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1992)}" ng-click="selectYear(1992)">1992</span><span class="year" ng-class="{'invalid': yearIsInvalid(1993)}" ng-click="selectYear(1993)">1993</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1994)}" ng-click="selectYear(1994)">1994</span><span class="year" ng-class="{'invalid': yearIsInvalid(1995)}" ng-click="selectYear(1995)">1995</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1996)}" ng-click="selectYear(1996)">1996</span><span class="year" ng-class="{'invalid': yearIsInvalid(1997)}" ng-click="selectYear(1997)">1997</span><span class="year"
ng-class="{'invalid': yearIsInvalid(1998)}" ng-click="selectYear(1998)">1998</span><span class="year" ng-class="{'invalid': yearIsInvalid(1999)}" ng-click="selectYear(1999)">1999</span><span class="year"
ng-class="{'invalid': yearIsInvalid(2000)}" ng-click="selectYear(2000)">2000</span><span class="year" ng-class="{'invalid': yearIsInvalid(2001)}" ng-click="selectYear(2001)">2001</span><span class="year"
ng-class="{'invalid': yearIsInvalid(2002)}" ng-click="selectYear(2002)">2002</span><span class="year" ng-class="{'invalid': yearIsInvalid(2003)}" ng-click="selectYear(2003)">2003</span></div>
<div class="slide slick-slide slick-current slick-active" data-slick-index="3" aria-hidden="false" style="width: 0px;" tabindex="0" role="tabpanel" id="slick-slide23" aria-describedby="slick-slide-control23"><span class="year"
ng-class="{'invalid': yearIsInvalid(2004)}" ng-click="selectYear(2004)">2004</span><span class="year" ng-class="{'invalid': yearIsInvalid(2005)}" ng-click="selectYear(2005)">2005</span><span class="year"
ng-class="{'invalid': yearIsInvalid(2006)}" ng-click="selectYear(2006)">2006</span><span class="year" ng-class="{'invalid': yearIsInvalid(2007)}" ng-click="selectYear(2007)">2007</span><span class="year"
ng-class="{'invalid': yearIsInvalid(2008)}" ng-click="selectYear(2008)">2008</span><span class="year" ng-class="{'invalid': yearIsInvalid(2009)}" ng-click="selectYear(2009)">2009</span><span class="year"
ng-class="{'invalid': yearIsInvalid(2010)}" ng-click="selectYear(2010)">2010</span><span class="year" ng-class="{'invalid': yearIsInvalid(2011)}" ng-click="selectYear(2011)">2011</span><span class="year"
ng-class="{'invalid': yearIsInvalid(2012)}" ng-click="selectYear(2012)">2012</span><span class="year" ng-class="{'invalid': yearIsInvalid(2013)}" ng-click="selectYear(2013)">2013</span><span class="year"
ng-class="{'invalid': yearIsInvalid(2014)}" ng-click="selectYear(2014)">2014</span><span class="year" ng-class="{'invalid': yearIsInvalid(2015)}" ng-click="selectYear(2015)">2015</span><span class="year"
ng-class="{'invalid': yearIsInvalid(2016)}" ng-click="selectYear(2016)">2016</span><span class="year" ng-class="{'invalid': yearIsInvalid(2017)}" ng-click="selectYear(2017)">2017</span><span class="year"
ng-class="{'invalid': yearIsInvalid(2018)}" ng-click="selectYear(2018)">2018</span><span class="year" ng-class="{'invalid': yearIsInvalid(2019)}" ng-click="selectYear(2019)">2019</span><span class="year"
ng-class="{'invalid': yearIsInvalid(2020)}" ng-click="selectYear(2020)">2020</span><span class="year" ng-class="{'invalid': yearIsInvalid(2021)}" ng-click="selectYear(2021)">2021</span><span class="year"
ng-class="{'invalid': yearIsInvalid(2022)}" ng-click="selectYear(2022)">2022</span><span class="year" ng-class="{'invalid': yearIsInvalid(2023)}" ng-click="selectYear(2023)">2023</span><span class="year selected"
ng-class="{'invalid': yearIsInvalid(2024)}" ng-click="selectYear(2024)">2024</span></div>
</div>
</div>
<ul class="slick-dots" style="" role="tablist">
<li class="" role="presentation"><button type="button" role="tab" id="slick-slide-control20" aria-controls="slick-slide20" aria-label="1 of 4" tabindex="-1">1</button></li>
<li role="presentation"><button type="button" role="tab" id="slick-slide-control21" aria-controls="slick-slide21" aria-label="2 of 4" tabindex="-1">2</button></li>
<li role="presentation"><button type="button" role="tab" id="slick-slide-control22" aria-controls="slick-slide22" aria-label="3 of 4" tabindex="-1">3</button></li>
<li class="slick-active" role="presentation"><button type="button" role="tab" id="slick-slide-control23" aria-controls="slick-slide23" aria-label="4 of 4" tabindex="0" aria-selected="true">4</button></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- ngIf: $root.storeId==10851 -->
<div class="zipcode-input ng-scope untouched" ng-if="$root.storeId==10851"
ng-class="{'invalid': (!insuranceLoginForm.zipcode.$valid || insuranceLoginForm.zipcode.$viewValue.length<5 ) && insuranceLoginForm.zipcode.$touched && !zipcode_resetenabled, 'valid': insuranceLoginForm.zipcode.$valid && !zipcode_resetenabled, 'untouched':!insuranceLoginForm.zipcode.$touched}">
<section class="insurance-input-container">
<input class="utagpiimask input ng-pristine ng-untouched ng-isolate-scope ng-empty ng-valid-pattern ng-invalid ng-invalid-required ng-valid-maxlength" reset-field="" placeholder=" "
ng-class="{'invalid': (!insuranceLoginForm.zipcode.$valid || insuranceLoginForm.zipcode.$viewValue.length<5 ) && insuranceLoginForm.zipcode.$touched, 'valid': !zipcode_resetenabled && insuranceLoginForm.zipcode.$valid && insuranceLoginForm.zipcode.$viewValue.length>=5}"
type="text" inputmode="numeric" ng-model="loginData.zipcode" pattern="\d{5}" maxlength="5" ng-pattern="/\d{5}/" name="zipcode" ng-change="preventWrongChars($event)" ng-focus="isZipCodeFocused(true)" ng-blur="isZipCodeFocused(false)"
id="zipcode" ng-required="personalFormRequired()" aria-label="Zipcode"
required="required"><a ng-show="enabled" class="clear-input-icon ng-scope ng-hide" ng-mousedown="reset()"><svg class="icon close"><use xlink:href="#clear-input"></use></svg></a>
<label>Zip Code<span class="required-field">*</span></label>
</section>
<span ng-show="(insuranceLoginForm.zipcode.$viewValue == '' || insuranceLoginForm.zipcode.$viewValue == null) && insuranceLoginForm.zipcode.$touched" tabindex="-1" aria-label="Please enter a valid zip code"
class="insurance-input-validation ng-hide">Please insert your zip code</span>
<span class="insurance-input-validation required-firstname live-validation ng-hide"
ng-show="(!insuranceLoginForm.zipcode.$valid || insuranceLoginForm.zipcode.$viewValue.length<5) && insuranceLoginForm.zipcode.$viewValue != '' && insuranceLoginForm.zipcode.$viewValue != null && insuranceLoginForm.zipcode.$touched"
aria-label="The first name field cannot be empty." tabindex="0">Please enter a valid zip code</span>
</div><!-- end ngIf: $root.storeId==10851 -->
<!-- ngIf: $root.storeId==10852 -->
</div>
</div>
<div class="submit-plan-info">
<div class="age-check">
<label class="lc-control lc-control--checkbox" for="certifyage">I certify that my use of this service abides by the <a aria-label="Luxottica privacy policies" target="_blank" class="hippa-privacypolicies" href="/lc-us/privacy-policy">
Luxottica Retail HIPAA & Privacy Policies</a> <input type="checkbox" ng-model="loginData.certifyage" name="certifyage" id="certifyage" ng-change="setCertifyAge()" data-element-id="D_X_MainNav_VisionInsurance-18YearsOld" required=""
aria-label="18 years vision insurance checkbox" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<div class="lc-control__indicator"></div>
</label> <span class="age-check-error ng-hide" ng-show="!insuranceLoginForm.certifyage.$valid && insuranceLoginForm.certifyage.$touched"
aria-label="To proceed, tick the box above to certify you're 18 years or older. If you're not, you cannot proceed with this step.">To proceed, tick the box above to certify you're 18 years or older. If you're not, you cannot proceed with this
step.</span>
</div>
<button class="submit-plan-info-button" aria-label="Apply insurance" name="submitplaninfobutton" ng-click="submitInsuranceLogin(insuranceLoginForm)" data-description="" data-element-id="X_X_InsurancePanel_Submit">Apply insurance</button>
<button class="submit-plan-loading-button d-none" aria-label="Loading icon" disabled="">
<i class="fa fa-spinner fa-spin"></i>
</button>
</div>
</form>
Text Content
Find a Store Previous Buy online, pick up in store. Shop Now NEW | Adaptive™ Progressive Lenses by LensCrafters INSURANCE ACCEPTED ONLINE & IN STORE Book your eye exam online. Schedule now Shop now, pay later with PayPal. Discover more Buy online, pick up in store. Shop Now NEW | Adaptive™ Progressive Lenses by LensCrafters INSURANCE ACCEPTED ONLINE & IN STORE Book your eye exam online. Schedule now Shop now, pay later with PayPal. Discover more Buy online, pick up in store. Shop Now Next Insurance accepted online and in store 0 EYEGLASSES Eyeglasses SHOP BY gender Women’s Eyeglasses Men’s Eyeglasses Kid’s Eyeglasses Shop all eyeglasses SHOP STYLES FOR YOU Ray-Ban | Meta smart glasses Our Style Guide Frame Advisor SHOP BY OFFER Designer Sale | 50% off frame + lenses* Frame + lenses starting at $99 SHOP BY LENSES Blue-Violet light filter Transitions SHOP BY our picks Best sellers Ray-Ban Prada Oakley Sustainable styles New arrivals view all eyeglasses 40% OFF LENSES with frame purchase SHOP NOW 40% OFF LENSES with frame purchase SHOP NOW SUNGLASSES Sunglasses SHOP BY gender Women’s Sunglasses Men’s Sunglasses Kid’s Sunglasses Shop all sunglasses SHOP STYLES FOR YOU Ray-Ban | Meta smart glasses Our Style Guide Frame Advisor SHOP BY OFFER Designer Sale | 50% off frame + lenses* Frame + lenses starting at $99 SHOP BY LENSES Polarized Oakley Prizm SHOP BY our picks Best sellers Ray-Ban Prada Oakley Sustainable styles New arrivals view all sunglasses 40% OFF LENSES with frame purchase SHOP NOW 40% OFF LENSES with frame purchase SHOP NOW CONTACT LENSES Contact lenses Need a contact lenses refill? LOGIN TO REORDER Complete your first contact lens purchase and you can reorder next time with just one click. Your last purchase PreviousNext / REORDER NOW Acuvue contacts Dailies contacts Air Optix contacts Biofinity contacts LensCrafters contacts Ray-Ban contacts Biotrue contacts Precision 1 contacts Ultra contacts Shop all contact lenses OUR PICKS View all Acuvue Oasys® 1-Day with HydraLuxe™ Technology 90 1-Day Acuvue® Moist 90 Acuvue Oasys® for Astigmatism 6 Acuvue Oasys® 1-Day for Astigmatism 90 ACUVUE OASYS® with HYDRACLEAR® PLUS Technology 24 1-Day Acuvue® Moist for Astigmatism 90 ACUVUE OASYS® with HYDRACLEAR® PLUS Technology 12 Acuvue Oasys® 1-Day for Astigmatism 30 ACUVUE® OASYS MAX 1-Day 90 ACUVUE® VITA 12 $75 INSTANT SAVINGS ON AN ANNUAL SUPPLY SHOP NOW $75 INSTANT SAVINGS ON AN ANNUAL SUPPLY SHOP NOW Need a contact lenses refill? LOGIN TO REORDER Complete your first contact lens purchase and you can reorder next time with just one click. Loading your previous order... Your last purchase here's your last purchase PreviousNextREORDER NOW / LENSES Lenses POPULAR LENS OPTIONS Blue-violet light filtering Transitions® Polarized sun OUR BRANDED LENSES DISCOVER ALL LENSES Introducing the new LensCrafters Adaptive™ Progressive Lenses Learn more DISCOVER ALL LENSES configure your glasses Discover our wide range of designer eyewear and select your favorite frame. Add your prescription and we’ll recommend the most suitable lens in the configurator. Choose the lens brand and thickness, then add any treatments you may want. Order your glasses and enjoy thorough aftercare both in stores and online. SHOP EYEWEAR TRANSITIONS® GEN S™ SHOP NOW TRANSITIONS® GEN S™ SHOP NOW BRANDS Brands View all brands Armani Exchange Arnette Brooks Brothers Brunello Cucinelli Bvlgari Burberry Chaps Coach Costa Del Mar Dolce&Gabbana Ess Emporio Armani Ferrari Gucci Giorgio Armani Jimmy Choo LensCrafters Michael Kors Miu Miu Oakley Oakley Youth Oliver Peoples Persol Polo Prep Polo Ralph Lauren Prada Prada Linea Rossa Ralph by Ralph Lauren Ralph Lauren Ray-Ban Ray-Ban Jr Saint Laurent Scuderia Ferrari Sferoflex Starck Eyes Swarovski Tiffany Tom Ford Tory Burch Versace Vogue Eyewear Vogue Jr Shop all brands PRADA SPRING SUMMER 2024 COLLECTION SHOP NOW PRADA SPRING SUMMER 2024 COLLECTION SHOP NOW EYE EXAM Eye exam Schedule an eye exam for you and your family Find the LensCrafters store closest to you SEARCH Please insert a zip code, city or stateInvalid zip code, city or state HERE’S SOME LIGHT READING Vision guide Clarifye Tips From Our Experts IN STORE QUOTATION Did you already receive a presonalized quotation in one of our stores? Finalize your purchase online from a selection of frames and lenses tailored to your vision needs. FINALIZE QUOTATION TIPS FROM OUR EXPERTS Learn about our wide range of vision solutions to help you see with confidence when you drive. WATCH THE VIDEO TIPS FROM OUR EXPERTS Learn about our wide range of vision solutions to help you see with confidence when you drive. WATCH THE VIDEO Sync insurance Sync Insurance YOUR RECENT SEARCHES Clear all POPULAR SEARCHESPradaRay-Ban MetaOakleyCoachSwarovski CUSTOMER SUPPORT Book an eye exam Contact us Shipping & returns FAQs YOUR RECENT SEARCHES Clear all TRENDING NOW Find frames to suit your look Discover our style guide 2 COLORS Ray-Ban Ray-Ban | Meta Wayfarer From $299 Johnson And Johnson Acuvue Oasys® 1-Day with HydraLuxe™ Technology 90 From $100.11 Contents (0) View all FAQ View all SUGGESTIONS 1. Prada 2. Michael Kors 3. Oakley 4. Ray-Ban Meta 5. Giorgio Armani Trending now 3 COLORS Ray-Ban RB3716 Clubmaster Metal From $191 Lenscrafters LensCrafters 1-Day Premium 90 From $72.24 3 COLORS Prada PR 24XS From $371 Johnson And Johnson Acuvue Oasys® 1-Day with HydraLuxe™ Technology 90 From $100.11 0 Favorites My account My accountMy accountLogout My Account Logout Vision insuranceFind a store 0 Favorites 0 Cart 40% off lenses with frame purchase Shop nowOther offers ×Exclusive savings for you ONLINE & IN STORE | APPLIES DIRECTLY IN CART 40% off lenses with frame purchase Shop Eyewear ONLINE & IN STORE | APPLIES DIRECTLY IN CART Up to $150 off an annual supply of contact lenses* Shop Contact Lenses ONLINE & IN STORE | APPLIES DIRECTLY IN CART Designer Sale | 50% off frame + lenses* Shop Designer Sale ONLINE & IN STORE | APPLIES WITH PROMO CODE 50% off an additional pairShop Eyewear ONLINE & IN STORE | APPLIES WITH VISION INSURANCE Save up to 75% with your vision insurance Apply your benefits VIEW ALL OFFERS SEE CLEAR ROADS AHEAD 40% OFF LENSES with frame purchase* Explore a wide range of lenses for all your driving needs. SHOP EYEGLASSESSHOP SUNGLASSES SEE CLEAR ROADS AHEAD 40% OFF LENSES with frame purchase* SHOP EYEGLASSESSHOP SUNGLASSES SHOP EYEWEAR NEW | Adaptive™ Progressive Lenses by LensCrafters Shop her style Shop his style OUR VISION FOR YOUR EYE CARE Experience seamless website-to-store vision care, from ordering online for in-store pick-up to easy exam bookings from any device. A VISION OF QUALITY AND SERVICE Free lifetime in-store fitting and adjustments. We’re here to help with all of your vision needs. MAKE THE MOST OF YOUR BENEFITS LensCrafters accepts most major vision insurance providers, both online and at our 1000+ locations across North America. FREE SHIPPING AND RETURNS Enjoy free shipping on all online orders, and return any item for an exchange or a full refund within 30 days of delivery. Choose Responsible Shipping and we’ll ship with logistics providers using solutions to help reduce emissions.. Shop online and collect in one of our 1000+ storesShop now Free fitting and adjustment in storeDiscover more We accept most insurance plans, online and in storeDiscover more Free shipping and 30-day returns online and in storeDiscover more Book an eye exam for you and your family SCHEDULE Book an eye exam for you and your family SCHEDULE emsName: X_HP_BelowHero Shop online and collect in one of our 1000 stores Free fitting and adjustment in store We accept most insurance plans, online and in store Free shipping and 30-day returns online & in store emsName: X_HP_Products_BestSellers LENSCRAFTERS BEST SELLERS EYEGLASSESSUNGLASSESCONTACTS VIEW ALL VIEW ALL VIEW ALL 4 COLORS RAY-BAN RB7216 New Clubmaster Optics From $210 3 COLORS MICHAEL KORS MK4119U Nassau From $175 3 COLORS PRADA PR A16V From $489 3 COLORS OAKLEY OX8054 Dehaven From $228 3 COLORS VERSACE VE1274 From $298 2 COLORS RAY-BAN RB2210V Optics From $178 2 COLORS COACH HC6241D From $198 3 COLORS JIMMY CHOO JC3008 From $320 12345 5 COLORS PRADA PR 17WS From $517 2 COLORS RAY-BAN RB4430 Zena Bio-Based From $151 3 COLORS BURBERRY BE4432U From $281 2 COLORS OAKLEY OO9403 Sphaera™️ From $281 2 COLORS PRADA PR A22S From $405 2 COLORS RAY-BAN RB2210 From $168 2 COLORS VERSACE VE4466U From $305 3 COLORS SCUDERIA FERRARI FZ6002U From $105 12345 ALCON Total30® Multifocal 6 From $111.24 ALCON Total30® 6 From $56.24 ALCON Total30® Toric 6 From $71.24 ALCON Total30® 12 From $108.49 JOHNSON AND JOHNSON Acuvue Oasys® 1-Day with HydraLuxe™ Technology 90 From $100.11 JOHNSON AND JOHNSON 1-Day Acuvue® Moist 90 From $84.49 COOPERVISION Biofinity Energys 6 From $68.99 ALCON DAILIES TOTAL1® 90 From $110.24 12345 emsName: X_HP_Lenses YOUR STYLE, YOUR WAY Looking for the perfect frame but not sure where to start? Browse a selection of styles by shape, color and fit to suit your look. OUR STYLE GUIDE FRAME ADVISOR VIRTUAL TRY ON PURRFECTION BLACK TO BASICS OUR STYLE GUIDE FRAME ADVISOR VIRTUAL TRY ON PURRFECTION BLACK TO BASICS NEW | ONLY AT LENSCRAFTERS LENSCRAFTERS ADAPTIVE™ PROGRESSIVE LENSES Introducing the new, exclusive Adaptive™ Progressive lenses by LensCrafters. Crafted just for you by those who know your eyes. DISCOVER MORE BRING YOUR VISION TO LIFE Express your personality with our selection of colorful frames DISCOVER MORE SMART GLASSES FOR LIVING ALL IN With next-generation Ray-Ban Meta smart glasses, capture and livestream your point of view, enjoy hands-free connection, listen to music and ask questions with Meta AI. Visit us in store to experience the latest wearable technology. Find a store SHOP RAY-BAN | META SHOP NOW Protect your vision with an eye exam PROTECT YOUR VISION WITH AN EYE EXAM We're committed to transforming vision care and offering you a complete eye care journey from start to finish. Our expert doctors are at your disposal, and booking an exam is quick and easy both online or in store. Schedule your eye exam A treat for your eyes with our brands and lenses A TREAT FOR YOUR EYES WITH OUR BRANDS AND LENSES Knowing your eyes is important. For this reason, we firmly believe in innovative lens technology and high-quality frames. Discover our wide selection of prescription lenses, designer brands and top-selling contacts. Introducing the new, exclusive Adaptive™ Progressive Lenses by LensCrafters. Learn more Our lensesOur brands At your service, online and in our 1000+ stores AT YOUR SERVICE, ONLINE AND IN OUR 1000+ STORES Your vision is our priority. That's why, in more than 1000 stores, we make sure all your vision needs are taken care of, from ordering online and picking up in store to complimentary cleaning, fitting and adjusting. Discover our services SHARON STONE X LENSCRAFTERS Shop her style emsName: X_HP_Journey emsName: X_HP_SEO_Text Discover the new collections Ray-BanRB6518 OpticsFrom $235.0 BurberryBE2403From $338.0 PradaPR 17WSFrom $517.0 Discover new collection from your favorite designer eyewear brands. Discover all brands Learn more about the latest technological innovations for eyeglasses and sunglasses, such as blue-violet light filtering, Blue Light filtration helps reduce exposure to blue light from natural sources and digital screens. Discover more anti-reflective, and polarized lenses. emsName: X_HP_Exclusive - only at LENSCRAFTERS - SPRING / SUMMER 2024 EYEWEAR COLLECTION The new Prada Symbole optical style is all about sophisticated elegance through bold volumes and faceted profiles. Available exclusively at LensCrafters. Caramel Tortoise Shop now Shop Prada Prada 8056262144671 From 461.00 Coming back soon This frame is in high demand ; emsName: X_HP_Insurance emsName: X_HP_Products_GVP FRAME + LENSES STARTING AT $99 EYEGLASSESSUNGLASSES VIEW ALL VIEW ALL 3 COLORS ARMANI EXCHANGE AX3077 From $240.03999 3 COLORS SFEROFLEX SF1149 From $200.83999 3 COLORS ARMANI EXCHANGE AX1017 From $240.03999 4 COLORS LENSCRAFTERS EC2002 From $214.83999 2 COLORS ARMANI EXCHANGE AX1034 From $249.13999 2 COLORS ARMANI EXCHANGE AX1064 From $315.79998 1 COLOR ARMANI EXCHANGE AX1015 From $240.03999 3 COLORS ARMANI EXCHANGE AX3016 From $235.13999 12345 2 COLORS SFEROFLEX SF5006S From $262.33999 1 COLOR SFEROFLEX SF5011S From $262.33999 2 COLORS SFEROFLEX SF5501S From $262.33999 2 COLORS SFEROFLEX SF5503S From $262.33999 1 COLOR ARMANI EXCHANGE AX4070S From $270.33999 3 COLORS SFEROFLEX SF5005S From $262.33999 2 COLORS SFEROFLEX SF5506S From $263.33999 2 COLORS SFEROFLEX SF5002S From $262.33999 12345 emsName: X_HP_OurDoctors HAVE QUESTIONS ABOUT EYE CARE? We've got you covered! Discover our complete guide to eye health and eyewear, and find out more about the craftsmanship behind our frames. DISCOVER OUR VISION GUIDE MEET THE EXPERTS At LensCrafters, our eye doctors and store managers are on hand to provide you with expert advice to help you see and look your best every day. From vision insurance and prescription lenses to answering questions about eyecare, our experts have all your needs covered. You can also read more on these topics in our vision guide. find a doctor Tips From Our Experts RESPONSIBLE SHIPPING When it comes to getting your online orders to you, we’re proud to offer a carbon-neutral option through Responsible Shipping. Ground transport produces significantly fewer emissions than air transport, and any emissions that are created are offset through climate protection projects such as reforestation, renewable energy, waste disposal, wind power, and more. Discover more about our sustainability initiatives and learn about Responsible Shipping at our Shipping & Returns page. emsName: X_HP_JS emsName: X_Footer_Subscribe Subscribe SIGN UP Thank you for signing up for emails! By signing up, you certify that you are 18 years or older. Check your insurance eligibility Your plan is in-network We accept most major insurance plans. Simply search for yours from the panel below. Learn more about insurance We accept most major insurance plans. Simply search for yours from the panel below. Learn more about insurance Step 1/2 Select your carrier Step 2/2 Follow the next steps No match found. Your insurance might be out of network, check information below. Select or type your insurance carrier* Insurance provider cannot be empty. Your insurance is in-network! Fill in your details to add your benefits and start shopping. First Name* Please insert your first name Please enter a valid first name Last Name* Please insert your last name Please enter a valid last name Date of birth* Please insert your date of birth Please enter a valid date of birth June 2024 SMTWTFS 262728293031 123456789101112131415161718192021222324252627282930 123456 JanFebMarAprMayJuneJulyAugSepOctNovDec 1920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947 1948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975 1976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003 200420052006200720082009201020112012201320142015201620172018201920202021202220232024 * 1 * 2 * 3 * 4 Zip Code* Please insert your zip code Please enter a valid zip code I certify that my use of this service abides by the Luxottica Retail HIPAA & Privacy Policies To proceed, tick the box above to certify you're 18 years or older. If you're not, you cannot proceed with this step. Apply insurance 1 2 3 Shop now Plan your visit We also accept out-of-network plans If your plan is not in-network, you can submit a claim form directly to your insurance carrier and receive a reimbursement after purchase. Download Form 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. Success! We found you See below for your available benefits. Frames+ Lenses Benefit 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 Benefit unavailable: Contact lenses Benefit unavailable: Eye exam Benefit unavailable: Shop eyewear Shop contact lenses Remove insurance benefits For your security, your personal benefits information is only available during your session and will be erased when you close the browser. HELP? BRANDS BRANDS * Ray-Ban * Oakley * Versace * Coach * Michael Kors * Prada * View all Brands EYECARE EYECARE * Our Lenses * Schedule an Eye Exam * Vision Guide * Eyewear Glossary * Measuring your PD * Tips From Our Experts * Blue-Violet Light Glasses * * SAVINGS SAVINGS * Offers & Discount * Insurance * FSA & HSA * LensCrafters credit card * * * CUSTOMER SERVICE CUSTOMER SERVICE * Frame Advisor * Personalized services * Purchase Care * Online Order Status * Shipping & Returns * FAQs * Live chat * Contact us LEGAL LEGAL * Privacy Policy * Terms & Conditions * Notice of Financial Incentive * Independent Doctor's Notice * AdChoices * * Your Privacy Choices * California Collection Notice * Cookie Policy * Consumer Health Data Privacy Policy * Notice of Privacy Practices COMPANY INFO COMPANY INFO * About us * Accessibility * Our Flagship Stores * Careers * Find a Store * Site Map UNITED STATES (English) * UNITED STATES (English) * UNITED STATES (Español) * CANADA (English) * CANADA (Française) We guarantee every transaction is 100% secure * * * * * * * * * * Buy now, pay later with Klarna, Affirm or Afterpay. Learn More © 2024 LensCrafters All Rights Reserved Other sites of the Group DISCOVER OTHER BRANDS FROM LUXOTTICA Ray-Ban Oakley Persol Oliver Peoples Vogue Eyewear Sunglass Hut Target Optical Glasses.com Contacts Direct EssilorLuxottica Eyebuydirect 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