gleam.io Open in urlscan Pro
172.66.40.77  Public Scan

Submitted URL: https://info.schoolfamilymedia.com/e3t/Ctc/GD+113/cGYZW04/VWJxP44J3FCVW4DZjFR5HsT9YW2sbCLr50lDnKN5XFYmG2-MKJV1-WJV7CgDFFMwVbHJ3JqWY...
Effective URL: https://gleam.io/pXBxH/teacherlists-parent-list-notification-sweepstakes
Submission: On June 29 via manual from US — Scanned from DE

Form analysis 8 forms found in the DOM

Name: emailRecoveryForm

<form class="compact-box form-compact ng-pristine ng-valid ng-scope" id="other-logins" name="emailRecoveryForm">
  <div class="form-compact__content">
    <div class="form-compact__part">
      <h3 class="center">Log in to your existing account</h3>
      <p class="center">
        <strong class="ng-binding"></strong>
      </p>
      <p class="center ng-binding">has already been used to log in to Gleam.</p>
      <p class="center">Please log in to your linked account:</p>
      <ul class="unstyled">
        <!-- ngRepeat: provider in contestantState.otherLogins -->
        <!-- ngIf: contestantState.form.email && contestantState.allowRecovery -->
      </ul>
    </div>
    <!-- ngIf: contestantState.recoveryState && !showRecoveryForm() -->
    <!-- ngIf: contestantState.recoveryState && showRecoveryForm() -->
  </div>
  <div class="form-actions center">
    <a href="javascript:void(0)" ng-click="cancelEntry('###APP_NAME### Click|Cancel|Other Logins')">
Cancel
</a>
  </div>
</form>

Name: contestantEditForm

<form class="contestant compact-box form-compact ng-pristine ng-scope ng-invalid ng-invalid-required ng-valid-pattern ng-valid-email" name="contestantEditForm" style="padding-top: 15px">
  <!-- ngIf: !contestantState.form.email_verfication_required -->
  <fieldset class="inputs ng-scope" ng-if="!contestantState.form.email_verfication_required" style="padding-bottom: 10px">
    <div class="form-horizontal">
      <div class="input required stringish form-group" ng-class="{error: contestantEditForm.firstname.$invalid &amp;&amp; contestantEditForm.firstname.$touched, success: contestantEditForm.firstname.$valid}">
        <label class="implicit-label">
          <div class="control-label">First Name</div>
          <div class="form-wrapper">
            <input name="firstname" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.firstname" pattern=".*" placeholder="Alice" required="" style="width: 246px" type="text"
              class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern">
            <div class="help-inline" ng-hide="contestantEditForm.firstname.$viewValue">Required</div>
          </div>
        </label>
      </div>
      <div class="input required stringish form-group"
        ng-class="{error: contestantEditForm.lastname.$invalid &amp;&amp; contestantEditForm.lastname.$touched, success: contestantEditForm.lastname.$valid &amp;&amp; contestantEditForm.lastname.$viewValue!='', required: true }">
        <label class="implicit-label">
          <div class="control-label">Last Name</div>
          <div class="form-wrapper">
            <input name="lastname" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.lastname" pattern=".*" placeholder="Smith" required="" style="width: 246px" type="text"
              class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern">
            <div class="help-inline" ng-hide="contestantEditForm.lastname.$viewValue">Required</div>
          </div>
        </label>
      </div>
      <div class="email input required stringish form-group"
        ng-class="{error: ((contestantState.form.email &amp;&amp; contestantState.form.email == contestantState.failedEmail) || (contestantEditForm.email.$invalid &amp;&amp; contestantEditForm.email.$touched)), success: contestantState.form.email != contestantState.failedEmail &amp;&amp; contestantEditForm.email.$valid}">
        <label class="implicit-label">
          <div class="control-label">Email</div>
          <div class="form-wrapper">
            <input name="email" ng-change="contestantState.failedEmail = nil" ng-disabled="contestantEditFormEmailDisabled" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.email"
              pattern="[A-Z0-9._%a-z\-+]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,12}" placeholder="alice.smith@example.com" required="" style="width: 246px; -webkit-appearance: none;" type="email"
              class="ng-pristine ng-untouched ng-empty ng-valid-email ng-invalid ng-invalid-required ng-valid-pattern">
            <div class="help-inline" ng-hide="contestantEditForm.email.$viewValue">Required</div>
            <div class="help-inline error ng-binding ng-hide" ng-show="contestantState.form.email &amp;&amp; contestantState.form.email == contestantState.failedEmail">
            </div>
          </div>
        </label>
      </div>
    </div>
    <!-- ngIf: ::!isReward() && campaign.show_competition_subscription -->
    <!-- ngIf: campaign.confirmation_email_enabled -->
    <div class="boolean input optional form-group ng-scope" ng-if="campaign.confirmation_email_enabled">
      <div class="form-wrapper">
        <label class="checkbox ng-binding">
          <span class="icon"></span>
          <span class="icon-to-fade"></span>
          <input ng-model="contestantState.form.send_confirmation" type="checkbox" class="ng-pristine ng-untouched ng-valid ng-empty"> Send post entry confirmation emails </label>
      </div>
    </div><!-- end ngIf: campaign.confirmation_email_enabled -->
    <!-- ngIf: contestantState.contestant.authentications.length > 0 -->
  </fieldset><!-- end ngIf: !contestantState.form.email_verfication_required -->
  <!-- ngIf: contestantState.form.email_verfication_required -->
  <div class="form-actions center">
    <!-- ngIf: !contestantState.form.email_verfication_required --><button class="btn btn-primary ng-binding ng-scope" ng-click="updateContestant()" ng-disabled="contestantState.updating || contestantEditForm.$invalid"
      ng-if="!contestantState.form.email_verfication_required" disabled="disabled"> Save </button><!-- end ngIf: !contestantState.form.email_verfication_required -->
    <!-- ngIf: contestantState.form.email_verfication_required && !contestantState.contestant.verificationToEmail -->
    <!-- ngIf: contestantState.form.email_verfication_required && !nextStepAvailable() && contestantState.contestant.verificationToEmail --> &nbsp; <!-- ngIf: !contestantState.form.email_verfication_required --><a href="javascript:void(0)" ng-click="toggleEdit()" ng-disabled="contestantState.updating" ng-if="!contestantState.form.email_verfication_required" class="ng-binding ng-scope">
Cancel
</a><!-- end ngIf: !contestantState.form.email_verfication_required -->
    <!-- ngIf: contestantState.form.email_verfication_required -->
  </div>
</form>

Name: contestantForm

<form class="contestant compact-box form-compact ng-pristine ng-scope ng-invalid ng-invalid-required ng-valid-pattern ng-valid-email" name="contestantForm" ng-init="initFacebook()">
  <fieldset class="center ng-hide"
    ng-show="(!contestantState.emailLogin &amp;&amp; !campaign.details_first &amp;&amp; campaign.login_first &amp;&amp; !contestantState.contestant.id) || socialLoginRequired() &amp;&amp; !contestantState.form.email_verfication_required">
    <p style="margin-top: 15px" class="ng-binding"> Log in using... </p>
    <div class="login-choice center login-types-3">
      <ul>
        <!-- ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline email-background popup-window" data-track-event="###APP_NAME### Login|email" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Email">
<i class="far fa-envelope"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Email
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline facebook-background popup-window" data-track-event="###APP_NAME### Login|facebook" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Facebook">
<i class="fab fa-facebook-f"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Facebook
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline twitter-background popup-window" data-track-event="###APP_NAME### Login|twitter" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Twitter">
<i class="fab fa-twitter"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Twitter
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
      </ul>
    </div>
  </fieldset>
  <!-- ngIf: !contestantState.form.email_verfication_required -->
  <fieldset class="inputs ng-scope" ng-show="!socialLoginRequired() &amp;&amp; (                     !campaign.login_first ||                                                      contestantState.emailLogin ||                                                 campaign.details_first ||                                                     (contestantState.contestant.id &amp;&amp; campaign.login_first &amp;&amp; !enoughUserDetails(entry_method)) || 
