<script src="https://cdnjs.cloudflare.com/ajax/libs/punycode/1.4.1/punycode.min.js"></script> <!--[if lt IE 9]><script src="https://cdn.jotfor.ms/js/vendor/flashcanvas.js?3.3.19031" type="text/javascript"></script><![endif]--> <script src="https://cdn.jotfor.ms/js/vendor/jquery-1.8.0.min.js?v=3.3.19031" type="text/javascript"></script> <script src="https://cdn.jotfor.ms/js/vendor/jSignature.min.noconflict.js?3.3.19031" type="text/javascript"></script> <script src="https://cdn.jotfor.ms/js/vendor/jotform.signaturepad.js?3.3.19031" type="text/javascript"></script> <script src="https://cdn.jotfor.ms/static/prototype.forms.js" type="text/javascript"></script> <script src="https://cdn.jotfor.ms/static/jotform.forms.js?3.3.19031" type="text/javascript"></script> <script src="https://js.jotform.com/vendor/postMessage.js?3.3.19031" type="text/javascript"></script> <script src="https://js.jotform.com/WidgetsServer.js?v=1594412240255" type="text/javascript"></script> <script type="text/javascript"> JotForm.setConditions([{"action":[{"id":"action_1462504562426","redirect":"https:\u002F\u002Fwww.jotform.com\u002Fthankyou.html","isError":false}],"id":"1462504571762","index":"0","link":"Any","priority":"0","terms":[{"id":"term_1462504562426","field":"64","operator":"isFilled","value":"","isError":false}],"type":"url"}]); JotForm.init(function(){ setTimeout(function() { $('input_172').hint('ex: myname@example.com'); }, 20); setTimeout(function() { $('input_19').hint('ex: myname@example.com'); }, 20); if (window.JotForm && JotForm.accessible) $('input_79').setAttribute('tabindex',0); if (window.JotForm && JotForm.accessible) $('input_80').setAttribute('tabindex',0); if (window.JotForm && JotForm.accessible) $('input_173').setAttribute('tabindex',0); if (window.JotForm && JotForm.accessible) $('input_174').setAttribute('tabindex',0); productID = {"0":"input_83_1000","1":"input_83_1001","2":"input_83_1002","3":"input_83_1003","4":"input_83_1004","5":"input_83_1005","6":"input_83_1006"}; paymentType = "product"; JotForm.setCurrencyFormat('USD',true, 'point'); JotForm.totalCounter({"input_83_1000":{"price":"35"},"input_83_1001":{"price":"125"},"input_83_1002":{"price":"225"},"input_83_1003":{"price":"300"},"input_83_1004":{"price":"400"},"input_83_1005":{"price":"50.00"},"input_83_1006":{"price":"99"}}); $$('.form-product-custom_quantity').each(function(el, i){el.observe('blur', function(){isNaN(this.value) || this.value < 1 ? this.value = '0' : this.value = parseInt(this.value)})}); $$('.form-product-custom_quantity').each(function(el, i){el.observe('focus', function(){this.value == 0 ? this.value = '' : this.value})}); JotForm.handleProductLightbox(); JotForm.calendarMonths = ["January","February","March","April","May","June","July","August","September","October","November","December"]; JotForm.calendarDays = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]; JotForm.calendarOther = "Today"; JotForm.checkAppointmentAvailability = function checkAppointmentAvailability(day, slot, data) { if (!(day && slot && data && data[day])) return false; return data[day][slot]; }; (function init(props) { var PREFIX = window.location.href.indexOf('jotform.pro') > -1 || window.location.pathname.indexOf('build') > -1 || window.location.pathname.indexOf('form-templates') > -1 || window.location.pathname.indexOf('pdf-templates') > -1 ? '/server.php' : JotForm.server; // boilerplate var effectsOut = null; var changed = {}; var constructed = false; var _window = window, document = _window.document; var wrapper = document.querySelector('#' + props.qid.value); var element = wrapper.querySelector('.appointmentField'); var input = wrapper.querySelector('#input_' + props.id.value + '_date'); var tzInput = wrapper.querySelector('#input_' + props.id.value + '_timezone'); function debounce(func, wait, immediate) { var timeout = void 0; return function wrappedFN() { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var context = this; var later = function later() { timeout = null; if (!immediate) func.apply.apply(func, [context].concat(args)); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply.apply(func, [context].concat(args)); }; } var classNames = function classNames(obj) { return Object.keys(obj).reduce(function (acc, key) { if (!obj[key]) return acc; return [].concat(acc, [key]); }, []).join(' '); }; var assignObject = function assignObject() { for (var _len2 = arguments.length, objects = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { objects[_key2] = arguments[_key2]; } return objects.reduce(function (acc, obj) { Object.keys(obj).forEach(function (key) { acc[key] = obj[key]; }); return acc; }, {}); }; var objectEntries = function objectEntries(obj) { return Object.keys(obj).reduce(function (acc, key) { var value = obj[key]; var pair = [key, value]; return [].concat(acc, [pair]); }, []); }; var fillArray = function fillArray(arr, value) { var newArr = []; for (var i = 0; i < arr.length; i++) { newArr.push(value); } return newArr; }; var getJSON = function getJSON(url, cb) { return new Ajax.Request(url, { evalJSON: 'force', method: 'GET', onComplete: function onComplete(response) { return cb(response.responseJSON); } }); }; var beforeRender = function beforeRender() { if (effectsOut) { effectsOut(); effectsOut = null; } }; var afterRender = function afterRender() { effectsOut = effects(); }; var setState = function setState(newState) { var changedKeys = Object.keys(newState).filter(function (key) { return state[key] !== newState[key]; }); if (!changedKeys.length) { return; } changed = changedKeys.reduce(function (acc, key) { var _assignObject; return assignObject({}, acc, (_assignObject = {}, _assignObject[key] = state[key], _assignObject)); }, changed); state = assignObject({}, state, newState); if (constructed) { render(); } }; var isStartWeekOnMonday = function isStartWeekOnMonday() { var _props = props, startDay = _props.startWeekOn.value; return !startDay || startDay === 'Monday'; }; var monthNames = function monthNames() { return (JotForm.calendarMonthsTranslated || JotForm.calendarMonths || _Utils.specialOptions.Months.value).map(function (monthName) { return String.prototype.locale ? monthName.locale() : monthName; }); }; var daysOfWeek = function daysOfWeek() { return (JotForm.calendarDaysTranslated || JotForm.calendarDays || _Utils.specialOptions.Days.value).map(function (dayName) { return String.prototype.locale ? dayName.locale() : dayName; }); }; // we need remove unnecessary "Sunday", if there is time field on the form var dayNames = function dayNames() { var days = daysOfWeek().length === 8 ? daysOfWeek().slice(1) : daysOfWeek(); return isStartWeekOnMonday() ? days : [days[days.length - 1]].concat(days.slice(0, 6)); }; var oneHour = 1000 * 60 * 60; // const oneDay = oneHour * 24; var intPrefix = function intPrefix(d) { if (d < 10) { return '0' + d; } return '' + d; }; var toFormattedDateStr = function toFormattedDateStr(date) { var _props2 = props, _props2$dateFormat$va = _props2.dateFormat.value, format = _props2$dateFormat$va === undefined ? 'yyyy-mm-dd' : _props2$dateFormat$va; if (!date) return; if (typeof date === 'string') { var _date$split = date.split('-'), _year = _date$split[0], _month = _date$split[1], _day = _date$split[2]; return format.replace(/yyyy/, _year).replace(/mm/, _month).replace(/dd/, _day); } var year = date.getFullYear(); var month = intPrefix(date.getMonth() + 1); var day = intPrefix(date.getUTCDate()); return format.replace(/yyyy/, year).replace(/mm/, month).replace(/dd/, day); }; var toDateStr = function toDateStr(date) { if (!date) return; var year = date.getFullYear(); var month = intPrefix(date.getMonth() + 1); var day = intPrefix(date.getDate()); return year + '-' + month + '-' + day; }; var toDateTimeStr = function toDateTimeStr(date) { if (!date) return; var ymd = toDateStr(date); var hour = intPrefix(date.getHours()); var minute = intPrefix(date.getMinutes()); return ymd + ' ' + hour + ':' + minute; }; var getTimezoneOffset = function getTimezoneOffset(timezone) { if (!timezone) { return 0; } var cityArgs = timezone.split(' '); var splitted = cityArgs[cityArgs.length - 1].replace(/\(GMT|\)/g, '').split(':'); return parseInt(splitted[0] || 0, 10) + parseInt(splitted[1] || 0, 10) / 60; }; var getGMTSuffix = function getGMTSuffix(offset) { if (offset === 0) { return ''; } var offsetMinutes = Math.abs(offset) % 60; var offsetHours = Math.abs(offset - offsetMinutes) / 60; var str = intPrefix(offsetHours) + ':' + intPrefix(offsetMinutes); if (offset < 0) { return '+' + str; } return '-' + str; }; // const toJSDate = (dateStr, timezone) => { // if (!dateStr) return; // const gmtSuffix = getGMTSuffix(timezone || state.timezone); // return new Date(`${dateStr} GMT${gmtSuffix}`); // }; var getYearMonth = function getYearMonth(date) { if (!date) return; var _date$split2 = date.split('-'), y = _date$split2[0], m = _date$split2[1]; return y + '-' + m; }; var getMondayBasedDay = function getMondayBasedDay(date) { var day = date.getUTCDay(); if (day === 0) { return 6; // sunday index } return day - 1; }; var getDay = function getDay(date) { return isStartWeekOnMonday() ? getMondayBasedDay(date) : date.getUTCDay(); }; var getUserTimezone = function getUserTimezone() { try { var tzStr = Intl.DateTimeFormat().resolvedOptions().timeZone; if (tzStr) { var tz = tzStr + ' (GMT' + getGMTSuffix(new Date().getTimezoneOffset()) + ')'; return tz; } } catch (e) { console.error(e.message); } return props.timezone.value; }; var getStateFromProps = function getStateFromProps() { var newProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var startDate = new Date(newProps.startDate ? newProps.startDate.value : ''); var today = new Date(); var date = toDateStr(new Date(Math.max(startDate, today) || today)); return { date: date, timezones: state ? state.timezones : { loading: true } }; }; var getFirstAvailableDates = function getFirstAvailableDates(cb) { var _props3 = props, _props3$formID = _props3.formID, formID = _props3$formID === undefined ? global.__formInfo.id : _props3$formID; var _state = state, _state$timezone = _state.timezone, timezone = _state$timezone === undefined ? props.timezone.value : _state$timezone; // eslint-disable-next-line max-len var url = PREFIX + '?action=getAppointments&formID=' + formID + '&timezone=' + encodeURIComponent(timezone) + '&ncTz=' + new Date().getTime() + '&firstAvailableDates'; return getJSON(url, function (_ref) { var content = _ref.content; return cb(content); }); }; var state = getStateFromProps(props); var loadTimezones = function loadTimezones(cb) { setState({ timezones: { loading: true } }); getJSON((props.cdnconfig.CDN || '/') + 'assets/form/timezones.json', function (data) { var timezones = objectEntries(data).reduce(function (acc, _ref2) { var group = _ref2[0], cities = _ref2[1]; acc.push({ group: group, cities: cities }); return acc; }, []); cb(timezones); }); }; var loadMonthData = function loadMonthData(startDate, endDate, cb) { var _props4 = props, _props4$formID = _props4.formID, formID = _props4$formID === undefined ? global.__formInfo.id : _props4$formID, id = _props4.id.value; var _state2 = state, timezone = _state2.timezone; // eslint-disable-next-line max-len var url = PREFIX + '?action=getAppointments&formID=' + formID + '&qid=' + id + '&timezone=' + encodeURIComponent(timezone) + '&startDate=' + toDateStr(startDate) + '&endDate=' + toDateStr(endDate) + '&ncTz=' + new Date().getTime(); return getJSON(url, function (_ref3) { var data = _ref3.content; return cb(data); }); }; var generateMonthData = function generateMonthData(startDate, endDate, data) { var d1 = startDate.getDate(); var d2 = endDate.getDate(); var dPrefix = startDate.getFullYear() + '-' + intPrefix(startDate.getMonth() + 1) + '-'; var daysLength = d2 - d1 + 1 || 0; var days = fillArray(new Array(daysLength), ''); var slots = days.reduce(function (acc, x, day) { var _assignObject2; var dayStr = '' + dPrefix + intPrefix(day + 1); return assignObject(acc, (_assignObject2 = {}, _assignObject2[dayStr] = data[dayStr] || false, _assignObject2)); }, {}); var availableDays = Object.keys(data).filter(function (d) { return !Array.isArray(slots[d]) && !!slots[d]; }); return { availableDays: availableDays, slots: slots }; }; var lastReq = void 0; var updateMonthData = function updateMonthData(startDate, endDate, data) { var _generateMonthData = generateMonthData(startDate, endDate, data), availableDays = _generateMonthData.availableDays, slots = _generateMonthData.slots; if (JSON.stringify(slots) === JSON.stringify(state.slots)) { return; } setState({ availableDays: availableDays, slots: slots }); }; var getDateRange = function getDateRange(dateStr) { var _dateStr$split = dateStr.split('-'), y = _dateStr$split[0], m = _dateStr$split[1]; var startDate = new Date(y, m - 1, 1); var endDate = new Date(y, m, 0); return [startDate, endDate]; }; var load = function load() { var _state3 = state, dateStr = _state3.date; var _getDateRange = getDateRange(dateStr), startDate = _getDateRange[0], endDate = _getDateRange[1]; setState(assignObject({ loading: true }, generateMonthData(startDate, endDate, {}))); var req = loadMonthData(startDate, endDate, function (data) { if (lastReq !== req) { return; } updateMonthData(startDate, endDate, data); var _state4 = state, availableDays = _state4.availableDays; var newDate = availableDays.indexOf(dateStr) === -1 ? availableDays[0] : dateStr; setState({ loading: false, date: newDate || dateStr }); }); lastReq = req; }; var dateInTimeZone = function dateInTimeZone(date) { if (!date) return; var _state5 = state, timezone = _state5.timezone; var diffTime = (getTimezoneOffset(timezone) + 4) * oneHour; return new Date(date.getTime() - diffTime); }; var dz = function dz(date, tz1, tz2) { if (!date) return; var diffTime = (-tz1 + tz2) * oneHour; return new Date(date.getTime() + diffTime); }; var amPmConverter = function amPmConverter(_time) { var _props5 = props, _props5$timeFormat = _props5.timeFormat; _props5$timeFormat = _props5$timeFormat === undefined ? {} : _props5$timeFormat; var _props5$timeFormat$va = _props5$timeFormat.value, timeFormat = _props5$timeFormat$va === undefined ? '24 Hour' : _props5$timeFormat$va; if (!_time || !(typeof _time === 'string') || _time.indexOf('M') > -1 || !timeFormat || timeFormat === '24 Hour') { return _time; } var time = _time.substring(0, 2); var hour = time % 12 || 12; var ampm = time < 12 ? 'AM' : 'PM'; return '' + hour + _time.substring(2, 5) + ' ' + ampm; }; var validate = function validate(dateStr, cb) { var parts = dateStr.split(' '); var slot = parts.slice(1).join(' '); var _parts$0$split = parts[0].split('-'), y = _parts$0$split[0], m = _parts$0$split[1], d = _parts$0$split[2]; var startDate = new Date(y, m - 1, 1); var endDate = new Date(y, m, 0); loadMonthData(startDate, endDate, function (data) { var day = y + '-' + m + '-' + d; var isValid = JotForm.checkAppointmentAvailability(day, amPmConverter(slot), data); cb(isValid); if (!isValid) { var _assignObject3; // add unavailable slot if it is not in response for deselection data[day] = assignObject({}, data[day], (_assignObject3 = {}, _assignObject3[slot] = false, _assignObject3)); } // still in same month if (state.date.indexOf(y + '-' + m) === 0) { updateMonthData(startDate, endDate, data); } }); }; // let validationInterval; var setValue = function setValue(value) { input.value = value ? toDateTimeStr(dateInTimeZone(new Date(value.replace(/-/g, '/')))) : ''; setState({ value: value }); // clearInterval(validationInterval); var validation = function validation(_value) { var shouldValidate = _value || $(input).hasClassName('validate'); if (!shouldValidate) { $(input).addClassName('valid'); JotForm.corrected(input); return; } if (!_value) { $(input).removeClassName('valid'); return JotForm.errored(input, JotForm.texts.required); } validate(_value, function (isValid) { if (isValid) { $(input).addClassName('valid'); return JotForm.corrected(input); } // clearInterval(validationInterval); var parts = _value.split(' '); var dateStr = parts[0]; var date = new Date(dateStr); var day = getDay(date); var datetime = dayNames()[day] + ', ' + monthNames()[date.getMonth()] + ' ' + intPrefix(date.getUTCDate()) + ', ' + date.getFullYear(); var time = parts.slice(1).join(' '); var errorText = JotForm.texts.slotUnavailable.replace('{time}', time).replace('{date}', datetime); $(input).removeClassName('valid'); JotForm.errored(input, errorText); }); }; validation(value); // validationInterval = setInterval(() => { validation(state.value); }, 1000 * 5); }; var handleClick = function handleClick(e) { var target = e.target; var $target = $(target); if (!$target || !$target.hasClassName) { return; } if ($target.hasClassName('disabled') && !$target.hasClassName('active')) { return; } e.preventDefault(); var value = target.dataset.value; setValue($target.hasClassName('active') ? undefined : value); }; var setTimezone = function setTimezone(timezone) { tzInput.value = timezone; setState({ timezone: timezone }); if (input.value) { var date = toDateTimeStr(dz(new Date(input.value.replace(/-/g, '/')), -4, getTimezoneOffset(state.timezone))); setDate(date.split(' ')[0]); setState({ value: date }); } }; var handleTimezoneChange = function handleTimezoneChange(e) { var target = e.target; var timezone = target.value; setTimezone(timezone); }; var setDate = function setDate(date) { return setState({ date: date }); }; var handleDateChange = function handleDateChange(e) { var target = e.target; var date = target.dataset.value; if (!date) return; setDate(date); }; var handleMonthYearChange = function handleMonthYearChange(e) { var _e$target = e.target, dataset = _e$target.dataset, inputVal = _e$target.value; var name = dataset.name; if (!name) { return; } var _state6 = state, date = _state6.date; var oldDate = new Date(date); var oldMonth = oldDate.getMonth(); var oldYear = oldDate.getFullYear(); var oldDay = oldDate.getUTCDate(); var value = inputVal || e.target.getAttribute('value'); if (name === 'month') { return setDate(toDateStr(new Date(oldYear, value, oldDay))); } return setDate(toDateStr(new Date(value, oldMonth, oldDay))); }; var toggleMobileState = function toggleMobileState() { var $wrapper = $(wrapper); if ($wrapper.hasClassName('isOpenMobile')) { $wrapper.removeClassName('isOpenMobile'); } else { $wrapper.addClassName('isOpenMobile'); } }; var keepSlotsScrollPosition = function keepSlotsScrollPosition() { var visibleSlot = element.querySelector('.appointmentSlots.slots .slot.active, .appointmentSlots.slots .slot:not(.disabled)'); element.querySelector('.appointmentSlots.slots').scrollTop = visibleSlot ? visibleSlot.offsetTop : 0; }; var handleUIUpdate = function handleUIUpdate() { try { var breakpoints = { 450: 'isLarge', 225: 'isNormal', 175: 'shouldBreakIntoNewLine' }; var offsetWidth = function () { try { var appointmentCalendarRow = element.querySelector('.appointmentFieldRow.forCalendar'); var appointmendCalendar = element.querySelector('.appointmentCalendar'); return appointmentCalendarRow.getBoundingClientRect().width - appointmendCalendar.getBoundingClientRect().width; } catch (e) { return null; } }(); if (offsetWidth === null || parseInt(wrapper.readAttribute('data-breakpoint-offset'), 10) === offsetWidth) { return; } var breakpoint = Object.keys(breakpoints).reduce(function (prev, curr) { return Math.abs(curr - offsetWidth) < Math.abs(prev - offsetWidth) ? curr : prev; }); var breakpointName = breakpoints[breakpoint]; wrapper.setAttribute('data-breakpoint', breakpointName); wrapper.setAttribute('data-breakpoint-offset', offsetWidth); } catch (e) { // noop. } }; var effects = function effects() { var shouldLoad = changed.timezone && changed.timezone !== state.timezone || // time zone changed changed.date && getYearMonth(changed.date) !== getYearMonth(state.date); // y-m changed changed = {}; if (shouldLoad) { load(); } var cancelBtn = element.querySelector('.cancel'); if (cancelBtn) { cancelBtn.addEventListener('click', function () { setValue(undefined); }); } var forSelectedDate = element.querySelector('.forSelectedDate span'); if (forSelectedDate) { forSelectedDate.addEventListener('click', function () { setDate(state.value.split(' ')[0]); }); } element.querySelector('.calendar .days').addEventListener('click', handleDateChange); element.querySelector('.monthYearPicker').addEventListener('change', handleMonthYearChange); element.querySelector('.dayPicker').addEventListener('click', handleDateChange); element.querySelector('.timezonePicker').addEventListener('change', handleTimezoneChange); element.querySelector('.selectedDate').addEventListener('click', toggleMobileState); Array.prototype.slice.call(element.querySelectorAll('.monthYearPicker .pickerArrow')).forEach(function (el) { return el.addEventListener('click', handleMonthYearChange); }); Array.prototype.slice.call(element.querySelectorAll('.slot')).forEach(function (el) { return el.addEventListener('click', handleClick); }); keepSlotsScrollPosition(); if (window.CardForm) { window.addEventListener('resize', handleUIUpdate); handleUIUpdate(); } else { setInterval(function () { handleUIUpdate(); }, 250); } JotForm.runAllCalculations(); }; var renderMonthYearPicker = function renderMonthYearPicker() { var _state7 = state, date = _state7.date; var _split = (date || '-').split('-'), year = _split[0], month = _split[1]; var yearOpts = fillArray(new Array(20), '').map(function (v, i) { return '' + (2020 + i); }); return '\n <div class=\'monthYearPicker\'>\n <div class=\'pickerItem\'>\n <select class=\'pickerMonth\' data-name=\'month\'>\n ' + monthNames().map(function (monthName, i) { return '<option ' + (parseInt(month, 10) === i + 1 ? 'selected' : '') + ' value=\'' + i + '\'>' + monthName + '</option>'; }).join('') + '\n </select>\n <button type=\'button\' class=\'pickerArrow pickerMonthArrow prev\' value=\'' + (parseInt(month, 10) - 2) + '\' data-name=\'month\'></button>\n <button type=\'button\' class=\'pickerArrow pickerMonthArrow next\' value=\'' + parseInt(month, 10) + '\' data-name=\'month\'></button>\n </div>\n <div class=\'pickerItem\'>\n <select class=\'pickerYear\' data-name=\'year\'>\n ' + yearOpts.map(function (yearName) { return '<option ' + (year === yearName ? 'selected' : '') + '>' + yearName + '</option>'; }).join('') + '\n </select>\n <button type=\'button\' class=\'pickerArrow pickerYearArrow prev\' value=\'' + (parseInt(year, 10) - 1) + '\' data-name=\'year\' />\n <button type=\'button\' class=\'pickerArrow pickerYearArrow next\' value=\'' + (parseInt(year, 10) + 1) + '\' data-name=\'year\' />\n </div>\n </div>\n '; }; var getNav = function getNav() { var _state8 = state, availableDays = _state8.availableDays, dateStr = _state8.date; var next = void 0; var prev = void 0; var _dateStr$split2 = dateStr.split('-'), year = _dateStr$split2[0], month = _dateStr$split2[1]; if (availableDays) { var dayIndex = availableDays.indexOf(dateStr); if (dayIndex > 0) { prev = availableDays[dayIndex - 1]; } else { var prevDate = new Date(year, month - 1, 0); prev = toDateStr(prevDate); } if (dayIndex + 1 < availableDays.length) { next = availableDays[dayIndex + 1]; } else { var nextDate = new Date(year, month, 1); next = toDateStr(nextDate); } } return { prev: prev, next: next }; }; var renderDayPicker = function renderDayPicker() { var _state9 = state, loading = _state9.loading; var _getNav = getNav(), prev = _getNav.prev, next = _getNav.next; return '\n <div class=\'appointmentDayPicker dayPicker\'>\n <button type=\'button\' ' + (loading || !prev ? 'disabled' : '') + ' class="appointmentDayPickerButton prev" ' + (prev && 'data-value="' + prev + '"') + '>&lt;</button>\n <button type=\'button\' ' + (loading || !next ? 'disabled' : '') + ' class="appointmentDayPickerButton next" ' + (next && 'data-value="' + next + '"') + '>&gt;</button>\n </div>\n '; }; var renderTimezonePicker = function renderTimezonePicker() { var _state10 = state, timezone = _state10.timezone, timezones = _state10.timezones; return '\n <div class=\'timezonePickerWrapper\'> \n <select class=\'timezonePicker\'>\n ' + (!timezones.loading && timezones.map(function (_ref4) { var group = _ref4.group, cities = _ref4.cities; return '\n <optgroup label="' + group + '">\n ' + cities.map(function (val) { return '<option ' + (timezone === group + '/' + val ? 'selected' : '') + ' value=\'' + group + '/' + val + '\'>' + val + '</option>'; }).join('') + '\n </optgroup>\n '; }).join('')) + '\n </select>\n <div class=\'timezonePickerName\'>' + timezone + '</div>\n </div>\n '; }; var renderCalendarDays = function renderCalendarDays() { var _state11 = state, slots = _state11.slots, dateStr = _state11.date, value = _state11.value, availableDays = _state11.availableDays; var days = slots ? Object.keys(slots) : []; var todayStr = toDateStr(new Date()); if (!days.length) { return ''; } var firstDay = getDay(new Date(days[0])); days.unshift.apply(days, fillArray(new Array(firstDay), 'precedingDay')); var trailingDays = Math.ceil(days.length / 7) * 7 - days.length; days.push.apply(days, fillArray(new Array(trailingDays), 'trailingDay')); var weeks = days.map(function (item, i) { return i % 7 === 0 ? days.slice(i, i + 7) : null; }).filter(function (a) { return a; }); var dateValue = value && value.split(' ')[0]; return '\n ' + weeks.map(function (week) { return '<div class=\'calendarWeek\'>' + week.map(function (day) { if (day === 'precedingDay' || day === 'trailingDay') { return '<div class="calendarDay ' + day + ' empty"></div>'; } var active = day === dateStr; var isToday = todayStr === day; var isUnavailable = availableDays.indexOf(day) === -1; var isSelected = day === dateValue; var classes = 'calendarDay ' + classNames({ isSelected: isSelected, isToday: isToday, isUnavailable: isUnavailable, isActive: active }); return '<div class=\'' + classes + '\' data-value=\'' + day + '\'><span class=\'calendarDayEach\'>' + day.split('-')[2].replace(/^0/, '') + '</span></div>'; }).join('') + '</div>'; }).join('') + '\n '; }; var renderEmptyState = function renderEmptyState() { /* eslint-disable */ return '\n <div class="appointmentSlots-empty">\n <div class="appointmentSlots-empty-container">\n <div class="appointmentSlots-empty-icon">\n <svg width="124" height="102" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n <defs>\n <path d="M55 32.001c0 21.54 17.46 39 39 39 3.457 0 6.81-.45 10-1.294v34.794H0v-104l71 .001c-9.7 7.095-16 18.561-16 31.5z" id="a"/>\n </defs>\n <g fill="none" fill-rule="evenodd">\n <g transform="translate(-1 -1)">\n <mask id="b" fill="#fff">\n <use xlink:href="#a"/>\n </mask>\n <g mask="url(#b)">\n <path d="M18.85 52.001c9.858 0 17.85 7.992 17.85 17.85 0 9.859-7.992 17.85-17.85 17.85S1 79.71 1 69.851c0-9.858 7.992-17.85 17.85-17.85zm5.666 10.842L17.38 69.98l-2.44-2.44a2.192 2.192 0 00-3.1 3.1l3.99 3.987a2.192 2.192 0 003.098 0l8.687-8.686a2.191 2.191 0 00-3.1-3.099z" fill="#D5D6DA"/>\n <path d="M92.043 10.643H81.597V7.576A6.582 6.582 0 0075.023 1a6.582 6.582 0 00-6.574 6.575v3.067H41.833V7.576A6.582 6.582 0 0035.26 1a6.582 6.582 0 00-6.574 6.575v3.149a2.187 2.187 0 00-.585-.082H19.37c-6.042 0-10.957 4.916-10.957 10.958v27.126a2.192 2.192 0 004.383 0V33.215h86.211a2.192 2.192 0 000-4.383H12.795v-7.231a6.582 6.582 0 016.574-6.575H28.1c.203 0 .398-.03.585-.08v2.82a6.582 6.582 0 006.574 6.574c3.625 0 10.574-2.95 10.574-6.574v-2.74H68.45v2.74a6.582 6.582 0 006.574 6.574c3.625 0 7.574-2.95 7.574-6.574v-2.74h9.446a6.582 6.582 0 016.574 6.575v73.072a3.95 3.95 0 01-3.946 3.945h-77.95a3.95 3.95 0 01-3.944-3.944v-5.67c0-1.047-.981-2.192-2.192-2.192-1.21 0-2.191.981-2.191 2.192v5.67c0 4.592 3.736 8.327 8.327 8.327h77.95c4.592 0 8.328-3.736 8.328-8.328V21.601c0-6.042-4.915-10.958-10.957-10.958zM37.45 17.766a2.194 2.194 0 01-2.191 2.191 2.194 2.194 0 01-2.191-2.191V7.576c0-1.209.983-2.192 2.19-2.192 1.21 0 2.192.983 2.192 2.192v10.19zm39.764 0a2.194 2.194 0 01-2.191 2.191 2.194 2.194 0 01-2.191-2.191V7.576c0-1.209.983-2.192 2.191-2.192 1.208 0 2.191.983 2.191 2.192v10.19z" fill="#D5D6DA" fill-rule="nonzero"/>\n <path d="M55.68 63.556c-4.592 0-8.328 3.736-8.328 8.327 0 4.592 3.736 8.328 8.327 8.328 4.592 0 8.328-3.736 8.328-8.328 0-4.591-3.736-8.327-8.328-8.327zm0 12.272a3.95 3.95 0 01-3.945-3.945 3.95 3.95 0 013.944-3.944 3.95 3.95 0 013.945 3.944 3.95 3.95 0 01-3.945 3.945zm26.854-12.272c-4.591 0-8.327 3.736-8.327 8.327 0 4.592 3.736 8.328 8.327 8.328 4.592 0 8.328-3.736 8.328-8.328 0-4.591-3.736-8.327-8.328-8.327zm0 12.272a3.95 3.95 0 01-3.944-3.945 3.95 3.95 0 013.944-3.944 3.95 3.95 0 013.945 3.944 3.95 3.95 0 01-3.945 3.945zM30.126 36.701c-4.591 0-8.327 3.736-8.327 8.328 0 4.591 3.736 8.327 8.327 8.327 4.592 0 8.328-3.736 8.328-8.327 0-4.592-3.736-8.328-8.328-8.328zm0 12.272a3.95 3.95 0 01-3.944-3.944 3.95 3.95 0 013.944-3.945 3.95 3.95 0 013.945 3.945 3.95 3.95 0 01-3.945 3.944z" fill="#D5D6DA" fill-rule="nonzero"/>\n <path d="M83.836 36.701c-4.592 0-8.328 3.736-8.328 8.328 0 4.591 3.736 8.327 8.328 8.327 4.591 0 8.327-3.736 8.327-8.327 0-4.592-3.736-8.328-8.327-8.328zm0 12.272a3.95 3.95 0 01-3.945-3.944 3.95 3.95 0 013.945-3.945 3.95 3.95 0 013.944 3.945 3.95 3.95 0 01-3.944 3.944z" fill="#2B3245" fill-rule="nonzero"/>\n <path d="M56.981 36.701c-4.592 0-8.327 3.736-8.327 8.328 0 4.591 3.735 8.327 8.327 8.327 4.592 0 8.327-3.736 8.327-8.327 0-4.592-3.735-8.328-8.327-8.328zm0 12.272a3.95 3.95 0 01-3.944-3.944 3.95 3.95 0 013.944-3.945 3.95 3.95 0 013.945 3.945 3.95 3.95 0 01-3.945 3.944z" fill="#D5D6DA" fill-rule="nonzero"/>\n <path d="M68.829 11.201l.001 6.375a6.375 6.375 0 006.146 6.371l.229.004a6.375 6.375 0 006.371-6.146l.004-.229-.001-6.375h6.871c6.627 0 12 5.373 12 12v8.4H11.2v-8.4c0-6.627 5.373-12 12-12h5.849l.001 6.75a6 6 0 005.775 5.996l.225.004h.375a6.375 6.375 0 006.375-6.375l-.001-6.375h27.03z" fill="#D5D6DA"/>\n </g>\n </g>\n <path d="M92 0c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32C60 14.327 74.327 0 92 0zm21.268 15.365L75.365 53.268A26.884 26.884 0 0092 59c14.912 0 27-12.088 27-27a26.88 26.88 0 00-5.732-16.635zM92 5C77.088 5 65 17.088 65 32c0 6.475 2.28 12.417 6.079 17.069l37.99-37.99A26.888 26.888 0 0092 5z" fill="#D5D6DA"/>\n </g>\n </svg>\n </div>\n <div class="appointmentSlots-empty-text">' + JotForm.texts.noSlotsAvailable + '</div>\n </div>\n </div>\n '; /* eslint-enable */ }; var renderSlots = function renderSlots() { var _state12 = state, dateStr = _state12.date, _state12$value = _state12.value, dateValue = _state12$value === undefined ? '' : _state12$value; var _props6 = props, _props6$timeFormat = _props6.timeFormat; _props6$timeFormat = _props6$timeFormat === undefined ? {} : _props6$timeFormat; var _props6$timeFormat$va = _props6$timeFormat.value, timeFormat = _props6$timeFormat$va === undefined ? '24 Hour' : _props6$timeFormat$va; var entries = state.slots && state.slots[dateStr] && objectEntries(state.slots[dateStr]); if (!entries || !entries.length) { return renderEmptyState(); } var stateTime = new Date(dateValue.replace(/-/g, '/')).toLocaleTimeString('en-US', { hour: 'numeric', minute: 'numeric', hour12: timeFormat === 'AM/PM' }); var stateDate = dateValue && dateValue.split(' ')[0]; return entries.map(function (_ref5) { var name = _ref5[0], value = _ref5[1]; var slotValue = dateStr + ' ' + name; var stateValue = stateDate + ' ' + stateTime; var isActive = stateValue === slotValue; return '<div class="appointmentSlot slot ' + classNames({ disabled: !value, active: isActive }) + '" data-value="' + slotValue + '">' + name + '</div>'; }).join(''); }; var renderDay = function renderDay() { var _state13 = state, dateStr = _state13.date; var date = new Date(dateStr); var day = getDay(date); return '\n <div class=\'appointmentDate\'>\n ' + (dateStr && dayNames()[day] + ', ' + monthNames()[date.getUTCMonth()] + ' ' + intPrefix(date.getUTCDate())) + '\n </div>\n '; }; var renderCalendar = function renderCalendar() { var _state14 = state, dateStr = _state14.date; return '\n <div class=\'selectedDate\'>\n <input class=\'currentDate\' type=\'text\' value=\'' + toFormattedDateStr(dateStr) + '\' style=\'pointer-events: none;\' />\n </div>\n ' + renderMonthYearPicker() + '\n <div class=\'appointmentCalendarDays days\'>\n <div class=\'daysOfWeek\'>\n ' + dayNames().map(function (day) { return '<div class="dayOfWeek ' + day.toLowerCase() + '">' + day.toUpperCase().slice(0, 3) + '</div>'; }).join('') + '\n </div>\n ' + renderCalendarDays() + '\n </div>\n '; }; var renderSelectedDate = function renderSelectedDate() { var _state15 = state, _state15$value = _state15.value, value = _state15$value === undefined ? '' : _state15$value; var dateStr = value && value.split(' ')[0]; var _props7 = props, _props7$timeFormat = _props7.timeFormat; _props7$timeFormat = _props7$timeFormat === undefined ? {} : _props7$timeFormat; var _props7$timeFormat$va = _props7$timeFormat.value, timeFormat = _props7$timeFormat$va === undefined ? '24 Hour' : _props7$timeFormat$va; var date = new Date(dateStr); var time = new Date(value.replace(/-/g, '/')).toLocaleTimeString('en-US', { hour: 'numeric', minute: 'numeric', hour12: timeFormat === 'AM/PM' }); var day = getDay(date); var datetime = dayNames()[day] + ', ' + monthNames()[date.getUTCMonth()] + ' ' + intPrefix(date.getUTCDate()) + ', ' + date.getFullYear(); var text = JotForm.texts.appointmentSelected.replace('{time}', time).replace('{date}', datetime); var valEl = '<div style=\'display: none\' class=\'jsAppointmentValue\'>' + datetime + ' ' + time + '</div>'; return value ? valEl + '<div class=\'appointmentFieldRow forSelectedDate\'><span>' + text + '</span><button type=\'button\' class=\'cancel\'>x</button></div>' : ''; }; var render = debounce(function () { var _state16 = state, loading = _state16.loading; beforeRender(); element.innerHTML = '\n <div class=\'appointmentFieldContainer\'>\n <div class=\'appointmentFieldRow forCalendar\'>\n <div class=\'calendar appointmentCalendar\'>\n <div class=\'appointmentCalendarContainer\'>\n ' + renderCalendar() + '\n </div>\n </div>\n <div class=\'appointmentDates\'>\n <div class=\'appointmentDateSelect\'>\n ' + renderDay() + '\n ' + renderDayPicker() + '\n </div>\n <div class=\'appointmentSlots slots ' + classNames({ isLoading: loading }) + '\'>\n <div class=\'appointmentSlotsContainer\'>\n ' + renderSlots() + '\n </div>\n </div>\n <div class=\'appointmentCalendarTimezone forTimezonePicker\'>\n ' + renderTimezonePicker() + '\n </div>\n </div>\n </div>\n ' + renderSelectedDate() + '\n </div>\n '; afterRender(); }); var update = function update(newProps) { state = getStateFromProps(newProps); props = newProps; load(); }; input.addEventListener('change', function (e) { var date = toDateTimeStr(dz(new Date(e.target.value), -4, getTimezoneOffset(state.timezone))); setDate(date.split(' ')[0]); setState({ value: date }); }); tzInput.addEventListener('change', function (e) { return setTimezone(e.target.value); }); document.addEventListener('translationLoad', function () { return render(); }); var getInitialData = function getInitialData(timezones) { getFirstAvailableDates(function (data) { JotForm.appointments.initialData = data; JotForm.appointments.listeners.forEach(function (fn) { return fn({ data: data, timezones: timezones }); }); }); }; if (!JotForm.appointments) { JotForm.appointments = { listeners: [] }; loadTimezones(function (timezones) { JotForm.timezones = timezones; getInitialData(timezones); }); } var requestTry = 1; var requestTimeout = 1000; var construct = function construct(_ref6) { var data = _ref6.data, timezones = _ref6.timezones; var qdata = data[props.id.value]; if (!qdata || qdata.error) { constructed = true; if (!qdata && requestTry < 4) { requestTry += 1; setTimeout(function () { getInitialData(JotForm.timezones); }, requestTry * requestTimeout); } return; } constructed = false; var userTimezone = getUserTimezone(); var _userTimezone$split = userTimezone.split('/'), cont = _userTimezone$split[0], city = _userTimezone$split[1]; var timezone = timezones[cont] && timezones[cont].find(function (c) { return c.indexOf(city) !== -1; }) && userTimezone || props.timezone.value; setTimezone(timezone); var dateStr = Object.keys(qdata)[0]; var _getDateRange2 = getDateRange(dateStr), startDate = _getDateRange2[0], endDate = _getDateRange2[1]; updateMonthData(startDate, endDate, qdata); var _state17 = state, availableDays = _state17.availableDays; var newDate = availableDays.indexOf(dateStr) === -1 ? availableDays[0] : dateStr; constructed = true; setState({ timezones: timezones, loading: false, date: newDate || dateStr }); }; JotForm.appointments.listeners.push(construct); if (JotForm.appointments.initialData) { setTimeout(function () { construct({ data: JotForm.appointments.initialData, timezones: JotForm.timezones }); }, requestTimeout); } return update; })({"text":{"text":"Question","value":"Senior Session July 24th"},"labelAlign":{"text":"Label Align","value":"Top","dropdown":[["Auto","Auto"],["Left","Left"],["Right","Right"],["Top","Top"]]},"required":{"text":"Required","value":"No","dropdown":[["No","No"],["Yes","Yes"]]},"description":{"text":"Hover Text","value":"","textarea":true},"slotDuration":{"text":"Slot Duration","value":"10","dropdown":[[15,"15 min"],[30,"30 min"],[45,"45 min"],[60,"60 min"],["custom","Custom min"]],"hint":"Select how long each slot will be."},"startDate":{"text":"Start Date","value":"2020-07-24"},"endDate":{"text":"End Date","value":"2020-07-24"},"intervals":{"text":"Intervals","value":[{"from":"09:00","to":"16:00","days":["Fri"]}],"hint":"The hours will be applied to the selected days and repeated."},"useBlockout":{"text":"Blockout Custom Dates","value":"No","dropdown":[["No","No"],["Yes","Yes"]],"hint":"Disable certain date(s) in the calendar."},"blockoutDates":{"text":"Blockout dates","value":[{"startDate":"","endDate":""}]},"useLunchBreak":{"text":"Lunch Time","value":"Yes","dropdown":[["No","No"],["Yes","Yes"]],"hint":"Enable lunchtime in the calendar."},"lunchBreak":{"text":"Lunchtime hours","value":[{"from":"12:00","to":"14:00"}]},"timezone":{"text":"Timezone","value":"America/New_York (GMT-04:00)"},"timeFormat":{"text":"Time Format","value":"AM/PM","dropdown":[["24 Hour","24 Hour"],["AM/PM","AM/PM"]],"icon":"images/blank.gif","iconClassName":"toolbar-time_format_24"},"months":{"value":["January","February","March","April","May","June","July","August","September","October","November","December"],"hidden":true},"days":{"value":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"hidden":true},"startWeekOn":{"text":"Start Week On","value":"Sunday","dropdown":[["Monday","Monday"],["Sunday","Sunday"]],"toolbar":false},"rollingDays":{"text":"Rolling Days","value":"","toolbar":false},"appointmentType":{"hidden":true,"value":"single"},"dateFormat":{"hidden":true,"value":"mm/dd/yyyy"},"maxAttendee":{"hidden":true,"value":"5"},"maxEvents":{"hidden":true,"value":""},"minScheduleNotice":{"hidden":true,"value":"3"},"name":{"hidden":true,"value":"appointment"},"order":{"hidden":true,"value":"19"},"qid":{"toolbar":false,"value":"input_125"},"type":{"hidden":true,"value":"control_appointment"},"id":{"toolbar":false,"value":"125"},"qname":{"toolbar":false,"value":"q125_appointment"},"cdnconfig":{"CDN":"https://cdn.jotfor.ms/"},"passive":false,"formProperties":{"products":[{"connectedCategories":"[]","connectedProducts":"[]","customPrice":"","customPriceSource":"0","description":"•\t10 minute yearbook session \n•\tSenior yearbook portrait with formal attire (tuxedo or drape).\n•\tSession will either be held on a pre-determined date by your school or scheduled at Lyryn Kay Photography. \n•\tOnline preview gallery of five (5) proofs \n•\tOne (1) fully edited yearbook photo submission + high resolution digital file to keep. \n•\tPrints, products, and digital images are available to order via an online gallery. \n","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/Rosario-Sabrina-e1493659816547.webp?nc=1\"]","name":"Basic Yearbook Session","options":[],"period":"Monthly","pid":"1000","price":"35","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"","trial":""},{"connectedCategories":"[]","connectedProducts":"[]","customPrice":"","customPriceSource":"0","description":"•\t30 minute session \n•\tSenior yearbook portrait with formal attire (tuxedo or drape).\n•\tSenior portrait with cap and gown. \n•\tOnline preview gallery\n•\tOne (1) fully edited yearbook photo submission.\n•\tFive (5) fully edited, high resolution digital files to keep \n•\tPrints and products are available to order via an online gallery. \n","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/nysleah08_6442_ws.jpg?nc=1\"]","name":"Cap & Gown Mini Session","options":[],"period":"Monthly","pid":"1001","price":"125","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"","trial":""},{"connectedCategories":"[]","connectedProducts":"[]","customPrice":"","customPriceSource":"0","description":"\n•\tOne hour session\n•\tSenior yearbook portrait with formal attire (tuxedo or drape).\n•\tSenior portrait with cap and gown. \n•\tUp to two outfit changes and props (music, sports, etc.)\n•\tOnline preview gallery\n•\tOne (1) fully edited yearbook photo submission.\n•\tTwenty (20) fully edited, high resolution digital files to keep \n•\tPrints and products are available to order via an online gallery. \n","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/72181706_10158929209969554_5643620669422829568_o.jpg?nc=1\"]","name":"Senior Portrait Session","options":[],"period":"Monthly","pid":"1002","price":"225","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"","trial":""},{"connectedCategories":"[]","connectedProducts":"[]","customPrice":"","customPriceSource":"0","description":"•\t90 minute session\n•\tSenior yearbook portrait with formal attire (tuxedo or drape).\n•\tSenior portrait with cap and gown. \n•\tUp to three outfits, styles & props\n•\tUp to two locations (within 20 miles of Morgantown)\n•\tOnline preview gallery\n•\tOne (1) fully edited yearbook photo submission.\n•\tTwenty (30) fully edited, high resolution digital files to keep \n•\t$20 print credit\n•\tPrints and products are available to order via an online gallery. \n","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/72550671_10159001266464554_8407420815749939200_o.jpg?nc=1\"]","name":"Creative Senior Session","options":[],"period":"Monthly","pid":"1003","price":"300","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"","trial":""},{"connectedCategories":"[]","connectedProducts":"[]","customPrice":"","customPriceSource":"0","description":"•\tTwo hour session\n•\tSenior yearbook portrait with formal attire (tuxedo or drape).\n•\tSenior portrait with cap and gown. \n•\tUp to four outfits, styles & props\n•\tUp to three locations (within 20 miles of Morgantown)\n•\tOnline preview gallery\n•\tOne (1) fully edited yearbook photo submission.\n•\tTwenty (40) fully edited, high resolution digital files to keep \n•\t$30 print credit\n•\tPrints and products are available to order via an online gallery. \n","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/73497930_10158986599099554_4635501453169917952_o.jpg?nc=1\"]","name":"Premium Senior Session","options":[],"period":"Monthly","pid":"1004","price":"400","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"","trial":""},{"cid":"","connectedCategories":"[]","connectedProducts":"[]","corder":"","customPrice":"","customPriceSource":"0","description":"Want some portraits taken with your significant other or sibling? Or maybe you just want to experience senior portraits along side your best friend? Just add this to your order! ** Please note - this is not a session you can slit. This is an add on only to another person to your session. If your friends wants their own senior pictures at the same time, I suggest purchasing a Dule Session. \n","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/friends.jpg?nc=1\"]","name":"Friend Session - ADD ON ONLY","options":[],"period":"Monthly","pid":"1005","price":"50.00","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"0","trial":""},{"cid":"","connectedCategories":"[]","connectedProducts":"[]","corder":"","customPrice":"","customPriceSource":"0","description":"Once the kids start leaving home, it becomes almost impossible to get everyone together for a family portrait. Add your family to your senior portrait session for $99. I’ll take pictures of everyone together and I’ll also photograph the kids together. You’ll receive four additional digital images with reprint rights.","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/fam.jpg?nc=1\"]","name":"Family Portrait - ADD ON ONLY","options":[],"period":"Monthly","pid":"1006","price":"99","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"0","trial":""}],"highlightLine":"Enabled","coupons":false,"useStripeCoupons":false,"taxes":false,"comparePaymentForm":"","paymentListSettings":[{"minTotalOrderAmount":"0","productCategories":"[]","productListLayout":"HR","showCategory":"No","showCategoryTitle":"Yes","showMinTotalOrderAmount":"No","showSearch":"No"}],"newPaymentUIForNewCreatedForms":false},"formID":201664571923154,"themeVersion":"v1"}); JotForm.calendarMonths = ["January","February","March","April","May","June","July","August","September","October","November","December"]; JotForm.calendarDays = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]; JotForm.calendarOther = "Today"; JotForm.checkAppointmentAvailability = function checkAppointmentAvailability(day, slot, data) { if (!(day && slot && data && data[day])) return false; return data[day][slot]; }; (function init(props) { var PREFIX = window.location.href.indexOf('jotform.pro') > -1 || window.location.pathname.indexOf('build') > -1 || window.location.pathname.indexOf('form-templates') > -1 || window.location.pathname.indexOf('pdf-templates') > -1 ? '/server.php' : JotForm.server; // boilerplate var effectsOut = null; var changed = {}; var constructed = false; var _window = window, document = _window.document; var wrapper = document.querySelector('#' + props.qid.value); var element = wrapper.querySelector('.appointmentField'); var input = wrapper.querySelector('#input_' + props.id.value + '_date'); var tzInput = wrapper.querySelector('#input_' + props.id.value + '_timezone'); function debounce(func, wait, immediate) { var timeout = void 0; return function wrappedFN() { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var context = this; var later = function later() { timeout = null; if (!immediate) func.apply.apply(func, [context].concat(args)); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply.apply(func, [context].concat(args)); }; } var classNames = function classNames(obj) { return Object.keys(obj).reduce(function (acc, key) { if (!obj[key]) return acc; return [].concat(acc, [key]); }, []).join(' '); }; var assignObject = function assignObject() { for (var _len2 = arguments.length, objects = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { objects[_key2] = arguments[_key2]; } return objects.reduce(function (acc, obj) { Object.keys(obj).forEach(function (key) { acc[key] = obj[key]; }); return acc; }, {}); }; var objectEntries = function objectEntries(obj) { return Object.keys(obj).reduce(function (acc, key) { var value = obj[key]; var pair = [key, value]; return [].concat(acc, [pair]); }, []); }; var fillArray = function fillArray(arr, value) { var newArr = []; for (var i = 0; i < arr.length; i++) { newArr.push(value); } return newArr; }; var getJSON = function getJSON(url, cb) { return new Ajax.Request(url, { evalJSON: 'force', method: 'GET', onComplete: function onComplete(response) { return cb(response.responseJSON); } }); }; var beforeRender = function beforeRender() { if (effectsOut) { effectsOut(); effectsOut = null; } }; var afterRender = function afterRender() { effectsOut = effects(); }; var setState = function setState(newState) { var changedKeys = Object.keys(newState).filter(function (key) { return state[key] !== newState[key]; }); if (!changedKeys.length) { return; } changed = changedKeys.reduce(function (acc, key) { var _assignObject; return assignObject({}, acc, (_assignObject = {}, _assignObject[key] = state[key], _assignObject)); }, changed); state = assignObject({}, state, newState); if (constructed) { render(); } }; var isStartWeekOnMonday = function isStartWeekOnMonday() { var _props = props, startDay = _props.startWeekOn.value; return !startDay || startDay === 'Monday'; }; var monthNames = function monthNames() { return (JotForm.calendarMonthsTranslated || JotForm.calendarMonths || _Utils.specialOptions.Months.value).map(function (monthName) { return String.prototype.locale ? monthName.locale() : monthName; }); }; var daysOfWeek = function daysOfWeek() { return (JotForm.calendarDaysTranslated || JotForm.calendarDays || _Utils.specialOptions.Days.value).map(function (dayName) { return String.prototype.locale ? dayName.locale() : dayName; }); }; // we need remove unnecessary "Sunday", if there is time field on the form var dayNames = function dayNames() { var days = daysOfWeek().length === 8 ? daysOfWeek().slice(1) : daysOfWeek(); return isStartWeekOnMonday() ? days : [days[days.length - 1]].concat(days.slice(0, 6)); }; var oneHour = 1000 * 60 * 60; // const oneDay = oneHour * 24; var intPrefix = function intPrefix(d) { if (d < 10) { return '0' + d; } return '' + d; }; var toFormattedDateStr = function toFormattedDateStr(date) { var _props2 = props, _props2$dateFormat$va = _props2.dateFormat.value, format = _props2$dateFormat$va === undefined ? 'yyyy-mm-dd' : _props2$dateFormat$va; if (!date) return; if (typeof date === 'string') { var _date$split = date.split('-'), _year = _date$split[0], _month = _date$split[1], _day = _date$split[2]; return format.replace(/yyyy/, _year).replace(/mm/, _month).replace(/dd/, _day); } var year = date.getFullYear(); var month = intPrefix(date.getMonth() + 1); var day = intPrefix(date.getUTCDate()); return format.replace(/yyyy/, year).replace(/mm/, month).replace(/dd/, day); }; var toDateStr = function toDateStr(date) { if (!date) return; var year = date.getFullYear(); var month = intPrefix(date.getMonth() + 1); var day = intPrefix(date.getDate()); return year + '-' + month + '-' + day; }; var toDateTimeStr = function toDateTimeStr(date) { if (!date) return; var ymd = toDateStr(date); var hour = intPrefix(date.getHours()); var minute = intPrefix(date.getMinutes()); return ymd + ' ' + hour + ':' + minute; }; var getTimezoneOffset = function getTimezoneOffset(timezone) { if (!timezone) { return 0; } var cityArgs = timezone.split(' '); var splitted = cityArgs[cityArgs.length - 1].replace(/\(GMT|\)/g, '').split(':'); return parseInt(splitted[0] || 0, 10) + parseInt(splitted[1] || 0, 10) / 60; }; var getGMTSuffix = function getGMTSuffix(offset) { if (offset === 0) { return ''; } var offsetMinutes = Math.abs(offset) % 60; var offsetHours = Math.abs(offset - offsetMinutes) / 60; var str = intPrefix(offsetHours) + ':' + intPrefix(offsetMinutes); if (offset < 0) { return '+' + str; } return '-' + str; }; // const toJSDate = (dateStr, timezone) => { // if (!dateStr) return; // const gmtSuffix = getGMTSuffix(timezone || state.timezone); // return new Date(`${dateStr} GMT${gmtSuffix}`); // }; var getYearMonth = function getYearMonth(date) { if (!date) return; var _date$split2 = date.split('-'), y = _date$split2[0], m = _date$split2[1]; return y + '-' + m; }; var getMondayBasedDay = function getMondayBasedDay(date) { var day = date.getUTCDay(); if (day === 0) { return 6; // sunday index } return day - 1; }; var getDay = function getDay(date) { return isStartWeekOnMonday() ? getMondayBasedDay(date) : date.getUTCDay(); }; var getUserTimezone = function getUserTimezone() { try { var tzStr = Intl.DateTimeFormat().resolvedOptions().timeZone; if (tzStr) { var tz = tzStr + ' (GMT' + getGMTSuffix(new Date().getTimezoneOffset()) + ')'; return tz; } } catch (e) { console.error(e.message); } return props.timezone.value; }; var getStateFromProps = function getStateFromProps() { var newProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var startDate = new Date(newProps.startDate ? newProps.startDate.value : ''); var today = new Date(); var date = toDateStr(new Date(Math.max(startDate, today) || today)); return { date: date, timezones: state ? state.timezones : { loading: true } }; }; var getFirstAvailableDates = function getFirstAvailableDates(cb) { var _props3 = props, _props3$formID = _props3.formID, formID = _props3$formID === undefined ? global.__formInfo.id : _props3$formID; var _state = state, _state$timezone = _state.timezone, timezone = _state$timezone === undefined ? props.timezone.value : _state$timezone; // eslint-disable-next-line max-len var url = PREFIX + '?action=getAppointments&formID=' + formID + '&timezone=' + encodeURIComponent(timezone) + '&ncTz=' + new Date().getTime() + '&firstAvailableDates'; return getJSON(url, function (_ref) { var content = _ref.content; return cb(content); }); }; var state = getStateFromProps(props); var loadTimezones = function loadTimezones(cb) { setState({ timezones: { loading: true } }); getJSON((props.cdnconfig.CDN || '/') + 'assets/form/timezones.json', function (data) { var timezones = objectEntries(data).reduce(function (acc, _ref2) { var group = _ref2[0], cities = _ref2[1]; acc.push({ group: group, cities: cities }); return acc; }, []); cb(timezones); }); }; var loadMonthData = function loadMonthData(startDate, endDate, cb) { var _props4 = props, _props4$formID = _props4.formID, formID = _props4$formID === undefined ? global.__formInfo.id : _props4$formID, id = _props4.id.value; var _state2 = state, timezone = _state2.timezone; // eslint-disable-next-line max-len var url = PREFIX + '?action=getAppointments&formID=' + formID + '&qid=' + id + '&timezone=' + encodeURIComponent(timezone) + '&startDate=' + toDateStr(startDate) + '&endDate=' + toDateStr(endDate) + '&ncTz=' + new Date().getTime(); return getJSON(url, function (_ref3) { var data = _ref3.content; return cb(data); }); }; var generateMonthData = function generateMonthData(startDate, endDate, data) { var d1 = startDate.getDate(); var d2 = endDate.getDate(); var dPrefix = startDate.getFullYear() + '-' + intPrefix(startDate.getMonth() + 1) + '-'; var daysLength = d2 - d1 + 1 || 0; var days = fillArray(new Array(daysLength), ''); var slots = days.reduce(function (acc, x, day) { var _assignObject2; var dayStr = '' + dPrefix + intPrefix(day + 1); return assignObject(acc, (_assignObject2 = {}, _assignObject2[dayStr] = data[dayStr] || false, _assignObject2)); }, {}); var availableDays = Object.keys(data).filter(function (d) { return !Array.isArray(slots[d]) && !!slots[d]; }); return { availableDays: availableDays, slots: slots }; }; var lastReq = void 0; var updateMonthData = function updateMonthData(startDate, endDate, data) { var _generateMonthData = generateMonthData(startDate, endDate, data), availableDays = _generateMonthData.availableDays, slots = _generateMonthData.slots; if (JSON.stringify(slots) === JSON.stringify(state.slots)) { return; } setState({ availableDays: availableDays, slots: slots }); }; var getDateRange = function getDateRange(dateStr) { var _dateStr$split = dateStr.split('-'), y = _dateStr$split[0], m = _dateStr$split[1]; var startDate = new Date(y, m - 1, 1); var endDate = new Date(y, m, 0); return [startDate, endDate]; }; var load = function load() { var _state3 = state, dateStr = _state3.date; var _getDateRange = getDateRange(dateStr), startDate = _getDateRange[0], endDate = _getDateRange[1]; setState(assignObject({ loading: true }, generateMonthData(startDate, endDate, {}))); var req = loadMonthData(startDate, endDate, function (data) { if (lastReq !== req) { return; } updateMonthData(startDate, endDate, data); var _state4 = state, availableDays = _state4.availableDays; var newDate = availableDays.indexOf(dateStr) === -1 ? availableDays[0] : dateStr; setState({ loading: false, date: newDate || dateStr }); }); lastReq = req; }; var dateInTimeZone = function dateInTimeZone(date) { if (!date) return; var _state5 = state, timezone = _state5.timezone; var diffTime = (getTimezoneOffset(timezone) + 4) * oneHour; return new Date(date.getTime() - diffTime); }; var dz = function dz(date, tz1, tz2) { if (!date) return; var diffTime = (-tz1 + tz2) * oneHour; return new Date(date.getTime() + diffTime); }; var amPmConverter = function amPmConverter(_time) { var _props5 = props, _props5$timeFormat = _props5.timeFormat; _props5$timeFormat = _props5$timeFormat === undefined ? {} : _props5$timeFormat; var _props5$timeFormat$va = _props5$timeFormat.value, timeFormat = _props5$timeFormat$va === undefined ? '24 Hour' : _props5$timeFormat$va; if (!_time || !(typeof _time === 'string') || _time.indexOf('M') > -1 || !timeFormat || timeFormat === '24 Hour') { return _time; } var time = _time.substring(0, 2); var hour = time % 12 || 12; var ampm = time < 12 ? 'AM' : 'PM'; return '' + hour + _time.substring(2, 5) + ' ' + ampm; }; var validate = function validate(dateStr, cb) { var parts = dateStr.split(' '); var slot = parts.slice(1).join(' '); var _parts$0$split = parts[0].split('-'), y = _parts$0$split[0], m = _parts$0$split[1], d = _parts$0$split[2]; var startDate = new Date(y, m - 1, 1); var endDate = new Date(y, m, 0); loadMonthData(startDate, endDate, function (data) { var day = y + '-' + m + '-' + d; var isValid = JotForm.checkAppointmentAvailability(day, amPmConverter(slot), data); cb(isValid); if (!isValid) { var _assignObject3; // add unavailable slot if it is not in response for deselection data[day] = assignObject({}, data[day], (_assignObject3 = {}, _assignObject3[slot] = false, _assignObject3)); } // still in same month if (state.date.indexOf(y + '-' + m) === 0) { updateMonthData(startDate, endDate, data); } }); }; // let validationInterval; var setValue = function setValue(value) { input.value = value ? toDateTimeStr(dateInTimeZone(new Date(value.replace(/-/g, '/')))) : ''; setState({ value: value }); // clearInterval(validationInterval); var validation = function validation(_value) { var shouldValidate = _value || $(input).hasClassName('validate'); if (!shouldValidate) { $(input).addClassName('valid'); JotForm.corrected(input); return; } if (!_value) { $(input).removeClassName('valid'); return JotForm.errored(input, JotForm.texts.required); } validate(_value, function (isValid) { if (isValid) { $(input).addClassName('valid'); return JotForm.corrected(input); } // clearInterval(validationInterval); var parts = _value.split(' '); var dateStr = parts[0]; var date = new Date(dateStr); var day = getDay(date); var datetime = dayNames()[day] + ', ' + monthNames()[date.getMonth()] + ' ' + intPrefix(date.getUTCDate()) + ', ' + date.getFullYear(); var time = parts.slice(1).join(' '); var errorText = JotForm.texts.slotUnavailable.replace('{time}', time).replace('{date}', datetime); $(input).removeClassName('valid'); JotForm.errored(input, errorText); }); }; validation(value); // validationInterval = setInterval(() => { validation(state.value); }, 1000 * 5); }; var handleClick = function handleClick(e) { var target = e.target; var $target = $(target); if (!$target || !$target.hasClassName) { return; } if ($target.hasClassName('disabled') && !$target.hasClassName('active')) { return; } e.preventDefault(); var value = target.dataset.value; setValue($target.hasClassName('active') ? undefined : value); }; var setTimezone = function setTimezone(timezone) { tzInput.value = timezone; setState({ timezone: timezone }); if (input.value) { var date = toDateTimeStr(dz(new Date(input.value.replace(/-/g, '/')), -4, getTimezoneOffset(state.timezone))); setDate(date.split(' ')[0]); setState({ value: date }); } }; var handleTimezoneChange = function handleTimezoneChange(e) { var target = e.target; var timezone = target.value; setTimezone(timezone); }; var setDate = function setDate(date) { return setState({ date: date }); }; var handleDateChange = function handleDateChange(e) { var target = e.target; var date = target.dataset.value; if (!date) return; setDate(date); }; var handleMonthYearChange = function handleMonthYearChange(e) { var _e$target = e.target, dataset = _e$target.dataset, inputVal = _e$target.value; var name = dataset.name; if (!name) { return; } var _state6 = state, date = _state6.date; var oldDate = new Date(date); var oldMonth = oldDate.getMonth(); var oldYear = oldDate.getFullYear(); var oldDay = oldDate.getUTCDate(); var value = inputVal || e.target.getAttribute('value'); if (name === 'month') { return setDate(toDateStr(new Date(oldYear, value, oldDay))); } return setDate(toDateStr(new Date(value, oldMonth, oldDay))); }; var toggleMobileState = function toggleMobileState() { var $wrapper = $(wrapper); if ($wrapper.hasClassName('isOpenMobile')) { $wrapper.removeClassName('isOpenMobile'); } else { $wrapper.addClassName('isOpenMobile'); } }; var keepSlotsScrollPosition = function keepSlotsScrollPosition() { var visibleSlot = element.querySelector('.appointmentSlots.slots .slot.active, .appointmentSlots.slots .slot:not(.disabled)'); element.querySelector('.appointmentSlots.slots').scrollTop = visibleSlot ? visibleSlot.offsetTop : 0; }; var handleUIUpdate = function handleUIUpdate() { try { var breakpoints = { 450: 'isLarge', 225: 'isNormal', 175: 'shouldBreakIntoNewLine' }; var offsetWidth = function () { try { var appointmentCalendarRow = element.querySelector('.appointmentFieldRow.forCalendar'); var appointmendCalendar = element.querySelector('.appointmentCalendar'); return appointmentCalendarRow.getBoundingClientRect().width - appointmendCalendar.getBoundingClientRect().width; } catch (e) { return null; } }(); if (offsetWidth === null || parseInt(wrapper.readAttribute('data-breakpoint-offset'), 10) === offsetWidth) { return; } var breakpoint = Object.keys(breakpoints).reduce(function (prev, curr) { return Math.abs(curr - offsetWidth) < Math.abs(prev - offsetWidth) ? curr : prev; }); var breakpointName = breakpoints[breakpoint]; wrapper.setAttribute('data-breakpoint', breakpointName); wrapper.setAttribute('data-breakpoint-offset', offsetWidth); } catch (e) { // noop. } }; var effects = function effects() { var shouldLoad = changed.timezone && changed.timezone !== state.timezone || // time zone changed changed.date && getYearMonth(changed.date) !== getYearMonth(state.date); // y-m changed changed = {}; if (shouldLoad) { load(); } var cancelBtn = element.querySelector('.cancel'); if (cancelBtn) { cancelBtn.addEventListener('click', function () { setValue(undefined); }); } var forSelectedDate = element.querySelector('.forSelectedDate span'); if (forSelectedDate) { forSelectedDate.addEventListener('click', function () { setDate(state.value.split(' ')[0]); }); } element.querySelector('.calendar .days').addEventListener('click', handleDateChange); element.querySelector('.monthYearPicker').addEventListener('change', handleMonthYearChange); element.querySelector('.dayPicker').addEventListener('click', handleDateChange); element.querySelector('.timezonePicker').addEventListener('change', handleTimezoneChange); element.querySelector('.selectedDate').addEventListener('click', toggleMobileState); Array.prototype.slice.call(element.querySelectorAll('.monthYearPicker .pickerArrow')).forEach(function (el) { return el.addEventListener('click', handleMonthYearChange); }); Array.prototype.slice.call(element.querySelectorAll('.slot')).forEach(function (el) { return el.addEventListener('click', handleClick); }); keepSlotsScrollPosition(); if (window.CardForm) { window.addEventListener('resize', handleUIUpdate); handleUIUpdate(); } else { setInterval(function () { handleUIUpdate(); }, 250); } JotForm.runAllCalculations(); }; var renderMonthYearPicker = function renderMonthYearPicker() { var _state7 = state, date = _state7.date; var _split = (date || '-').split('-'), year = _split[0], month = _split[1]; var yearOpts = fillArray(new Array(20), '').map(function (v, i) { return '' + (2020 + i); }); return '\n <div class=\'monthYearPicker\'>\n <div class=\'pickerItem\'>\n <select class=\'pickerMonth\' data-name=\'month\'>\n ' + monthNames().map(function (monthName, i) { return '<option ' + (parseInt(month, 10) === i + 1 ? 'selected' : '') + ' value=\'' + i + '\'>' + monthName + '</option>'; }).join('') + '\n </select>\n <button type=\'button\' class=\'pickerArrow pickerMonthArrow prev\' value=\'' + (parseInt(month, 10) - 2) + '\' data-name=\'month\'></button>\n <button type=\'button\' class=\'pickerArrow pickerMonthArrow next\' value=\'' + parseInt(month, 10) + '\' data-name=\'month\'></button>\n </div>\n <div class=\'pickerItem\'>\n <select class=\'pickerYear\' data-name=\'year\'>\n ' + yearOpts.map(function (yearName) { return '<option ' + (year === yearName ? 'selected' : '') + '>' + yearName + '</option>'; }).join('') + '\n </select>\n <button type=\'button\' class=\'pickerArrow pickerYearArrow prev\' value=\'' + (parseInt(year, 10) - 1) + '\' data-name=\'year\' />\n <button type=\'button\' class=\'pickerArrow pickerYearArrow next\' value=\'' + (parseInt(year, 10) + 1) + '\' data-name=\'year\' />\n </div>\n </div>\n '; }; var getNav = function getNav() { var _state8 = state, availableDays = _state8.availableDays, dateStr = _state8.date; var next = void 0; var prev = void 0; var _dateStr$split2 = dateStr.split('-'), year = _dateStr$split2[0], month = _dateStr$split2[1]; if (availableDays) { var dayIndex = availableDays.indexOf(dateStr); if (dayIndex > 0) { prev = availableDays[dayIndex - 1]; } else { var prevDate = new Date(year, month - 1, 0); prev = toDateStr(prevDate); } if (dayIndex + 1 < availableDays.length) { next = availableDays[dayIndex + 1]; } else { var nextDate = new Date(year, month, 1); next = toDateStr(nextDate); } } return { prev: prev, next: next }; }; var renderDayPicker = function renderDayPicker() { var _state9 = state, loading = _state9.loading; var _getNav = getNav(), prev = _getNav.prev, next = _getNav.next; return '\n <div class=\'appointmentDayPicker dayPicker\'>\n <button type=\'button\' ' + (loading || !prev ? 'disabled' : '') + ' class="appointmentDayPickerButton prev" ' + (prev && 'data-value="' + prev + '"') + '>&lt;</button>\n <button type=\'button\' ' + (loading || !next ? 'disabled' : '') + ' class="appointmentDayPickerButton next" ' + (next && 'data-value="' + next + '"') + '>&gt;</button>\n </div>\n '; }; var renderTimezonePicker = function renderTimezonePicker() { var _state10 = state, timezone = _state10.timezone, timezones = _state10.timezones; return '\n <div class=\'timezonePickerWrapper\'> \n <select class=\'timezonePicker\'>\n ' + (!timezones.loading && timezones.map(function (_ref4) { var group = _ref4.group, cities = _ref4.cities; return '\n <optgroup label="' + group + '">\n ' + cities.map(function (val) { return '<option ' + (timezone === group + '/' + val ? 'selected' : '') + ' value=\'' + group + '/' + val + '\'>' + val + '</option>'; }).join('') + '\n </optgroup>\n '; }).join('')) + '\n </select>\n <div class=\'timezonePickerName\'>' + timezone + '</div>\n </div>\n '; }; var renderCalendarDays = function renderCalendarDays() { var _state11 = state, slots = _state11.slots, dateStr = _state11.date, value = _state11.value, availableDays = _state11.availableDays; var days = slots ? Object.keys(slots) : []; var todayStr = toDateStr(new Date()); if (!days.length) { return ''; } var firstDay = getDay(new Date(days[0])); days.unshift.apply(days, fillArray(new Array(firstDay), 'precedingDay')); var trailingDays = Math.ceil(days.length / 7) * 7 - days.length; days.push.apply(days, fillArray(new Array(trailingDays), 'trailingDay')); var weeks = days.map(function (item, i) { return i % 7 === 0 ? days.slice(i, i + 7) : null; }).filter(function (a) { return a; }); var dateValue = value && value.split(' ')[0]; return '\n ' + weeks.map(function (week) { return '<div class=\'calendarWeek\'>' + week.map(function (day) { if (day === 'precedingDay' || day === 'trailingDay') { return '<div class="calendarDay ' + day + ' empty"></div>'; } var active = day === dateStr; var isToday = todayStr === day; var isUnavailable = availableDays.indexOf(day) === -1; var isSelected = day === dateValue; var classes = 'calendarDay ' + classNames({ isSelected: isSelected, isToday: isToday, isUnavailable: isUnavailable, isActive: active }); return '<div class=\'' + classes + '\' data-value=\'' + day + '\'><span class=\'calendarDayEach\'>' + day.split('-')[2].replace(/^0/, '') + '</span></div>'; }).join('') + '</div>'; }).join('') + '\n '; }; var renderEmptyState = function renderEmptyState() { /* eslint-disable */ return '\n <div class="appointmentSlots-empty">\n <div class="appointmentSlots-empty-container">\n <div class="appointmentSlots-empty-icon">\n <svg width="124" height="102" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n <defs>\n <path d="M55 32.001c0 21.54 17.46 39 39 39 3.457 0 6.81-.45 10-1.294v34.794H0v-104l71 .001c-9.7 7.095-16 18.561-16 31.5z" id="a"/>\n </defs>\n <g fill="none" fill-rule="evenodd">\n <g transform="translate(-1 -1)">\n <mask id="b" fill="#fff">\n <use xlink:href="#a"/>\n </mask>\n <g mask="url(#b)">\n <path d="M18.85 52.001c9.858 0 17.85 7.992 17.85 17.85 0 9.859-7.992 17.85-17.85 17.85S1 79.71 1 69.851c0-9.858 7.992-17.85 17.85-17.85zm5.666 10.842L17.38 69.98l-2.44-2.44a2.192 2.192 0 00-3.1 3.1l3.99 3.987a2.192 2.192 0 003.098 0l8.687-8.686a2.191 2.191 0 00-3.1-3.099z" fill="#D5D6DA"/>\n <path d="M92.043 10.643H81.597V7.576A6.582 6.582 0 0075.023 1a6.582 6.582 0 00-6.574 6.575v3.067H41.833V7.576A6.582 6.582 0 0035.26 1a6.582 6.582 0 00-6.574 6.575v3.149a2.187 2.187 0 00-.585-.082H19.37c-6.042 0-10.957 4.916-10.957 10.958v27.126a2.192 2.192 0 004.383 0V33.215h86.211a2.192 2.192 0 000-4.383H12.795v-7.231a6.582 6.582 0 016.574-6.575H28.1c.203 0 .398-.03.585-.08v2.82a6.582 6.582 0 006.574 6.574c3.625 0 10.574-2.95 10.574-6.574v-2.74H68.45v2.74a6.582 6.582 0 006.574 6.574c3.625 0 7.574-2.95 7.574-6.574v-2.74h9.446a6.582 6.582 0 016.574 6.575v73.072a3.95 3.95 0 01-3.946 3.945h-77.95a3.95 3.95 0 01-3.944-3.944v-5.67c0-1.047-.981-2.192-2.192-2.192-1.21 0-2.191.981-2.191 2.192v5.67c0 4.592 3.736 8.327 8.327 8.327h77.95c4.592 0 8.328-3.736 8.328-8.328V21.601c0-6.042-4.915-10.958-10.957-10.958zM37.45 17.766a2.194 2.194 0 01-2.191 2.191 2.194 2.194 0 01-2.191-2.191V7.576c0-1.209.983-2.192 2.19-2.192 1.21 0 2.192.983 2.192 2.192v10.19zm39.764 0a2.194 2.194 0 01-2.191 2.191 2.194 2.194 0 01-2.191-2.191V7.576c0-1.209.983-2.192 2.191-2.192 1.208 0 2.191.983 2.191 2.192v10.19z" fill="#D5D6DA" fill-rule="nonzero"/>\n <path d="M55.68 63.556c-4.592 0-8.328 3.736-8.328 8.327 0 4.592 3.736 8.328 8.327 8.328 4.592 0 8.328-3.736 8.328-8.328 0-4.591-3.736-8.327-8.328-8.327zm0 12.272a3.95 3.95 0 01-3.945-3.945 3.95 3.95 0 013.944-3.944 3.95 3.95 0 013.945 3.944 3.95 3.95 0 01-3.945 3.945zm26.854-12.272c-4.591 0-8.327 3.736-8.327 8.327 0 4.592 3.736 8.328 8.327 8.328 4.592 0 8.328-3.736 8.328-8.328 0-4.591-3.736-8.327-8.328-8.327zm0 12.272a3.95 3.95 0 01-3.944-3.945 3.95 3.95 0 013.944-3.944 3.95 3.95 0 013.945 3.944 3.95 3.95 0 01-3.945 3.945zM30.126 36.701c-4.591 0-8.327 3.736-8.327 8.328 0 4.591 3.736 8.327 8.327 8.327 4.592 0 8.328-3.736 8.328-8.327 0-4.592-3.736-8.328-8.328-8.328zm0 12.272a3.95 3.95 0 01-3.944-3.944 3.95 3.95 0 013.944-3.945 3.95 3.95 0 013.945 3.945 3.95 3.95 0 01-3.945 3.944z" fill="#D5D6DA" fill-rule="nonzero"/>\n <path d="M83.836 36.701c-4.592 0-8.328 3.736-8.328 8.328 0 4.591 3.736 8.327 8.328 8.327 4.591 0 8.327-3.736 8.327-8.327 0-4.592-3.736-8.328-8.327-8.328zm0 12.272a3.95 3.95 0 01-3.945-3.944 3.95 3.95 0 013.945-3.945 3.95 3.95 0 013.944 3.945 3.95 3.95 0 01-3.944 3.944z" fill="#2B3245" fill-rule="nonzero"/>\n <path d="M56.981 36.701c-4.592 0-8.327 3.736-8.327 8.328 0 4.591 3.735 8.327 8.327 8.327 4.592 0 8.327-3.736 8.327-8.327 0-4.592-3.735-8.328-8.327-8.328zm0 12.272a3.95 3.95 0 01-3.944-3.944 3.95 3.95 0 013.944-3.945 3.95 3.95 0 013.945 3.945 3.95 3.95 0 01-3.945 3.944z" fill="#D5D6DA" fill-rule="nonzero"/>\n <path d="M68.829 11.201l.001 6.375a6.375 6.375 0 006.146 6.371l.229.004a6.375 6.375 0 006.371-6.146l.004-.229-.001-6.375h6.871c6.627 0 12 5.373 12 12v8.4H11.2v-8.4c0-6.627 5.373-12 12-12h5.849l.001 6.75a6 6 0 005.775 5.996l.225.004h.375a6.375 6.375 0 006.375-6.375l-.001-6.375h27.03z" fill="#D5D6DA"/>\n </g>\n </g>\n <path d="M92 0c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32C60 14.327 74.327 0 92 0zm21.268 15.365L75.365 53.268A26.884 26.884 0 0092 59c14.912 0 27-12.088 27-27a26.88 26.88 0 00-5.732-16.635zM92 5C77.088 5 65 17.088 65 32c0 6.475 2.28 12.417 6.079 17.069l37.99-37.99A26.888 26.888 0 0092 5z" fill="#D5D6DA"/>\n </g>\n </svg>\n </div>\n <div class="appointmentSlots-empty-text">' + JotForm.texts.noSlotsAvailable + '</div>\n </div>\n </div>\n '; /* eslint-enable */ }; var renderSlots = function renderSlots() { var _state12 = state, dateStr = _state12.date, _state12$value = _state12.value, dateValue = _state12$value === undefined ? '' : _state12$value; var _props6 = props, _props6$timeFormat = _props6.timeFormat; _props6$timeFormat = _props6$timeFormat === undefined ? {} : _props6$timeFormat; var _props6$timeFormat$va = _props6$timeFormat.value, timeFormat = _props6$timeFormat$va === undefined ? '24 Hour' : _props6$timeFormat$va; var entries = state.slots && state.slots[dateStr] && objectEntries(state.slots[dateStr]); if (!entries || !entries.length) { return renderEmptyState(); } var stateTime = new Date(dateValue.replace(/-/g, '/')).toLocaleTimeString('en-US', { hour: 'numeric', minute: 'numeric', hour12: timeFormat === 'AM/PM' }); var stateDate = dateValue && dateValue.split(' ')[0]; return entries.map(function (_ref5) { var name = _ref5[0], value = _ref5[1]; var slotValue = dateStr + ' ' + name; var stateValue = stateDate + ' ' + stateTime; var isActive = stateValue === slotValue; return '<div class="appointmentSlot slot ' + classNames({ disabled: !value, active: isActive }) + '" data-value="' + slotValue + '">' + name + '</div>'; }).join(''); }; var renderDay = function renderDay() { var _state13 = state, dateStr = _state13.date; var date = new Date(dateStr); var day = getDay(date); return '\n <div class=\'appointmentDate\'>\n ' + (dateStr && dayNames()[day] + ', ' + monthNames()[date.getUTCMonth()] + ' ' + intPrefix(date.getUTCDate())) + '\n </div>\n '; }; var renderCalendar = function renderCalendar() { var _state14 = state, dateStr = _state14.date; return '\n <div class=\'selectedDate\'>\n <input class=\'currentDate\' type=\'text\' value=\'' + toFormattedDateStr(dateStr) + '\' style=\'pointer-events: none;\' />\n </div>\n ' + renderMonthYearPicker() + '\n <div class=\'appointmentCalendarDays days\'>\n <div class=\'daysOfWeek\'>\n ' + dayNames().map(function (day) { return '<div class="dayOfWeek ' + day.toLowerCase() + '">' + day.toUpperCase().slice(0, 3) + '</div>'; }).join('') + '\n </div>\n ' + renderCalendarDays() + '\n </div>\n '; }; var renderSelectedDate = function renderSelectedDate() { var _state15 = state, _state15$value = _state15.value, value = _state15$value === undefined ? '' : _state15$value; var dateStr = value && value.split(' ')[0]; var _props7 = props, _props7$timeFormat = _props7.timeFormat; _props7$timeFormat = _props7$timeFormat === undefined ? {} : _props7$timeFormat; var _props7$timeFormat$va = _props7$timeFormat.value, timeFormat = _props7$timeFormat$va === undefined ? '24 Hour' : _props7$timeFormat$va; var date = new Date(dateStr); var time = new Date(value.replace(/-/g, '/')).toLocaleTimeString('en-US', { hour: 'numeric', minute: 'numeric', hour12: timeFormat === 'AM/PM' }); var day = getDay(date); var datetime = dayNames()[day] + ', ' + monthNames()[date.getUTCMonth()] + ' ' + intPrefix(date.getUTCDate()) + ', ' + date.getFullYear(); var text = JotForm.texts.appointmentSelected.replace('{time}', time).replace('{date}', datetime); var valEl = '<div style=\'display: none\' class=\'jsAppointmentValue\'>' + datetime + ' ' + time + '</div>'; return value ? valEl + '<div class=\'appointmentFieldRow forSelectedDate\'><span>' + text + '</span><button type=\'button\' class=\'cancel\'>x</button></div>' : ''; }; var render = debounce(function () { var _state16 = state, loading = _state16.loading; beforeRender(); element.innerHTML = '\n <div class=\'appointmentFieldContainer\'>\n <div class=\'appointmentFieldRow forCalendar\'>\n <div class=\'calendar appointmentCalendar\'>\n <div class=\'appointmentCalendarContainer\'>\n ' + renderCalendar() + '\n </div>\n </div>\n <div class=\'appointmentDates\'>\n <div class=\'appointmentDateSelect\'>\n ' + renderDay() + '\n ' + renderDayPicker() + '\n </div>\n <div class=\'appointmentSlots slots ' + classNames({ isLoading: loading }) + '\'>\n <div class=\'appointmentSlotsContainer\'>\n ' + renderSlots() + '\n </div>\n </div>\n <div class=\'appointmentCalendarTimezone forTimezonePicker\'>\n ' + renderTimezonePicker() + '\n </div>\n </div>\n </div>\n ' + renderSelectedDate() + '\n </div>\n '; afterRender(); }); var update = function update(newProps) { state = getStateFromProps(newProps); props = newProps; load(); }; input.addEventListener('change', function (e) { var date = toDateTimeStr(dz(new Date(e.target.value), -4, getTimezoneOffset(state.timezone))); setDate(date.split(' ')[0]); setState({ value: date }); }); tzInput.addEventListener('change', function (e) { return setTimezone(e.target.value); }); document.addEventListener('translationLoad', function () { return render(); }); var getInitialData = function getInitialData(timezones) { getFirstAvailableDates(function (data) { JotForm.appointments.initialData = data; JotForm.appointments.listeners.forEach(function (fn) { return fn({ data: data, timezones: timezones }); }); }); }; if (!JotForm.appointments) { JotForm.appointments = { listeners: [] }; loadTimezones(function (timezones) { JotForm.timezones = timezones; getInitialData(timezones); }); } var requestTry = 1; var requestTimeout = 1000; var construct = function construct(_ref6) { var data = _ref6.data, timezones = _ref6.timezones; var qdata = data[props.id.value]; if (!qdata || qdata.error) { constructed = true; if (!qdata && requestTry < 4) { requestTry += 1; setTimeout(function () { getInitialData(JotForm.timezones); }, requestTry * requestTimeout); } return; } constructed = false; var userTimezone = getUserTimezone(); var _userTimezone$split = userTimezone.split('/'), cont = _userTimezone$split[0], city = _userTimezone$split[1]; var timezone = timezones[cont] && timezones[cont].find(function (c) { return c.indexOf(city) !== -1; }) && userTimezone || props.timezone.value; setTimezone(timezone); var dateStr = Object.keys(qdata)[0]; var _getDateRange2 = getDateRange(dateStr), startDate = _getDateRange2[0], endDate = _getDateRange2[1]; updateMonthData(startDate, endDate, qdata); var _state17 = state, availableDays = _state17.availableDays; var newDate = availableDays.indexOf(dateStr) === -1 ? availableDays[0] : dateStr; constructed = true; setState({ timezones: timezones, loading: false, date: newDate || dateStr }); }; JotForm.appointments.listeners.push(construct); if (JotForm.appointments.initialData) { setTimeout(function () { construct({ data: JotForm.appointments.initialData, timezones: JotForm.timezones }); }, requestTimeout); } return update; })({"text":{"text":"Question","value":"Senior Session August 22nd"},"labelAlign":{"text":"Label Align","value":"Top","dropdown":[["Auto","Auto"],["Left","Left"],["Right","Right"],["Top","Top"]]},"required":{"text":"Required","value":"No","dropdown":[["No","No"],["Yes","Yes"]]},"description":{"text":"Hover Text","value":"","textarea":true},"slotDuration":{"text":"Slot Duration","value":"10","dropdown":[[15,"15 min"],[30,"30 min"],[45,"45 min"],[60,"60 min"],["custom","Custom min"]],"hint":"Select how long each slot will be."},"startDate":{"text":"Start Date","value":"2020-08-22"},"endDate":{"text":"End Date","value":"2020-08-22"},"intervals":{"text":"Intervals","value":[{"from":"09:00","to":"16:00","days":["Mon","Tue","Wed","Thu","Fri"]}],"hint":"The hours will be applied to the selected days and repeated."},"useBlockout":{"text":"Blockout Custom Dates","value":"No","dropdown":[["No","No"],["Yes","Yes"]],"hint":"Disable certain date(s) in the calendar."},"blockoutDates":{"text":"Blockout dates","value":[{"startDate":"","endDate":""}]},"useLunchBreak":{"text":"Lunch Time","value":"Yes","dropdown":[["No","No"],["Yes","Yes"]],"hint":"Enable lunchtime in the calendar."},"lunchBreak":{"text":"Lunchtime hours","value":[{"from":"12:00","to":"14:00"}]},"timezone":{"text":"Timezone","value":"America/New_York (GMT-04:00)"},"timeFormat":{"text":"Time Format","value":"AM/PM","dropdown":[["24 Hour","24 Hour"],["AM/PM","AM/PM"]],"icon":"images/blank.gif","iconClassName":"toolbar-time_format_24"},"months":{"value":["January","February","March","April","May","June","July","August","September","October","November","December"],"hidden":true},"days":{"value":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"hidden":true},"startWeekOn":{"text":"Start Week On","value":"Sunday","dropdown":[["Monday","Monday"],["Sunday","Sunday"]],"toolbar":false},"rollingDays":{"text":"Rolling Days","value":"","toolbar":false},"appointmentType":{"hidden":true,"value":"single"},"dateFormat":{"hidden":true,"value":"mm/dd/yyyy"},"maxAttendee":{"hidden":true,"value":"5"},"maxEvents":{"hidden":true,"value":""},"minScheduleNotice":{"hidden":true,"value":"3"},"name":{"hidden":true,"value":"appointment126"},"order":{"hidden":true,"value":"20"},"qid":{"toolbar":false,"value":"input_126"},"type":{"hidden":true,"value":"control_appointment"},"id":{"toolbar":false,"value":"126"},"qname":{"toolbar":false,"value":"q126_appointment126"},"cdnconfig":{"CDN":"https://cdn.jotfor.ms/"},"passive":false,"formProperties":{"products":[{"connectedCategories":"[]","connectedProducts":"[]","customPrice":"","customPriceSource":"0","description":"•\t10 minute yearbook session \n•\tSenior yearbook portrait with formal attire (tuxedo or drape).\n•\tSession will either be held on a pre-determined date by your school or scheduled at Lyryn Kay Photography. \n•\tOnline preview gallery of five (5) proofs \n•\tOne (1) fully edited yearbook photo submission + high resolution digital file to keep. \n•\tPrints, products, and digital images are available to order via an online gallery. \n","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/Rosario-Sabrina-e1493659816547.webp?nc=1\"]","name":"Basic Yearbook Session","options":[],"period":"Monthly","pid":"1000","price":"35","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"","trial":""},{"connectedCategories":"[]","connectedProducts":"[]","customPrice":"","customPriceSource":"0","description":"•\t30 minute session \n•\tSenior yearbook portrait with formal attire (tuxedo or drape).\n•\tSenior portrait with cap and gown. \n•\tOnline preview gallery\n•\tOne (1) fully edited yearbook photo submission.\n•\tFive (5) fully edited, high resolution digital files to keep \n•\tPrints and products are available to order via an online gallery. \n","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/nysleah08_6442_ws.jpg?nc=1\"]","name":"Cap & Gown Mini Session","options":[],"period":"Monthly","pid":"1001","price":"125","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"","trial":""},{"connectedCategories":"[]","connectedProducts":"[]","customPrice":"","customPriceSource":"0","description":"\n•\tOne hour session\n•\tSenior yearbook portrait with formal attire (tuxedo or drape).\n•\tSenior portrait with cap and gown. \n•\tUp to two outfit changes and props (music, sports, etc.)\n•\tOnline preview gallery\n•\tOne (1) fully edited yearbook photo submission.\n•\tTwenty (20) fully edited, high resolution digital files to keep \n•\tPrints and products are available to order via an online gallery. \n","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/72181706_10158929209969554_5643620669422829568_o.jpg?nc=1\"]","name":"Senior Portrait Session","options":[],"period":"Monthly","pid":"1002","price":"225","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"","trial":""},{"connectedCategories":"[]","connectedProducts":"[]","customPrice":"","customPriceSource":"0","description":"•\t90 minute session\n•\tSenior yearbook portrait with formal attire (tuxedo or drape).\n•\tSenior portrait with cap and gown. \n•\tUp to three outfits, styles & props\n•\tUp to two locations (within 20 miles of Morgantown)\n•\tOnline preview gallery\n•\tOne (1) fully edited yearbook photo submission.\n•\tTwenty (30) fully edited, high resolution digital files to keep \n•\t$20 print credit\n•\tPrints and products are available to order via an online gallery. \n","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/72550671_10159001266464554_8407420815749939200_o.jpg?nc=1\"]","name":"Creative Senior Session","options":[],"period":"Monthly","pid":"1003","price":"300","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"","trial":""},{"connectedCategories":"[]","connectedProducts":"[]","customPrice":"","customPriceSource":"0","description":"•\tTwo hour session\n•\tSenior yearbook portrait with formal attire (tuxedo or drape).\n•\tSenior portrait with cap and gown. \n•\tUp to four outfits, styles & props\n•\tUp to three locations (within 20 miles of Morgantown)\n•\tOnline preview gallery\n•\tOne (1) fully edited yearbook photo submission.\n•\tTwenty (40) fully edited, high resolution digital files to keep \n•\t$30 print credit\n•\tPrints and products are available to order via an online gallery. \n","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/73497930_10158986599099554_4635501453169917952_o.jpg?nc=1\"]","name":"Premium Senior Session","options":[],"period":"Monthly","pid":"1004","price":"400","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"","trial":""},{"cid":"","connectedCategories":"[]","connectedProducts":"[]","corder":"","customPrice":"","customPriceSource":"0","description":"Want some portraits taken with your significant other or sibling? Or maybe you just want to experience senior portraits along side your best friend? Just add this to your order! ** Please note - this is not a session you can slit. This is an add on only to another person to your session. If your friends wants their own senior pictures at the same time, I suggest purchasing a Dule Session. \n","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/friends.jpg?nc=1\"]","name":"Friend Session - ADD ON ONLY","options":[],"period":"Monthly","pid":"1005","price":"50.00","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"0","trial":""},{"cid":"","connectedCategories":"[]","connectedProducts":"[]","corder":"","customPrice":"","customPriceSource":"0","description":"Once the kids start leaving home, it becomes almost impossible to get everyone together for a family portrait. Add your family to your senior portrait session for $99. I’ll take pictures of everyone together and I’ll also photograph the kids together. You’ll receive four additional digital images with reprint rights.","fitImageToCanvas":"Yes","hasExpandedOption":"","hasQuantity":"","hasSpecialPricing":"","icon":"","images":"[\"https://www.jotform.com/uploads/Lyryn/form_files/fam.jpg?nc=1\"]","name":"Family Portrait - ADD ON ONLY","options":[],"period":"Monthly","pid":"1006","price":"99","recurringtimes":"No Limit","required":"","selected":"","setupfee":"","showSubtotal":"0","trial":""}],"highlightLine":"Enabled","coupons":false,"useStripeCoupons":false,"taxes":false,"comparePaymentForm":"","paymentListSettings":[{"minTotalOrderAmount":"0","productCategories":"[]","productListLayout":"HR","showCategory":"No","showCategoryTitle":"Yes","showMinTotalOrderAmount":"No","showSearch":"No"}],"newPaymentUIForNewCreatedForms":false},"formID":201664571923154,"themeVersion":"v1"}); if (window.JotForm && JotForm.accessible) $('input_144').setAttribute('tabindex',0); if (window.JotForm && JotForm.accessible) $('input_148').setAttribute('tabindex',0); if (window.JotForm && JotForm.accessible) $('input_169').setAttribute('tabindex',0); if (window.JotForm && JotForm.accessible) $('input_170').setAttribute('tabindex',0); if (window.JotForm && JotForm.accessible) $('input_149').setAttribute('tabindex',0); if (window.JotForm && JotForm.accessible) $('input_150').setAttribute('tabindex',0); JotForm.calendarMonths = ["January","February","March","April","May","June","July","August","September","October","November","December"]; JotForm.calendarDays = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]; JotForm.calendarOther = {"today":"Today"}; var languageOptions = document.querySelectorAll('#langList li'); for(var langIndex = 0; langIndex < languageOptions.length; langIndex++) { languageOptions[langIndex].on('click', function(e) { setTimeout(function(){ JotForm.setCalendar("194", false, {"days":{"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"sunday":true},"future":true,"past":true,"custom":false,"ranges":false,"start":"","end":""}); }, 0); }); } JotForm.setCalendar("194", false, {"days":{"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"sunday":true},"future":true,"past":true,"custom":false,"ranges":false,"start":"","end":""}); JotForm.calendarMonths = ["January","February","March","April","May","June","July","August","September","October","November","December"]; JotForm.calendarDays = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]; JotForm.calendarOther = {"today":"Today"}; var languageOptions = document.querySelectorAll('#langList li'); for(var langIndex = 0; langIndex < languageOptions.length; langIndex++) { languageOptions[langIndex].on('click', function(e) { setTimeout(function(){ JotForm.setCalendar("196", false, {"days":{"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"sunday":true},"future":true,"past":true,"custom":false,"ranges":false,"start":"","end":""}); }, 0); }); } JotForm.setCalendar("196", false, {"days":{"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"sunday":true},"future":true,"past":true,"custom":false,"ranges":false,"start":"","end":""}); JotForm.newDefaultTheme = false; JotForm.newPaymentUIForNewCreatedForms = false; JotForm.alterTexts({"couponApply":"Apply","couponBlank":"Please enter a coupon.","couponChange":"","couponEnter":"Enter coupon","couponExpired":"Coupon is expired. Please try another one.","couponInvalid":"Coupon is invalid.","couponValid":"Coupon is valid.","shippingShipping":"Shipping","taxTax":"Tax","totalSubtotal":"Subtotal","totalTotal":"Total"}, true); JotForm.clearFieldOnHide="disable"; /*INIT-END*/ }); JotForm.prepareCalculationsOnTheFly([null,null,{"name":"submit","qid":"2","text":"Submit","type":"control_button"},null,null,null,null,null,null,null,null,null,null,null,null,{"name":"parents15","qid":"15","text":"Parent(s) \u002F Guardian(s) Name","type":"control_fullname"},{"name":"address","qid":"16","text":"Address","type":"control_address"},null,{"name":"parents","qid":"18","text":"Parent(s) \u002F Guardian(s) Phone Number","type":"control_phone"},{"name":"parents19","qid":"19","text":"Parent(s) \u002F Guardian(s) E-mail","type":"control_email"},null,null,{"name":"seniorSignature","qid":"22","text":"Senior Signature ","type":"control_widget"},{"name":"copyrightAnd","qid":"23","text":"Copyright and Reproductions.","type":"control_checkbox"},{"name":"serviceAnd","qid":"24","text":"Service and Payment","type":"control_checkbox"},{"name":"artisticRights","qid":"25","text":"Artistic Rights","type":"control_checkbox"},null,null,null,null,null,{"name":"sessionRescheduling31","qid":"31","text":"Session Rescheduling","type":"control_checkbox"},null,{"name":"cooperation33","qid":"33","text":"Cooperation","type":"control_checkbox"},null,{"name":"locationAccess35","qid":"35","text":"Location Access, Fees, Permits & House Rules","type":"control_checkbox"},null,null,{"name":"limitationsOn","qid":"38","text":"Limitations on Light","type":"control_checkbox"},{"name":"weatherLimitations39","qid":"39","text":"Weather Limitations for Portrait Sessions","type":"control_checkbox"},{"name":"cullingamp","qid":"40","text":"Culling & Editing","type":"control_checkbox"},{"name":"additionalImagesraw41","qid":"41","text":"Additional Images\u002FRAW Images","type":"control_checkbox"},null,null,{"name":"limitOf44","qid":"44","text":"Limit of Liability","type":"control_checkbox"},{"name":"indemnification","qid":"45","text":"INDEMNIFICATION","type":"control_checkbox"},null,null,null,null,null,null,{"name":"clickTo52","qid":"52","text":"Signature","type":"control_widget"},null,{"name":"lyrynKay","qid":"54","text":"Lyryn Kay Photography is committed to respecting the privacy of her clients. No images will be shown without the written permission from Client as selected in this clause. Normally, Lyryn Kay Photography will post teasers to her Facebook page shortly after the session; will blog the session as images are uploading to the final gallery; will share images on social media; will update her website galleries to include session images; and will use for promotional uses online and in print. (Please check all that apply)","type":"control_checkbox"},null,null,null,null,null,null,null,{"name":"image","qid":"62","text":"logo.5ee7bee8854958.26759225","type":"control_image"},{"name":"doubleclickTo63","qid":"63","text":"Congratulations class of 2021! Senior Year is an exciting time and Senior Portraits are a fun part of that monumental rite of passage.\nThis year, Conestoga Christian School has chosen to partner with Lyryn Kay Photography to ensure uniformity and equity within the senior class as well maintain a consistent look throughout the senior section of the yearbook. Please fill out this form completely. ","type":"control_text"},{"name":"seniorsName","qid":"64","text":"Senior's Name","type":"control_fullname"},{"name":"modelsName","qid":"65","text":"Model's Name","type":"control_fullname"},{"name":"terms","qid":"66","text":"TERMS:","type":"control_checkbox"},null,{"name":"limitedReproduction","qid":"68","text":"Limited Reproduction & Print Release for Personal Use Only:","type":"control_checkbox"},{"name":"printsamp","qid":"69","text":"Prints & Products Ordered Through Your Online Gallery (Terms of Sale)","type":"control_checkbox"},null,null,null,null,null,null,null,null,null,{"description":"","name":"seniorsFacebook","qid":"79","subLabel":"","text":"Senior's Facebook Profile","type":"control_textbox"},{"description":"","name":"seniorsInstagram","qid":"80","subLabel":"","text":"Senior's Instagram Profile","type":"control_textbox"},null,null,{"description":"","name":"experience","qid":"83","text":"Experience ","type":"control_payment"},null,null,null,null,null,null,null,{"name":"sessionInformation91","qid":"91","text":"Session Information & Understanding","type":"control_head"},{"name":"divider","qid":"92","type":"control_divider"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"name":"pageBreak","qid":"107","text":"Page Break","type":"control_pagebreak"},null,null,null,null,null,{"name":"input113","qid":"113","text":"Schedule Formal Portrait Session Now\nNo matter what experience you choose, every senior must sign up for one of the times below.\nYour yearbook portrait will be a traditional head and shoulder pose in the required suit or drape.  These portraits will be taken at the school. To schedule your session, choose an available time from one of the dates below.\nGuys: You should wear a white dress shirt, a dark colored suit with a plain tie. Unless you wear facial hair, you should shave before your appointment.\nLadies: Lyryn Kay will provide the drape.  Since your shoulders are uncovered while wearing the drape, please wear a cami or tank top with thin straps for the formal sitting. Straps must be pushed down when the drape is worn. Wear makeup for your pictures. You don't have to do too much - just enhance your natural look.\nGuys or Girls -  Avoid strong patterns - simple is best for formals. Middle tones or dark colors usually look best for the yearbook style poses. For casuals or outdoor photos, wear what you like. \n* All &quot;Graduate&quot; experiences are 10 minutes.  If you purchased another experience please note the times you will need for you session below.  Then sign up for as many slots you need for your session. \n\n\n\nYearbook\nCreative Mini\nFull Creative\nPremium\n\n\n 30 Min.\n1 Hour\n 30 Min.\n 30 Min.\n\n\n","type":"control_text"},null,null,null,null,null,{"description":"","name":"seniorIs","qid":"119","text":"Senior is over the age of 18","type":"control_checkbox"},null,null,{"name":"pageBreak122","qid":"122","text":"Page Break","type":"control_pagebreak"},{"name":"input123","qid":"123","text":"Choose Your Experience\nAll Conestoga seniors must sign up for the &quot;Graduate&quot; experience. This ensure that your child will be in the senior section of the 2021 yearbook. Choose a session that fits your personality for pictures that you will treasure for years.\n\nFor a more extensive portrait experience, you may choose another experience listed below.  The other experiences add a varity of poses and clothing changes to showcase your senior's personality and style. These poses will be more casual and include full-length poses. Some of the packages offer Outdoor settings, musical instruments, props or you may even add siblings or pets. *Please note that if you choose an experience that offers this, we will schedule that on a different date then your formal session and cap and gown.\nFAQ\nWhat is the sitting fee for the yearbook portrait? There is no sitting fee. All Students are required to get one of the packages listed below. We have made the lowest package very afforable for all seniors.\nMay we use another photographer for causal senior portriats?  Seniors may use another photographer for any other casual images in the yearbook, but please keep in mind that Lyryn Kay Photography is offering an array of packages at an already discounted rate to all Conestoga seniors.\nWhat if students cannot afford the sitting fee? Lyryn Kay Photography never want a senior to miss out on senior portriate because of financial reasons - please reach out to Lyryn Kay Photography directly if you would like to dicuss the possiblity of a payment plan. Lyryn@yacoe.me 484-678-6838","type":"control_text"},null,{"description":"","name":"appointment","qid":"125","text":"Senior Session July 24th","type":"control_appointment"},{"description":"","name":"appointment126","qid":"126","text":"Senior Session August 22nd","type":"control_appointment"},null,null,null,null,null,null,null,null,null,null,null,{"name":"iAm","qid":"138","text":"I am not available either of these days ","type":"control_widget"},{"name":"pageBreak139","qid":"139","text":"Page Break","type":"control_pagebreak"},{"name":"input140","qid":"140","text":"Can I schedule another date\u002Ftime? Yes. If the dates listed below do not work, just check the box below. Lyryn Kay will then reach out and you will be more than welcome to schedule a sitting any time prior to September 15. Schedule now, late summer appointments fill-up fast.","type":"control_text"},{"name":"pageBreak141","qid":"141","text":"Page Break","type":"control_pagebreak"},null,{"name":"chooseThree143","qid":"143","text":"Choose three dates ","type":"control_widget"},{"description":"","name":"doYou","qid":"144","subLabel":"**If you don&#039;t have a preference, I will share a list of the favorite locations in your area to get a variety of background options!","text":"Do you have any specific location(s) within that general area that you are hoping to have your session take place at? (Example: My home, a park near my house, my high school gym, etc.) ","type":"control_textarea"},{"description":"","name":"tellMe","qid":"145","text":"Tell me about who will likely be at this session. Some people prefer to come alone and work solo with me, others love to have a supportive best friend there to hype them up, and some like to bring a parent or another adult along.","type":"control_checkbox"},{"description":"","name":"moreTo146","qid":"146","text":"More to your Session","type":"control_checkbox"},null,{"description":"","name":"listOf","qid":"148","subLabel":"","text":"List of activities, clubs, and hobbies that might play a part in your session.","type":"control_textarea"},{"description":"","name":"areThere","qid":"149","subLabel":"","text":"Are there any specific shots\u002Fposes you are wanting from your session?","type":"control_textarea"},{"description":"","name":"pleaseShare","qid":"150","subLabel":"","text":"Please share any other information about what you are hoping for from your session.","type":"control_textarea"},null,{"description":"","name":"parentguardiansName","qid":"152","text":"Parent\u002FGuardian's Name","type":"control_fullname"},null,null,null,null,{"description":"","name":"understanding157","qid":"157","text":"Understanding","type":"control_checkbox"},{"description":"","name":"scheduleArrangements","qid":"158","text":"Schedule Arrangements","type":"control_checkbox"},null,{"name":"seniorInitials","qid":"160","text":"Senior Initials","type":"control_widget"},null,{"name":"pageBreak162","qid":"162","text":"Page Break","type":"control_pagebreak"},{"name":"seniorInitials163","qid":"163","text":"Senior Initials","type":"control_widget"},{"name":"divider164","qid":"164","type":"control_divider"},{"name":"parentguardianInitials","qid":"165","text":"Parent\u002FGuardian Initials","type":"control_widget"},{"name":"parentguardianInitials166","qid":"166","text":"Parent\u002FGuardian Initials","type":"control_widget"},{"name":"divider167","qid":"167","type":"control_divider"},null,{"description":"","name":"doYou169","qid":"169","subLabel":"","text":"Do you have access to any cool props? Do you plan on bringing any props with you?","type":"control_textarea"},{"description":"","name":"whatPart","qid":"170","subLabel":"","text":"What part of yourself are you the most proud of? Can be physical or something you have done.","type":"control_textarea"},{"description":"","name":"input171","qid":"171","template":"Do you have a Pintrest account and have Ideas to share with me?\u003Cbr\u002F\u003E{1594391250596-1}   {1594391250596-2}  IF so provide your a link to your Pintrest Page:{1594391302896-shorttext}   \u003Cbr\u002F\u003E   ","text":"","type":"control_inline"},{"description":"","name":"seniorsEmail","qid":"172","subLabel":"example@example.com","text":"Senior's E-mail","type":"control_email"},{"description":"","name":"parentsFacebook","qid":"173","subLabel":"","text":"Parent's Facebook Profile","type":"control_textbox"},{"description":"","name":"parentsInstagram","qid":"174","subLabel":"","text":"Parent's Instagram Profile","type":"control_textbox"},null,{"name":"input176","qid":"176","text":"Full and Premium Sessions\n\nIf you purchased the Full or Premium Session this is all about making your personality show! Take your time to fill out the information below. I will use your answers to customize your session to be as unique as you are! If you are under 18, please be sure to have a parent with you to fill out this contact. Thank you!","type":"control_text"},{"name":"input177","qid":"177","text":"Social Media &amp; Permissions\n\nI hereby give to Lyryn Kay Photography the absolute and irrevocable right and permission with respect to the photographs that he\u002Fshe has taken of myself and\u002For my minor child in which he\u002Fshe may be included with others: the irrevocable and unrestricted right to use and publish photographs of me, or in which I may be included, for editorial trade, advertising, and any other purpose and in any manner and medium; and to alter the same without restriction. I hereby release the Photographer and her legal representatives and assigns from all claims and liability relating to said photographs.\nThe Client may share web\u002Fblog post links and social media albums through use of the share functions and dissemination of direct links. The Client shall not copy, download, screen shot, or capture the photographs in any other fashion. When uploading to a Facebook Social Media profile, the Client shall &quot;tag&quot; the Photographer’s business page and mention the Lyryn Kay Photography in the caption on Facebook (Lyryn Kay Photography) and or Instagram (@LyrynKayPhotography).","type":"control_text"},{"description":"","name":"pleaseDescribe178","qid":"178","text":"Please describe the type of location you are interested in. (Choose as many as you would like)","type":"control_checkbox"},null,{"description":"","name":"viewingGallerycredits","qid":"180","text":"Viewing Gallery\u002FCredits","type":"control_checkbox"},null,{"description":"","labelText":"","name":"image182","qid":"182","text":"Natty-031.5f08842de87135.52802020","type":"control_image"},{"name":"input183","qid":"183","text":"Please, check the box \nbelow in each section once \nyou've read it, some sections \nwill require you to draw your \ninitials in the &quot;Signature\nPad&quot; provided. If you are \nunder the age of 18, your \nparent\u002Flegal guardian must, \nalso, initial each section in \nthe same form.","type":"control_text"},null,{"description":"","name":"typeA","qid":"185","text":"Type a question","type":"control_radio"},{"name":"input186","qid":"186","text":"Model Release\n\nBy entering you or your parent's name below you agree to the following: In consideration of the engagement as a model of the minor\u002Fadult (if over 18 years old) named below, and for other good and valuable consideration that I acknowledge as having received, I hereby grant the following rights and permissions to Lyryn Kay Photographer (&quot;Photographer&quot;), his\u002Fher legal representatives and assigns, those for whom Photographer is acting, and those acting with his\u002Fher authority and permission. They have the absolute right and permission to take, use, reuse, publish, and republish photographic portraits or pictures of the minor or in which the minor may be included, in whole or in part, or composite or distorted in character or form, without restriction as to changes or alterations from time to time, in conjunction with the minor's own or a fictitious name, or reproductions of such photographs in color or otherwise, made through any medium at Photographer's studios or elsewhere, and in any and all media now or hereafter known, including the internet, for art, advertising, trade, or any other purpose whatsoever.  \nI release, discharge, and agree to hold harmless and defend Photographer, his\u002Fher legal representatives or assigns, and all persons acting under his\u002Fher permission or authority or those for whom he\u002Fshe is acting, from any liability by virtue of any reason in connection with the making and use of such photographs, including blurring, distortion, alteration, optical illusion, or use in composite form, whether intentional or otherwise, that may occur or be produced in the taking of said picture or in any subsequent processing thereof, as well as any publication of them, including without limitation any claims for libel or violation of any right of publicity or privacy. \nI hereby warrant that I am a legal competent adult and a parent or legally appointed guardian of the minor, and that I have every right to contract for the minor in the above regard. I state further that I have read the above authorization, release, and agreement, prior to its execution, and that I am fully familiar with the contents of it. This release shall be binding upon the minor and me, and our respective heirs, legal representatives, and assigns.","type":"control_text"},{"description":"","name":"selectOne","qid":"187","text":"Select one","type":"control_radio"},{"name":"pageBreak188","qid":"188","text":"Page Break","type":"control_pagebreak"},{"description":"","name":"signatureOf","qid":"189","subLabel":"","text":"Signature of the person who is 18 years or older","type":"control_signature"},{"name":"clickTo","qid":"190","text":"Click to edit this text...","type":"control_collapse"},null,{"name":"entireAgreement192","qid":"192","text":"Entire Agreement","type":"control_head"},{"description":"","name":"seniorsName193","qid":"193","text":"Senior's Name","type":"control_fullname"},{"description":"","name":"date","qid":"194","text":"Date","type":"control_datetime"},{"description":"","name":"parentsName","qid":"195","text":"Parent's Name","type":"control_fullname"},{"description":"","name":"date196","qid":"196","text":"Date","type":"control_datetime"},{"name":"parentSignature","qid":"197","text":"Parent Signature ","type":"control_widget"}]); setTimeout(function() { JotForm.paymentExtrasOnTheFly([null,null,{"name":"submit","qid":"2","text":"Submit","type":"control_button"},null,null,null,null,null,null,null,null,null,null,null,null,{"name":"parents15","qid":"15","text":"Parent(s) \u002F Guardian(s) Name","type":"control_fullname"},{"name":"address","qid":"16","text":"Address","type":"control_address"},null,{"name":"parents","qid":"18","text":"Parent(s) \u002F Guardian(s) Phone Number","type":"control_phone"},{"name":"parents19","qid":"19","text":"Parent(s) \u002F Guardian(s) E-mail","type":"control_email"},null,null,{"name":"seniorSignature","qid":"22","text":"Senior Signature ","type":"control_widget"},{"name":"copyrightAnd","qid":"23","text":"Copyright and Reproductions.","type":"control_checkbox"},{"name":"serviceAnd","qid":"24","text":"Service and Payment","type":"control_checkbox"},{"name":"artisticRights","qid":"25","text":"Artistic Rights","type":"control_checkbox"},null,null,null,null,null,{"name":"sessionRescheduling31","qid":"31","text":"Session Rescheduling","type":"control_checkbox"},null,{"name":"cooperation33","qid":"33","text":"Cooperation","type":"control_checkbox"},null,{"name":"locationAccess35","qid":"35","text":"Location Access, Fees, Permits & House Rules","type":"control_checkbox"},null,null,{"name":"limitationsOn","qid":"38","text":"Limitations on Light","type":"control_checkbox"},{"name":"weatherLimitations39","qid":"39","text":"Weather Limitations for Portrait Sessions","type":"control_checkbox"},{"name":"cullingamp","qid":"40","text":"Culling & Editing","type":"control_checkbox"},{"name":"additionalImagesraw41","qid":"41","text":"Additional Images\u002FRAW Images","type":"control_checkbox"},null,null,{"name":"limitOf44","qid":"44","text":"Limit of Liability","type":"control_checkbox"},{"name":"indemnification","qid":"45","text":"INDEMNIFICATION","type":"control_checkbox"},null,null,null,null,null,null,{"name":"clickTo52","qid":"52","text":"Signature","type":"control_widget"},null,{"name":"lyrynKay","qid":"54","text":"Lyryn Kay Photography is committed to respecting the privacy of her clients. No images will be shown without the written permission from Client as selected in this clause. Normally, Lyryn Kay Photography will post teasers to her Facebook page shortly after the session; will blog the session as images are uploading to the final gallery; will share images on social media; will update her website galleries to include session images; and will use for promotional uses online and in print. (Please check all that apply)","type":"control_checkbox"},null,null,null,null,null,null,null,{"name":"image","qid":"62","text":"logo.5ee7bee8854958.26759225","type":"control_image"},{"name":"doubleclickTo63","qid":"63","text":"Congratulations class of 2021! Senior Year is an exciting time and Senior Portraits are a fun part of that monumental rite of passage.\nThis year, Conestoga Christian School has chosen to partner with Lyryn Kay Photography to ensure uniformity and equity within the senior class as well maintain a consistent look throughout the senior section of the yearbook. Please fill out this form completely. ","type":"control_text"},{"name":"seniorsName","qid":"64","text":"Senior's Name","type":"control_fullname"},{"name":"modelsName","qid":"65","text":"Model's Name","type":"control_fullname"},{"name":"terms","qid":"66","text":"TERMS:","type":"control_checkbox"},null,{"name":"limitedReproduction","qid":"68","text":"Limited Reproduction & Print Release for Personal Use Only:","type":"control_checkbox"},{"name":"printsamp","qid":"69","text":"Prints & Products Ordered Through Your Online Gallery (Terms of Sale)","type":"control_checkbox"},null,null,null,null,null,null,null,null,null,{"description":"","name":"seniorsFacebook","qid":"79","subLabel":"","text":"Senior's Facebook Profile","type":"control_textbox"},{"description":"","name":"seniorsInstagram","qid":"80","subLabel":"","text":"Senior's Instagram Profile","type":"control_textbox"},null,null,{"description":"","name":"experience","qid":"83","text":"Experience ","type":"control_payment"},null,null,null,null,null,null,null,{"name":"sessionInformation91","qid":"91","text":"Session Information & Understanding","type":"control_head"},{"name":"divider","qid":"92","type":"control_divider"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"name":"pageBreak","qid":"107","text":"Page Break","type":"control_pagebreak"},null,null,null,null,null,{"name":"input113","qid":"113","text":"Schedule Formal Portrait Session Now\nNo matter what experience you choose, every senior must sign up for one of the times below.\nYour yearbook portrait will be a traditional head and shoulder pose in the required suit or drape.  These portraits will be taken at the school. To schedule your session, choose an available time from one of the dates below.\nGuys: You should wear a white dress shirt, a dark colored suit with a plain tie. Unless you wear facial hair, you should shave before your appointment.\nLadies: Lyryn Kay will provide the drape.  Since your shoulders are uncovered while wearing the drape, please wear a cami or tank top with thin straps for the formal sitting. Straps must be pushed down when the drape is worn. Wear makeup for your pictures. You don't have to do too much - just enhance your natural look.\nGuys or Girls -  Avoid strong patterns - simple is best for formals. Middle tones or dark colors usually look best for the yearbook style poses. For casuals or outdoor photos, wear what you like. \n* All &quot;Graduate&quot; experiences are 10 minutes.  If you purchased another experience please note the times you will need for you session below.  Then sign up for as many slots you need for your session. \n\n\n\nYearbook\nCreative Mini\nFull Creative\nPremium\n\n\n 30 Min.\n1 Hour\n 30 Min.\n 30 Min.\n\n\n","type":"control_text"},null,null,null,null,null,{"description":"","name":"seniorIs","qid":"119","text":"Senior is over the age of 18","type":"control_checkbox"},null,null,{"name":"pageBreak122","qid":"122","text":"Page Break","type":"control_pagebreak"},{"name":"input123","qid":"123","text":"Choose Your Experience\nAll Conestoga seniors must sign up for the &quot;Graduate&quot; experience. This ensure that your child will be in the senior section of the 2021 yearbook. Choose a session that fits your personality for pictures that you will treasure for years.\n\nFor a more extensive portrait experience, you may choose another experience listed below.  The other experiences add a varity of poses and clothing changes to showcase your senior's personality and style. These poses will be more casual and include full-length poses. Some of the packages offer Outdoor settings, musical instruments, props or you may even add siblings or pets. *Please note that if you choose an experience that offers this, we will schedule that on a different date then your formal session and cap and gown.\nFAQ\nWhat is the sitting fee for the yearbook portrait? There is no sitting fee. All Students are required to get one of the packages listed below. We have made the lowest package very afforable for all seniors.\nMay we use another photographer for causal senior portriats?  Seniors may use another photographer for any other casual images in the yearbook, but please keep in mind that Lyryn Kay Photography is offering an array of packages at an already discounted rate to all Conestoga seniors.\nWhat if students cannot afford the sitting fee? Lyryn Kay Photography never want a senior to miss out on senior portriate because of financial reasons - please reach out to Lyryn Kay Photography directly if you would like to dicuss the possiblity of a payment plan. Lyryn@yacoe.me 484-678-6838","type":"control_text"},null,{"description":"","name":"appointment","qid":"125","text":"Senior Session July 24th","type":"control_appointment"},{"description":"","name":"appointment126","qid":"126","text":"Senior Session August 22nd","type":"control_appointment"},null,null,null,null,null,null,null,null,null,null,null,{"name":"iAm","qid":"138","text":"I am not available either of these days ","type":"control_widget"},{"name":"pageBreak139","qid":"139","text":"Page Break","type":"control_pagebreak"},{"name":"input140","qid":"140","text":"Can I schedule another date\u002Ftime? Yes. If the dates listed below do not work, just check the box below. Lyryn Kay will then reach out and you will be more than welcome to schedule a sitting any time prior to September 15. Schedule now, late summer appointments fill-up fast.","type":"control_text"},{"name":"pageBreak141","qid":"141","text":"Page Break","type":"control_pagebreak"},null,{"name":"chooseThree143","qid":"143","text":"Choose three dates ","type":"control_widget"},{"description":"","name":"doYou","qid":"144","subLabel":"**If you don&#039;t have a preference, I will share a list of the favorite locations in your area to get a variety of background options!","text":"Do you have any specific location(s) within that general area that you are hoping to have your session take place at? (Example: My home, a park near my house, my high school gym, etc.) ","type":"control_textarea"},{"description":"","name":"tellMe","qid":"145","text":"Tell me about who will likely be at this session. Some people prefer to come alone and work solo with me, others love to have a supportive best friend there to hype them up, and some like to bring a parent or another adult along.","type":"control_checkbox"},{"description":"","name":"moreTo146","qid":"146","text":"More to your Session","type":"control_checkbox"},null,{"description":"","name":"listOf","qid":"148","subLabel":"","text":"List of activities, clubs, and hobbies that might play a part in your session.","type":"control_textarea"},{"description":"","name":"areThere","qid":"149","subLabel":"","text":"Are there any specific shots\u002Fposes you are wanting from your session?","type":"control_textarea"},{"description":"","name":"pleaseShare","qid":"150","subLabel":"","text":"Please share any other information about what you are hoping for from your session.","type":"control_textarea"},null,{"description":"","name":"parentguardiansName","qid":"152","text":"Parent\u002FGuardian's Name","type":"control_fullname"},null,null,null,null,{"description":"","name":"understanding157","qid":"157","text":"Understanding","type":"control_checkbox"},{"description":"","name":"scheduleArrangements","qid":"158","text":"Schedule Arrangements","type":"control_checkbox"},null,{"name":"seniorInitials","qid":"160","text":"Senior Initials","type":"control_widget"},null,{"name":"pageBreak162","qid":"162","text":"Page Break","type":"control_pagebreak"},{"name":"seniorInitials163","qid":"163","text":"Senior Initials","type":"control_widget"},{"name":"divider164","qid":"164","type":"control_divider"},{"name":"parentguardianInitials","qid":"165","text":"Parent\u002FGuardian Initials","type":"control_widget"},{"name":"parentguardianInitials166","qid":"166","text":"Parent\u002FGuardian Initials","type":"control_widget"},{"name":"divider167","qid":"167","type":"control_divider"},null,{"description":"","name":"doYou169","qid":"169","subLabel":"","text":"Do you have access to any cool props? Do you plan on bringing any props with you?","type":"control_textarea"},{"description":"","name":"whatPart","qid":"170","subLabel":"","text":"What part of yourself are you the most proud of? Can be physical or something you have done.","type":"control_textarea"},{"description":"","name":"input171","qid":"171","template":"Do you have a Pintrest account and have Ideas to share with me?\u003Cbr\u002F\u003E{1594391250596-1}   {1594391250596-2}  IF so provide your a link to your Pintrest Page:{1594391302896-shorttext}   \u003Cbr\u002F\u003E   ","text":"","type":"control_inline"},{"description":"","name":"seniorsEmail","qid":"172","subLabel":"example@example.com","text":"Senior's E-mail","type":"control_email"},{"description":"","name":"parentsFacebook","qid":"173","subLabel":"","text":"Parent's Facebook Profile","type":"control_textbox"},{"description":"","name":"parentsInstagram","qid":"174","subLabel":"","text":"Parent's Instagram Profile","type":"control_textbox"},null,{"name":"input176","qid":"176","text":"Full and Premium Sessions\n\nIf you purchased the Full or Premium Session this is all about making your personality show! Take your time to fill out the information below. I will use your answers to customize your session to be as unique as you are! If you are under 18, please be sure to have a parent with you to fill out this contact. Thank you!","type":"control_text"},{"name":"input177","qid":"177","text":"Social Media &amp; Permissions\n\nI hereby give to Lyryn Kay Photography the absolute and irrevocable right and permission with respect to the photographs that he\u002Fshe has taken of myself and\u002For my minor child in which he\u002Fshe may be included with others: the irrevocable and unrestricted right to use and publish photographs of me, or in which I may be included, for editorial trade, advertising, and any other purpose and in any manner and medium; and to alter the same without restriction. I hereby release the Photographer and her legal representatives and assigns from all claims and liability relating to said photographs.\nThe Client may share web\u002Fblog post links and social media albums through use of the share functions and dissemination of direct links. The Client shall not copy, download, screen shot, or capture the photographs in any other fashion. When uploading to a Facebook Social Media profile, the Client shall &quot;tag&quot; the Photographer’s business page and mention the Lyryn Kay Photography in the caption on Facebook (Lyryn Kay Photography) and or Instagram (@LyrynKayPhotography).","type":"control_text"},{"description":"","name":"pleaseDescribe178","qid":"178","text":"Please describe the type of location you are interested in. (Choose as many as you would like)","type":"control_checkbox"},null,{"description":"","name":"viewingGallerycredits","qid":"180","text":"Viewing Gallery\u002FCredits","type":"control_checkbox"},null,{"description":"","labelText":"","name":"image182","qid":"182","text":"Natty-031.5f08842de87135.52802020","type":"control_image"},{"name":"input183","qid":"183","text":"Please, check the box \nbelow in each section once \nyou've read it, some sections \nwill require you to draw your \ninitials in the &quot;Signature\nPad&quot; provided. If you are \nunder the age of 18, your \nparent\u002Flegal guardian must, \nalso, initial each section in \nthe same form.","type":"control_text"},null,{"description":"","name":"typeA","qid":"185","text":"Type a question","type":"control_radio"},{"name":"input186","qid":"186","text":"Model Release\n\nBy entering you or your parent's name below you agree to the following: In consideration of the engagement as a model of the minor\u002Fadult (if over 18 years old) named below, and for other good and valuable consideration that I acknowledge as having received, I hereby grant the following rights and permissions to Lyryn Kay Photographer (&quot;Photographer&quot;), his\u002Fher legal representatives and assigns, those for whom Photographer is acting, and those acting with his\u002Fher authority and permission. They have the absolute right and permission to take, use, reuse, publish, and republish photographic portraits or pictures of the minor or in which the minor may be included, in whole or in part, or composite or distorted in character or form, without restriction as to changes or alterations from time to time, in conjunction with the minor's own or a fictitious name, or reproductions of such photographs in color or otherwise, made through any medium at Photographer's studios or elsewhere, and in any and all media now or hereafter known, including the internet, for art, advertising, trade, or any other purpose whatsoever.  \nI release, discharge, and agree to hold harmless and defend Photographer, his\u002Fher legal representatives or assigns, and all persons acting under his\u002Fher permission or authority or those for whom he\u002Fshe is acting, from any liability by virtue of any reason in connection with the making and use of such photographs, including blurring, distortion, alteration, optical illusion, or use in composite form, whether intentional or otherwise, that may occur or be produced in the taking of said picture or in any subsequent processing thereof, as well as any publication of them, including without limitation any claims for libel or violation of any right of publicity or privacy. \nI hereby warrant that I am a legal competent adult and a parent or legally appointed guardian of the minor, and that I have every right to contract for the minor in the above regard. I state further that I have read the above authorization, release, and agreement, prior to its execution, and that I am fully familiar with the contents of it. This release shall be binding upon the minor and me, and our respective heirs, legal representatives, and assigns.","type":"control_text"},{"description":"","name":"selectOne","qid":"187","text":"Select one","type":"control_radio"},{"name":"pageBreak188","qid":"188","text":"Page Break","type":"control_pagebreak"},{"description":"","name":"signatureOf","qid":"189","subLabel":"","text":"Signature of the person who is 18 years or older","type":"control_signature"},{"name":"clickTo","qid":"190","text":"Click to edit this text...","type":"control_collapse"},null,{"name":"entireAgreement192","qid":"192","text":"Entire Agreement","type":"control_head"},{"description":"","name":"seniorsName193","qid":"193","text":"Senior's Name","type":"control_fullname"},{"description":"","name":"date","qid":"194","text":"Date","type":"control_datetime"},{"description":"","name":"parentsName","qid":"195","text":"Parent's Name","type":"control_fullname"},{"description":"","name":"date196","qid":"196","text":"Date","type":"control_datetime"},{"name":"parentSignature","qid":"197","text":"Parent Signature ","type":"control_widget"}]);}, 20); </script> <link href="https://cdn.jotfor.ms/static/formCss.css?3.3.19031" rel="stylesheet" type="text/css" /> <link type="text/css" media="print" rel="stylesheet" href="https://cdn.jotfor.ms/css/printForm.css?3.3.19031" /> <link type="text/css" rel="stylesheet" href="https://cdn.jotfor.ms/css/styles/nova.css?3.3.19031" /> <link type="text/css" rel="stylesheet" href="https://cdn.jotfor.ms/themes/CSS/566a91c2977cdfcd478b4567.css?themeRevisionID=5dca5ac9a5e86d17235d90c1"/> <link type="text/css" rel="stylesheet" href="https://cdn.jotfor.ms/css/styles/payment/payment_feature.css?3.3.19031" /> <style type="text/css"> @import '//fonts.googleapis.com/css?family=Nobile:light,lightitalic,normal,italic,bold,bolditalic'; .form-label-left{ width:150px; } .form-line{ padding-top:12px; padding-bottom:12px; } .form-label-right{ width:150px; } .form-all{ width:650px; color:#4a4a4a !important; font-family:'Nobile'; font-size:14px; } .form-radio-item label, .form-checkbox-item label, .form-grading-label, .form-header{ color: #555; } </style> <style type="text/css" id="form-designer-style"> /* Injected CSS Code */ @import "https://fonts.googleapis.com/css?family=Nobile:light,lightitalic,normal,italic,bold,bolditalic"; .form-all:after { content: ""; display: table; clear: both; } .form-all { font-family: "Nobile", sans-serif; } .form-all { width: 650px; } .form-label-left, .form-label-right { width: 150px; } .form-label { white-space: normal; } .form-label-left { display: inline-block; white-space: normal; float: left; text-align: left; } .form-label-right { display: inline-block; white-space: normal; float: left; text-align: right; } .form-label-top { white-space: normal; display: block; float: none; text-align: left; } .form-radio-item label:before { top: 0; } .form-all { font-size: 14px; } .form-label { font-weight: normal; font-size: 0.95em; } .supernova { background-color: #ffffff; background-color: #f5f5f5; } .supernova body { background-color: transparent; } /* @width30: (unit(@formWidth, px) + 60px); @width60: (unit(@formWidth, px)+ 120px); @width90: (unit(@formWidth, px)+ 180px); */ /* | */ @media screen and (min-width: 480px) { .supernova .form-all { border: 1px solid #dcdcdc; box-shadow: 0 3px 9px rgba(0, 0, 0, 0.1); } } /* | */ /* | */ @media screen and (max-width: 480px) { .jotform-form .form-all { margin: 0; width: 100%; } } /* | */ /* | */ @media screen and (min-width: 480px) and (max-width: 767px) { .jotform-form .form-all { margin: 0; width: 100%; } } /* | */ /* | */ @media screen and (min-width: 480px) and (max-width: 649px) { .jotform-form .form-all { margin: 0; width: 100%; } } /* | */ /* | */ @media screen and (min-width: 768px) { .jotform-form { padding: 60px 0; } } /* | */ /* | */ @media screen and (max-width: 649px) { .jotform-form .form-all { margin: 0; width: 100%; } } /* | */ .supernova .form-all, .form-all { background-color: #ffffff; border: 1px solid transparent; } .form-header-group { border-color: #e6e6e6; } .form-matrix-table tr { border-color: #e6e6e6; } .form-matrix-table tr:nth-child(2n) { background-color: #f2f2f2; } .form-all { color: #4a4a4a; } .form-header-group .form-header { color: #4a4a4a; } .form-header-group .form-subHeader { color: #646464; } .form-sub-label { color: #646464; } .form-label-top, .form-label-left, .form-label-right, .form-html { color: #646464; } .form-checkbox-item label, .form-radio-item label { color: #4a4a4a; } .form-line.form-line-active { -webkit-transition-property: all; -moz-transition-property: all; -ms-transition-property: all; -o-transition-property: all; transition-property: all; -webkit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; -ms-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease; -moz-transition-timing-function: ease; -ms-transition-timing-function: ease; -o-transition-timing-function: ease; transition-timing-function: ease; background-color: #ffffe0; } /* omer */ .form-radio-item, .form-checkbox-item { padding-bottom: 0px !important; } .form-radio-item:last-child, .form-checkbox-item:last-child { padding-bottom: 0; } /* omer */ .form-single-column .form-checkbox-item, .form-single-column .form-radio-item { width: 100%; } .form-checkbox-item .editor-container div, .form-radio-item .editor-container div { position: relative; } .form-checkbox-item .editor-container div:before, .form-radio-item .editor-container div:before { display: inline-block; vertical-align: middle; box-sizing: border-box; left: 0; width: 18px; height: 18px; } .supernova { height: 100%; background-repeat: no-repeat; background-attachment: scroll; background-position: center top; background-attachment: fixed; background-size: auto; background-size: cover; } .supernova { background-image: none; background-image: url("https://www.jotform.com/uploads/Lyryn/form_files/50-Beautiful-and-Minimalist-Presentation-Backgrounds-037.5f07115456f774.44664936.jpg"); } #stage { background-image: none; background-image: url("https://www.jotform.com/uploads/Lyryn/form_files/50-Beautiful-and-Minimalist-Presentation-Backgrounds-037.5f07115456f774.44664936.jpg"); } /* | */ .form-all { background-repeat: no-repeat; background-attachment: scroll; background-position: center top; background-attachment: fixed; background-size: auto; background-size: cover; } .form-header-group { background-repeat: no-repeat; background-attachment: scroll; background-position: center top; } .form-line { margin-top: 12px; margin-bottom: 12px; } .form-line { padding: 12px 36px; } .form-all { border-radius: 20px; } .form-section:first-child { border-radius: 20px 20px 0 0; } .form-section:last-child { border-radius: 0 0 20px 20px; } .form-all .qq-upload-button, .form-all .form-submit-button, .form-all .form-submit-reset, .form-all .form-submit-print { font-size: 1em; padding: 9px 15px; font-family: "Nobile", sans-serif; font-size: 14px; font-weight: normal; } .form-all .form-pagebreak-back, .form-all .form-pagebreak-next { font-size: 1em; padding: 9px 15px; font-family: "Nobile", sans-serif; font-size: 14px; font-weight: normal; } /* & when ( @buttonFontType = google ) { @import (css) "@{buttonFontLink}"; } */ h2.form-header { line-height: 1.618em; font-size: 1.714em; } h2 ~ .form-subHeader { line-height: 1.5em; font-size: 1.071em; } .form-header-group { text-align: center; } /*.form-dropdown, .form-radio-item, .form-checkbox-item, .form-radio-other-input, .form-checkbox-other-input,*/ .form-captcha input, .form-spinner input, .form-error-message { padding: 4px 3px 2px 3px; } .form-header-group { font-family: "Nobile", sans-serif; } .form-section { padding: 0px 0px 0px 0px; } .form-header-group { margin: 12px 36px 12px 36px; } .form-header-group { padding: 24px 0px 24px 0px; } .form-textbox, .form-textarea { padding: 4px 3px 2px 3px; } .form-textbox, .form-textarea, .form-radio-other-input, .form-checkbox-other-input, .form-captcha input, .form-spinner input { background-color: #ffffff; } .form-matrix-row-headers, .form-matrix-column-headers, .form-matrix-values { padding: 4px; } [data-type="control_dropdown"] .form-input, [data-type="control_dropdown"] .form-input-wide { width: 150px; } .form-buttons-wrapper { margin-left: 0 !important; text-align: center; } .form-label { font-family: "Nobile", sans-serif; } li[data-type="control_image"] div { text-align: left; } li[data-type="control_image"] img { border: none; border-width: 0px !important; border-style: solid !important; border-color: false !important; } .form-line-column { width: auto; } .form-line-error { overflow: hidden; -webkit-transition-property: none; -moz-transition-property: none; -ms-transition-property: none; -o-transition-property: none; transition-property: none; -webkit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; -ms-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease; -moz-transition-timing-function: ease; -ms-transition-timing-function: ease; -o-transition-timing-function: ease; transition-timing-function: ease; background-color: #fff4f4; } .form-line-error .form-error-message { background-color: #ff3200; clear: both; float: none; } .form-line-error .form-error-message .form-error-arrow { border-bottom-color: #ff3200; } .form-line-error input:not(#coupon-input), .form-line-error textarea, .form-line-error .form-validation-error { border: 1px solid #ff3200; box-shadow: 0 0 3px #ff3200; } .ie-8 .form-all { margin-top: auto; margin-top: initial; } .ie-8 .form-all:before { display: none; } [data-type="control_clear"] { display: none; } /* | */ @media screen and (max-width: 480px), screen and (max-device-width: 767px) and (orientation: portrait), screen and (max-device-width: 415px) and (orientation: landscape) { .testOne { letter-spacing: 0; } .form-all { border: 0; max-width: initial; } .form-sub-label-container { width: 100%; margin: 0; margin-right: 0; float: left; box-sizing: border-box; } span.form-sub-label-container + span.form-sub-label-container { margin-right: 0; } .form-sub-label { white-space: normal; } .form-address-table td, .form-address-table th { padding: 0 1px 10px; } .form-submit-button, .form-submit-print, .form-submit-reset { width: 100%; margin-left: 0!important; } div[id*=at_] { font-size: 14px; font-weight: 700; height: 8px; margin-top: 6px; } .showAutoCalendar { width: 20px; } img.form-image { max-width: 100%; height: auto; } .form-matrix-row-headers { width: 100%; word-break: break-all; min-width: 80px; } .form-collapse-table, .form-header-group { margin: 0; } .form-collapse-table { height: 100%; display: inline-block; width: 100%; } .form-collapse-hidden { display: none !important; } .form-input { width: 100%; } .form-label { width: 100% !important; } .form-label-left, .form-label-right { display: block; float: none; text-align: left; width: auto!important; } .form-line, .form-line.form-line-column { padding: 2% 5%; box-sizing: border-box; } input[type=text], input[type=email], input[type=tel], textarea { width: 100%; box-sizing: border-box; max-width: initial !important; } .form-radio-other-input, .form-checkbox-other-input { max-width: 55% !important; } .form-dropdown, .form-textarea, .form-textbox { width: 100%!important; box-sizing: border-box; } .form-input, .form-input-wide, .form-textarea, .form-textbox, .form-dropdown { max-width: initial!important; } .form-checkbox-item:not(#foo), .form-radio-item:not(#foo) { width: 100%; } .form-address-city, .form-address-line, .form-address-postal, .form-address-state, .form-address-table, .form-address-table .form-sub-label-container, .form-address-table select, .form-input { width: 100%; } div.form-header-group { padding: 24px 0px !important; margin: 0 12px 2% !important; margin-left: 5%!important; margin-right: 5%!important; box-sizing: border-box; } div.form-header-group.hasImage img { max-width: 100%; } [data-type="control_button"] { margin-bottom: 0 !important; } [data-type=control_fullname] .form-sub-label-container { width: 48%; } [data-type=control_fullname] .form-sub-label-container:first-child { margin-right: 4%; } [data-type=control_phone] .form-sub-label-container { width: 65%; margin-right: 0; margin-left: 0; float: left; } [data-type=control_phone] .form-sub-label-container:first-child { width: 31%; margin-right: 4%; } [data-type=control_datetime] .allowTime-container { width: 100%; } [data-type=control_datetime] .allowTime-container .form-sub-label-container { width: 24%!important; margin-left: 6%; margin-right: 0; } [data-type=control_datetime] .allowTime-container .form-sub-label-container:first-child { margin-left: 0; } [data-type=control_datetime] span + span + span > span:first-child { display: block; width: 100% !important; } [data-type=control_birthdate] .form-sub-label-container, [data-type=control_time] .form-sub-label-container { width: 27.3%!important; margin-right: 6% !important; } [data-type=control_time] .form-sub-label-container:last-child { width: 33.3%!important; margin-right: 0 !important; } .form-pagebreak-back-container, .form-pagebreak-next-container { min-height: 1px; width: 50% !important; } .form-pagebreak-back, .form-pagebreak-next, .form-product-item.hover-product-item { width: 100%; } .form-pagebreak-back-container { padding: 0; text-align: right; } .form-pagebreak-next-container { padding: 0; text-align: left; } .form-pagebreak { margin: 0 auto; } .form-buttons-wrapper { margin: 0!important; margin-left: 0!important; } .form-buttons-wrapper button { width: 100%; } .form-buttons-wrapper .form-submit-print { margin: 0 !important; } table { width: 100%!important; max-width: initial!important; } table td + td { padding-left: 3%; } .form-checkbox-item, .form-radio-item { white-space: normal!important; } .form-checkbox-item input, .form-radio-item input { width: auto; } .form-collapse-table { margin: 0 5%; display: block; zoom: 1; width: auto; } .form-collapse-table:before, .form-collapse-table:after { display: table; content: ''; line-height: 0; } .form-collapse-table:after { clear: both; } .fb-like-box { width: 98% !important; } .form-error-message { clear: both; bottom: -10px; } .date-separate, .phone-separate { display: none; } .custom-field-frame, .direct-embed-widgets, .signature-pad-wrapper { width: 100% !important; } } /* | */ /*__INSPECT_SEPERATOR__*/ .form-label.form-label-auto { display: block; float: none; text-align: left; width: 100%; } /* Injected CSS Code */ </style> <link type="text/css" rel="stylesheet" href="https://cdn.jotfor.ms/css/styles/buttons/form-submit-button-light_rounded.css?3.3.19031"/> <form class="jotform-form" action="https://submit.jotform.com/submit/201664571923154/" method="post" name="form_201664571923154" id="201664571923154" accept-charset="utf-8" autocomplete="on"> <input type="hidden" name="formID" value="201664571923154" /> <input type="hidden" id="JWTContainer" value="" /> <input type="hidden" id="cardinalOrderNumber" value="" /> <div role="main" class="form-all"> <ul class="form-section page-section"> <li class="form-line" data-type="control_image" id="id_62"> <div id="cid_62" class="form-input-wide"> <div style="text-align:center"> <img alt="" class="form-image" style="border:0" src="https://www.jotform.com/uploads/Lyryn/form_files/logo.5ee7bee8854958.26759225.jpg" height="155px" width="300px" data-component="image" /> </div> </div> </li> <li class="form-line" data-type="control_text" id="id_63"> <div id="cid_63" class="form-input-wide"> <div id="text_63" class="form-html" data-component="text"> <p style="text-align: left;"><span style="font-size: 12pt;">Congratulations class of 2021! Senior Year is an exciting time and Senior Portraits are a fun part of that monumental rite of passage.</span></p> <p style="text-align: left;"><span style="font-size: 10pt;"><span style="font-size: 12pt;">This year, Conestoga Christian School has chosen to partner with Lyryn Kay Photography to ensure uniformity and equity within the senior class as well maintain a consistent look throughout the senior section of the yearbook. Please fill out this form completely.</span> <br /></span></p> </div> </div> </li> <li class="form-line form-line-column form-col-1 jf-required" data-type="control_fullname" id="id_64"> <label class="form-label form-label-top" id="label_64" for="first_64"> Senior's Name <span class="form-required"> * </span> </label> <div id="cid_64" class="form-input-wide jf-required"> <div data-wrapper-react="true"> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="first"> <input type="text" id="first_64" name="q64_seniorsName[first]" class="form-textbox validate[required]" size="10" value="" data-component="first" aria-labelledby="label_64 sublabel_64_first" required="" /> <label class="form-sub-label" for="first_64" id="sublabel_64_first" style="min-height:13px" aria-hidden="false"> First Name </label> </span> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="last"> <input type="text" id="last_64" name="q64_seniorsName[last]" class="form-textbox validate[required]" size="15" value="" data-component="last" aria-labelledby="label_64 sublabel_64_last" required="" /> <label class="form-sub-label" for="last_64" id="sublabel_64_last" style="min-height:13px" aria-hidden="false"> Last Name </label> </span> </div> </div> </li> <li class="form-line form-line-column form-col-2 jf-required" data-type="control_checkbox" id="id_119"> <label class="form-label form-label-top" id="label_119" for="input_119"> Senior is over the age of 18 <span class="form-required"> * </span> </label> <div id="cid_119" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_119" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_119_0" name="q119_seniorIs[]" value="Yes" required="" /> <label id="label_input_119_0" for="input_119_0"> Yes </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_119_1" name="q119_seniorIs[]" value="No" required="" /> <label id="label_input_119_1" for="input_119_1"> No </label> </span> </div> </div> </li> <li class="form-line" data-type="control_email" id="id_172"> <label class="form-label form-label-left" id="label_172" for="input_172"> Senior's E-mail </label> <div id="cid_172" class="form-input"> <span class="form-sub-label-container " style="vertical-align:top"> <input type="email" id="input_172" name="q172_seniorsEmail" class="form-textbox validate[Email]" size="30" value="" placeholder="ex: myname@example.com" data-component="email" aria-labelledby="label_172 sublabel_input_172" /> <label class="form-sub-label" for="input_172" id="sublabel_input_172" style="min-height:13px" aria-hidden="false"> example@example.com </label> </span> </div> </li> <li class="form-line jf-required" data-type="control_fullname" id="id_15"> <label class="form-label form-label-left" id="label_15" for="first_15"> Parent(s) / Guardian(s) Name <span class="form-required"> * </span> </label> <div id="cid_15" class="form-input jf-required"> <div data-wrapper-react="true"> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="first"> <input type="text" id="first_15" name="q15_parents15[first]" class="form-textbox validate[required]" size="10" value="" data-component="first" aria-labelledby="label_15 sublabel_15_first" required="" /> <label class="form-sub-label" for="first_15" id="sublabel_15_first" style="min-height:13px" aria-hidden="false"> First Name </label> </span> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="last"> <input type="text" id="last_15" name="q15_parents15[last]" class="form-textbox validate[required]" size="15" value="" data-component="last" aria-labelledby="label_15 sublabel_15_last" required="" /> <label class="form-sub-label" for="last_15" id="sublabel_15_last" style="min-height:13px" aria-hidden="false"> Last Name </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_address" id="id_16"> <label class="form-label form-label-left" id="label_16" for="input_16_addr_line1"> Address <span class="form-required"> * </span> </label> <div id="cid_16" class="form-input jf-required"> <div summary="" class="form-address-table jsTest-addressField"> <div class="form-address-line-wrapper jsTest-address-line-wrapperField"> <span class="form-address-line form-address-street-line jsTest-address-lineField"> <span class="form-sub-label-container " style="vertical-align:top"> <input type="text" id="input_16_addr_line1" name="q16_address[addr_line1]" class="form-textbox validate[required] form-address-line" value="" data-component="address_line_1" aria-labelledby="label_16 sublabel_16_addr_line1" required="" /> <label class="form-sub-label" for="input_16_addr_line1" id="sublabel_16_addr_line1" style="min-height:13px" aria-hidden="false"> Street Address </label> </span> </span> </div> <div class="form-address-line-wrapper jsTest-address-line-wrapperField"> <span class="form-address-line form-address-street-line jsTest-address-lineField"> <span class="form-sub-label-container " style="vertical-align:top"> <input type="text" id="input_16_addr_line2" name="q16_address[addr_line2]" class="form-textbox form-address-line" value="" data-component="address_line_2" aria-labelledby="label_16 sublabel_16_addr_line2" /> <label class="form-sub-label" for="input_16_addr_line2" id="sublabel_16_addr_line2" style="min-height:13px" aria-hidden="false"> Street Address Line 2 </label> </span> </span> </div> <div class="form-address-line-wrapper jsTest-address-line-wrapperField"> <span class="form-address-line form-address-city-line jsTest-address-lineField"> <span class="form-sub-label-container " style="vertical-align:top"> <input type="text" id="input_16_city" name="q16_address[city]" class="form-textbox validate[required] form-address-city" value="" data-component="city" aria-labelledby="label_16 sublabel_16_city" required="" /> <label class="form-sub-label" for="input_16_city" id="sublabel_16_city" style="min-height:13px" aria-hidden="false"> City </label> </span> </span> <span class="form-address-line form-address-state-line jsTest-address-lineField"> <span class="form-sub-label-container " style="vertical-align:top"> <input type="text" id="input_16_state" name="q16_address[state]" class="form-textbox validate[required] form-address-state" value="" data-component="state" aria-labelledby="label_16 sublabel_16_state" required="" /> <label class="form-sub-label" for="input_16_state" id="sublabel_16_state" style="min-height:13px" aria-hidden="false"> State / Province </label> </span> </span> </div> <div class="form-address-line-wrapper jsTest-address-line-wrapperField"> <span class="form-address-line form-address-zip-line jsTest-address-lineField"> <span class="form-sub-label-container " style="vertical-align:top"> <input type="text" id="input_16_postal" name="q16_address[postal]" class="form-textbox validate[required] form-address-postal" value="" data-component="zip" aria-labelledby="label_16 sublabel_16_postal" required="" /> <label class="form-sub-label" for="input_16_postal" id="sublabel_16_postal" style="min-height:13px" aria-hidden="false"> Postal / Zip Code </label> </span> </span> <span class="form-address-line form-address-country-line jsTest-address-lineField" style="display:none"> <span class="form-sub-label-container " style="vertical-align:top"> <select class="form-dropdown form-address-country noTranslate" name="q16_address[country]" id="input_16_country" data-component="country" required="" aria-labelledby="label_16 sublabel_16_country"> <option value=""> Please Select </option> <option value="United States"> United States </option> <option value="Afghanistan"> Afghanistan </option> <option value="Albania"> Albania </option> <option value="Algeria"> Algeria </option> <option value="American Samoa"> American Samoa </option> <option value="Andorra"> Andorra </option> <option value="Angola"> Angola </option> <option value="Anguilla"> Anguilla </option> <option value="Antigua and Barbuda"> Antigua and Barbuda </option> <option value="Argentina"> Argentina </option> <option value="Armenia"> Armenia </option> <option value="Aruba"> Aruba </option> <option value="Australia"> Australia </option> <option value="Austria"> Austria </option> <option value="Azerbaijan"> Azerbaijan </option> <option value="The Bahamas"> The Bahamas </option> <option value="Bahrain"> Bahrain </option> <option value="Bangladesh"> Bangladesh </option> <option value="Barbados"> Barbados </option> <option value="Belarus"> Belarus </option> <option value="Belgium"> Belgium </option> <option value="Belize"> Belize </option> <option value="Benin"> Benin </option> <option value="Bermuda"> Bermuda </option> <option value="Bhutan"> Bhutan </option> <option value="Bolivia"> Bolivia </option> <option value="Bosnia and Herzegovina"> Bosnia and Herzegovina </option> <option value="Botswana"> Botswana </option> <option value="Brazil"> Brazil </option> <option value="Brunei"> Brunei </option> <option value="Bulgaria"> Bulgaria </option> <option value="Burkina Faso"> Burkina Faso </option> <option value="Burundi"> Burundi </option> <option value="Cambodia"> Cambodia </option> <option value="Cameroon"> Cameroon </option> <option value="Canada"> Canada </option> <option value="Cape Verde"> Cape Verde </option> <option value="Cayman Islands"> Cayman Islands </option> <option value="Central African Republic"> Central African Republic </option> <option value="Chad"> Chad </option> <option value="Chile"> Chile </option> <option value="China"> China </option> <option value="Christmas Island"> Christmas Island </option> <option value="Cocos (Keeling) Islands"> Cocos (Keeling) Islands </option> <option value="Colombia"> Colombia </option> <option value="Comoros"> Comoros </option> <option value="Congo"> Congo </option> <option value="Cook Islands"> Cook Islands </option> <option value="Costa Rica"> Costa Rica </option> <option value="Cote d&#x27;Ivoire"> Cote d&#x27;Ivoire </option> <option value="Croatia"> Croatia </option> <option value="Cuba"> Cuba </option> <option value="Curacao"> Curacao </option> <option value="Cyprus"> Cyprus </option> <option value="Czech Republic"> Czech Republic </option> <option value="Democratic Republic of the Congo"> Democratic Republic of the Congo </option> <option value="Denmark"> Denmark </option> <option value="Djibouti"> Djibouti </option> <option value="Dominica"> Dominica </option> <option value="Dominican Republic"> Dominican Republic </option> <option value="Ecuador"> Ecuador </option> <option value="Egypt"> Egypt </option> <option value="El Salvador"> El Salvador </option> <option value="Equatorial Guinea"> Equatorial Guinea </option> <option value="Eritrea"> Eritrea </option> <option value="Estonia"> Estonia </option> <option value="Ethiopia"> Ethiopia </option> <option value="Falkland Islands"> Falkland Islands </option> <option value="Faroe Islands"> Faroe Islands </option> <option value="Fiji"> Fiji </option> <option value="Finland"> Finland </option> <option value="France"> France </option> <option value="French Polynesia"> French Polynesia </option> <option value="Gabon"> Gabon </option> <option value="The Gambia"> The Gambia </option> <option value="Georgia"> Georgia </option> <option value="Germany"> Germany </option> <option value="Ghana"> Ghana </option> <option value="Gibraltar"> Gibraltar </option> <option value="Greece"> Greece </option> <option value="Greenland"> Greenland </option> <option value="Grenada"> Grenada </option> <option value="Guadeloupe"> Guadeloupe </option> <option value="Guam"> Guam </option> <option value="Guatemala"> Guatemala </option> <option value="Guernsey"> Guernsey </option> <option value="Guinea"> Guinea </option> <option value="Guinea-Bissau"> Guinea-Bissau </option> <option value="Guyana"> Guyana </option> <option value="Haiti"> Haiti </option> <option value="Honduras"> Honduras </option> <option value="Hong Kong"> Hong Kong </option> <option value="Hungary"> Hungary </option> <option value="Iceland"> Iceland </option> <option value="India"> India </option> <option value="Indonesia"> Indonesia </option> <option value="Iran"> Iran </option> <option value="Iraq"> Iraq </option> <option value="Ireland"> Ireland </option> <option value="Israel"> Israel </option> <option value="Italy"> Italy </option> <option value="Jamaica"> Jamaica </option> <option value="Japan"> Japan </option> <option value="Jersey"> Jersey </option> <option value="Jordan"> Jordan </option> <option value="Kazakhstan"> Kazakhstan </option> <option value="Kenya"> Kenya </option> <option value="Kiribati"> Kiribati </option> <option value="North Korea"> North Korea </option> <option value="South Korea"> South Korea </option> <option value="Kosovo"> Kosovo </option> <option value="Kuwait"> Kuwait </option> <option value="Kyrgyzstan"> Kyrgyzstan </option> <option value="Laos"> Laos </option> <option value="Latvia"> Latvia </option> <option value="Lebanon"> Lebanon </option> <option value="Lesotho"> Lesotho </option> <option value="Liberia"> Liberia </option> <option value="Libya"> Libya </option> <option value="Liechtenstein"> Liechtenstein </option> <option value="Lithuania"> Lithuania </option> <option value="Luxembourg"> Luxembourg </option> <option value="Macau"> Macau </option> <option value="Macedonia"> Macedonia </option> <option value="Madagascar"> Madagascar </option> <option value="Malawi"> Malawi </option> <option value="Malaysia"> Malaysia </option> <option value="Maldives"> Maldives </option> <option value="Mali"> Mali </option> <option value="Malta"> Malta </option> <option value="Marshall Islands"> Marshall Islands </option> <option value="Martinique"> Martinique </option> <option value="Mauritania"> Mauritania </option> <option value="Mauritius"> Mauritius </option> <option value="Mayotte"> Mayotte </option> <option value="Mexico"> Mexico </option> <option value="Micronesia"> Micronesia </option> <option value="Moldova"> Moldova </option> <option value="Monaco"> Monaco </option> <option value="Mongolia"> Mongolia </option> <option value="Montenegro"> Montenegro </option> <option value="Montserrat"> Montserrat </option> <option value="Morocco"> Morocco </option> <option value="Mozambique"> Mozambique </option> <option value="Myanmar"> Myanmar </option> <option value="Nagorno-Karabakh"> Nagorno-Karabakh </option> <option value="Namibia"> Namibia </option> <option value="Nauru"> Nauru </option> <option value="Nepal"> Nepal </option> <option value="Netherlands"> Netherlands </option> <option value="Netherlands Antilles"> Netherlands Antilles </option> <option value="New Caledonia"> New Caledonia </option> <option value="New Zealand"> New Zealand </option> <option value="Nicaragua"> Nicaragua </option> <option value="Niger"> Niger </option> <option value="Nigeria"> Nigeria </option> <option value="Niue"> Niue </option> <option value="Norfolk Island"> Norfolk Island </option> <option value="Turkish Republic of Northern Cyprus"> Turkish Republic of Northern Cyprus </option> <option value="Northern Mariana"> Northern Mariana </option> <option value="Norway"> Norway </option> <option value="Oman"> Oman </option> <option value="Pakistan"> Pakistan </option> <option value="Palau"> Palau </option> <option value="Palestine"> Palestine </option> <option value="Panama"> Panama </option> <option value="Papua New Guinea"> Papua New Guinea </option> <option value="Paraguay"> Paraguay </option> <option value="Peru"> Peru </option> <option value="Philippines"> Philippines </option> <option value="Pitcairn Islands"> Pitcairn Islands </option> <option value="Poland"> Poland </option> <option value="Portugal"> Portugal </option> <option value="Puerto Rico"> Puerto Rico </option> <option value="Qatar"> Qatar </option> <option value="Republic of the Congo"> Republic of the Congo </option> <option value="Romania"> Romania </option> <option value="Russia"> Russia </option> <option value="Rwanda"> Rwanda </option> <option value="Saint Barthelemy"> Saint Barthelemy </option> <option value="Saint Helena"> Saint Helena </option> <option value="Saint Kitts and Nevis"> Saint Kitts and Nevis </option> <option value="Saint Lucia"> Saint Lucia </option> <option value="Saint Martin"> Saint Martin </option> <option value="Saint Pierre and Miquelon"> Saint Pierre and Miquelon </option> <option value="Saint Vincent and the Grenadines"> Saint Vincent and the Grenadines </option> <option value="Samoa"> Samoa </option> <option value="San Marino"> San Marino </option> <option value="Sao Tome and Principe"> Sao Tome and Principe </option> <option value="Saudi Arabia"> Saudi Arabia </option> <option value="Senegal"> Senegal </option> <option value="Serbia"> Serbia </option> <option value="Seychelles"> Seychelles </option> <option value="Sierra Leone"> Sierra Leone </option> <option value="Singapore"> Singapore </option> <option value="Slovakia"> Slovakia </option> <option value="Slovenia"> Slovenia </option> <option value="Solomon Islands"> Solomon Islands </option> <option value="Somalia"> Somalia </option> <option value="Somaliland"> Somaliland </option> <option value="South Africa"> South Africa </option> <option value="South Ossetia"> South Ossetia </option> <option value="South Sudan"> South Sudan </option> <option value="Spain"> Spain </option> <option value="Sri Lanka"> Sri Lanka </option> <option value="Sudan"> Sudan </option> <option value="Suriname"> Suriname </option> <option value="Svalbard"> Svalbard </option> <option value="eSwatini"> eSwatini </option> <option value="Sweden"> Sweden </option> <option value="Switzerland"> Switzerland </option> <option value="Syria"> Syria </option> <option value="Taiwan"> Taiwan </option> <option value="Tajikistan"> Tajikistan </option> <option value="Tanzania"> Tanzania </option> <option value="Thailand"> Thailand </option> <option value="Timor-Leste"> Timor-Leste </option> <option value="Togo"> Togo </option> <option value="Tokelau"> Tokelau </option> <option value="Tonga"> Tonga </option> <option value="Transnistria Pridnestrovie"> Transnistria Pridnestrovie </option> <option value="Trinidad and Tobago"> Trinidad and Tobago </option> <option value="Tristan da Cunha"> Tristan da Cunha </option> <option value="Tunisia"> Tunisia </option> <option value="Turkey"> Turkey </option> <option value="Turkmenistan"> Turkmenistan </option> <option value="Turks and Caicos Islands"> Turks and Caicos Islands </option> <option value="Tuvalu"> Tuvalu </option> <option value="Uganda"> Uganda </option> <option value="Ukraine"> Ukraine </option> <option value="United Arab Emirates"> United Arab Emirates </option> <option value="United Kingdom"> United Kingdom </option> <option value="Uruguay"> Uruguay </option> <option value="Uzbekistan"> Uzbekistan </option> <option value="Vanuatu"> Vanuatu </option> <option value="Vatican City"> Vatican City </option> <option value="Venezuela"> Venezuela </option> <option value="Vietnam"> Vietnam </option> <option value="British Virgin Islands"> British Virgin Islands </option> <option value="Isle of Man"> Isle of Man </option> <option value="US Virgin Islands"> US Virgin Islands </option> <option value="Wallis and Futuna"> Wallis and Futuna </option> <option value="Western Sahara"> Western Sahara </option> <option value="Yemen"> Yemen </option> <option value="Zambia"> Zambia </option> <option value="Zimbabwe"> Zimbabwe </option> <option value="other"> Other </option> </select> <label class="form-sub-label" for="input_16_country" id="sublabel_16_country" style="min-height:13px" aria-hidden="false"> Country </label> </span> </span> </div> </div> </div> </li> <li class="form-line jf-required" data-type="control_phone" id="id_18"> <label class="form-label form-label-left" id="label_18" for="input_18_area"> Parent(s) / Guardian(s) Phone Number <span class="form-required"> * </span> </label> <div id="cid_18" class="form-input jf-required"> <div data-wrapper-react="true"> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="areaCode"> <input type="tel" id="input_18_area" name="q18_parents[area]" class="form-textbox validate[required]" size="6" value="" data-component="areaCode" aria-labelledby="label_18 sublabel_18_area" required="" /> <span class="phone-separate" aria-hidden="true">  - </span> <label class="form-sub-label" for="input_18_area" id="sublabel_18_area" style="min-height:13px" aria-hidden="false"> Area Code </label> </span> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="phone"> <input type="tel" id="input_18_phone" name="q18_parents[phone]" class="form-textbox validate[required]" size="12" value="" data-component="phone" aria-labelledby="label_18 sublabel_18_phone" required="" /> <label class="form-sub-label" for="input_18_phone" id="sublabel_18_phone" style="min-height:13px" aria-hidden="false"> Phone Number </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_email" id="id_19"> <label class="form-label form-label-left" id="label_19" for="input_19"> Parent(s) / Guardian(s) E-mail <span class="form-required"> * </span> </label> <div id="cid_19" class="form-input jf-required"> <input type="email" id="input_19" name="q19_parents19" class="form-textbox validate[required, Email]" size="30" value="" placeholder="ex: myname@example.com" data-component="email" aria-labelledby="label_19" required="" /> </div> </li> <li class="form-line form-line-column form-col-1" data-type="control_textbox" id="id_79"> <label class="form-label form-label-top" id="label_79" for="input_79"> Senior's Facebook Profile </label> <div id="cid_79" class="form-input-wide"> <input type="text" id="input_79" name="q79_seniorsFacebook" data-type="input-textbox" class="form-textbox" size="20" value="" data-component="textbox" aria-labelledby="label_79" /> </div> </li> <li class="form-line form-line-column form-col-2" data-type="control_textbox" id="id_80"> <label class="form-label form-label-top" id="label_80" for="input_80"> Senior's Instagram Profile </label> <div id="cid_80" class="form-input-wide"> <input type="text" id="input_80" name="q80_seniorsInstagram" data-type="input-textbox" class="form-textbox" size="20" value="" data-component="textbox" aria-labelledby="label_80" /> </div> </li> <li class="form-line form-line-column form-col-3" data-type="control_textbox" id="id_173"> <label class="form-label form-label-top" id="label_173" for="input_173"> Parent's Facebook Profile </label> <div id="cid_173" class="form-input-wide"> <input type="text" id="input_173" name="q173_parentsFacebook" data-type="input-textbox" class="form-textbox" size="20" value="" data-component="textbox" aria-labelledby="label_173" /> </div> </li> <li class="form-line form-line-column form-col-4" data-type="control_textbox" id="id_174"> <label class="form-label form-label-top" id="label_174" for="input_174"> Parent's Instagram Profile </label> <div id="cid_174" class="form-input-wide"> <input type="text" id="input_174" name="q174_parentsInstagram" data-type="input-textbox" class="form-textbox" size="20" value="" data-component="textbox" aria-labelledby="label_174" /> </div> </li> <li id="cid_107" class="form-input-wide" data-type="control_pagebreak"> <div class="form-pagebreak" data-component="pagebreak"> <div class="form-pagebreak-back-container"> <button id="form-pagebreak-back_107" type="button" class="form-pagebreak-back form-submit-button-light_rounded jf-form-buttons" data-component="pagebreak-back"> Back </button> </div> <div class="form-pagebreak-next-container"> <button id="form-pagebreak-next_107" type="button" class="form-pagebreak-next form-submit-button-light_rounded jf-form-buttons" data-component="pagebreak-next"> Next </button> </div> <div style="clear:both" class="pageInfo form-sub-label" id="pageInfo_107"> </div> </div> </li> </ul> <ul class="form-section page-section" style="display:none;"> <li class="form-line" data-type="control_text" id="id_123"> <div id="cid_123" class="form-input-wide"> <div id="text_123" class="form-html" data-component="text"> <p style="text-align: left;"><strong><span style="font-size: 18pt;">Choose Your Experience</span></strong></p> <p style="text-align: left;">All Conestoga seniors must sign up for the &quot;Graduate&quot; experience. This ensure that your child will be in the senior section of the 2021 yearbook. Choose a session that fits your personality for pictures that you will treasure for years.</p> <p style="text-align: center;"><img src="https://www.jotform.com/uploads/Lyryn/form_files/IMG_7679c.5f072218b625f8.14823665.jpg" alt width="797" height="531" /></p> <p style="text-align: left;"><span style="font-size: 10pt;">For a more extensive portrait experience, you may choose another experience listed below.  The other experiences add a varity of poses and clothing changes to showcase your senior's personality and style. These poses will be more casual and include full-length poses. Some of the packages offer Outdoor settings, musical instruments, props or you may even add siblings or pets. *Please note that if you choose an experience that offers this, we will schedule that on a different date then your formal session and cap and gown.</span></p> <p style="text-align: left;"><span style="text-decoration: underline;"><span style="font-size: 10pt;"><strong>FAQ</strong></span></span></p> <p><span style="font-size: 10pt;"><strong>What is the sitting fee for the yearbook portrait?</strong> There is no sitting fee. All Students are required to get one of the packages listed below. We have made the lowest package very afforable for all seniors.</span></p> <p><span style="font-size: 10pt;"><strong>May we use another photographer for causal senior portriats? </strong> Seniors may use another photographer for any other casual images in the yearbook, but please keep in mind that Lyryn Kay Photography is offering an array of packages at an already discounted rate to all Conestoga seniors.</span></p> <p><span style="font-size: 10pt;"><strong>What if students cannot afford the sitting fee? </strong>Lyryn Kay Photography never want a senior to miss out on senior portriate because of financial reasons - please reach out to Lyryn Kay Photography directly if you would like to dicuss the possiblity of a payment plan. Lyryn@yacoe.me 484-678-6838</span></p> </div> </div> </li> <li class="form-line" data-type="control_payment" id="id_83" data-payment="true"> <label class="form-label form-label-top form-label-auto" id="label_83" for="input_83"> Experience </label> <div id="cid_83" class="form-input-wide"> <div data-wrapper-react="true"> <div class="filter-container"> </div> <input type="hidden" name="simple_fpc" data-payment_type="payment" data-component="payment1" value="83" /> <input type="hidden" name="payment_total_checksum" id="payment_total_checksum" data-component="payment2" /> <div id="image-overlay" class="overlay-content" style="display:none"> <img id="current-image" /> <span class="lb-prev-button"> prev </span> <span class="lb-next-button"> next </span> <span class="lb-close-button"> ( X ) </span> <span class="image-overlay-product-container"> <ul class="form-overlay-item" hasicon="false" hasimages="true" iconvalue=""> <li class="image-overlay-image"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/Rosario-Sabrina-e1493659816547.webp?nc=1" /> </li> </ul> <ul class="form-overlay-item" hasicon="false" hasimages="true" iconvalue=""> <li class="image-overlay-image"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/nysleah08_6442_ws.jpg?nc=1" /> </li> </ul> <ul class="form-overlay-item" hasicon="false" hasimages="true" iconvalue=""> <li class="image-overlay-image"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/72181706_10158929209969554_5643620669422829568_o.jpg?nc=1" /> </li> </ul> <ul class="form-overlay-item" hasicon="false" hasimages="true" iconvalue=""> <li class="image-overlay-image"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/72550671_10159001266464554_8407420815749939200_o.jpg?nc=1" /> </li> </ul> <ul class="form-overlay-item" hasicon="false" hasimages="true" iconvalue=""> <li class="image-overlay-image"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/73497930_10158986599099554_4635501453169917952_o.jpg?nc=1" /> </li> </ul> <ul class="form-overlay-item" hasicon="false" hasimages="true" iconvalue=""> <li class="image-overlay-image"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/friends.jpg?nc=1" /> </li> </ul> <ul class="form-overlay-item" hasicon="false" hasimages="true" iconvalue=""> <li class="image-overlay-image"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/fam.jpg?nc=1" /> </li> </ul> </span> </div> <div data-wrapper-react="true"> <span class="form-product-item hover-product-item" categories="non-categorized" pid="1000" style="display:block"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/Rosario-Sabrina-e1493659816547.webp?nc=1" alt="product" class="form-product-image-with-options" width="50" style="height:auto;vertical-align:middle" /> <div data-wrapper-react="true" class="form-product-item-detail"> <input type="checkbox" class="form-checkbox form-product-input" id="input_83_1000" name="q83_experience[][id]" value="1000" /> <label for="input_83_1000" class="form-product-container"> <span data-wrapper-react="true"> <span class="form-product-name" id="product-name-input_83_1000"> Basic Yearbook Session </span> <span class="form-product-details"> <b> <span data-wrapper-react="true"> $ <span id="input_83_1000_price"> 35.00  </span> </span> </b> </span> </span> <div class="form-product-description" id="product-name-description-input_83_1000"> • 10 minute yearbook session • Senior yearbook portrait with formal attire (tuxedo or drape). • Session will either be held on a pre-determined date by your school or scheduled at Lyryn Kay Photography. • Online preview gallery of five (5) proofs • One (1) fully edited yearbook photo submission + high resolution digital file to keep. • Prints, products, and digital images are available to order via an online gallery. </div> </label> </div> </span> <br/> <span class="form-product-item hover-product-item" categories="non-categorized" pid="1001" style="display:block"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/nysleah08_6442_ws.jpg?nc=1" alt="product" class="form-product-image-with-options" width="50" style="height:auto;vertical-align:middle" /> <div data-wrapper-react="true" class="form-product-item-detail"> <input type="checkbox" class="form-checkbox form-product-input" id="input_83_1001" name="q83_experience[][id]" value="1001" /> <label for="input_83_1001" class="form-product-container"> <span data-wrapper-react="true"> <span class="form-product-name" id="product-name-input_83_1001"> Cap &amp; Gown Mini Session </span> <span class="form-product-details"> <b> <span data-wrapper-react="true"> $ <span id="input_83_1001_price"> 125.00  </span> </span> </b> </span> </span> <div class="form-product-description" id="product-name-description-input_83_1001"> • 30 minute session • Senior yearbook portrait with formal attire (tuxedo or drape). • Senior portrait with cap and gown. • Online preview gallery • One (1) fully edited yearbook photo submission. • Five (5) fully edited, high resolution digital files to keep • Prints and products are available to order via an online gallery. </div> </label> </div> </span> <br/> <span class="form-product-item hover-product-item" categories="non-categorized" pid="1002" style="display:block"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/72181706_10158929209969554_5643620669422829568_o.jpg?nc=1" alt="product" class="form-product-image-with-options" width="50" style="height:auto;vertical-align:middle" /> <div data-wrapper-react="true" class="form-product-item-detail"> <input type="checkbox" class="form-checkbox form-product-input" id="input_83_1002" name="q83_experience[][id]" value="1002" /> <label for="input_83_1002" class="form-product-container"> <span data-wrapper-react="true"> <span class="form-product-name" id="product-name-input_83_1002"> Senior Portrait Session </span> <span class="form-product-details"> <b> <span data-wrapper-react="true"> $ <span id="input_83_1002_price"> 225.00  </span> </span> </b> </span> </span> <div class="form-product-description" id="product-name-description-input_83_1002"> • One hour session • Senior yearbook portrait with formal attire (tuxedo or drape). • Senior portrait with cap and gown. • Up to two outfit changes and props (music, sports, etc.) • Online preview gallery • One (1) fully edited yearbook photo submission. • Twenty (20) fully edited, high resolution digital files to keep • Prints and products are available to order via an online gallery. </div> </label> </div> </span> <br/> <span class="form-product-item hover-product-item" categories="non-categorized" pid="1003" style="display:block"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/72550671_10159001266464554_8407420815749939200_o.jpg?nc=1" alt="product" class="form-product-image-with-options" width="50" style="height:auto;vertical-align:middle" /> <div data-wrapper-react="true" class="form-product-item-detail"> <input type="checkbox" class="form-checkbox form-product-input" id="input_83_1003" name="q83_experience[][id]" value="1003" /> <label for="input_83_1003" class="form-product-container"> <span data-wrapper-react="true"> <span class="form-product-name" id="product-name-input_83_1003"> Creative Senior Session </span> <span class="form-product-details"> <b> <span data-wrapper-react="true"> $ <span id="input_83_1003_price"> 300.00  </span> </span> </b> </span> </span> <div class="form-product-description" id="product-name-description-input_83_1003"> • 90 minute session • Senior yearbook portrait with formal attire (tuxedo or drape). • Senior portrait with cap and gown. • Up to three outfits, styles &amp; props • Up to two locations (within 20 miles of Morgantown) • Online preview gallery • One (1) fully edited yearbook photo submission. • Twenty (30) fully edited, high resolution digital files to keep • $20 print credit • Prints and products are available to order via an online gallery. </div> </label> </div> </span> <br/> <span class="form-product-item hover-product-item" categories="non-categorized" pid="1004" style="display:block"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/73497930_10158986599099554_4635501453169917952_o.jpg?nc=1" alt="product" class="form-product-image-with-options" width="50" style="height:auto;vertical-align:middle" /> <div data-wrapper-react="true" class="form-product-item-detail"> <input type="checkbox" class="form-checkbox form-product-input" id="input_83_1004" name="q83_experience[][id]" value="1004" /> <label for="input_83_1004" class="form-product-container"> <span data-wrapper-react="true"> <span class="form-product-name" id="product-name-input_83_1004"> Premium Senior Session </span> <span class="form-product-details"> <b> <span data-wrapper-react="true"> $ <span id="input_83_1004_price"> 400.00  </span> </span> </b> </span> </span> <div class="form-product-description" id="product-name-description-input_83_1004"> • Two hour session • Senior yearbook portrait with formal attire (tuxedo or drape). • Senior portrait with cap and gown. • Up to four outfits, styles &amp; props • Up to three locations (within 20 miles of Morgantown) • Online preview gallery • One (1) fully edited yearbook photo submission. • Twenty (40) fully edited, high resolution digital files to keep • $30 print credit • Prints and products are available to order via an online gallery. </div> </label> </div> </span> <br/> <span class="form-product-item hover-product-item" categories="non-categorized" pid="1005" style="display:block"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/friends.jpg?nc=1" alt="product" class="form-product-image-with-options" width="50" style="height:auto;vertical-align:middle" /> <div data-wrapper-react="true" class="form-product-item-detail"> <input type="checkbox" class="form-checkbox form-product-input" id="input_83_1005" name="q83_experience[][id]" value="1005" /> <label for="input_83_1005" class="form-product-container"> <span data-wrapper-react="true"> <span class="form-product-name" id="product-name-input_83_1005"> Friend Session - ADD ON ONLY </span> <span class="form-product-details"> <b> <span data-wrapper-react="true"> $ <span id="input_83_1005_price"> 50.00  </span> </span> </b> </span> </span> <div class="form-product-description" id="product-name-description-input_83_1005"> Want some portraits taken with your significant other or sibling? Or maybe you just want to experience senior portraits along side your best friend? Just add this to your order! ** Please note - this is not a session you can slit. This is an add on only to another person to your session. If your friends wants their own senior pictures at the same time, I suggest purchasing a Dule Session. </div> </label> </div> </span> <br/> <span class="form-product-item hover-product-item" categories="non-categorized" pid="1006" style="display:block"> <img src="https://www.jotform.com/uploads/Lyryn/form_files/fam.jpg?nc=1" alt="product" class="form-product-image-with-options" width="50" style="height:auto;vertical-align:middle" /> <div data-wrapper-react="true" class="form-product-item-detail"> <input type="checkbox" class="form-checkbox form-product-input" id="input_83_1006" name="q83_experience[][id]" value="1006" /> <label for="input_83_1006" class="form-product-container"> <span data-wrapper-react="true"> <span class="form-product-name" id="product-name-input_83_1006"> Family Portrait - ADD ON ONLY </span> <span class="form-product-details"> <b> <span data-wrapper-react="true"> $ <span id="input_83_1006_price"> 99.00  </span> </span> </b> </span> </span> <div class="form-product-description" id="product-name-description-input_83_1006"> Once the kids start leaving home, it becomes almost impossible to get everyone together for a family portrait. Add your family to your senior portrait session for $99. I’ll take pictures of everyone together and I’ll also photograph the kids together. You’ll receive four additional digital images with reprint rights. </div> </label> </div> </span> <br/> <span class="form-payment-total"> <b> <span id="total-text"> Total </span>   <span class="form-payment-price"> <span data-wrapper-react="true"> $ <span id="payment_total"> 0.00  </span> </span> </span> </b> </span> </div> </div> </div> </li> <li id="cid_122" class="form-input-wide" data-type="control_pagebreak"> <div class="form-pagebreak" data-component="pagebreak"> <div class="form-pagebreak-back-container"> <button id="form-pagebreak-back_122" type="button" class="form-pagebreak-back form-submit-button-light_rounded jf-form-buttons" data-component="pagebreak-back"> Back </button> </div> <div class="form-pagebreak-next-container"> <button id="form-pagebreak-next_122" type="button" class="form-pagebreak-next form-submit-button-light_rounded jf-form-buttons" data-component="pagebreak-next"> Next </button> </div> <div style="clear:both" class="pageInfo form-sub-label" id="pageInfo_122"> </div> </div> </li> </ul> <ul class="form-section page-section" style="display:none;"> <li class="form-line" data-type="control_text" id="id_113"> <div id="cid_113" class="form-input-wide"> <div id="text_113" class="form-html" data-component="text"> <p><strong><span style="font-size: 18pt;">Schedule Formal Portrait Session Now</span></strong></p> <p><em>No matter what experience you choose, every senior must sign up for one of the times below.</em></p> <p><img src="https://www.jotform.com/uploads/Lyryn/form_files/formal.5f0737b2629968.44711231.jpg" alt />Your yearbook portrait will be a traditional head and shoulder pose in the required suit or drape.  These portraits will be taken at the school. To schedule your session, choose an available time from one of the dates below.</p> <p><strong>Guys:</strong> You should wear a white dress shirt, a dark colored suit with a plain tie. Unless you wear facial hair, you should shave before your appointment.</p> <p><strong>Ladies:</strong> Lyryn Kay will provide the drape.  Since your shoulders are uncovered while wearing the drape, please wear a cami or tank top with thin straps for the formal sitting. Straps must be pushed down when the drape is worn. Wear makeup for your pictures. You don't have to do too much - just enhance your natural look.</p> <p><strong>Guys or Girls </strong>-  Avoid strong patterns - simple is best for formals. Middle tones or dark colors usually look best for the yearbook style poses. For casuals or outdoor photos, wear what you like. </p> <p><span style="font-size: 10pt;"><em>* All &quot;Graduate&quot; experiences are 10 minutes.  If you purchased another experience please note the times you will need for you session below.  Then sign up for as many slots you need for your session. <br /></em></span></p> <table style="height: 72px;" width="510"> <tbody> <tr> <td style="width: 120.5px; text-align: center;"> <span style="text-decoration: underline;"> <strong>Yearbook</strong> </span> </td> <td style="width: 120.5px; text-align: center;"> <span style="text-decoration: underline;"> <strong>Creative Mini</strong> </span> </td> <td style="width: 120.5px; text-align: center;"> <span style="text-decoration: underline;"> <strong>Full Creative</strong> </span> </td> <td style="width: 120.5px; text-align: center;"> <span style="text-decoration: underline;"> <strong>Premium</strong> </span> </td> </tr> <tr> <td style="width: 120.5px; text-align: center;">  30 Min. </td> <td style="width: 120.5px; text-align: center;"> 1 Hour </td> <td style="width: 120.5px; text-align: center;">  30 Min. </td> <td style="width: 120.5px; text-align: center;">  30 Min. </td> </tr> </tbody> </table> </div> </div> </li> <li class="form-line" data-type="control_appointment" id="id_125"> <label class="form-label form-label-top" id="label_125" for="input_125"> Senior Session July 24th </label> <div id="cid_125" class="form-input-wide"> <div id="input_125" class="appointmentFieldWrapper jfQuestion-fields"> <input class="appointmentFieldInput " name="q125_appointment[date]" id="input_125_date" /> <input class="appointmentFieldInput" name="q125_appointment[duration]" value="10" id="input_125_duration" /> <input class="appointmentFieldInput" name="q125_appointment[timezone]" value="America/New_York (GMT-04:00)" id="input_125_timezone" /> <div class="appointmentField"> </div> </div> </div> </li> <li class="form-line" data-type="control_appointment" id="id_126"> <label class="form-label form-label-top" id="label_126" for="input_126"> Senior Session August 22nd </label> <div id="cid_126" class="form-input-wide"> <div id="input_126" class="appointmentFieldWrapper jfQuestion-fields"> <input class="appointmentFieldInput " name="q126_appointment126[date]" id="input_126_date" /> <input class="appointmentFieldInput" name="q126_appointment126[duration]" value="10" id="input_126_duration" /> <input class="appointmentFieldInput" name="q126_appointment126[timezone]" value="America/New_York (GMT-04:00)" id="input_126_timezone" /> <div class="appointmentField"> </div> </div> </div> </li> <li class="form-line" data-type="control_text" id="id_140"> <div id="cid_140" class="form-input-wide"> <div id="text_140" class="form-html" data-component="text"> <p><strong>Can I schedule another date/time?</strong> Yes. If the dates listed below do not work, just check the box below. Lyryn Kay will then reach out and you will be more than welcome to schedule a sitting any time prior to September 15. Schedule now, late summer appointments fill-up fast.</p> </div> </div> </li> <li class="form-line" data-type="control_widget" id="id_138"> <label class="form-label form-label-top" id="label_138" for="input_138"> I am not available either of these days </label> <div id="cid_138" class="form-input-wide"> <div data-widget-name="Fancy Checkboxes" style="width:100%;text-align:Left;overflow-x:auto" data-component="widget-field"> <iframe title="Fancy Checkboxes" frameBorder="0" scrolling="no" allowtransparency="true" allow="geolocation; microphone; camera; autoplay; encrypted-media; fullscreen" data-type="iframe" class="custom-field-frame" id="customFieldFrame_138" src="" style="border:none;width:450px;height:100px" data-width="450" data-height="100"> </iframe> <div class="widget-inputs-wrapper"> <input type="hidden" id="input_138" class="form-hidden form-widget " name="q138_iAm" value="" /> <input type="hidden" id="widget_settings_138" class="form-hidden form-widget-settings" value="%5B%7B%22name%22%3A%22options%22%2C%22value%22%3A%22I%20will%20need%20to%20schedule%20a%20time%20with%20you%20separately.%20%22%7D%2C%7B%22name%22%3A%22defaults%22%2C%22value%22%3A%22Option%201%22%7D%2C%7B%22name%22%3A%22newlines%22%2C%22value%22%3A%22Yes%22%7D%5D" data-version="2" /> </div> <script type="text/javascript"> setTimeout(function() { var _cFieldFrame = document.getElementById("customFieldFrame_138"); if (_cFieldFrame) { _cFieldFrame.onload = function() { if (typeof widgetFrameLoaded !== 'undefined') { widgetFrameLoaded(138, { "formID": 201664571923154 }) } }; _cFieldFrame.src = "//widgets.jotform.io/fancyCheckboxes/?qid=138&ref=" + encodeURIComponent(window.location.protocol + "//" + window.location.host) + ''; _cFieldFrame.addClassName("custom-field-frame-rendered"); } }, 0); </script> </div> </div> </li> <li id="cid_139" class="form-input-wide" data-type="control_pagebreak"> <div class="form-pagebreak" data-component="pagebreak"> <div class="form-pagebreak-back-container"> <button id="form-pagebreak-back_139" type="button" class="form-pagebreak-back form-submit-button-light_rounded jf-form-buttons" data-component="pagebreak-back"> Back </button> </div> <div class="form-pagebreak-next-container"> <button id="form-pagebreak-next_139" type="button" class="form-pagebreak-next form-submit-button-light_rounded jf-form-buttons" data-component="pagebreak-next"> Next </button> </div> <div style="clear:both" class="pageInfo form-sub-label" id="pageInfo_139"> </div> </div> </li> </ul> <ul class="form-section page-section" style="display:none;"> <li class="form-line" data-type="control_text" id="id_176"> <div id="cid_176" class="form-input-wide"> <div id="text_176" class="form-html" data-component="text"> <p><strong><span style="font-size: 18pt;">Full and Premium Sessions</span></strong></p> <p><img src="https://www.jotform.com/uploads/Lyryn/form_files/73497930_10158986599099554_4635501453169917952_o.5f087d61ecd9a5.14913238.jpg" alt /></p> <p>If you purchased the Full or Premium Session this is all about making your personality show! Take your time to fill out the information below. I will use your answers to customize your session to be as unique as you are! If you are under 18, please be sure to have a parent with you to fill out this contact. Thank you!</p> </div> </div> </li> <li class="form-line form-line-column form-col-1 jf-required" data-type="control_widget" id="id_143"> <label class="form-label form-label-top" id="label_143" for="input_143"> Choose three dates <span class="form-required"> * </span> </label> <div id="cid_143" class="form-input-wide jf-required"> <div data-widget-name="Configurable List" style="width:100%;text-align:Left;overflow-x:auto" data-component="widget-field"> <iframe title="Configurable List" frameBorder="0" scrolling="no" allowtransparency="true" allow="geolocation; microphone; camera; autoplay; encrypted-media; fullscreen" data-type="iframe" class="custom-field-frame" id="customFieldFrame_143" src="" style="border:none;width:650px;height:130px" data-width="650" data-height="130"> </iframe> <div class="widget-inputs-wrapper"> <input type="hidden" id="input_143" class="form-hidden form-widget widget-required " name="q143_chooseThree143" value="" /> <input type="hidden" id="widget_settings_143" class="form-hidden form-widget-settings" value="%5B%7B%22name%22%3A%22fields%22%2C%22value%22%3A%22%5CnDate%20%3A%20date%20%3A%20m%2Fd%2Fy%20%3A%202000-2022%22%7D%2C%7B%22name%22%3A%22minRowsNumber%22%2C%22value%22%3A%221%22%7D%2C%7B%22name%22%3A%22limit%22%2C%22value%22%3A%220%22%7D%2C%7B%22name%22%3A%22customCSS%22%2C%22value%22%3A%22.checkbox%2C%20.radio%20%7B%5Cnmargin%3A%203px%200%3B%5Cnmin-width%3A%2070px%3B%5Cn%7D%22%7D%2C%7B%22name%22%3A%22labelAdd%22%2C%22value%22%3A%22Click%20to%20add%20another%20date%22%7D%2C%7B%22name%22%3A%22labelRemove%22%2C%22value%22%3A%22x%22%7D%5D" data-version="2" /> </div> <script type="text/javascript"> setTimeout(function() { var _cFieldFrame = document.getElementById("customFieldFrame_143"); if (_cFieldFrame) { _cFieldFrame.onload = function() { if (typeof widgetFrameLoaded !== 'undefined') { widgetFrameLoaded(143, { "formID": 201664571923154 }) } }; _cFieldFrame.src = "//widgets.jotform.io/configurableList/?qid=143&ref=" + encodeURIComponent(window.location.protocol + "//" + window.location.host) + ''; _cFieldFrame.addClassName("custom-field-frame-rendered"); } }, 0); </script> </div> </div> </li> <li class="form-line form-line-column form-col-2" data-type="control_checkbox" id="id_146"> <label class="form-label form-label-top" id="label_146" for="input_146"> More to your Session </label> <div id="cid_146" class="form-input-wide"> <div class="form-single-column" role="group" aria-labelledby="label_146" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_146_0" name="q146_moreTo146[]" value="Adding a Friend to my session" /> <label id="label_input_146_0" for="input_146_0"> Adding a Friend to my session </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_146_1" name="q146_moreTo146[]" value="Adding Family to my session" /> <label id="label_input_146_1" for="input_146_1"> Adding Family to my session </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_146_2" name="q146_moreTo146[]" value="Adding a Pet to my session" /> <label id="label_input_146_2" for="input_146_2"> Adding a Pet to my session </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_146_3" name="q146_moreTo146[]" value="I want my car in my session" /> <label id="label_input_146_3" for="input_146_3"> I want my car in my session </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_146_4" name="q146_moreTo146[]" value="I want a sibling in my session" /> <label id="label_input_146_4" for="input_146_4"> I want a sibling in my session </label> </span> </div> </div> </li> <li class="form-line" data-type="control_textarea" id="id_144"> <label class="form-label form-label-top" id="label_144" for="input_144"> Do you have any specific location(s) within that general area that you are hoping to have your session take place at? (Example: My home, a park near my house, my high school gym, etc.) </label> <div id="cid_144" class="form-input-wide"> <span class="form-sub-label-container " style="vertical-align:top"> <textarea id="input_144" class="form-textarea" name="q144_doYou" cols="40" rows="6" data-component="textarea" aria-labelledby="label_144 sublabel_input_144"></textarea> <label class="form-sub-label" for="input_144" id="sublabel_input_144" style="min-height:13px" aria-hidden="false"> **If you don't have a preference, I will share a list of the favorite locations in your area to get a variety of background options! </label> </span> </div> </li> <li class="form-line" data-type="control_checkbox" id="id_178"> <label class="form-label form-label-top form-label-auto" id="label_178" for="input_178"> Please describe the type of location you are interested in. (Choose as many as you would like) </label> <div id="cid_178" class="form-input-wide"> <div class="form-multiple-column" data-columncount="3" role="group" aria-labelledby="label_178" data-component="checkbox"> <span class="form-checkbox-item"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_178_0" name="q178_pleaseDescribe178[]" value="Country" /> <label id="label_input_178_0" for="input_178_0"> Country </label> </span> <span class="form-checkbox-item"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_178_1" name="q178_pleaseDescribe178[]" value="Sports" /> <label id="label_input_178_1" for="input_178_1"> Sports </label> </span> <span class="form-checkbox-item"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_178_2" name="q178_pleaseDescribe178[]" value="Railroad tracks" /> <label id="label_input_178_2" for="input_178_2"> Railroad tracks </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_178_3" name="q178_pleaseDescribe178[]" value="Lake" /> <label id="label_input_178_3" for="input_178_3"> Lake </label> </span> <span class="form-checkbox-item"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_178_4" name="q178_pleaseDescribe178[]" value="Park" /> <label id="label_input_178_4" for="input_178_4"> Park </label> </span> <span class="form-checkbox-item"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_178_5" name="q178_pleaseDescribe178[]" value="City/Cafe" /> <label id="label_input_178_5" for="input_178_5"> City/Cafe </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_178_6" name="q178_pleaseDescribe178[]" value="Industrial/Edgy" /> <label id="label_input_178_6" for="input_178_6"> Industrial/Edgy </label> </span> <span class="form-checkbox-item"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_178_7" name="q178_pleaseDescribe178[]" value="Woodsy" /> <label id="label_input_178_7" for="input_178_7"> Woodsy </label> </span> <span class="form-checkbox-item"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_178_8" name="q178_pleaseDescribe178[]" value="Farm/Barn" /> <label id="label_input_178_8" for="input_178_8"> Farm/Barn </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_178_9" name="q178_pleaseDescribe178[]" value="Alleys/Brick Walls" /> <label id="label_input_178_9" for="input_178_9"> Alleys/Brick Walls </label> </span> <span class="form-checkbox-item"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox" id="input_178_10" name="q178_pleaseDescribe178[]" value="Organic/Natural" /> <label id="label_input_178_10" for="input_178_10"> Organic/Natural </label> </span> </div> </div> </li> <li class="form-line" data-type="control_textarea" id="id_148"> <label class="form-label form-label-top form-label-auto" id="label_148" for="input_148"> List of activities, clubs, and hobbies that might play a part in your session. </label> <div id="cid_148" class="form-input-wide"> <textarea id="input_148" class="form-textarea" name="q148_listOf" cols="40" rows="6" data-component="textarea" aria-labelledby="label_148"></textarea> </div> </li> <li class="form-line" data-type="control_textarea" id="id_169"> <label class="form-label form-label-top form-label-auto" id="label_169" for="input_169"> Do you have access to any cool props? Do you plan on bringing any props with you? </label> <div id="cid_169" class="form-input-wide"> <textarea id="input_169" class="form-textarea" name="q169_doYou169" cols="40" rows="6" data-component="textarea" aria-labelledby="label_169"></textarea> </div> </li> <li class="form-line" data-type="control_textarea" id="id_170"> <label class="form-label form-label-top form-label-auto" id="label_170" for="input_170"> What part of yourself are you the most proud of? Can be physical or something you have done. </label> <div id="cid_170" class="form-input-wide"> <textarea id="input_170" class="form-textarea" name="q170_whatPart" cols="40" rows="6" data-component="textarea" aria-labelledby="label_170"></textarea> </div> </li> <li class="form-line" data-type="control_textarea" id="id_149"> <label class="form-label form-label-top form-label-auto" id="label_149" for="input_149"> Are there any specific shots/poses you are wanting from your session? </label> <div id="cid_149" class="form-input-wide"> <textarea id="input_149" class="form-textarea" name="q149_areThere" cols="40" rows="6" data-component="textarea" aria-labelledby="label_149"></textarea> </div> </li> <li class="form-line" data-type="control_textarea" id="id_150"> <label class="form-label form-label-top form-label-auto" id="label_150" for="input_150"> Please share any other information about what you are hoping for from your session. </label> <div id="cid_150" class="form-input-wide"> <textarea id="input_150" class="form-textarea" name="q150_pleaseShare" cols="40" rows="6" data-component="textarea" aria-labelledby="label_150"></textarea> </div> </li> <li class="form-line" data-type="control_inline" id="id_171"> <div id="cid_171" class="form-input-wide"> <div id="FITB_171" class="FITB formRender"> <p>Do you have a Pintrest account and have Ideas to share with me?<br/><span id="id_1594391250596-1" data-type="checkbox" class="FITB-inptCont"><input type="checkbox" name="q171_input171[1594391250596-1]" id="1594391250596-1" value="Yes" class="form-checkbox"/><label for="1594391250596-1">Yes</label></span>   <span id="id_1594391250596-2" data-type="checkbox" class="FITB-inptCont"><input type="checkbox" name="q171_input171[1594391250596-2]" id="1594391250596-2" value="No" class="form-checkbox"/><label for="1594391250596-2">No</label></span>  IF so provide your a link to your Pintrest Page:<span data-type="textbox" class="FITB-inptCont"><input type="text" class="form-textbox validate[]" name="q171_input171[1594391302896-shorttext]" id="1594391302896-shorttext" required=""/><label for="1594391302896-shorttext"></label></span>   <br/>   </p> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_145"> <label class="form-label form-label-top" id="label_145" for="input_145"> Tell me about who will likely be at this session. Some people prefer to come alone and work solo with me, others love to have a supportive best friend there to hype them up, and some like to bring a parent or another adult along. <span class="form-required"> * </span> </label> <div id="cid_145" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_145" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_145_0" name="q145_tellMe[]" value="Just the Senior" required="" /> <label id="label_input_145_0" for="input_145_0"> Just the Senior </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_145_1" name="q145_tellMe[]" value="Senior and Parents" required="" /> <label id="label_input_145_1" for="input_145_1"> Senior and Parents </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_145_2" name="q145_tellMe[]" value="Senior and one friend (Friend not being photographed)" required="" /> <label id="label_input_145_2" for="input_145_2"> Senior and one friend (Friend not being photographed) </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_145_3" name="q145_tellMe[]" value="Not sure yet." required="" /> <label id="label_input_145_3" for="input_145_3"> Not sure yet. </label> </span> </div> </div> </li> <li id="cid_141" class="form-input-wide" data-type="control_pagebreak"> <div class="form-pagebreak" data-component="pagebreak"> <div class="form-pagebreak-back-container"> <button id="form-pagebreak-back_141" type="button" class="form-pagebreak-back form-submit-button-light_rounded jf-form-buttons" data-component="pagebreak-back"> Back </button> </div> <div class="form-pagebreak-next-container"> <button id="form-pagebreak-next_141" type="button" class="form-pagebreak-next form-submit-button-light_rounded jf-form-buttons" data-component="pagebreak-next"> Next </button> </div> <div style="clear:both" class="pageInfo form-sub-label" id="pageInfo_141"> </div> </div> </li> </ul> <ul class="form-section page-section" style="display:none;"> <li id="cid_91" class="form-input-wide" data-type="control_head"> <div class="form-header-group header-default"> <div class="header-text httal htvam"> <h2 id="header_91" class="form-header" data-component="header"> Session Information &amp; Understanding </h2> </div> </div> </li> <li class="form-line form-line-column form-col-1" data-type="control_text" id="id_183"> <div id="cid_183" class="form-input-wide"> <div id="text_183" class="form-html" data-component="text"> <p><span style="font-size: 12pt;">Please, check the box </span></p> <p><span style="font-size: 12pt;">below in each section once </span></p> <p><span style="font-size: 12pt;">you've read it, some sections </span></p> <p><span style="font-size: 12pt;">will require you to draw your </span></p> <p><span style="font-size: 12pt;">initials in the &quot;Signature</span></p> <p><span style="font-size: 12pt;">Pad&quot; provided. If you are </span></p> <p><span style="font-size: 12pt;">under the age of 18, your </span></p> <p><span style="font-size: 12pt;">parent/legal guardian must, </span></p> <p><span style="font-size: 12pt;">also, initial each section in </span></p> <p><span style="font-size: 12pt;">the same form.</span></p> </div> </div> </li> <li class="form-line form-line-column form-col-2" data-type="control_image" id="id_182"> <div id="cid_182" class="form-input-wide"> <div style="text-align:center"> <img alt="" class="form-image" style="border:0" src="https://www.jotform.com/uploads/Lyryn/form_files/Natty-031.5f08842de87135.52802020.jpg" height="375px" width="250px" data-component="image" /> </div> </div> </li> <li class="form-line form-line-column form-col-3 jf-required" data-type="control_checkbox" id="id_157"> <label class="form-label form-label-top" id="label_157" for="input_157"> Understanding <span class="form-required"> * </span> </label> <div id="cid_157" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_157" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_157_0" name="q157_understanding157[]" value="This contract is written for the purpose of senior portraits. The signing of this contract states the client’s understanding that it is their choice to participate in these photos, and the client will not hold Lyryn Kay Photography (Here after, also referred to as LKP) responsible for any negative actions or feelings that may commence due to the images of this shoot. The Client states that they are 18 years or older. If the client is not 18 years or older, they understand a parent or legal guardian is required to sign and initial this contract as well." required="" /> <label id="label_input_157_0" for="input_157_0"> This contract is written for the purpose of senior portraits. The signing of this contract states the client’s understanding that it is their choice to participate in these photos, and the client will not hold Lyryn Kay Photography (Here after, also referred to as LKP) responsible for any negative actions or feelings that may commence due to the images of this shoot. The Client states that they are 18 years or older. If the client is not 18 years or older, they understand a parent or legal guardian is required to sign and initial this contract as well. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_24"> <label class="form-label form-label-top form-label-auto" id="label_24" for="input_24"> Service and Payment <span class="form-required"> * </span> </label> <div id="cid_24" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_24" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_24_0" name="q24_serviceAnd[]" value="Payment for &quot;Graduate&quot; session will be required up front.  All other session will require a non-refundable deposit of $50 is due upon scheduling your session.  You will get a PayPal invoice (less then 24 hours after submitting this contract) where you will be able to pay said deposit. Full payment is due on the day of the session.  Please note: All credit card payments are processed through PayPal; however, you do not need a PayPal account to use this method. If paying for your session deposit with a check, you can send to 1515 Birdell Road, Coatesville, Pa 19320. Please make checks payable to Lyryn Yacoe.  If you should have any issues or questions, please send us an email at lyryn@yacoe.me or call us at 484-678-6838.  PAYMENT STIPULATIONS: There will be a $25 fee for any returned check." required="" /> <label id="label_input_24_0" for="input_24_0"> Payment for "Graduate" session will be required up front.  All other session will require a non-refundable deposit of $50 is due upon scheduling your session.  You will get a PayPal invoice (less then 24 hours after submitting this contract) where you will be able to pay said deposit. Full payment is due on the day of the session.  Please note: All credit card payments are processed through PayPal; however, you do not need a PayPal account to use this method. If paying for your session deposit with a check, you can send to 1515 Birdell Road, Coatesville, Pa 19320. Please make checks payable to Lyryn Yacoe.  If you should have any issues or questions, please send us an email at lyryn@yacoe.me or call us at 484-678-6838.  PAYMENT STIPULATIONS: There will be a $25 fee for any returned check. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_158"> <label class="form-label form-label-top" id="label_158" for="input_158"> Schedule Arrangements <span class="form-required"> * </span> </label> <div id="cid_158" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_158" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_158_0" name="q158_scheduleArrangements[]" value="Due to the nature of the session a strict start time will be enforced to ensure the session obligations are met. If you have more than one location for your session, the travel time going from destination A to destination B so forth does count towards the total amount of the session time. The same applies for outfit changes; changing from one outfit to another does count towards the total amount of the session time. The Client is responsible for providing any props or outfits that are to be used within the session. Lyryn Kay Photography will not be held responsible for additional sessions needed due to forgotten items." required="" /> <label id="label_input_158_0" for="input_158_0"> Due to the nature of the session a strict start time will be enforced to ensure the session obligations are met. If you have more than one location for your session, the travel time going from destination A to destination B so forth does count towards the total amount of the session time. The same applies for outfit changes; changing from one outfit to another does count towards the total amount of the session time. The Client is responsible for providing any props or outfits that are to be used within the session. Lyryn Kay Photography will not be held responsible for additional sessions needed due to forgotten items. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_35"> <label class="form-label form-label-top form-label-auto" id="label_35" for="input_35"> Location Access, Fees, Permits &amp; House Rules <span class="form-required"> * </span> </label> <div id="cid_35" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_35" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_35_0" name="q35_locationAccess35[]" value="If Client wants to shoot at a location that charges for access or requires permits, Client shall be responsible for all fees associated with shooting there, including but not limited to entrance fees and parking. Client shall also be responsible for organizing access to the location and any permits required for doing so. Lyryn Kay Photography is limited by the guidelines of the location. Client shall be responsible for negotiating deviations from the house rules." required="" /> <label id="label_input_35_0" for="input_35_0"> If Client wants to shoot at a location that charges for access or requires permits, Client shall be responsible for all fees associated with shooting there, including but not limited to entrance fees and parking. Client shall also be responsible for organizing access to the location and any permits required for doing so. Lyryn Kay Photography is limited by the guidelines of the location. Client shall be responsible for negotiating deviations from the house rules. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_38"> <label class="form-label form-label-top form-label-auto" id="label_38" for="input_38"> Limitations on Light <span class="form-required"> * </span> </label> <div id="cid_38" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_38" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_38_0" name="q38_limitationsOn[]" value="Lyryn Kay Photography is primarily a natural light photographer, except for studio portrait sessions. Client acknowledge that in the event that any part of the portrait session occurs at a time or in a location where there is an absence of natural light, Lyryn Kay Photography will have to use artificial light sources and the images will look different than the natural light images Client have seen in Lyryn Kay Photography&#x27;s portfolio.   Accordingly, Client acknowledge that the images shall not be subject to rejection on the basis of taste, esthetic criteria, or personal appearance." required="" /> <label id="label_input_38_0" for="input_38_0"> Lyryn Kay Photography is primarily a natural light photographer, except for studio portrait sessions. Client acknowledge that in the event that any part of the portrait session occurs at a time or in a location where there is an absence of natural light, Lyryn Kay Photography will have to use artificial light sources and the images will look different than the natural light images Client have seen in Lyryn Kay Photography's portfolio.   Accordingly, Client acknowledge that the images shall not be subject to rejection on the basis of taste, esthetic criteria, or personal appearance. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_39"> <label class="form-label form-label-top form-label-auto" id="label_39" for="input_39"> Weather Limitations for Portrait Sessions <span class="form-required"> * </span> </label> <div id="cid_39" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_39" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_39_0" name="q39_weatherLimitations39[]" value="Client recognize that Lyryn Kay Photography prefers to shoot in outdoor, natural light for her portrait sessions. Therefore, Lyryn Kay Photography reserves the exclusive right to reschedule her portrait sessions due to weather conditions. Lyryn Kay Photography will notify the client via email 24-48 hours in advance of the portrait session if the session needs to be rescheduled due to weather conditions, including but not limited to rain, wind, snow, dust, extreme temperatures, etc." required="" /> <label id="label_input_39_0" for="input_39_0"> Client recognize that Lyryn Kay Photography prefers to shoot in outdoor, natural light for her portrait sessions. Therefore, Lyryn Kay Photography reserves the exclusive right to reschedule her portrait sessions due to weather conditions. Lyryn Kay Photography will notify the client via email 24-48 hours in advance of the portrait session if the session needs to be rescheduled due to weather conditions, including but not limited to rain, wind, snow, dust, extreme temperatures, etc. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_33"> <label class="form-label form-label-top form-label-auto" id="label_33" for="input_33"> Cooperation <span class="form-required"> * </span> </label> <div id="cid_33" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_33" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_33_0" name="q33_cooperation33[]" value="Each party agrees to cooperate in a cheerful manner and communicate in the best possible way to complete the assignment at hand. If the Clients is more than 15 minutes late to the scheduled session time without proper communication to the Photographer, the Photographer will cancel the session and not issue a refund to the Clients. The Clients will also be rescheduled another session until payment for a new session is paid in full." required="" /> <label id="label_input_33_0" for="input_33_0"> Each party agrees to cooperate in a cheerful manner and communicate in the best possible way to complete the assignment at hand. If the Clients is more than 15 minutes late to the scheduled session time without proper communication to the Photographer, the Photographer will cancel the session and not issue a refund to the Clients. The Clients will also be rescheduled another session until payment for a new session is paid in full. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_31"> <label class="form-label form-label-top form-label-auto" id="label_31" for="input_31"> Session Rescheduling <span class="form-required"> * </span> </label> <div id="cid_31" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_31" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_31_0" name="q31_sessionRescheduling31[]" value="If an illness or situation prevents a photo session from taking place, client may reschedule their session at least 24 hours prior to their shoot without penalty. The session fee will be applied to the rescheduled session only if booked within three months of the original appointment. Should client fail to give 24 hours notice, or decide to completely cancel the shoot, the deposit fee of $50 is forfeited and will not be refunded. Photographer reserves the right to reschedule due to illness, weather, or other circumstances beyond their control." required="" /> <label id="label_input_31_0" for="input_31_0"> If an illness or situation prevents a photo session from taking place, client may reschedule their session at least 24 hours prior to their shoot without penalty. The session fee will be applied to the rescheduled session only if booked within three months of the original appointment. Should client fail to give 24 hours notice, or decide to completely cancel the shoot, the deposit fee of $50 is forfeited and will not be refunded. Photographer reserves the right to reschedule due to illness, weather, or other circumstances beyond their control. </label> </span> </div> </div> </li> <li class="form-line form-line-column form-col-1 jf-required" data-type="control_widget" id="id_160"> <label class="form-label form-label-top" id="label_160" for="input_160"> Senior Initials <span class="form-required"> * </span> </label> <div id="cid_160" class="form-input-wide jf-required"> <div data-widget-name="Initials" style="width:100%;text-align:Right;overflow-x:auto" data-component="widget-field"> <iframe title="Initials" frameBorder="0" scrolling="no" allowtransparency="true" allow="geolocation; microphone; camera; autoplay; encrypted-media; fullscreen" data-type="iframe" class="custom-field-frame" id="customFieldFrame_160" src="" style="border:none;width:150px;height:100px" data-width="150" data-height="100"> </iframe> <div class="widget-inputs-wrapper"> <input type="hidden" id="input_160" class="form-hidden form-widget widget-required " name="q160_seniorInitials" value="" /> <input type="hidden" id="widget_settings_160" class="form-hidden form-widget-settings" value="%5B%5D" data-version="2" /> </div> <script type="text/javascript"> setTimeout(function() { var _cFieldFrame = document.getElementById("customFieldFrame_160"); if (_cFieldFrame) { _cFieldFrame.onload = function() { if (typeof widgetFrameLoaded !== 'undefined') { widgetFrameLoaded(160, { "formID": 201664571923154 }) } }; _cFieldFrame.src = "//data-widgets.jotform.io/signature-pad/?padWidth=200&padHeight=180&qid=160&ref=" + encodeURIComponent(window.location.protocol + "//" + window.location.host) + ''; _cFieldFrame.addClassName("custom-field-frame-rendered"); } }, 0); </script> </div> </div> </li> <li class="form-line form-line-column form-col-2 jf-required" data-type="control_widget" id="id_165"> <label class="form-label form-label-top" id="label_165" for="input_165"> Parent/Guardian Initials <span class="form-required"> * </span> </label> <div id="cid_165" class="form-input-wide jf-required"> <div data-widget-name="Initials" style="width:100%;text-align:Right;overflow-x:auto" data-component="widget-field"> <iframe title="Initials" frameBorder="0" scrolling="no" allowtransparency="true" allow="geolocation; microphone; camera; autoplay; encrypted-media; fullscreen" data-type="iframe" class="custom-field-frame" id="customFieldFrame_165" src="" style="border:none;width:150px;height:100px" data-width="150" data-height="100"> </iframe> <div class="widget-inputs-wrapper"> <input type="hidden" id="input_165" class="form-hidden form-widget widget-required " name="q165_parentguardianInitials" value="" /> <input type="hidden" id="widget_settings_165" class="form-hidden form-widget-settings" value="%5B%5D" data-version="2" /> </div> <script type="text/javascript"> setTimeout(function() { var _cFieldFrame = document.getElementById("customFieldFrame_165"); if (_cFieldFrame) { _cFieldFrame.onload = function() { if (typeof widgetFrameLoaded !== 'undefined') { widgetFrameLoaded(165, { "formID": 201664571923154 }) } }; _cFieldFrame.src = "//data-widgets.jotform.io/signature-pad/?padWidth=200&padHeight=180&qid=165&ref=" + encodeURIComponent(window.location.protocol + "//" + window.location.host) + ''; _cFieldFrame.addClassName("custom-field-frame-rendered"); } }, 0); </script> </div> </div> </li> <li class="form-line" data-type="control_divider" id="id_164"> <div id="cid_164" class="form-input-wide"> <div data-component="divider" style="border-bottom:1px solid #e6e6e6;height:1px;margin-left:0px;margin-right:0px;margin-top:5px;margin-bottom:5px"> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_23"> <label class="form-label form-label-top form-label-auto" id="label_23" for="input_23"> Copyright and Reproductions. <span class="form-required"> * </span> </label> <div id="cid_23" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_23" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_23_0" name="q23_copyrightAnd[]" value="All photographs taken by Lyryn Kay Photography are copyright protected. It is understood that the Photographer owns and retains the copyright to all of the digital images. Upon receipt of final payment and delivery of images, the client is granted a license to use the digital images for their own non-commercial purposes such as printing, electronic messaging, exchange with friends and relatives, or display on the Internet; however, the images may not be edited or altered in any way.  This includes but not limited to cropping, applying additional editing past the photographer’s digression and social media filters.It is illegal and unlawful to scan, copy, screenshot or reproduce the photographer’s work in any manner or medium and is punishable by law.  As an artist, the photographer wishes to have complete control over the final look of his/her client’s images.  Scanned images distort and devalue the quality of the images, damaging her reputation as a photographer." required="" /> <label id="label_input_23_0" for="input_23_0"> All photographs taken by Lyryn Kay Photography are copyright protected. It is understood that the Photographer owns and retains the copyright to all of the digital images. Upon receipt of final payment and delivery of images, the client is granted a license to use the digital images for their own non-commercial purposes such as printing, electronic messaging, exchange with friends and relatives, or display on the Internet; however, the images may not be edited or altered in any way.  This includes but not limited to cropping, applying additional editing past the photographer’s digression and social media filters.It is illegal and unlawful to scan, copy, screenshot or reproduce the photographer’s work in any manner or medium and is punishable by law.  As an artist, the photographer wishes to have complete control over the final look of his/her client’s images.  Scanned images distort and devalue the quality of the images, damaging her reputation as a photographer. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_25"> <label class="form-label form-label-top form-label-auto" id="label_25" for="input_25"> Artistic Rights <span class="form-required"> * </span> </label> <div id="cid_25" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_25" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_25_0" name="q25_artisticRights[]" value="The Photographer retains the right of discretion in selecting the photographic materials released to the Client.   Lyryn Kay also retains the right to make adjustments to the photographs in post-processing as she deems within her creative process and she herein has complete artistic control over the final product including the number of final images, style of editing, posing, etc.  The client must not make any artistic alterations to the photos with the exception to final crops for print orders. This includes but is not limited to: turning an image black and white, selective color, applying Instagram or other social media color filters, etc." required="" /> <label id="label_input_25_0" for="input_25_0"> The Photographer retains the right of discretion in selecting the photographic materials released to the Client.   Lyryn Kay also retains the right to make adjustments to the photographs in post-processing as she deems within her creative process and she herein has complete artistic control over the final product including the number of final images, style of editing, posing, etc.  The client must not make any artistic alterations to the photos with the exception to final crops for print orders. This includes but is not limited to: turning an image black and white, selective color, applying Instagram or other social media color filters, etc. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_40"> <label class="form-label form-label-top form-label-auto" id="label_40" for="input_40"> Culling &amp; Editing <span class="form-required"> * </span> </label> <div id="cid_40" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_40" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_40_0" name="q40_cullingamp[]" value="After the portrait session, each image is put through a careful selection process, where Lyryn Kay Photography selects images that meet her high standards of quality. Images with eyes closed, unflattering poses, and duplicate images are removed permanently immediately after Lyryn Kay Photography completes this culling process. Client acknowledges that Lyryn Kay Photography retains complete control over the culling and editing process. Lyryn Kay Photography color corrects and does portrait editing on all delivered images in Adobe Photoshop.  Lyryn Kay Photography also retains complete control over which images are delivered in color and which images are delivered in black and white.  Any additional client requested edits, including but not limited to, removal of scars or birthmarks, removal of persons or things, body shaping, head swaps, etc., shall be outsourced to our editors at $30 (thirty dollars USD) per image per round of revisions. Extensive photoshop work will be invoiced to the client at $150 per hour." required="" /> <label id="label_input_40_0" for="input_40_0"> After the portrait session, each image is put through a careful selection process, where Lyryn Kay Photography selects images that meet her high standards of quality. Images with eyes closed, unflattering poses, and duplicate images are removed permanently immediately after Lyryn Kay Photography completes this culling process. Client acknowledges that Lyryn Kay Photography retains complete control over the culling and editing process. Lyryn Kay Photography color corrects and does portrait editing on all delivered images in Adobe Photoshop.  Lyryn Kay Photography also retains complete control over which images are delivered in color and which images are delivered in black and white.  Any additional client requested edits, including but not limited to, removal of scars or birthmarks, removal of persons or things, body shaping, head swaps, etc., shall be outsourced to our editors at $30 (thirty dollars USD) per image per round of revisions. Extensive photoshop work will be invoiced to the client at $150 per hour. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_180"> <label class="form-label form-label-top form-label-auto" id="label_180" for="input_180"> Viewing Gallery/Credits <span class="form-required"> * </span> </label> <div id="cid_180" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_180" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_180_0" name="q180_viewingGallerycredits[]" value="Online viewing gallery will be available within 3 weeks after the session. Viewing gallery will be available for 90 days from release date and can be extended for a specified fee. If session includes a photo credit, all photo credits must be used within the original 3 month online proofing period. Any credits not used during this period will be forfeited." required="" /> <label id="label_input_180_0" for="input_180_0"> Online viewing gallery will be available within 3 weeks after the session. Viewing gallery will be available for 90 days from release date and can be extended for a specified fee. If session includes a photo credit, all photo credits must be used within the original 3 month online proofing period. Any credits not used during this period will be forfeited. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_41"> <label class="form-label form-label-top form-label-auto" id="label_41" for="input_41"> Additional Images/RAW Images <span class="form-required"> * </span> </label> <div id="cid_41" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_41" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_41_0" name="q41_additionalImagesraw41[]" value="Lyryn Kay Photography does not guarantee a portrait number of images in Client&#x27;s final portfolio. Under no circumstance will Lyryn Kay Photography release RAW images to Client . Lyryn Kay Photography selects the best representation of the images taken at the wedding/associated sessions for the Client portfolio, and all other images are deleted during the culling process; therefore, no additional images can or will be released to Client ." required="" /> <label id="label_input_41_0" for="input_41_0"> Lyryn Kay Photography does not guarantee a portrait number of images in Client's final portfolio. Under no circumstance will Lyryn Kay Photography release RAW images to Client . Lyryn Kay Photography selects the best representation of the images taken at the wedding/associated sessions for the Client portfolio, and all other images are deleted during the culling process; therefore, no additional images can or will be released to Client . </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_69"> <label class="form-label form-label-top form-label-auto" id="label_69" for="input_69"> Prints &amp; Products Ordered Through Your Online Gallery (Terms of Sale) <span class="form-required"> * </span> </label> <div id="cid_69" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_69" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_69_0" name="q69_printsamp[]" value="These Terms of Sale are applicable to your purchase of any Photos, Prints, Canvases, Albums and/or other Products during your in home Design Consultation with Lyryn Kay Photography. Other than as specifically provided in any separate written agreement between you and Lyryn Kay Photography, these Terms of Sale may not be altered, supplemented, or amended by the use of any document, such as purchase orders, and all sales are expressly conditioned upon your agreement to these Terms of Sale." required="" /> <label id="label_input_69_0" for="input_69_0"> These Terms of Sale are applicable to your purchase of any Photos, Prints, Canvases, Albums and/or other Products during your in home Design Consultation with Lyryn Kay Photography. Other than as specifically provided in any separate written agreement between you and Lyryn Kay Photography, these Terms of Sale may not be altered, supplemented, or amended by the use of any document, such as purchase orders, and all sales are expressly conditioned upon your agreement to these Terms of Sale. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_44"> <label class="form-label form-label-top form-label-auto" id="label_44" for="input_44"> Limit of Liability <span class="form-required"> * </span> </label> <div id="cid_44" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_44" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_44_0" name="q44_limitOf44[]" value="If the Photographer cannot perform this Agreement due to a fire or other casualty, strike, act of God or other cause beyond the control of the parties, or due to the Photographer&#x27;s illness, then the Photographer shall return the deposit to the Client but shall have no further liability with respect to the Agreement. This limitation on liability shall also apply in the event that the photographic materials are damaged in processing, lost through camera malfunction, lost in the mail, or otherwise lost or damaged without fault on the part of the Photographer. In the event the Photographer fails to perform for any other reason, the Photographer shall not be liable for any amount in excess of the retail value of the Client&#x27;s order." required="" /> <label id="label_input_44_0" for="input_44_0"> If the Photographer cannot perform this Agreement due to a fire or other casualty, strike, act of God or other cause beyond the control of the parties, or due to the Photographer's illness, then the Photographer shall return the deposit to the Client but shall have no further liability with respect to the Agreement. This limitation on liability shall also apply in the event that the photographic materials are damaged in processing, lost through camera malfunction, lost in the mail, or otherwise lost or damaged without fault on the part of the Photographer. In the event the Photographer fails to perform for any other reason, the Photographer shall not be liable for any amount in excess of the retail value of the Client's order. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_68"> <label class="form-label form-label-top form-label-auto" id="label_68" for="input_68"> Limited Reproduction &amp; Print Release for Personal Use Only: <span class="form-required"> * </span> </label> <div id="cid_68" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_68" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_68_0" name="q68_limitedReproduction[]" value="Lyryn Kay Photography grants Client a non-exclusive, non-transferable, perpetual personal-use license to download and copy the accompanying copyrighted digital images in this gallery (&quot;Media&quot;), according to the following terms: COPYRIGHT AND OWNERSHIP: Lyryn Kay Photography retains all rights, license, copyright, title, and ownership of the Media, now and in the future. WARRANTIES; AS IS: There are no warranties associated with the copyrighted digital images in this gallery, express or implied. The Media are provided &quot;as is.&quot; LOSS: Lyryn Kay Photography is not responsible for the loss of your digital images once they have been delivered. It is your responsibility to back up your images upon receipt. THIRD PARTY CLAIMS: Neither Lyryn Kay Photography nor our outside vendors will be liable for any third party claims or incidental, consequential, or other damages arising out of this license or buyer&#x27;s use of the Media. PERSONAL WEB USE: Lyryn Kay Photography permits clients to post the copyrighted digital images in this gallery for personal use on social media ONLY IF credit is given to Lyryn Kay Photography and a link is provided back to Lyryn Kay Photography. The copyrighted digital images may not be posted on business social media pages without the express written consent of Lyryn Kay Photography. PERSONAL PRINT USE: Lyryn Kay Photography permits clients to print the copyrighted digital images in this gallery for personal use in the following ways: prints up to an 8x12, greeting cards, photo gifts, photo books, and other small personal items. Prints larger than an 8x12 should be ordered through Lyryn Kay Photography, as we cannot guarantee the quality of the images large than an 8x12 printed through any other lab. ALTERATION OF DIGITAL IMAGES: The alteration of the digital images in this gallery through the use of personal digital image enhancement software, including but not limited to Instagram, Picasa, Lightroom, Photoshop, etc., in any way, is strictly prohibited and is considered a copyright violation under Federal Copyright Law. COMMERCIAL USE/PERSONAL USE FOR MONETARY GAIN: Commercial use, or personal use for monetary gain, on the web or in print is strictly prohibited, unless written permission has been obtained from Lyryn Kay Photography and credit is given to Lyryn Kay Photography. Clients&#x27; vendors may email lyryn@yacoe.me for written permission. OTHER TERMS: Any other utilization or reproduction is specifically prohibited without the express written consent of Lyryn Kay Photography. Nothing contained herein shall be deemed a release of Lyryn Kay Photography&#x27;s copyright on any of the digital images." required="" /> <label id="label_input_68_0" for="input_68_0"> Lyryn Kay Photography grants Client a non-exclusive, non-transferable, perpetual personal-use license to download and copy the accompanying copyrighted digital images in this gallery ("Media"), according to the following terms: COPYRIGHT AND OWNERSHIP: Lyryn Kay Photography retains all rights, license, copyright, title, and ownership of the Media, now and in the future. WARRANTIES; AS IS: There are no warranties associated with the copyrighted digital images in this gallery, express or implied. The Media are provided "as is." LOSS: Lyryn Kay Photography is not responsible for the loss of your digital images once they have been delivered. It is your responsibility to back up your images upon receipt. THIRD PARTY CLAIMS: Neither Lyryn Kay Photography nor our outside vendors will be liable for any third party claims or incidental, consequential, or other damages arising out of this license or buyer's use of the Media. PERSONAL WEB USE: Lyryn Kay Photography permits clients to post the copyrighted digital images in this gallery for personal use on social media ONLY IF credit is given to Lyryn Kay Photography and a link is provided back to Lyryn Kay Photography. The copyrighted digital images may not be posted on business social media pages without the express written consent of Lyryn Kay Photography. PERSONAL PRINT USE: Lyryn Kay Photography permits clients to print the copyrighted digital images in this gallery for personal use in the following ways: prints up to an 8x12, greeting cards, photo gifts, photo books, and other small personal items. Prints larger than an 8x12 should be ordered through Lyryn Kay Photography, as we cannot guarantee the quality of the images large than an 8x12 printed through any other lab. ALTERATION OF DIGITAL IMAGES: The alteration of the digital images in this gallery through the use of personal digital image enhancement software, including but not limited to Instagram, Picasa, Lightroom, Photoshop, etc., in any way, is strictly prohibited and is considered a copyright violation under Federal Copyright Law. COMMERCIAL USE/PERSONAL USE FOR MONETARY GAIN: Commercial use, or personal use for monetary gain, on the web or in print is strictly prohibited, unless written permission has been obtained from Lyryn Kay Photography and credit is given to Lyryn Kay Photography. Clients' vendors may email lyryn@yacoe.me for written permission. OTHER TERMS: Any other utilization or reproduction is specifically prohibited without the express written consent of Lyryn Kay Photography. Nothing contained herein shall be deemed a release of Lyryn Kay Photography's copyright on any of the digital images. </label> </span> </div> </div> </li> <li class="form-line form-line-column form-col-1 jf-required" data-type="control_widget" id="id_163"> <label class="form-label form-label-top" id="label_163" for="input_163"> Senior Initials <span class="form-required"> * </span> </label> <div id="cid_163" class="form-input-wide jf-required"> <div data-widget-name="Initials" style="width:100%;text-align:Right;overflow-x:auto" data-component="widget-field"> <iframe title="Initials" frameBorder="0" scrolling="no" allowtransparency="true" allow="geolocation; microphone; camera; autoplay; encrypted-media; fullscreen" data-type="iframe" class="custom-field-frame" id="customFieldFrame_163" src="" style="border:none;width:150px;height:100px" data-width="150" data-height="100"> </iframe> <div class="widget-inputs-wrapper"> <input type="hidden" id="input_163" class="form-hidden form-widget widget-required " name="q163_seniorInitials163" value="" /> <input type="hidden" id="widget_settings_163" class="form-hidden form-widget-settings" value="%5B%5D" data-version="2" /> </div> <script type="text/javascript"> setTimeout(function() { var _cFieldFrame = document.getElementById("customFieldFrame_163"); if (_cFieldFrame) { _cFieldFrame.onload = function() { if (typeof widgetFrameLoaded !== 'undefined') { widgetFrameLoaded(163, { "formID": 201664571923154 }) } }; _cFieldFrame.src = "//data-widgets.jotform.io/signature-pad/?padWidth=200&padHeight=180&qid=163&ref=" + encodeURIComponent(window.location.protocol + "//" + window.location.host) + ''; _cFieldFrame.addClassName("custom-field-frame-rendered"); } }, 0); </script> </div> </div> </li> <li class="form-line form-line-column form-col-2 jf-required" data-type="control_widget" id="id_166"> <label class="form-label form-label-top" id="label_166" for="input_166"> Parent/Guardian Initials <span class="form-required"> * </span> </label> <div id="cid_166" class="form-input-wide jf-required"> <div data-widget-name="Initials" style="width:100%;text-align:Right;overflow-x:auto" data-component="widget-field"> <iframe title="Initials" frameBorder="0" scrolling="no" allowtransparency="true" allow="geolocation; microphone; camera; autoplay; encrypted-media; fullscreen" data-type="iframe" class="custom-field-frame" id="customFieldFrame_166" src="" style="border:none;width:150px;height:100px" data-width="150" data-height="100"> </iframe> <div class="widget-inputs-wrapper"> <input type="hidden" id="input_166" class="form-hidden form-widget widget-required " name="q166_parentguardianInitials166" value="" /> <input type="hidden" id="widget_settings_166" class="form-hidden form-widget-settings" value="%5B%5D" data-version="2" /> </div> <script type="text/javascript"> setTimeout(function() { var _cFieldFrame = document.getElementById("customFieldFrame_166"); if (_cFieldFrame) { _cFieldFrame.onload = function() { if (typeof widgetFrameLoaded !== 'undefined') { widgetFrameLoaded(166, { "formID": 201664571923154 }) } }; _cFieldFrame.src = "//data-widgets.jotform.io/signature-pad/?padWidth=200&padHeight=180&qid=166&ref=" + encodeURIComponent(window.location.protocol + "//" + window.location.host) + ''; _cFieldFrame.addClassName("custom-field-frame-rendered"); } }, 0); </script> </div> </div> </li> <li class="form-line" data-type="control_divider" id="id_167"> <div id="cid_167" class="form-input-wide"> <div data-component="divider" style="border-bottom:1px solid #e6e6e6;height:1px;margin-left:0px;margin-right:0px;margin-top:5px;margin-bottom:5px"> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_45"> <label class="form-label form-label-top form-label-auto" id="label_45" for="input_45"> INDEMNIFICATION <span class="form-required"> * </span> </label> <div id="cid_45" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_45" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_45_0" name="q45_indemnification[]" value="To the fullest extent permitted by law, Client agrees to defend, indemnify, and hold harmless Lyryn Kay Photography, including its trustees, officers, members, directors, employees, servants and agents, against loss, damages, claims, suits, liabilities, judgments, costs and expenses without limitation, all reasonable attorneys&#x27; fees and expenses that may accrue against the indemnified party, including its trustees, officers, members, directors, employees, servants and agents which is approximately caused by the negligence or willful misconduct or any breach of representation arising from conduct, management or performance of any activities by Client, Client guests, Client agents, or by any of Client vendors. in the event any such claim is made, and upon notice from Lyryn Kay Photography, Client agrees to reimburse Lyryn Kay Photography for the cost of defending such an action or proceeding, using counsel satisfactory to Lyryn Kay Photography. This provision shall survive the termination of this agreement." required="" /> <label id="label_input_45_0" for="input_45_0"> To the fullest extent permitted by law, Client agrees to defend, indemnify, and hold harmless Lyryn Kay Photography, including its trustees, officers, members, directors, employees, servants and agents, against loss, damages, claims, suits, liabilities, judgments, costs and expenses without limitation, all reasonable attorneys' fees and expenses that may accrue against the indemnified party, including its trustees, officers, members, directors, employees, servants and agents which is approximately caused by the negligence or willful misconduct or any breach of representation arising from conduct, management or performance of any activities by Client, Client guests, Client agents, or by any of Client vendors. in the event any such claim is made, and upon notice from Lyryn Kay Photography, Client agrees to reimburse Lyryn Kay Photography for the cost of defending such an action or proceeding, using counsel satisfactory to Lyryn Kay Photography. This provision shall survive the termination of this agreement. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_66"> <label class="form-label form-label-top form-label-auto" id="label_66" for="input_66"> TERMS: <span class="form-required"> * </span> </label> <div id="cid_66" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_66" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_66_0" name="q66_terms[]" value="For good and valuable Consideration, receipt of which is hereby acknowledged, I grant to Photographer, Lyryn Kay Photography, her heirs, successors and assigns, my unlimited permission to license, use, reproduce and distribute images of me and/or my property, in any country, at any time, in any Media, for any purpose. Such permissible use may include but is not limited to: commercial use, personal use, advertising, trade, exhibition, competition, promotion, marketing, stock photography, product packaging, video, print, publication or editorial work. I understand and agree that my images may be altered and modified to the point where I may even be unrecognizable. My images may be combined with other pictures, text or graphics. You may even combine my name or an alias name with my images. I understand that I will have no right to inspect or approve the final use of my images or copy that may accompany it. I agree that I have absolutely no right to compensation for use of my images. I warrant I will make no claim against Photographer or his assigns for compensation relating to the use of my images. I agree that this contract will be binding not only upon me, but upon my heirs, successors and assigns as well and that this release is irrevocable and enforceable worldwide, to the fullest extent possible under the law. Any dispute relating to this agreement will be governed by the laws of the State of California, USA. RELEASE: By signing below, I hereby release, acquit, indemnify, hold harmless and discharge the Photographer, her employer, heirs, agents, successors and assigns, from any damages, actions, claims, attorney fees, costs and suits arising in any way whatsoever from the uses permitted and described more fully above that may arise in any way whatsoever from the use of my images. If any suit is brought challenging the enforcement of this agreement, I agree to indemnify Photographer or his assigns for attorney fees and expenses. I represent and warrant that I am at least 18 years of age and have the full legal capacity to execute this release." required="" /> <label id="label_input_66_0" for="input_66_0"> For good and valuable Consideration, receipt of which is hereby acknowledged, I grant to Photographer, Lyryn Kay Photography, her heirs, successors and assigns, my unlimited permission to license, use, reproduce and distribute images of me and/or my property, in any country, at any time, in any Media, for any purpose. Such permissible use may include but is not limited to: commercial use, personal use, advertising, trade, exhibition, competition, promotion, marketing, stock photography, product packaging, video, print, publication or editorial work. I understand and agree that my images may be altered and modified to the point where I may even be unrecognizable. My images may be combined with other pictures, text or graphics. You may even combine my name or an alias name with my images. I understand that I will have no right to inspect or approve the final use of my images or copy that may accompany it. I agree that I have absolutely no right to compensation for use of my images. I warrant I will make no claim against Photographer or his assigns for compensation relating to the use of my images. I agree that this contract will be binding not only upon me, but upon my heirs, successors and assigns as well and that this release is irrevocable and enforceable worldwide, to the fullest extent possible under the law. Any dispute relating to this agreement will be governed by the laws of the State of California, USA. RELEASE: By signing below, I hereby release, acquit, indemnify, hold harmless and discharge the Photographer, her employer, heirs, agents, successors and assigns, from any damages, actions, claims, attorney fees, costs and suits arising in any way whatsoever from the uses permitted and described more fully above that may arise in any way whatsoever from the use of my images. If any suit is brought challenging the enforcement of this agreement, I agree to indemnify Photographer or his assigns for attorney fees and expenses. I represent and warrant that I am at least 18 years of age and have the full legal capacity to execute this release. </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_widget" id="id_52"> <label class="form-label form-label-top form-label-auto" id="label_52" for="input_52"> Signature <span class="form-required"> * </span> </label> <div id="cid_52" class="form-input-wide jf-required"> <div data-widget-name="Smooth Signature" style="width:100%;text-align:Left;overflow-x:auto" data-component="widget-field"> <iframe title="Smooth Signature" frameBorder="0" scrolling="no" allowtransparency="true" allow="geolocation; microphone; camera; autoplay; encrypted-media; fullscreen" data-type="iframe" class="custom-field-frame" id="customFieldFrame_52" src="" style="border:none;width:400px;height:200px" data-width="400" data-height="200"> </iframe> <div class="widget-inputs-wrapper"> <input type="hidden" id="input_52" class="form-hidden form-widget widget-required " name="q52_clickTo52" value="" /> <input type="hidden" id="widget_settings_52" class="form-hidden form-widget-settings" value="%5B%5D" data-version="2" /> </div> <script type="text/javascript"> setTimeout(function() { var _cFieldFrame = document.getElementById("customFieldFrame_52"); if (_cFieldFrame) { _cFieldFrame.onload = function() { if (typeof widgetFrameLoaded !== 'undefined') { widgetFrameLoaded(52, { "formID": 201664571923154 }) } }; _cFieldFrame.src = "//data-widgets.jotform.io/signature-pad/?qid=52&ref=" + encodeURIComponent(window.location.protocol + "//" + window.location.host) + ''; _cFieldFrame.addClassName("custom-field-frame-rendered"); } }, 0); </script> </div> </div> </li> <li id="cid_162" class="form-input-wide" data-type="control_pagebreak"> <div class="form-pagebreak" data-component="pagebreak"> <div class="form-pagebreak-back-container"> <button id="form-pagebreak-back_162" type="button" class="form-pagebreak-back form-submit-button-light_rounded jf-form-buttons" data-component="pagebreak-back"> Back </button> </div> <div class="form-pagebreak-next-container"> <button id="form-pagebreak-next_162" type="button" class="form-pagebreak-next form-submit-button-light_rounded jf-form-buttons" data-component="pagebreak-next"> Next </button> </div> <div style="clear:both" class="pageInfo form-sub-label" id="pageInfo_162"> </div> </div> </li> </ul> <ul class="form-section page-section" style="display:none;"> <li class="form-line" data-type="control_text" id="id_186"> <div id="cid_186" class="form-input-wide"> <div id="text_186" class="form-html" data-component="text"> <p><strong><span style="font-size: 18pt;">Model Release</span></strong></p> <p><span style="font-size: 18pt;"><img src="https://www.jotform.com/uploads/Lyryn/form_files/IMG_3272.5f088ad48d7b37.91769044.jpg" alt width="726" height="484" /></span></p> <p><span style="font-size: 8pt;"><strong>By entering you or your parent's name below you agree to the following: </strong>In consideration of the engagement as a model of the minor/adult<em> (if over 18 years old)</em> named below, and for other good and valuable consideration that I acknowledge as having received, I hereby grant the following rights and permissions to Lyryn Kay Photographer (&quot;Photographer&quot;), his/her legal representatives and assigns, those for whom Photographer is acting, and those acting with his/her authority and permission. They have the absolute right and permission to take, use, reuse, publish, and republish photographic portraits or pictures of the minor or in which the minor may be included, in whole or in part, or composite or distorted in character or form, without restriction as to changes or alterations from time to time, in conjunction with the minor's own or a fictitious name, or reproductions of such photographs in color or otherwise, made through any medium at Photographer's studios or elsewhere, and in any and all media now or hereafter known, including the internet, for art, advertising, trade, or any other purpose whatsoever.  </span></p> <p><span style="font-size: 8pt;">I release, discharge, and agree to hold harmless and defend Photographer, his/her legal representatives or assigns, and all persons acting under his/her permission or authority or those for whom he/she is acting, from any liability by virtue of any reason in connection with the making and use of such photographs, including blurring, distortion, alteration, optical illusion, or use in composite form, whether intentional or otherwise, that may occur or be produced in the taking of said picture or in any subsequent processing thereof, as well as any publication of them, including without limitation any claims for libel or violation of any right of publicity or privacy. </span></p> <p><span style="font-size: 8pt;">I hereby warrant that I am a legal competent adult and a parent or legally appointed guardian of the minor, and that I have every right to contract for the minor in the above regard. I state further that I have read the above authorization, release, and agreement, prior to its execution, and that I am fully familiar with the contents of it. This release shall be binding upon the minor and me, and our respective heirs, legal representatives, and assigns.</span></p> </div> </div> </li> <li class="form-line form-line-column form-col-1 jf-required" data-type="control_fullname" id="id_65"> <label class="form-label form-label-top" id="label_65" for="first_65"> Model's Name <span class="form-required"> * </span> </label> <div id="cid_65" class="form-input-wide jf-required"> <div data-wrapper-react="true"> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="first"> <input type="text" id="first_65" name="q65_modelsName[first]" class="form-textbox validate[required]" size="10" value="" data-component="first" aria-labelledby="label_65 sublabel_65_first" required="" /> <label class="form-sub-label" for="first_65" id="sublabel_65_first" style="min-height:13px" aria-hidden="false"> First Name </label> </span> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="last"> <input type="text" id="last_65" name="q65_modelsName[last]" class="form-textbox validate[required]" size="15" value="" data-component="last" aria-labelledby="label_65 sublabel_65_last" required="" /> <label class="form-sub-label" for="last_65" id="sublabel_65_last" style="min-height:13px" aria-hidden="false"> Last Name </label> </span> </div> </div> </li> <li class="form-line form-line-column form-col-2 jf-required" data-type="control_radio" id="id_185"> <label class="form-label form-label-top" id="label_185" for="input_185"> Type a question <span class="form-required"> * </span> </label> <div id="cid_185" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_185" data-component="radio"> <span class="form-radio-item" style="clear:left"> <span class="dragger-item"> </span> <input type="radio" class="form-radio validate[required]" id="input_185_0" name="q185_typeA" value="I am over 18" required="" /> <label id="label_input_185_0" for="input_185_0"> I am over 18 </label> </span> <span class="form-radio-item" style="clear:left"> <span class="dragger-item"> </span> <input type="radio" class="form-radio validate[required]" id="input_185_1" name="q185_typeA" value="I am under 18" required="" /> <label id="label_input_185_1" for="input_185_1"> I am under 18 </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_radio" id="id_187"> <label class="form-label form-label-top form-label-auto" id="label_187" for="input_187"> Select one <span class="form-required"> * </span> </label> <div id="cid_187" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_187" data-component="radio"> <span class="form-radio-item" style="clear:left"> <span class="dragger-item"> </span> <input type="radio" class="form-radio validate[required]" id="input_187_0" name="q187_selectOne" value="OVER 18: I grant to Lyryn Kay Photography the right to take photographs of myself, my children and my property as deemed fit by the photographer. I authorize the photographer to copyright, use and publish the same in print and/or electronically." required="" /> <label id="label_input_187_0" for="input_187_0"> OVER 18: I grant to Lyryn Kay Photography the right to take photographs of myself, my children and my property as deemed fit by the photographer. I authorize the photographer to copyright, use and publish the same in print and/or electronically. </label> </span> <span class="form-radio-item" style="clear:left"> <span class="dragger-item"> </span> <input type="radio" class="form-radio validate[required]" id="input_187_1" name="q187_selectOne" value="UNDER 18: I, the undersigned parent and/or legal guardian of the minor model, affirm that I am freely signing this agreement. I have read this form and have familiarized myself with the contents of it. This release shall be binding upon the minor and me, and our respective heirs, legal representatives, and assigns." required="" /> <label id="label_input_187_1" for="input_187_1"> UNDER 18: I, the undersigned parent and/or legal guardian of the minor model, affirm that I am freely signing this agreement. I have read this form and have familiarized myself with the contents of it. This release shall be binding upon the minor and me, and our respective heirs, legal representatives, and assigns. </label> </span> </div> </div> </li> <li class="form-line" data-type="control_fullname" id="id_152"> <label class="form-label form-label-top form-label-auto" id="label_152" for="first_152"> Parent/Guardian's Name </label> <div id="cid_152" class="form-input-wide"> <div data-wrapper-react="true"> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="first"> <input type="text" id="first_152" name="q152_parentguardiansName[first]" class="form-textbox" size="10" value="" data-component="first" aria-labelledby="label_152 sublabel_152_first" /> <label class="form-sub-label" for="first_152" id="sublabel_152_first" style="min-height:13px" aria-hidden="false"> First Name </label> </span> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="last"> <input type="text" id="last_152" name="q152_parentguardiansName[last]" class="form-textbox" size="15" value="" data-component="last" aria-labelledby="label_152 sublabel_152_last" /> <label class="form-sub-label" for="last_152" id="sublabel_152_last" style="min-height:13px" aria-hidden="false"> Last Name </label> </span> </div> </div> </li> <li class="form-line" data-type="control_signature" id="id_189"> <label class="form-label form-label-top form-label-auto" id="label_189" for="input_189"> Signature of the person who is 18 years or older </label> <div id="cid_189" class="form-input-wide"> <div data-wrapper-react="true"> <div id="signature_pad_189" class="signature-pad-wrapper" style="width:402px;height:202px"> <div data-wrapper-react="true"> <!--[if IE 7]> <script type="text/javascript" src="/js/vendor/json2.js"></script> <![endif]--> </div> <div class="signature-line signature-wrapper signature-placeholder" data-component="signature" style="width:402px;height:202px"> <div id="sig_pad_189" data-width="400" data-height="200" data-id="189" data-required="false" class="pad "> </div> <input type="hidden" name="q189_signatureOf" class="output4" id="input_189" /> </div> <span class="clear-pad-btn clear-pad" role="button" tabindex="0"> Clear </span> </div> <div data-wrapper-react="true"> <script type="text/javascript"> window.signatureForm = true </script> </div> </div> </div> </li> <li id="cid_188" class="form-input-wide" data-type="control_pagebreak"> <div class="form-pagebreak" data-component="pagebreak"> <div class="form-pagebreak-back-container"> <button id="form-pagebreak-back_188" type="button" class="form-pagebreak-back form-submit-button-light_rounded jf-form-buttons" data-component="pagebreak-back"> Back </button> </div> <div class="form-pagebreak-next-container"> <button id="form-pagebreak-next_188" type="button" class="form-pagebreak-next form-submit-button-light_rounded jf-form-buttons" data-component="pagebreak-next"> Next </button> </div> <div style="clear:both" class="pageInfo form-sub-label" id="pageInfo_188"> </div> </div> </li> </ul> <ul class="form-section page-section" style="display:none;"> <li class="form-line" data-type="control_text" id="id_177"> <div id="cid_177" class="form-input-wide"> <div id="text_177" class="form-html" data-component="text"> <p><strong><span style="font-size: 18pt;">Social Media &amp; Permissions</span></strong></p> <p><img src="https://www.jotform.com/uploads/Lyryn/form_files/IMG_4897c.5f088d2fed0b46.31841879.jpg" alt width="555" height="370" /></p> <p>I hereby give to Lyryn Kay Photography the absolute and irrevocable right and permission with respect to the photographs that he/she has taken of myself and/or my minor child in which he/she may be included with others: the irrevocable and unrestricted right to use and publish photographs of me, or in which I may be included, for editorial trade, advertising, and any other purpose and in any manner and medium; and to alter the same without restriction. I hereby release the Photographer and her legal representatives and assigns from all claims and liability relating to said photographs.</p> <p>The Client may share web/blog post links and social media albums through use of the share functions and dissemination of direct links. The Client shall not copy, download, screen shot, or capture the photographs in any other fashion. When uploading to a Facebook Social Media profile, the Client shall &quot;tag&quot; the Photographer’s business page and mention the Lyryn Kay Photography in the caption on Facebook (Lyryn Kay Photography) and or Instagram (@LyrynKayPhotography).</p> </div> </div> </li> <li class="form-line jf-required" data-type="control_checkbox" id="id_54"> <label class="form-label form-label-top form-label-auto" id="label_54" for="input_54"> Lyryn Kay Photography is committed to respecting the privacy of her clients. No images will be shown without the written permission from Client as selected in this clause. Normally, Lyryn Kay Photography will post teasers to her Facebook page shortly after the session; will blog the session as images are uploading to the final gallery; will share images on social media; will update her website galleries to include session images; and will use for promotional uses online and in print. (Please check all that apply) <span class="form-required"> * </span> </label> <div id="cid_54" class="form-input-wide jf-required"> <div class="form-single-column" role="group" aria-labelledby="label_54" data-component="checkbox"> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_54_0" name="q54_lyrynKay[]" value="Lyryn Kay Photography may post teasers on Facebook, prior to me viewing the images." required="" /> <label id="label_input_54_0" for="input_54_0"> Lyryn Kay Photography may post teasers on Facebook, prior to me viewing the images. </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_54_1" name="q54_lyrynKay[]" value="Lyryn Kay Photography may post teasers on Instagram, prior to me viewing the images." required="" /> <label id="label_input_54_1" for="input_54_1"> Lyryn Kay Photography may post teasers on Instagram, prior to me viewing the images. </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_54_2" name="q54_lyrynKay[]" value="Lyryn Kay Photography may blog my session." required="" /> <label id="label_input_54_2" for="input_54_2"> Lyryn Kay Photography may blog my session. </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_54_3" name="q54_lyrynKay[]" value="Lyryn Kay Photography may use my images on her website." required="" /> <label id="label_input_54_3" for="input_54_3"> Lyryn Kay Photography may use my images on her website. </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_54_4" name="q54_lyrynKay[]" value="Lyryn Kay Photography may use my images on social media (including but not limited to Facebook, Twitter, Pinterest, and Instagram)." required="" /> <label id="label_input_54_4" for="input_54_4"> Lyryn Kay Photography may use my images on social media (including but not limited to Facebook, Twitter, Pinterest, and Instagram). </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_54_5" name="q54_lyrynKay[]" value="Lyryn Kay Photography may use my images for promotional materials, including web and printed materials." required="" /> <label id="label_input_54_5" for="input_54_5"> Lyryn Kay Photography may use my images for promotional materials, including web and printed materials. </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_54_6" name="q54_lyrynKay[]" value="Lyryn Kay &amp; Photography may use my images for promotional submissions to photography magazines and blog submissions (including but not limited to Seniorologie, Senior Style Guide, Lemonade and Lenses, Wanderlust)" required="" /> <label id="label_input_54_6" for="input_54_6"> Lyryn Kay & Photography may use my images for promotional submissions to photography magazines and blog submissions (including but not limited to Seniorologie, Senior Style Guide, Lemonade and Lenses, Wanderlust) </label> </span> <span class="form-checkbox-item" style="clear:left"> <span class="dragger-item"> </span> <input type="checkbox" class="form-checkbox validate[required]" id="input_54_7" name="q54_lyrynKay[]" value="Lyryn Kay Photography may use my images for uses as stated above, but only after I have viewed and approved which images are acceptable to use." required="" /> <label id="label_input_54_7" for="input_54_7"> Lyryn Kay Photography may use my images for uses as stated above, but only after I have viewed and approved which images are acceptable to use. </label> </span> </div> </div> </li> <li id="cid_192" class="form-input-wide" data-type="control_head"> <div class="form-header-group header-default"> <div class="header-text httal htvam"> <h2 id="header_192" class="form-header" data-component="header"> Entire Agreement </h2> <div id="subHeader_192" class="form-subHeader"> By signing this contract, I agree to all the terms and conditions. Any addendum made to this contract must be agreed upon by all parties involved, in writing. </div> </div> </div> </li> <li class="form-line form-line-column form-col-1 jf-required" data-type="control_fullname" id="id_193"> <label class="form-label form-label-top" id="label_193" for="first_193"> Senior's Name <span class="form-required"> * </span> </label> <div id="cid_193" class="form-input-wide jf-required"> <div data-wrapper-react="true"> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="first"> <input type="text" id="first_193" name="q193_seniorsName193[first]" class="form-textbox validate[required]" size="10" value="" data-component="first" aria-labelledby="label_193 sublabel_193_first" required="" /> <label class="form-sub-label" for="first_193" id="sublabel_193_first" style="min-height:13px" aria-hidden="false"> First Name </label> </span> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="last"> <input type="text" id="last_193" name="q193_seniorsName193[last]" class="form-textbox validate[required]" size="15" value="" data-component="last" aria-labelledby="label_193 sublabel_193_last" required="" /> <label class="form-sub-label" for="last_193" id="sublabel_193_last" style="min-height:13px" aria-hidden="false"> Last Name </label> </span> </div> </div> </li> <li class="form-line form-line-column form-col-2" data-type="control_datetime" id="id_194"> <label class="form-label form-label-top" id="label_194" for="lite_mode_194"> Date </label> <div id="cid_194" class="form-input-wide"> <div data-wrapper-react="true"> <div style="display:none"> <span class="form-sub-label-container " style="vertical-align:top"> <input type="tel" class="form-textbox validate[limitDate]" id="month_194" name="q194_date[month]" size="2" data-maxlength="2" maxLength="2" value="" autoComplete="off" aria-labelledby="label_194 sublabel_194_month" /> <span class="date-separate" aria-hidden="true">  - </span> <label class="form-sub-label" for="month_194" id="sublabel_194_month" style="min-height:13px" aria-hidden="false"> Month </label> </span> <span class="form-sub-label-container " style="vertical-align:top"> <input type="tel" class="form-textbox validate[limitDate]" id="day_194" name="q194_date[day]" size="2" data-maxlength="2" maxLength="2" value="" autoComplete="off" aria-labelledby="label_194 sublabel_194_day" /> <span class="date-separate" aria-hidden="true">  - </span> <label class="form-sub-label" for="day_194" id="sublabel_194_day" style="min-height:13px" aria-hidden="false"> Day </label> </span> <span class="form-sub-label-container " style="vertical-align:top"> <input type="tel" class="form-textbox validate[limitDate]" id="year_194" name="q194_date[year]" size="4" data-maxlength="4" data-age="" maxLength="4" value="" autoComplete="off" aria-labelledby="label_194 sublabel_194_year" /> <label class="form-sub-label" for="year_194" id="sublabel_194_year" style="min-height:13px" aria-hidden="false"> Year </label> </span> </div> <span class="form-sub-label-container " style="vertical-align:top"> <input type="text" class="form-textbox validate[limitDate, validateLiteDate]" id="lite_mode_194" size="12" data-maxlength="12" maxLength="12" data-age="" value="" data-format="mmddyyyy" data-seperator="-" placeholder="mm-dd-yyyy" autoComplete="off" aria-labelledby="label_194 sublabel_194_litemode" /> <img class=" newDefaultTheme-dateIcon icon-liteMode" alt="Pick a Date" id="input_194_pick" src="https://cdn.jotfor.ms/images/calendar.png" data-component="datetime" aria-hidden="true" data-allow-time="No" data-version="v1" /> <label class="form-sub-label" for="lite_mode_194" id="sublabel_194_litemode" style="min-height:13px" aria-hidden="false"> Date </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_widget" id="id_22"> <label class="form-label form-label-top form-label-auto" id="label_22" for="input_22"> Senior Signature <span class="form-required"> * </span> </label> <div id="cid_22" class="form-input-wide jf-required"> <div data-widget-name="Smooth Signature" style="width:100%;text-align:Left;overflow-x:auto" data-component="widget-field"> <iframe title="Smooth Signature" frameBorder="0" scrolling="no" allowtransparency="true" allow="geolocation; microphone; camera; autoplay; encrypted-media; fullscreen" data-type="iframe" class="custom-field-frame" id="customFieldFrame_22" src="" style="border:none;width:400px;height:200px" data-width="400" data-height="200"> </iframe> <div class="widget-inputs-wrapper"> <input type="hidden" id="input_22" class="form-hidden form-widget widget-required " name="q22_seniorSignature" value="" /> <input type="hidden" id="widget_settings_22" class="form-hidden form-widget-settings" value="%5B%5D" data-version="2" /> </div> <script type="text/javascript"> setTimeout(function() { var _cFieldFrame = document.getElementById("customFieldFrame_22"); if (_cFieldFrame) { _cFieldFrame.onload = function() { if (typeof widgetFrameLoaded !== 'undefined') { widgetFrameLoaded(22, { "formID": 201664571923154 }) } }; _cFieldFrame.src = "//data-widgets.jotform.io/signature-pad/?qid=22&ref=" + encodeURIComponent(window.location.protocol + "//" + window.location.host) + ''; _cFieldFrame.addClassName("custom-field-frame-rendered"); } }, 0); </script> </div> </div> </li> <li class="form-line form-line-column form-col-1 jf-required" data-type="control_fullname" id="id_195"> <label class="form-label form-label-top" id="label_195" for="first_195"> Parent's Name <span class="form-required"> * </span> </label> <div id="cid_195" class="form-input-wide jf-required"> <div data-wrapper-react="true"> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="first"> <input type="text" id="first_195" name="q195_parentsName[first]" class="form-textbox validate[required]" size="10" value="" data-component="first" aria-labelledby="label_195 sublabel_195_first" required="" /> <label class="form-sub-label" for="first_195" id="sublabel_195_first" style="min-height:13px" aria-hidden="false"> First Name </label> </span> <span class="form-sub-label-container " style="vertical-align:top" data-input-type="last"> <input type="text" id="last_195" name="q195_parentsName[last]" class="form-textbox validate[required]" size="15" value="" data-component="last" aria-labelledby="label_195 sublabel_195_last" required="" /> <label class="form-sub-label" for="last_195" id="sublabel_195_last" style="min-height:13px" aria-hidden="false"> Last Name </label> </span> </div> </div> </li> <li class="form-line form-line-column form-col-2" data-type="control_datetime" id="id_196"> <label class="form-label form-label-top" id="label_196" for="lite_mode_196"> Date </label> <div id="cid_196" class="form-input-wide"> <div data-wrapper-react="true"> <div style="display:none"> <span class="form-sub-label-container " style="vertical-align:top"> <input type="tel" class="form-textbox validate[limitDate]" id="month_196" name="q196_date196[month]" size="2" data-maxlength="2" maxLength="2" value="" autoComplete="off" aria-labelledby="label_196 sublabel_196_month" /> <span class="date-separate" aria-hidden="true">  - </span> <label class="form-sub-label" for="month_196" id="sublabel_196_month" style="min-height:13px" aria-hidden="false"> Month </label> </span> <span class="form-sub-label-container " style="vertical-align:top"> <input type="tel" class="form-textbox validate[limitDate]" id="day_196" name="q196_date196[day]" size="2" data-maxlength="2" maxLength="2" value="" autoComplete="off" aria-labelledby="label_196 sublabel_196_day" /> <span class="date-separate" aria-hidden="true">  - </span> <label class="form-sub-label" for="day_196" id="sublabel_196_day" style="min-height:13px" aria-hidden="false"> Day </label> </span> <span class="form-sub-label-container " style="vertical-align:top"> <input type="tel" class="form-textbox validate[limitDate]" id="year_196" name="q196_date196[year]" size="4" data-maxlength="4" data-age="" maxLength="4" value="" autoComplete="off" aria-labelledby="label_196 sublabel_196_year" /> <label class="form-sub-label" for="year_196" id="sublabel_196_year" style="min-height:13px" aria-hidden="false"> Year </label> </span> </div> <span class="form-sub-label-container " style="vertical-align:top"> <input type="text" class="form-textbox validate[limitDate, validateLiteDate]" id="lite_mode_196" size="12" data-maxlength="12" maxLength="12" data-age="" value="" data-format="mmddyyyy" data-seperator="-" placeholder="mm-dd-yyyy" autoComplete="off" aria-labelledby="label_196 sublabel_196_litemode" /> <img class=" newDefaultTheme-dateIcon icon-liteMode" alt="Pick a Date" id="input_196_pick" src="https://cdn.jotfor.ms/images/calendar.png" data-component="datetime" aria-hidden="true" data-allow-time="No" data-version="v1" /> <label class="form-sub-label" for="lite_mode_196" id="sublabel_196_litemode" style="min-height:13px" aria-hidden="false"> Date </label> </span> </div> </div> </li> <li class="form-line jf-required" data-type="control_widget" id="id_197"> <label class="form-label form-label-top form-label-auto" id="label_197" for="input_197"> Parent Signature <span class="form-required"> * </span> </label> <div id="cid_197" class="form-input-wide jf-required"> <div data-widget-name="Smooth Signature" style="width:100%;text-align:Left;overflow-x:auto" data-component="widget-field"> <iframe title="Smooth Signature" frameBorder="0" scrolling="no" allowtransparency="true" allow="geolocation; microphone; camera; autoplay; encrypted-media; fullscreen" data-type="iframe" class="custom-field-frame" id="customFieldFrame_197" src="" style="border:none;width:400px;height:200px" data-width="400" data-height="200"> </iframe> <div class="widget-inputs-wrapper"> <input type="hidden" id="input_197" class="form-hidden form-widget widget-required " name="q197_parentSignature" value="" /> <input type="hidden" id="widget_settings_197" class="form-hidden form-widget-settings" value="%5B%5D" data-version="2" /> </div> <script type="text/javascript"> setTimeout(function() { var _cFieldFrame = document.getElementById("customFieldFrame_197"); if (_cFieldFrame) { _cFieldFrame.onload = function() { if (typeof widgetFrameLoaded !== 'undefined') { widgetFrameLoaded(197, { "formID": 201664571923154 }) } }; _cFieldFrame.src = "//data-widgets.jotform.io/signature-pad/?qid=197&ref=" + encodeURIComponent(window.location.protocol + "//" + window.location.host) + ''; _cFieldFrame.addClassName("custom-field-frame-rendered"); } }, 0); </script> </div> </div> </li> <li class="form-line" data-type="control_button" id="id_2"> <div id="cid_2" class="form-input-wide"> <div style="margin-left:156px" data-align="auto" class="form-buttons-wrapper form-buttons-auto jsTest-button-wrapperField"> <button id="input_2" type="submit" class="form-submit-button form-submit-button-light_rounded submit-button jf-form-buttons jsTest-submitField" data-component="button" data-content=""> Submit </button> </div> </div> </li> <li class="form-line" data-type="control_divider" id="id_92"> <div id="cid_92" class="form-input-wide"> <div data-component="divider" style="border-bottom:1px solid #e6e6e6;height:1px;margin-left:0px;margin-right:0px;margin-top:5px;margin-bottom:5px"> </div> </div> </li> <ul class="form-section-closed" style="height: 60px;clear:both;" id="section_190"> <li id="cid_190" class="form-input-wide" data-type="control_collapse"> <div class="form-collapse-table" id="collapse_190" data-component="collapse"> <span class="form-collapse-mid" id="collapse-text_190"> </span> <span class="form-collapse-right form-collapse-right-hide">   </span> </div> </li> <li style="display:none"> Should be Empty: <input type="text" name="website" value="" /> </li> </ul> </div> <script> JotForm.showJotFormPowered = "0"; </script> <script> JotForm.poweredByText = "Powered by JotForm"; </script> <input type="hidden" id="simple_spc" name="simple_spc" value="201664571923154" /> <script type="text/javascript"> document.getElementById("si" + "mple" + "_spc").value = "201664571923154-201664571923154"; </script> </form>

©2017 Lyryn Kay Photography. All Rights Reserved. Website by Exton Web Design.