contestantState.unconfirmed)" ng_if="!contestantState.form.email_verfication_required">
    <div class="center details-header" ng-switch="::isReward()">
      <!-- ngSwitchWhen: true -->
      <!-- ngSwitchWhen: false -->
      <div ng-switch-when="false" class="ng-scope">
        <!-- ngIf: campaign.additional_contestant_details && contestantStep==0 -->
        <!-- ngIf: ::!campaign.additional_contestant_details -->
        <div ng-if="::!campaign.additional_contestant_details" class="ng-scope">
          <!-- ngIf: ::campaign.login_first -->
          <!-- ngIf: ::!campaign.login_first -->
          <h4 ng-if="::!campaign.login_first" class="ng-binding ng-scope">Please provide your contact details so we can reach you if you're a winner</h4><!-- end ngIf: ::!campaign.login_first -->
        </div><!-- end ngIf: ::!campaign.additional_contestant_details -->
      </div><!-- end ngSwitchWhen: -->
    </div>
    <div class="form-horizontal">
      <div ng-init="contestantSteps=1">
        <!-- ngIf: contestantStep==0 -->
        <div class="contestant-form-group ng-scope" ng-if="contestantStep==0">
          <div class="input required stringish form-group" ng-class="{error: contestantForm.firstname.$invalid &amp;&amp; contestantForm.firstname.$touched, success: contestantForm.firstname.$valid}">
            <label class="implicit-label">
              <div class="control-label">First Name</div>
              <div class="form-wrapper">
                <input name="firstname" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.firstname" pattern=".*" placeholder="Alice" required="" style="width: 246px" type="text"
                  class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.firstname.$viewValue">Required</div>
              </div>
            </label>
          </div>
          <div class="input required stringish form-group"
            ng-class="{error: contestantForm.lastname.$invalid &amp;&amp; contestantForm.lastname.$touched, success: contestantForm.lastname.$valid &amp;&amp; contestantForm.lastname.$viewValue!='', required: true }">
            <label class="implicit-label">
              <div class="control-label">Last Name</div>
              <div class="form-wrapper">
                <input name="lastname" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.lastname" pattern=".*" placeholder="Smith" required="" style="width: 246px" type="text"
                  class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.lastname.$viewValue">Required</div>
              </div>
            </label>
          </div>
          <div class="email input required stringish form-group"
            ng-class="{error: ((contestantState.form.email &amp;&amp; contestantState.form.email == contestantState.failedEmail) || (contestantForm.email.$invalid &amp;&amp; contestantForm.email.$touched)), success: contestantState.form.email != contestantState.failedEmail &amp;&amp; contestantForm.email.$valid}">
            <label class="implicit-label">
              <div class="control-label">Email</div>
              <div class="form-wrapper">
                <input name="email" ng-change="contestantState.failedEmail = nil" ng-disabled="contestantFormEmailDisabled" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.email"
                  pattern="[A-Z0-9._%a-z\-+]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,12}" placeholder="alice.smith@example.com" required="" style="width: 246px; -webkit-appearance: none;" type="email"
                  class="ng-pristine ng-untouched ng-empty ng-valid-email ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.email.$viewValue">Required</div>
                <div class="help-inline error ng-binding ng-hide" ng-show="contestantState.form.email &amp;&amp; contestantState.form.email == contestantState.failedEmail">
                </div>
              </div>
            </label>
          </div>
        </div><!-- end ngIf: contestantStep==0 -->
      </div>
    </div>
    <!-- ngIf: contestantStep==0 -->
    <div class="contestant-form-group ng-scope" ng-if="contestantStep==0">
      <div class="boolean input optional form-group ng-hide" ng-hide="::isReward() || !campaign.show_competition_subscription">
        <div class="form-wrapper">
          <label class="checkbox ng-binding">
            <span class="icon"></span>
            <span class="icon-to-fade"></span>
            <input ng-model="contestantState.form.competition_subscription" type="checkbox" class="ng-pristine ng-untouched ng-valid ng-empty">
            <span class="user-fragment ng-binding" ng-bind-html="::&quot;Notify me of other TeacherLists Competitions&quot;|unescapeAngular">Notify me of other TeacherLists Competitions</span> (optional) </label>
        </div>
      </div>
      <!-- ngIf: ::campaign.facebook_url -->
    </div><!-- end ngIf: contestantStep==0 -->
  </fieldset><!-- end ngIf: !contestantState.form.email_verfication_required -->
  <!-- ngIf: contestantState.form.email_verfication_required -->
  <div class="form-actions center" ng-show="!socialLoginRequired() &amp;&amp; (                   !campaign.login_first ||                                                       contestantState.emailLogin ||                                                  campaign.details_first ||                                                      
contestantState.contestant.id)">
    <span style="position: inline-block; position: relative">
      <!-- ngIf: contestantState.form.email_verfication_required && !nextStepAvailable() && !contestantState.contestant.verificationToEmail -->
      <!-- ngIf: contestantState.form.email_verfication_required && !nextStepAvailable() && contestantState.contestant.verificationToEmail -->
      <!-- ngIf: nextStepAvailable() && !contestantState.form.email_verfication_required -->
      <!-- ngIf: !nextStepAvailable() && !contestantState.form.email_verfication_required --><button class="btn btn-primary ng-scope" ng-click="setContestant()" ng-disabled="contestantForm.$invalid || contestantState.sending"
        ng-if="!nextStepAvailable() &amp;&amp; !contestantState.form.email_verfication_required" disabled="disabled">
        <span class="fas fa-rotate fa-spin ng-hide" ng-show="contestantState.sending"></span>
        <!-- ngIf: ::campaign.login_first -->
        <!-- ngIf: ::!campaign.login_first --><span ng-if="::!campaign.login_first" class="ng-scope">Save</span><!-- end ngIf: ::!campaign.login_first -->
      </button><!-- end ngIf: !nextStepAvailable() && !contestantState.form.email_verfication_required -->
      <span ng-show="contestantButtonTooltip(contestantForm.$valid)" style="position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; right: 0" tooltip-placement="top" uib-tooltip="Please complete your details to continue"></span>
    </span>
    <span ng-hide="::campaign.login_first &amp;&amp; campaign.details_first">
      <!-- ngIf: !contestantState.form.email_verfication_required --><a href="javascript:void(0)" ng-click="cancelEntry('###APP_NAME### Click|Cancel|Contestant')" ng-if="!contestantState.form.email_verfication_required" class="ng-scope">
Cancel
</a><!-- end ngIf: !contestantState.form.email_verfication_required -->
      <!-- ngIf: contestantState.form.email_verfication_required -->
    </span>
  </div>
</form>

Name: entryDetailsForm

<form class="entry_details compact-box form-compact " name="entryDetailsForm">
  <div class="form-compact__content">
    <!-- ngIf: ::entry_method.config3 -->
    <div class="form-compact__part user-fragment center ng-binding ng-scope" ng-bind-html="::customActionHtml(entry_method)"
      ng-class="::{'visit-trigger': (entry_method.workflow == 'VisitDelay' || entry_method.template == 'visit') &amp;&amp; !entry_method.config4}" ng-if="::entry_method.config3">
      <p>Sign up to receive email and text notifications when your child's school supply list is ready to view on Teacherlists.com.</p>
      <p><a class="btn btn-embossed btn-large btn-info" href="https://app.teacherlists.com/list-notifications/?utm_source=teacherlists&amp;utm_medium=email&amp;utm_campaign=gleamparentsweeps1_gleam_tlparents_061523">Sign Up Here</a></p>
    </div><!-- end ngIf: ::entry_method.config3 -->
    <!-- ngIf: ::entry_method.config4 -->
  </div>
  <div class="form-actions center">
    <div style="display: inline-block; position: relative; z-index: 1" uib-tooltip="Complete action above">
      <a class="btn btn-primary" ng-click="saveEntryDetails(entry_method)" ng-disabled="continueDisabled(entry_method)" disabled="disabled">
<span ng-hide="!(isTimerAction(entry_method) &amp;&amp; !entry_method.timePassed)" class="ng-binding">
Visit for 5 more seconds
</span>
<span ng-hide="isTimerAction(entry_method) &amp;&amp; !entry_method.timePassed" class="ng-hide">
Continue
</span>
</a>
    </div>
    <a href="javascript:void(0)" ng-click="cancelEntry('###APP_NAME### Click|Cancel|Custom')">
Cancel
</a>
  </div>
</form>

Name: contestantForm

<form class="contestant compact-box form-compact ng-pristine ng-scope ng-invalid ng-invalid-required ng-valid-pattern ng-valid-email" name="contestantForm" ng-init="initFacebook()">
  <fieldset class="center ng-hide"
    ng-show="(!contestantState.emailLogin &amp;&amp; !campaign.details_first &amp;&amp; campaign.login_first &amp;&amp; !contestantState.contestant.id) || socialLoginRequired() &amp;&amp; !contestantState.form.email_verfication_required">
    <p style="margin-top: 15px" class="ng-binding"> Log in using... </p>
    <div class="login-choice center login-types-3">
      <ul>
        <!-- ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline email-background popup-window" data-track-event="###APP_NAME### Login|email" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Email">
<i class="far fa-envelope"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Email
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline facebook-background popup-window" data-track-event="###APP_NAME### Login|facebook" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Facebook">
<i class="fab fa-facebook-f"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Facebook
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline twitter-background popup-window" data-track-event="###APP_NAME### Login|twitter" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Twitter">
<i class="fab fa-twitter"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Twitter
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
      </ul>
    </div>
  </fieldset>
  <!-- ngIf: !contestantState.form.email_verfication_required -->
  <fieldset class="inputs ng-scope" ng-show="!socialLoginRequired() &amp;&amp; (                     !campaign.login_first ||                                                      contestantState.emailLogin ||                                                 campaign.details_first ||                                                     (contestantState.contestant.id &amp;&amp; campaign.login_first &amp;&amp; !enoughUserDetails(entry_method)) || 
contestantState.unconfirmed)" ng_if="!contestantState.form.email_verfication_required">
    <div class="center details-header" ng-switch="::isReward()">
      <!-- ngSwitchWhen: true -->
      <!-- ngSwitchWhen: false -->
      <div ng-switch-when="false" class="ng-scope">
        <!-- ngIf: campaign.additional_contestant_details && contestantStep==0 -->
        <!-- ngIf: ::!campaign.additional_contestant_details -->
        <div ng-if="::!campaign.additional_contestant_details" class="ng-scope">
          <!-- ngIf: ::campaign.login_first -->
          <!-- ngIf: ::!campaign.login_first -->
          <h4 ng-if="::!campaign.login_first" class="ng-binding ng-scope">Please provide your contact details so we can reach you if you're a winner</h4><!-- end ngIf: ::!campaign.login_first -->
        </div><!-- end ngIf: ::!campaign.additional_contestant_details -->
      </div><!-- end ngSwitchWhen: -->
    </div>
    <div class="form-horizontal">
      <div ng-init="contestantSteps=1">
        <!-- ngIf: contestantStep==0 -->
        <div class="contestant-form-group ng-scope" ng-if="contestantStep==0">
          <div class="input required stringish form-group" ng-class="{error: contestantForm.firstname.$invalid &amp;&amp; contestantForm.firstname.$touched, success: contestantForm.firstname.$valid}">
            <label class="implicit-label">
              <div class="control-label">First Name</div>
              <div class="form-wrapper">
                <input name="firstname" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.firstname" pattern=".*" placeholder="Alice" required="" style="width: 246px" type="text"
                  class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.firstname.$viewValue">Required</div>
              </div>
            </label>
          </div>
          <div class="input required stringish form-group"
            ng-class="{error: contestantForm.lastname.$invalid &amp;&amp; contestantForm.lastname.$touched, success: contestantForm.lastname.$valid &amp;&amp; contestantForm.lastname.$viewValue!='', required: true }">
            <label class="implicit-label">
              <div class="control-label">Last Name</div>
              <div class="form-wrapper">
                <input name="lastname" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.lastname" pattern=".*" placeholder="Smith" required="" style="width: 246px" type="text"
                  class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.lastname.$viewValue">Required</div>
              </div>
            </label>
          </div>
          <div class="email input required stringish form-group"
            ng-class="{error: ((contestantState.form.email &amp;&amp; contestantState.form.email == contestantState.failedEmail) || (contestantForm.email.$invalid &amp;&amp; contestantForm.email.$touched)), success: contestantState.form.email != contestantState.failedEmail &amp;&amp; contestantForm.email.$valid}">
            <label class="implicit-label">
              <div class="control-label">Email</div>
              <div class="form-wrapper">
                <input name="email" ng-change="contestantState.failedEmail = nil" ng-disabled="contestantFormEmailDisabled" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.email"
                  pattern="[A-Z0-9._%a-z\-+]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,12}" placeholder="alice.smith@example.com" required="" style="width: 246px; -webkit-appearance: none;" type="email"
                  class="ng-pristine ng-untouched ng-empty ng-valid-email ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.email.$viewValue">Required</div>
                <div class="help-inline error ng-binding ng-hide" ng-show="contestantState.form.email &amp;&amp; contestantState.form.email == contestantState.failedEmail">
                </div>
              </div>
            </label>
          </div>
        </div><!-- end ngIf: contestantStep==0 -->
      </div>
    </div>
    <!-- ngIf: contestantStep==0 -->
    <div class="contestant-form-group ng-scope" ng-if="contestantStep==0">
      <div class="boolean input optional form-group ng-hide" ng-hide="::isReward() || !campaign.show_competition_subscription">
        <div class="form-wrapper">
          <label class="checkbox ng-binding">
            <span class="icon"></span>
            <span class="icon-to-fade"></span>
            <input ng-model="contestantState.form.competition_subscription" type="checkbox" class="ng-pristine ng-untouched ng-valid ng-empty">
            <span class="user-fragment ng-binding" ng-bind-html="::&quot;Notify me of other TeacherLists Competitions&quot;|unescapeAngular">Notify me of other TeacherLists Competitions</span> (optional) </label>
        </div>
      </div>
      <!-- ngIf: ::campaign.facebook_url -->
    </div><!-- end ngIf: contestantStep==0 -->
  </fieldset><!-- end ngIf: !contestantState.form.email_verfication_required -->
  <!-- ngIf: contestantState.form.email_verfication_required -->
  <div class="form-actions center" ng-show="!socialLoginRequired() &amp;&amp; (                   !campaign.login_first ||                                                       contestantState.emailLogin ||                                                  campaign.details_first ||                                                      
contestantState.contestant.id)">
    <span style="position: inline-block; position: relative">
      <!-- ngIf: contestantState.form.email_verfication_required && !nextStepAvailable() && !contestantState.contestant.verificationToEmail -->
      <!-- ngIf: contestantState.form.email_verfication_required && !nextStepAvailable() && contestantState.contestant.verificationToEmail -->
      <!-- ngIf: nextStepAvailable() && !contestantState.form.email_verfication_required -->
      <!-- ngIf: !nextStepAvailable() && !contestantState.form.email_verfication_required --><button class="btn btn-primary ng-scope" ng-click="setContestant()" ng-disabled="contestantForm.$invalid || contestantState.sending"
        ng-if="!nextStepAvailable() &amp;&amp; !contestantState.form.email_verfication_required" disabled="disabled">
        <span class="fas fa-rotate fa-spin ng-hide" ng-show="contestantState.sending"></span>
        <!-- ngIf: ::campaign.login_first -->
        <!-- ngIf: ::!campaign.login_first --><span ng-if="::!campaign.login_first" class="ng-scope">Save</span><!-- end ngIf: ::!campaign.login_first -->
      </button><!-- end ngIf: !nextStepAvailable() && !contestantState.form.email_verfication_required -->
      <span ng-show="contestantButtonTooltip(contestantForm.$valid)" style="position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; right: 0" tooltip-placement="top" uib-tooltip="Please complete your details to continue"></span>
    </span>
    <span ng-hide="::campaign.login_first &amp;&amp; campaign.details_first">
      <!-- ngIf: !contestantState.form.email_verfication_required --><a href="javascript:void(0)" ng-click="cancelEntry('###APP_NAME### Click|Cancel|Contestant')" ng-if="!contestantState.form.email_verfication_required" class="ng-scope">
Cancel
</a><!-- end ngIf: !contestantState.form.email_verfication_required -->
      <!-- ngIf: contestantState.form.email_verfication_required -->
    </span>
  </div>
</form>

Name: contestantForm

<form class="contestant compact-box form-compact ng-pristine ng-scope ng-invalid ng-invalid-required ng-valid-pattern ng-valid-email" name="contestantForm" ng-init="initFacebook()">
  <fieldset class="center ng-hide"
    ng-show="(!contestantState.emailLogin &amp;&amp; !campaign.details_first &amp;&amp; campaign.login_first &amp;&amp; !contestantState.contestant.id) || socialLoginRequired() &amp;&amp; !contestantState.form.email_verfication_required">
    <p style="margin-top: 15px" class="ng-binding"> Log in using... </p>
    <div class="login-choice center login-types-3">
      <ul>
        <!-- ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline email-background popup-window" data-track-event="###APP_NAME### Login|email" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Email">
<i class="far fa-envelope"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Email
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline facebook-background popup-window" data-track-event="###APP_NAME### Login|facebook" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Facebook">
<i class="fab fa-facebook-f"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Facebook
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline twitter-background popup-window" data-track-event="###APP_NAME### Login|twitter" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Twitter">
<i class="fab fa-twitter"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Twitter
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
      </ul>
    </div>
  </fieldset>
  <!-- ngIf: !contestantState.form.email_verfication_required -->
  <fieldset class="inputs ng-scope" ng-show="!socialLoginRequired() &amp;&amp; (                     !campaign.login_first ||                                                      contestantState.emailLogin ||                                                 campaign.details_first ||                                                     (contestantState.contestant.id &amp;&amp; campaign.login_first &amp;&amp; !enoughUserDetails(entry_method)) || 
contestantState.unconfirmed)" ng_if="!contestantState.form.email_verfication_required">
    <div class="center details-header" ng-switch="::isReward()">
      <!-- ngSwitchWhen: true -->
      <!-- ngSwitchWhen: false -->
      <div ng-switch-when="false" class="ng-scope">
        <!-- ngIf: campaign.additional_contestant_details && contestantStep==0 -->
        <!-- ngIf: ::!campaign.additional_contestant_details -->
        <div ng-if="::!campaign.additional_contestant_details" class="ng-scope">
          <!-- ngIf: ::campaign.login_first -->
          <!-- ngIf: ::!campaign.login_first -->
          <h4 ng-if="::!campaign.login_first" class="ng-binding ng-scope">Please provide your contact details so we can reach you if you're a winner</h4><!-- end ngIf: ::!campaign.login_first -->
        </div><!-- end ngIf: ::!campaign.additional_contestant_details -->
      </div><!-- end ngSwitchWhen: -->
    </div>
    <div class="form-horizontal">
      <div ng-init="contestantSteps=1">
        <!-- ngIf: contestantStep==0 -->
        <div class="contestant-form-group ng-scope" ng-if="contestantStep==0">
          <div class="input required stringish form-group" ng-class="{error: contestantForm.firstname.$invalid &amp;&amp; contestantForm.firstname.$touched, success: contestantForm.firstname.$valid}">
            <label class="implicit-label">
              <div class="control-label">First Name</div>
              <div class="form-wrapper">
                <input name="firstname" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.firstname" pattern=".*" placeholder="Alice" required="" style="width: 246px" type="text"
                  class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.firstname.$viewValue">Required</div>
              </div>
            </label>
          </div>
          <div class="input required stringish form-group"
            ng-class="{error: contestantForm.lastname.$invalid &amp;&amp; contestantForm.lastname.$touched, success: contestantForm.lastname.$valid &amp;&amp; contestantForm.lastname.$viewValue!='', required: true }">
            <label class="implicit-label">
              <div class="control-label">Last Name</div>
              <div class="form-wrapper">
                <input name="lastname" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.lastname" pattern=".*" placeholder="Smith" required="" style="width: 246px" type="text"
                  class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.lastname.$viewValue">Required</div>
              </div>
            </label>
          </div>
          <div class="email input required stringish form-group"
            ng-class="{error: ((contestantState.form.email &amp;&amp; contestantState.form.email == contestantState.failedEmail) || (contestantForm.email.$invalid &amp;&amp; contestantForm.email.$touched)), success: contestantState.form.email != contestantState.failedEmail &amp;&amp; contestantForm.email.$valid}">
            <label class="implicit-label">
              <div class="control-label">Email</div>
              <div class="form-wrapper">
                <input name="email" ng-change="contestantState.failedEmail = nil" ng-disabled="contestantFormEmailDisabled" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.email"
                  pattern="[A-Z0-9._%a-z\-+]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,12}" placeholder="alice.smith@example.com" required="" style="width: 246px; -webkit-appearance: none;" type="email"
                  class="ng-pristine ng-untouched ng-empty ng-valid-email ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.email.$viewValue">Required</div>
                <div class="help-inline error ng-binding ng-hide" ng-show="contestantState.form.email &amp;&amp; contestantState.form.email == contestantState.failedEmail">
                </div>
              </div>
            </label>
          </div>
        </div><!-- end ngIf: contestantStep==0 -->
      </div>
    </div>
    <!-- ngIf: contestantStep==0 -->
    <div class="contestant-form-group ng-scope" ng-if="contestantStep==0">
      <div class="boolean input optional form-group ng-hide" ng-hide="::isReward() || !campaign.show_competition_subscription">
        <div class="form-wrapper">
          <label class="checkbox ng-binding">
            <span class="icon"></span>
            <span class="icon-to-fade"></span>
            <input ng-model="contestantState.form.competition_subscription" type="checkbox" class="ng-pristine ng-untouched ng-valid ng-empty">
            <span class="user-fragment ng-binding" ng-bind-html="::&quot;Notify me of other TeacherLists Competitions&quot;|unescapeAngular">Notify me of other TeacherLists Competitions</span> (optional) </label>
        </div>
      </div>
      <!-- ngIf: ::campaign.facebook_url -->
    </div><!-- end ngIf: contestantStep==0 -->
  </fieldset><!-- end ngIf: !contestantState.form.email_verfication_required -->
  <!-- ngIf: contestantState.form.email_verfication_required -->
  <div class="form-actions center" ng-show="!socialLoginRequired() &amp;&amp; (                   !campaign.login_first ||                                                       contestantState.emailLogin ||                                                  campaign.details_first ||                                                      
contestantState.contestant.id)">
    <span style="position: inline-block; position: relative">
      <!-- ngIf: contestantState.form.email_verfication_required && !nextStepAvailable() && !contestantState.contestant.verificationToEmail -->
      <!-- ngIf: contestantState.form.email_verfication_required && !nextStepAvailable() && contestantState.contestant.verificationToEmail -->
      <!-- ngIf: nextStepAvailable() && !contestantState.form.email_verfication_required -->
      <!-- ngIf: !nextStepAvailable() && !contestantState.form.email_verfication_required --><button class="btn btn-primary ng-scope" ng-click="setContestant()" ng-disabled="contestantForm.$invalid || contestantState.sending"
        ng-if="!nextStepAvailable() &amp;&amp; !contestantState.form.email_verfication_required" disabled="disabled">
        <span class="fas fa-rotate fa-spin ng-hide" ng-show="contestantState.sending"></span>
        <!-- ngIf: ::campaign.login_first -->
        <!-- ngIf: ::!campaign.login_first --><span ng-if="::!campaign.login_first" class="ng-scope">Save</span><!-- end ngIf: ::!campaign.login_first -->
      </button><!-- end ngIf: !nextStepAvailable() && !contestantState.form.email_verfication_required -->
      <span ng-show="contestantButtonTooltip(contestantForm.$valid)" style="position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; right: 0" tooltip-placement="top" uib-tooltip="Please complete your details to continue"></span>
    </span>
    <span ng-hide="::campaign.login_first &amp;&amp; campaign.details_first">
      <!-- ngIf: !contestantState.form.email_verfication_required --><a href="javascript:void(0)" ng-click="cancelEntry('###APP_NAME### Click|Cancel|Contestant')" ng-if="!contestantState.form.email_verfication_required" class="ng-scope">
Cancel
</a><!-- end ngIf: !contestantState.form.email_verfication_required -->
      <!-- ngIf: contestantState.form.email_verfication_required -->
    </span>
  </div>
</form>

Name: contestantForm

<form class="contestant compact-box form-compact ng-pristine ng-scope ng-invalid ng-invalid-required ng-valid-pattern ng-valid-email" name="contestantForm" ng-init="initFacebook()">
  <fieldset class="center ng-hide"
    ng-show="(!contestantState.emailLogin &amp;&amp; !campaign.details_first &amp;&amp; campaign.login_first &amp;&amp; !contestantState.contestant.id) || socialLoginRequired() &amp;&amp; !contestantState.form.email_verfication_required">
    <p style="margin-top: 15px" class="ng-binding"> Log in using... </p>
    <div class="login-choice center login-types-3">
      <ul>
        <!-- ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline email-background popup-window" data-track-event="###APP_NAME### Login|email" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Email">
<i class="far fa-envelope"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Email
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline facebook-background popup-window" data-track-event="###APP_NAME### Login|facebook" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Facebook">
<i class="fab fa-facebook-f"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Facebook
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline twitter-background popup-window" data-track-event="###APP_NAME### Login|twitter" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Twitter">
<i class="fab fa-twitter"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Twitter
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
      </ul>
    </div>
  </fieldset>
  <!-- ngIf: !contestantState.form.email_verfication_required -->
  <fieldset class="inputs ng-scope" ng-show="!socialLoginRequired() &amp;&amp; (                     !campaign.login_first ||                                                      contestantState.emailLogin ||                                                 campaign.details_first ||                                                     (contestantState.contestant.id &amp;&amp; campaign.login_first &amp;&amp; !enoughUserDetails(entry_method)) || 
contestantState.unconfirmed)" ng_if="!contestantState.form.email_verfication_required">
    <div class="center details-header" ng-switch="::isReward()">
      <!-- ngSwitchWhen: true -->
      <!-- ngSwitchWhen: false -->
      <div ng-switch-when="false" class="ng-scope">
        <!-- ngIf: campaign.additional_contestant_details && contestantStep==0 -->
        <!-- ngIf: ::!campaign.additional_contestant_details -->
        <div ng-if="::!campaign.additional_contestant_details" class="ng-scope">
          <!-- ngIf: ::campaign.login_first -->
          <!-- ngIf: ::!campaign.login_first -->
          <h4 ng-if="::!campaign.login_first" class="ng-binding ng-scope">Please provide your contact details so we can reach you if you're a winner</h4><!-- end ngIf: ::!campaign.login_first -->
        </div><!-- end ngIf: ::!campaign.additional_contestant_details -->
      </div><!-- end ngSwitchWhen: -->
    </div>
    <div class="form-horizontal">
      <div ng-init="contestantSteps=1">
        <!-- ngIf: contestantStep==0 -->
        <div class="contestant-form-group ng-scope" ng-if="contestantStep==0">
          <div class="input required stringish form-group" ng-class="{error: contestantForm.firstname.$invalid &amp;&amp; contestantForm.firstname.$touched, success: contestantForm.firstname.$valid}">
            <label class="implicit-label">
              <div class="control-label">First Name</div>
              <div class="form-wrapper">
                <input name="firstname" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.firstname" pattern=".*" placeholder="Alice" required="" style="width: 246px" type="text"
                  class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.firstname.$viewValue">Required</div>
              </div>
            </label>
          </div>
          <div class="input required stringish form-group"
            ng-class="{error: contestantForm.lastname.$invalid &amp;&amp; contestantForm.lastname.$touched, success: contestantForm.lastname.$valid &amp;&amp; contestantForm.lastname.$viewValue!='', required: true }">
            <label class="implicit-label">
              <div class="control-label">Last Name</div>
              <div class="form-wrapper">
                <input name="lastname" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.lastname" pattern=".*" placeholder="Smith" required="" style="width: 246px" type="text"
                  class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.lastname.$viewValue">Required</div>
              </div>
            </label>
          </div>
          <div class="email input required stringish form-group"
            ng-class="{error: ((contestantState.form.email &amp;&amp; contestantState.form.email == contestantState.failedEmail) || (contestantForm.email.$invalid &amp;&amp; contestantForm.email.$touched)), success: contestantState.form.email != contestantState.failedEmail &amp;&amp; contestantForm.email.$valid}">
            <label class="implicit-label">
              <div class="control-label">Email</div>
              <div class="form-wrapper">
                <input name="email" ng-change="contestantState.failedEmail = nil" ng-disabled="contestantFormEmailDisabled" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.email"
                  pattern="[A-Z0-9._%a-z\-+]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,12}" placeholder="alice.smith@example.com" required="" style="width: 246px; -webkit-appearance: none;" type="email"
                  class="ng-pristine ng-untouched ng-empty ng-valid-email ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.email.$viewValue">Required</div>
                <div class="help-inline error ng-binding ng-hide" ng-show="contestantState.form.email &amp;&amp; contestantState.form.email == contestantState.failedEmail">
                </div>
              </div>
            </label>
          </div>
        </div><!-- end ngIf: contestantStep==0 -->
      </div>
    </div>
    <!-- ngIf: contestantStep==0 -->
    <div class="contestant-form-group ng-scope" ng-if="contestantStep==0">
      <div class="boolean input optional form-group ng-hide" ng-hide="::isReward() || !campaign.show_competition_subscription">
        <div class="form-wrapper">
          <label class="checkbox ng-binding">
            <span class="icon"></span>
            <span class="icon-to-fade"></span>
            <input ng-model="contestantState.form.competition_subscription" type="checkbox" class="ng-pristine ng-untouched ng-valid ng-empty">
            <span class="user-fragment ng-binding" ng-bind-html="::&quot;Notify me of other TeacherLists Competitions&quot;|unescapeAngular">Notify me of other TeacherLists Competitions</span> (optional) </label>
        </div>
      </div>
      <!-- ngIf: ::campaign.facebook_url -->
    </div><!-- end ngIf: contestantStep==0 -->
  </fieldset><!-- end ngIf: !contestantState.form.email_verfication_required -->
  <!-- ngIf: contestantState.form.email_verfication_required -->
  <div class="form-actions center" ng-show="!socialLoginRequired() &amp;&amp; (                   !campaign.login_first ||                                                       contestantState.emailLogin ||                                                  campaign.details_first ||                                                      
contestantState.contestant.id)">
    <span style="position: inline-block; position: relative">
      <!-- ngIf: contestantState.form.email_verfication_required && !nextStepAvailable() && !contestantState.contestant.verificationToEmail -->
      <!-- ngIf: contestantState.form.email_verfication_required && !nextStepAvailable() && contestantState.contestant.verificationToEmail -->
      <!-- ngIf: nextStepAvailable() && !contestantState.form.email_verfication_required -->
      <!-- ngIf: !nextStepAvailable() && !contestantState.form.email_verfication_required --><button class="btn btn-primary ng-scope" ng-click="setContestant()" ng-disabled="contestantForm.$invalid || contestantState.sending"
        ng-if="!nextStepAvailable() &amp;&amp; !contestantState.form.email_verfication_required" disabled="disabled">
        <span class="fas fa-rotate fa-spin ng-hide" ng-show="contestantState.sending"></span>
        <!-- ngIf: ::campaign.login_first -->
        <!-- ngIf: ::!campaign.login_first --><span ng-if="::!campaign.login_first" class="ng-scope">Save</span><!-- end ngIf: ::!campaign.login_first -->
      </button><!-- end ngIf: !nextStepAvailable() && !contestantState.form.email_verfication_required -->
      <span ng-show="contestantButtonTooltip(contestantForm.$valid)" style="position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; right: 0" tooltip-placement="top" uib-tooltip="Please complete your details to continue"></span>
    </span>
    <span ng-hide="::campaign.login_first &amp;&amp; campaign.details_first">
      <!-- ngIf: !contestantState.form.email_verfication_required --><a href="javascript:void(0)" ng-click="cancelEntry('###APP_NAME### Click|Cancel|Contestant')" ng-if="!contestantState.form.email_verfication_required" class="ng-scope">
Cancel
</a><!-- end ngIf: !contestantState.form.email_verfication_required -->
      <!-- ngIf: contestantState.form.email_verfication_required -->
    </span>
  </div>
</form>

Name: contestantForm

<form class="contestant compact-box form-compact ng-pristine ng-scope ng-invalid ng-invalid-required ng-valid-pattern ng-valid-email" name="contestantForm" ng-init="initFacebook()">
  <fieldset class="center ng-hide"
    ng-show="(!contestantState.emailLogin &amp;&amp; !campaign.details_first &amp;&amp; campaign.login_first &amp;&amp; !contestantState.contestant.id) || socialLoginRequired() &amp;&amp; !contestantState.form.email_verfication_required">
    <p style="margin-top: 15px" class="ng-binding"> Log in using... </p>
    <div class="login-choice center login-types-3">
      <ul>
        <!-- ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline email-background popup-window" data-track-event="###APP_NAME### Login|email" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Email">
<i class="far fa-envelope"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Email
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline facebook-background popup-window" data-track-event="###APP_NAME### Login|facebook" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Facebook">
<i class="fab fa-facebook-f"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Facebook
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
        <li ng-repeat="provider in campaign.login_types" class="ng-scope">
          <a class="no-underline twitter-background popup-window" data-track-event="###APP_NAME### Login|twitter" href="javascript:void(0)" ng-click="openAuthentication(provider)" uib-tooltip="Twitter">
<i class="fab fa-twitter"></i>
<span class="login-block--prefix">Login with</span>
<span class="login-block--text ng-binding">
Twitter
</span>
</a>
        </li><!-- end ngRepeat: provider in campaign.login_types -->
      </ul>
    </div>
  </fieldset>
  <!-- ngIf: !contestantState.form.email_verfication_required -->
  <fieldset class="inputs ng-scope" ng-show="!socialLoginRequired() &amp;&amp; (                     !campaign.login_first ||                                                      contestantState.emailLogin ||                                                 campaign.details_first ||                                                     (contestantState.contestant.id &amp;&amp; campaign.login_first &amp;&amp; !enoughUserDetails(entry_method)) || 
contestantState.unconfirmed)" ng_if="!contestantState.form.email_verfication_required">
    <div class="center details-header" ng-switch="::isReward()">
      <!-- ngSwitchWhen: true -->
      <!-- ngSwitchWhen: false -->
      <div ng-switch-when="false" class="ng-scope">
        <!-- ngIf: campaign.additional_contestant_details && contestantStep==0 -->
        <!-- ngIf: ::!campaign.additional_contestant_details -->
        <div ng-if="::!campaign.additional_contestant_details" class="ng-scope">
          <!-- ngIf: ::campaign.login_first -->
          <!-- ngIf: ::!campaign.login_first -->
          <h4 ng-if="::!campaign.login_first" class="ng-binding ng-scope">Please provide your contact details so we can reach you if you're a winner</h4><!-- end ngIf: ::!campaign.login_first -->
        </div><!-- end ngIf: ::!campaign.additional_contestant_details -->
      </div><!-- end ngSwitchWhen: -->
    </div>
    <div class="form-horizontal">
      <div ng-init="contestantSteps=1">
        <!-- ngIf: contestantStep==0 -->
        <div class="contestant-form-group ng-scope" ng-if="contestantStep==0">
          <div class="input required stringish form-group" ng-class="{error: contestantForm.firstname.$invalid &amp;&amp; contestantForm.firstname.$touched, success: contestantForm.firstname.$valid}">
            <label class="implicit-label">
              <div class="control-label">First Name</div>
              <div class="form-wrapper">
                <input name="firstname" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.firstname" pattern=".*" placeholder="Alice" required="" style="width: 246px" type="text"
                  class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.firstname.$viewValue">Required</div>
              </div>
            </label>
          </div>
          <div class="input required stringish form-group"
            ng-class="{error: contestantForm.lastname.$invalid &amp;&amp; contestantForm.lastname.$touched, success: contestantForm.lastname.$valid &amp;&amp; contestantForm.lastname.$viewValue!='', required: true }">
            <label class="implicit-label">
              <div class="control-label">Last Name</div>
              <div class="form-wrapper">
                <input name="lastname" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.lastname" pattern=".*" placeholder="Smith" required="" style="width: 246px" type="text"
                  class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.lastname.$viewValue">Required</div>
              </div>
            </label>
          </div>
          <div class="email input required stringish form-group"
            ng-class="{error: ((contestantState.form.email &amp;&amp; contestantState.form.email == contestantState.failedEmail) || (contestantForm.email.$invalid &amp;&amp; contestantForm.email.$touched)), success: contestantState.form.email != contestantState.failedEmail &amp;&amp; contestantForm.email.$valid}">
            <label class="implicit-label">
              <div class="control-label">Email</div>
              <div class="form-wrapper">
                <input name="email" ng-change="contestantState.failedEmail = nil" ng-disabled="contestantFormEmailDisabled" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.email"
                  pattern="[A-Z0-9._%a-z\-+]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,12}" placeholder="alice.smith@example.com" required="" style="width: 246px; -webkit-appearance: none;" type="email"
                  class="ng-pristine ng-untouched ng-empty ng-valid-email ng-invalid ng-invalid-required ng-valid-pattern">
                <div class="help-inline" ng-hide="contestantForm.email.$viewValue">Required</div>
                <div class="help-inline error ng-binding ng-hide" ng-show="contestantState.form.email &amp;&amp; contestantState.form.email == contestantState.failedEmail">
                </div>
              </div>
            </label>
          </div>
        </div><!-- end ngIf: contestantStep==0 -->
      </div>
    </div>
    <!-- ngIf: contestantStep==0 -->
    <div class="contestant-form-group ng-scope" ng-if="contestantStep==0">
      <div class="boolean input optional form-group ng-hide" ng-hide="::isReward() || !campaign.show_competition_subscription">
        <div class="form-wrapper">
          <label class="checkbox ng-binding">
            <span class="icon"></span>
            <span class="icon-to-fade"></span>
            <input ng-model="contestantState.form.competition_subscription" type="checkbox" class="ng-pristine ng-untouched ng-valid ng-empty">
            <span class="user-fragment ng-binding" ng-bind-html="::&quot;Notify me of other TeacherLists Competitions&quot;|unescapeAngular">Notify me of other TeacherLists Competitions</span> (optional) </label>
        </div>
      </div>
      <!-- ngIf: ::campaign.facebook_url -->
    </div><!-- end ngIf: contestantStep==0 -->
  </fieldset><!-- end ngIf: !contestantState.form.email_verfication_required -->
  <!-- ngIf: contestantState.form.email_verfication_required -->
  <div class="form-actions center" ng-show="!socialLoginRequired() &amp;&amp; (                   !campaign.login_first ||                                                       contestantState.emailLogin ||                                                  campaign.details_first ||                                                      
contestantState.contestant.id)">
    <span style="position: inline-block; position: relative">
      <!-- ngIf: contestantState.form.email_verfication_required && !nextStepAvailable() && !contestantState.contestant.verificationToEmail -->
      <!-- ngIf: contestantState.form.email_verfication_required && !nextStepAvailable() && contestantState.contestant.verificationToEmail -->
      <!-- ngIf: nextStepAvailable() && !contestantState.form.email_verfication_required -->
      <!-- ngIf: !nextStepAvailable() && !contestantState.form.email_verfication_required --><button class="btn btn-primary ng-scope" ng-click="setContestant()" ng-disabled="contestantForm.$invalid || contestantState.sending"
        ng-if="!nextStepAvailable() &amp;&amp; !contestantState.form.email_verfication_required" disabled="disabled">
        <span class="fas fa-rotate fa-spin ng-hide" ng-show="contestantState.sending"></span>
        <!-- ngIf: ::campaign.login_first -->
        <!-- ngIf: ::!campaign.login_first --><span ng-if="::!campaign.login_first" class="ng-scope">Save</span><!-- end ngIf: ::!campaign.login_first -->
      </button><!-- end ngIf: !nextStepAvailable() && !contestantState.form.email_verfication_required -->
      <span ng-show="contestantButtonTooltip(contestantForm.$valid)" style="position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; right: 0" tooltip-placement="top" uib-tooltip="Please complete your details to continue"></span>
    </span>
    <span ng-hide="::campaign.login_first &amp;&amp; campaign.details_first">
      <!-- ngIf: !contestantState.form.email_verfication_required --><a href="javascript:void(0)" ng-click="cancelEntry('###APP_NAME### Click|Cancel|Contestant')" ng-if="!contestantState.form.email_verfication_required" class="ng-scope">
Cancel
</a><!-- end ngIf: !contestantState.form.email_verfication_required -->
      <!-- ngIf: contestantState.form.email_verfication_required -->
    </span>
  </div>
</form>

Text Content

0 Your Entries

30 Days Left


LOG IN TO YOUR EXISTING ACCOUNT



has already been used to log in to Gleam.

Please log in to your linked account:

Cancel


VERIFICATION NEEDED

Sorry! We need you to verify that you are a real person. Please log in with any
of these social networks to get started:

   
 * Login with Facebook
   
 * Login with Twitter
   
 * Login with Instagram
   
 * Login with Google
   
 * Login with Telegram
   
 * Login with Discord
   

First Name
Required
Last Name
Required
Email
Required

Send post entry confirmation emails
Save   Cancel


WIN A $75 GIFT CARD

Parents, complete the below steps to sign up for school supply list
notifications and share with other families. 

You'll be entered to win a $75 gift card to the retailer of your choice!

Entering as
 * 
   

Edit Logout
Login with:
   
 * Login with Email
   
 * Login with Facebook
   
 * Login with Twitter
   


THIS COMPETITION HAS ENDED


COMPETITION PAUSED

This Competition is currently paused. Please try again later.


WINNING ENTRIES


THIS PROMOTION STARTS IN
30 DAYS

Entering as
 * 
   

Edit Logout
Login with:
   
 * Login with Email
   
 * Login with Facebook
   
 * Login with Twitter
   

Log in using...

   
 * Login with Email
   
 * Login with Facebook
   
 * Login with Twitter
   

PLEASE PROVIDE YOUR CONTACT DETAILS SO WE CAN REACH YOU IF YOU'RE A WINNER

First Name
Required
Last Name
Required
Email
Required

Notify me of other TeacherLists Competitions (optional)
Save Cancel
Entering as
 * 
   

Edit Logout
Login with:
   
 * Login with Email
   
 * Login with Facebook
   
 * Login with Twitter
   

up to +1 +1 per hour per day per week left Sign Up for Supply List Notifications

Sign up to receive email and text notifications when your child's school supply
list is ready to view on Teacherlists.com.

Sign Up Here

Visit for 5 more seconds Continue
Cancel
up to +1 +1 per hour per day per week left Share on Facebook that you've signed
up for list notifications

Log in using...

   
 * Login with Email
   
 * Login with Facebook
   
 * Login with Twitter
   

PLEASE PROVIDE YOUR CONTACT DETAILS SO WE CAN REACH YOU IF YOU'RE A WINNER

First Name
Required
Last Name
Required
Email
Required

Notify me of other TeacherLists Competitions (optional)
Save Cancel
up to +1 +1 per hour per day per week left Share on Twitter that you've signed
up for list notifications

Log in using...

   
 * Login with Email
   
 * Login with Facebook
   
 * Login with Twitter
   

PLEASE PROVIDE YOUR CONTACT DETAILS SO WE CAN REACH YOU IF YOU'RE A WINNER

First Name
Required
Last Name
Required
Email
Required

Notify me of other TeacherLists Competitions (optional)
Save Cancel
up to +1 +1 per hour per day per week left Share via Email that you've signed up
for list notifications

Log in using...

   
 * Login with Email
   
 * Login with Facebook
   
 * Login with Twitter
   

PLEASE PROVIDE YOUR CONTACT DETAILS SO WE CAN REACH YOU IF YOU'RE A WINNER

First Name
Required
Last Name
Required
Email
Required

Notify me of other TeacherLists Competitions (optional)
Save Cancel
up to +1 +1 per hour per day per week left Complete all 4 Steps for 10 extra
entries!

Log in using...

   
 * Login with Email
   
 * Login with Facebook
   
 * Login with Twitter
   

PLEASE PROVIDE YOUR CONTACT DETAILS SO WE CAN REACH YOU IF YOU'RE A WINNER

First Name
Required
Last Name
Required
Email
Required

Notify me of other TeacherLists Competitions (optional)
Save Cancel


UNLOCK 5 MORE ENTRIES

Complete the above entries to unlock the rest!


TERMS & CONDITIONS

NO PURCHASE IS NECESSARY TO ENTER OR WIN. A PURCHASE DOES NOT INCREASE THE
CHANCES OF WINNING.

 1.  Sponsor: The Sponsor of TeacherLists Parent List Notification Sweepstakes
     is TeacherLists
 2.  Eligibility: TeacherLists Parent List Notification Sweepstakes (the
     "Sweepstakes") is only open to those who sign up at
     https://gleam.io/pXBxH/teacherlists-parent-list-notification-sweepstakes.
     The Sweepstakes is open worldwide, and is void where prohibited by law.
     Employees, independent contractors, interns, officers, directors, and
     agents of TeacherLists (the "Sponsor") their respective affiliates,
     subsidiaries, advertising and promotion agencies, suppliers and their
     immediate family members and/or those living in the same household of each
     are not eligible to participate in the Sweepstakes. The Sweepstakes is
     subject to all applicable federal, state and local laws and regulations.
     Void where prohibited.
 3.  Agreement to Rules: By entering the Sweepstakes, the contestant ("You")
     agree to comply with and abide by these Rules and the decisions of the
     Sponsor, and you represent and warrant that you meet the eligibility
     requirements. In addition, you agree to accept the Sponsor's decisions as
     final and binding as it relates to the content of this campaign. Entrants
     should look solely to the Sponsor with any questions, comments or issues
     related to the Sweepstakes.
 4.  Entry Period: The Sweepstakes begins at on 15 June, 2023 at 12:00AM PDT and
     ends at on 30 July, 2023 at 12:00AM PDT (the "Entry Period"). Entries
     submitted before or after the Entry Period will not be eligible.
 5.  How to Enter: The Sweepstakes must be entered by submitting an entry using
     the online form provided at
     https://gleam.io/pXBxH/teacherlists-parent-list-notification-sweepstakes
     and pass any verification requirements (email or fraud score) set by the
     Sponsor. The entry must fulfil all requirements of the Sweepstakes, as
     specified, to be eligible to win a prize. Entries that are incomplete or do
     not adhere to the rules or specifications of the Sweepstakes may be
     disqualified at the sole discretion of the Sponsor. You must provide the
     information requested. You may not enter more times than indicated by using
     multiple email addresses, identities, or devices in an attempt to
     circumvent the rules. If you use fraudulent methods or otherwise attempt to
     circumvent the rules of the Sweepstakes, your submission may be
     disqualified at the sole discretion of the Sponsor.
 6.  Prizes: The winner(s) of the Sweepstakes (the "Winner") will receive the
     following prizes:
     * 5 winner(s) will receive $75 Gift Card
     Actual/appraised value of prizes may differ at time of prize award. The
     specifics of the prize shall be solely determined by the Sponsor. No cash
     or other prize substitution shall be permitted except for at the Sponsor's
     discretion. The prize is non transferable. Substitution of the prize or
     transfer/assignment of the prize to others or request for the cash
     equivalent of the prize by the Winner is not permitted. Any and all prize
     related expenses, including without limitation any and all federal, state,
     and/or local taxes shall be the sole responsibility of the Winner.
     Acceptance of the prize constitutes permission for the Sponsor to use the
     Winner’s name, likeness, and entry for purposes of advertising and trade
     without further compensation, unless prohibited by law.
 7.  Odds of Winning: The odds of winning depend on the number of eligible
     entries received.
 8.  Winner Selection and Notification: The Winner will be selected by Random
     Draw under the supervision of the Sponsor. The Winner will be notified
     within 7 days of the winner selection. The Sponsor shall have no liability
     for a Winner's failure to receive notices due to spam, junk e-mail or other
     security settings or for a Winner’s provision of incorrect or otherwise
     non-functioning contact information. If the Winner cannot be contacted, is
     ineligible, fails to claim the prize within 7 days from the time award
     notification was sent, or fails to timely return a completed and executed
     declaration and release as required, the prize may be forfeited and an
     alternate Winner selected. Receipt of the prize offered in this Campaign by
     the Winner is conditioned upon compliance with any and all federal, state,
     and local laws and regulations. Any violation of these official rules by
     the Winner at the Sponsor's sole discretion will result in the Winner's
     disqualification as winner, and all privileges as winner will be
     immediately terminated.
 9.  Rights Granted by the Entrant: By entering this content (e.g., photo,
     video, text, etc.), You understand and agree that the Sponsor and anyone
     acting on behalf of the Sponsor or its respective licensees, successors,
     and assigns, shall have the right, where permitted by law, to print,
     publish, broadcast, distribute, and use in any media now known or hereafter
     developed, in perpetuity and throughout the World, without limitation, your
     entry, name, portrait, picture, voice, likeness, image, statements about
     the Campaign, and biographical information for news, publicity,
     information, trade, advertising, public relations, and promotional purposes
     without any further compensation, notice, review, or consent. By entering
     this content, you represent and warrant that your entry is an original work
     of authorship, and does not violate any third party’s proprietary or
     intellectual property rights. If your entry infringes upon the intellectual
     property right of another, you will be disqualified at the sole discretion
     of the Sponsor. If the content of your entry is claimed to constitute
     infringement of any proprietary or intellectual proprietary rights of any
     third party, you shall, at your sole expense, defend or settle against such
     claims. You shall indemnify, defend, and hold harmless TeacherLists from
     and against any suit, proceeding, claims, liability, loss, damage, costs or
     expense, which TeacherLists may incur, suffer, or be required to pay
     arising out of such infringement or suspected infringement of any third
     party’s right.
 10. Terms and Conditions: The Sponsor reserves the right, in its sole
     discretion, to cancel, terminate, modify or suspend the Sweepstakes should
     virus, bug, non-authorised human intervention, fraud, or other cause beyond
     the Sponsor’s control corrupt or affect the administration, security,
     fairness, or proper conduct of the Sweepstakes. In such cases, the Sponsor
     may select a winner(s) from eligible entries received before and/or after
     the action taken by the Sponsor if appropriate. The Sponsor reserves the
     right at its sole discretion to disqualify any individual who tampers or
     attempts to tamper with the entry process or the operation of the
     Sweepstakes or website or violates these Terms & Conditions. The Sponsor
     has the right, in its sole discretion, to maintain the integrity of the
     Sweepstakes, to void entries for any reason, including, but not limited to:
     multiple entries from the same user from different IP addresses; multiple
     entries from the same computer in excess of that allowed by Sweepstakes
     rules; or the use of bots, macros, scripts, or other technical means for
     entering. Any attempt by an entrant to deliberately damage any website or
     undermine the legitimate operation of the Sweepstakes may be a violation of
     criminal and civil laws. Should such an attempt be made, the Sponsor
     reserves the right to seek damages to the fullest extent permitted by law.
 11. Limitation of Liability: By entering the Sweepstakes you agree to release
     and hold harmless TeacherLists and its subsidiaries, affiliates,
     advertising and promotion agencies, partners, representatives, agents,
     successors, assigns, employees, officers and directors from any liability,
     illness, injury, death, loss, litigation, claim or damage that may occur,
     directly or indirectly, whether caused by negligence or not, from (i) such
     entrant’s participation in the Sweepstakes and/or his/her acceptance,
     possession, use, or misuse of any prize or any portion thereof; (ii)
     unauthorised human intervention in any part of the Sweepstakes; (iii)
     electronic or human error in the administration of the Sweepstakes or the
     processing of entries; (iv) technical errors of any kind, including but not
     limited to the malfunction of any computer, cable, network, hardware, or
     software, or other mechanical equipment; (v) the unavailability or
     inaccessibility of any transmissions, telephone, or Internet service; (vi)
     printing errors; (vii) lost, late, postage due, misdirected, or
     undeliverable mail.
 12. Disputes: This Sweepstakes is governed by the laws of United States,
     without respect to conflict of law doctrines. By participating in this
     Campaign, you agree that any and all disputes that cannot be resolved
     between the parties, and causes of action arising out of or connected with
     this Campaign, shall be resolved individually, without resort to any form
     of class action, exclusively before a court located in United States having
     jurisdiction. Further, in any such dispute, under no circumstances shall
     You be permitted to obtain awards for, and hereby waives all rights to,
     punitive, incidental, or consequential damages, including reasonable
     attorney’s fees, other than actual out-of-pocket expenses (i.e. costs
     associated with entering the Sweepstakes). You further waives all rights to
     have damages multiplied or increased.
 13. Winners List: To request a copy of the winners list please contact the
     Sponsor. Requests must be sent within four (4) weeks of the end of the
     Entry Period.
 14. The Sweepstakes is in no way sponsored, endorsed, administered by, or
     associated with Facebook, Twitter, Instagram, Snapchat, YouTube, Reddit,
     Pinterest, LinkedIn or any other social networks that are used to share the
     Sweepstakes. You understand that you are providing your information to the
     owner of the Sweepstakes and not to Facebook, Twitter, Instagram, Snapchat,
     YouTube, Reddit, Pinterest, LinkedIn or any other social networks.
 15. Acceptance of Rules: By participating in the Sweepstakes, You have
     affirmatively reviewed, accepted, and agreed to all of the Official Rules,
     Terms and Conditions.


PLATFORM DISCLAIMER

This Sweepstakes is powered by Crowd9 PTY LTD ("Gleam"). Gleam does not sponsor,
administer, endorse or bear liability for this promotion. By entering the
Sweepstakes, you agree to Gleam's Privacy Policy

Terms & Conditions | © TeacherLists