diff --git a/dist/pathfora.css b/dist/pathfora.css index d4bf720..0b16835 100644 --- a/dist/pathfora.css +++ b/dist/pathfora.css @@ -29,6 +29,19 @@ background-color: #f1f1f1; color: #888; font-size: 15px; + /* The live region an inline widget announces its form state through. It has + to stay rendered to stay in the accessibility tree, so it is clipped + rather than hidden with display: none or visibility: hidden. */ + /* Load-bearing, not cosmetic: a revealed state moves focus to the container + so a screen reader reads the state out, and when script moves focus while + the element losing it matches :focus-visible - a keyboard user pressing + Enter on Confirm - the element receiving it matches too. Without this rule + Chrome draws outline: auto around the whole full-viewport gate or modal + container. Do not remove. */ + /* NOTE no transition here: nothing about the state swap changes opacity, and + declaring one on the widget root overrides .slide-transition(), which + costs slideouts and bars their slide-out animation when the state's delay + closes the widget a few seconds later. */ } .pf-widget .pf-widget-body { color: #888; @@ -220,8 +233,19 @@ .pf-widget .error-state { display: none; } -.pf-widget.success { - transition: opacity 0.3s; +.pf-widget .pf-widget-announcement { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} +.pf-widget .pf-widget-container:focus { + outline: none; } .pf-widget.success .pf-widget-headline, .pf-widget.success .pf-widget-message, @@ -236,9 +260,6 @@ .pf-widget.success .success-state form { display: block; } -.pf-widget.error { - transition: opacity 0.3s; -} .pf-widget.error .pf-widget-headline, .pf-widget.error .pf-widget-message, .pf-widget.error form { diff --git a/dist/pathfora.js b/dist/pathfora.js index 71815af..4a72dca 100644 --- a/dist/pathfora.js +++ b/dist/pathfora.js @@ -264,29 +264,29 @@ /* eslint-disable quotes */ var templates = { 'subscription': { - 'bar': '
', - 'gate': '', + 'bar': '', + 'gate': '', 'inline': '', - 'modal': '', - 'slideout': '' + 'modal': '', + 'slideout': '' }, 'sitegate': { - 'gate': '' + 'gate': '' }, 'message': { - 'bar': '', + 'bar': '', 'button': '', - 'gate': '', - 'inline': '', - 'modal': '', - 'slideout': '' + 'gate': '', + 'inline': '', + 'modal': '', + 'slideout': '' }, 'includes': {}, 'form': { - 'gate': '', + 'gate': '', 'inline': '', - 'modal': '', - 'slideout': '' + 'modal': '', + 'slideout': '' }, 'assets': { 'lytics': '' @@ -1768,6 +1768,149 @@ }, 500); } + /** @module pathfora/widgets/describe-widget-container */ + + /** + * Point a widget container's aria-labelledby/aria-describedby at the headline + * and message elements it should be named and described by, giving each one an + * id to be referenced by. + * + * Ids are namespaced under the widget id, which pathfora already guarantees to + * be unique, so several widgets open at once cannot collide. A widget holding + * more than one headline and message - a form and the success or error state + * that replaces it - passes a distinct namespace per set. + * + * Callers pass null for an element that holds no text: a reference to an empty + * or absent element leaves the container unnamed just as surely as no reference + * at all, so the reference is cleared instead. + * + * @exports describeWidgetContainer + * @params {object} container + * @params {object} headline + * @params {object} message + * @params {string} namespace + */ + function describeWidgetContainer( + container, + headline, + message, + namespace, + ) { + if (headline) { + headline.id = namespace + '-pf-widget-headline'; + } + + if (message) { + message.id = namespace + '-pf-widget-message'; + } + + // NOTE bar layouts have no headline element at all, so the message is the + // only text available to name the container with + var name = headline || message, + description = headline ? message : null; + + if (name) { + container.setAttribute('aria-labelledby', name.id); + } else { + container.removeAttribute('aria-labelledby'); + } + + if (description) { + container.setAttribute('aria-describedby', description.id); + } else { + container.removeAttribute('aria-describedby'); + } + } + + /** @module pathfora/form/announce-form-state */ + + + /** + * Read the text out of a state element's headline or message. + * + * @params {object} state + * @params {string} selector + * @returns {string} + */ + function stateText(state, selector) { + var el = state.querySelector(selector); + + return el ? el.textContent || el.innerText || '' : ''; + } + + /** + * Make a revealed form success or error state perceivable to assistive + * technology. + * + * The state is revealed by CSS alone, which is silent, and the same rules hide + * the button the user just activated - so a dialog is renamed after its new + * contents and handed focus, which is what gets it read out and keeps a + * keyboard user from being dropped back to the top of the page. An inline + * widget sits in the page's own flow and should not steal focus, so its text + * is copied into the live region built alongside the states instead. + * + * @exports announceFormState + * @params {object} widget + * @params {string} name + */ + function announceFormState(widget, name) { + var state = widget.querySelector('.' + name + '-state'), + container = widget.querySelector('.pf-widget-container'); + + if (!state || !container) { + return; + } + + if (container.getAttribute('role') !== 'dialog') { + var region = widget.querySelector('.pf-widget-announcement'); + + if (!region) { + return; + } + + // NOTE the headline and message only, never the state's own buttons: the + // implicit aria-atomic on role=status means everything in here is read as + // one message, and "Thank You. We have received your submission." should + // not end in "Confirm Cancel" + var announcement = [ + stateText(state, '.pf-widget-headline'), + stateText(state, '.pf-widget-message'), + ] + .filter(function (text) { + return text.length > 0; + }) + .join('. '); + + if (!announcement.length) { + return; + } + + // NOTE written a tick late, after the class that reveals the state has + // been applied and styles have settled: Safari and VoiceOver are the + // least forgiving about text that arrives in the same tick as the change + // around it + setTimeout(function () { + while (region.firstChild) { + region.removeChild(region.firstChild); + } + + region.appendChild(document$1.createTextNode(announcement)); + }, 0); + + return; + } + + describeWidgetContainer( + container, + state.querySelector('.pf-widget-headline'), + state.querySelector('.pf-widget-message'), + widget.id + '-' + name, + ); + + container.setAttribute('tabindex', '-1'); + container.focus(); + } + /** @module pathfora/form/handle-form-states */ @@ -1785,9 +1928,11 @@ if (successful) { addClass(widget, 'success'); + announceFormState(widget, 'success'); delay = config.formStates.success && typeof config.formStates.success.delay !== 'undefined' ? config.formStates.success.delay * 1000 : 3000; } else { addClass(widget, 'error'); + announceFormState(widget, 'error'); delay = config.formStates.error && typeof config.formStates.error.delay !== 'undefined' ? config.formStates.error.delay * 1000 : 3000; } @@ -2755,6 +2900,35 @@ return elem; } + /** @module pathfora/form/construct-state-live-region */ + + + /** + * Build the empty live region an inline widget announces its form state + * through. + * + * A live region is only reliably announced when it is already rendered and + * empty at the moment its text arrives - a region that enters the + * accessibility tree with its text already inside is the classic case screen + * readers skip. So the region is built with the state elements, well before + * either state is revealed, and announceFormState writes into it. + * + * It is visually hidden rather than display: none, which would take it out of + * the accessibility tree along with its announcement, and it holds only the + * state's headline and message - role=status carries an implicit aria-atomic, + * so anything else in here would be read out with them. + * + * @exports constructStateLiveRegion + */ + function constructStateLiveRegion() { + var region = document$1.createElement('div'); + + region.className = 'pf-widget-announcement'; + region.setAttribute('role', 'status'); + + return region; + } + /** @module pathfora/widgets/actions/form-state-actions */ @@ -2862,6 +3036,15 @@ formStateActions(config, widget, 'error'); } + // NOTE an inline widget sits in the page's own flow and must not + // steal focus, so it announces its state through a live region + // instead - which has to be in the document before the state is + // revealed to be announced at all. Every other layout is a dialog + // that gets renamed and focused instead, and needs no region. + if (config.layout === 'inline') { + widgetContent.appendChild(constructStateLiveRegion()); + } + break; } break; @@ -3107,6 +3290,32 @@ } } + /** @module pathfora/widgets/setup-widget-aria */ + + + /** + * Give the widget container an accessible name and description by pointing + * aria-labelledby/aria-describedby at the widget's own headline and message. + * + * @exports setupWidgetAria + * @params {object} widget + * @params {object} config + */ + function setupWidgetAria(widget, config) { + var container = widget.querySelector('.pf-widget-container'); + + if (!container) { + return; + } + + describeWidgetContainer( + container, + config.headline ? widget.querySelector('.pf-widget-headline') : null, + config.msg ? widget.querySelector('.pf-widget-message') : null, + config.id, + ); + } + /** @module pathfora/widgets/colors/set-custom-colors */ @@ -3351,6 +3560,10 @@ throw new Error('Could not get pathfora template based on type and layout.'); } + // NOTE must run against the untouched template, before the form state + // elements duplicate the headline and message classes + setupWidgetAria(widget, config); + setupWidgetPosition(widget, config); constructWidgetActions(widget, config); setupWidgetContentUnit(widget, config); @@ -3395,7 +3608,7 @@ */ function showWidget(w) { - var openWidget = function (widget) { + var openWidget = function (widget, onOpened) { // FIXME Change to Array#filter and Array#length for (var i = 0; i < widgetTracker.openedWidgets.length; i++) { if (widgetTracker.openedWidgets[i] === widget) { @@ -3429,29 +3642,58 @@ document$1.body.appendChild(node); if (widget.layout === 'modal' || widget.layout === 'gate') { - // ensure that we set focus the the modal for accessibility reasons - var focusable = node.querySelectorAll( - 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])' - ); + // NOTE the set is recomputed on every tab rather than captured here: + // form widgets swap their form out for a success or error state, so a + // set captured at open time would send focus to elements that are + // display: none by the time the user tabs. getClientRects is the check + // rather than offsetParent, which is null for the position: fixed + // widget content of a modal + var focusableInWidget = function () { + return Array.prototype.filter.call( + node.querySelectorAll( + 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])' + ), + function (el) { + return el.getClientRects().length > 0; + } + ); + }; - if (focusable.length) { - widget.listeners.tabindex = { - type: 'keydown', - target: document$1, - fn: function (ev) { - // for modal and sitegate widgets we need to limit tab cycle focus to the widget - if (ev.keyCode === 9) { - if (!node.contains(event.target)) { - ev.preventDefault(); - focusable[0].focus(); - } else if (ev.target === focusable[focusable.length - 1]) { - ev.preventDefault(); - focusable[0].focus(); - } + widget.listeners.tabindex = { + type: 'keydown', + target: document$1, + fn: function (ev) { + // for modal and sitegate widgets we need to limit tab cycle focus to the widget + if (ev.keyCode !== 9) { + return; + } + + var focusable = focusableInWidget(); + + if (!focusable.length) { + return; + } + + // NOTE both directions: a trap that only corrects forward Tab + // leaks out of the top of the dialog on the first Shift+Tab + if (ev.shiftKey) { + if (!node.contains(ev.target) || ev.target === focusable[0]) { + ev.preventDefault(); + focusable[focusable.length - 1].focus(); } - }, - }; - } + + return; + } + + if ( + !node.contains(ev.target) || + ev.target === focusable[focusable.length - 1] + ) { + ev.preventDefault(); + focusable[0].focus(); + } + }, + }; } } else { // support legacy inline layout used position as selector. @@ -3476,6 +3718,10 @@ addClass(node, 'opened'); + if (typeof onOpened === 'function') { + onOpened(node); + } + if (typeof widgetLoadCallback === 'function') { widgetLoadCallback(callbackTypes.LOAD, { config: widget, @@ -3529,8 +3775,22 @@ // account for showDelay condition if (w.displayConditions && w.displayConditions.showDelay) { widgetTracker.delayedWidgets[w.id] = setTimeout(function () { - openWidget(w); - document$1.querySelector('.pf-widget-ok').focus(); + // NOTE the focus waits for the `opened` class rather than running as + // soon as the widget is appended: until then the widget is + // visibility: hidden, and nothing in a hidden subtree can take focus, + // so focusing here was silently doing nothing. + // + // The lookup is scoped to this widget's own node, and optional: with + // several widgets open an unscoped one focuses whichever comes first in + // the document, and a widget configured with okShow: false has no such + // button at all + openWidget(w, function (node) { + var ok = node.querySelector('.pf-widget-ok'); + + if (ok) { + ok.focus(); + } + }); }, w.displayConditions.showDelay * 1000); } else { openWidget(w); diff --git a/dist/pathfora.min.css b/dist/pathfora.min.css index a49f0cb..2ae0cf6 100644 --- a/dist/pathfora.min.css +++ b/dist/pathfora.min.css @@ -1 +1 @@ -.pf-widget,.pf-widget *{box-sizing:border-box;-webkit-sizing:border-box}.pf-widget,.pf-widget .pf-widget-body{color:#888}.pf-widget .pf-widget-btn,.pf-widget .pf-widget-close,.pf-widget a{text-decoration:none;cursor:pointer}.pf-hidden,.pf-widget .pf-content-unit,.pf-widget .pf-widget-img{display:none}.pf-widget.error,.pf-widget.success{transition:opacity .3s}.pf-box-shadow{box-shadow:0 4px 4px -4px rgba(0,0,0,.5)}.pf-widget{z-index:9999;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;visibility:hidden;opacity:0;text-align:left;-moz-box-sizing:border-box;background-color:#f1f1f1;font-size:15px}.pf-widget .pf-widget-footer{font-size:12px;margin-top:10px}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget.pf-mobile-hide{display:none}}.pf-widget *{-moz-box-sizing:border-box;text-shadow:none}.pf-widget a,.pf-widget h2,.pf-widget input,.pf-widget p,.pf-widget select,.pf-widget textarea{margin:0;padding:0;border:0;background:0 0}.pf-widget .pf-widget-headline{margin:0 0 10px;color:#444;font-weight:500}.pf-widget input[type=text],.pf-widget input[type=email],.pf-widget input[type=date],.pf-widget select,.pf-widget textarea{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;border-radius:3px;font-size:14px;width:100%;padding:10px 15px;background:#fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.2);position:relative;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-sizing:border-box}.pf-widget input[type=text]::-webkit-input-placeholder,.pf-widget input[type=email]::-webkit-input-placeholder,.pf-widget input[type=date]::-webkit-input-placeholder,.pf-widget select::-webkit-input-placeholder,.pf-widget textarea::-webkit-input-placeholder{color:#a9a9a9}.pf-widget input[type=text]:-moz-placeholder,.pf-widget input[type=email]:-moz-placeholder,.pf-widget input[type=date]:-moz-placeholder,.pf-widget select:-moz-placeholder,.pf-widget textarea:-moz-placeholder{color:#a9a9a9}.pf-widget input[type=text]::-moz-placeholder,.pf-widget input[type=email]::-moz-placeholder,.pf-widget input[type=date]::-moz-placeholder,.pf-widget select::-moz-placeholder,.pf-widget textarea::-moz-placeholder{color:#a9a9a9}.pf-widget input[type=text]:-ms-input-placeholder,.pf-widget input[type=email]:-ms-input-placeholder,.pf-widget input[type=date]:-ms-input-placeholder,.pf-widget select:-ms-input-placeholder,.pf-widget textarea:-ms-input-placeholder{color:#a9a9a9}.pf-widget select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.pf-widget select::-ms-expand{display:none}.pf-widget select.default{color:#a9a9a9}.pf-widget form:not(.pf-custom-form) input[type=text],.pf-widget form:not(.pf-custom-form) input[type=email],.pf-widget form:not(.pf-custom-form) select,.pf-widget form:not(.pf-custom-form) textarea{margin-bottom:10px}.pf-widget form:not(.pf-custom-form) [data-required=true].bad-validation,.pf-widget form:not(.pf-custom-form) [data-required=true].invalid,.pf-widget form:not(.pf-custom-form) [data-validate=true].bad-validation,.pf-widget form:not(.pf-custom-form) [data-validate=true].invalid{border:1px solid #f12626}.pf-widget input[type=text],.pf-widget input[type=email],.pf-widget input[type=date],.pf-widget select{clear:both}.pf-widget textarea{resize:none}.pf-widget .pf-widget-img{border-radius:50%}.pf-widget .pf-widget-message{line-height:1.5;font-size:15px}.pf-widget .pf-widget-btn{display:inline-block;padding:0 26px;line-height:35px;font-size:14px;border-radius:5px;border:0;margin-bottom:2px}.pf-widget .error-state,.pf-widget .success-state,.pf-widget.success .pf-widget-headline,.pf-widget.success .pf-widget-message,.pf-widget.success form{display:none}.pf-widget .pf-widget-btn.pf-widget-ok{box-shadow:0 1px 1px rgba(0,0,0,.2);color:#444;background-color:#fff}.pf-widget .pf-widget-btn.pf-widget-cancel{color:#bbb;background-color:#f1f1f1}.pf-widget .pf-widget-btn+.pf-widget-btn{margin-left:5px;margin-right:5px}.pf-widget .pf-widget-close{font-size:24px;position:absolute;top:4px;line-height:1;right:0;margin-right:12px;color:#bbb;padding:0;background-color:transparent;border:0}.pf-widget.opened{visibility:visible;opacity:1}.pf-widget .branding{position:relative}.pf-widget .branding svg{position:absolute;bottom:-25px;right:-25px;fill:#888;opacity:.25;width:120px}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget .branding svg{right:-8px}}.pf-widget.success .success-state,.pf-widget.success .success-state .pf-widget-headline,.pf-widget.success .success-state .pf-widget-message,.pf-widget.success .success-state form{display:block}.pf-widget.error .pf-widget-headline,.pf-widget.error .pf-widget-message,.pf-widget.error form{display:none}.pf-widget-has-image .pf-widget-img,.pf-widget-variant-2 .pf-widget-img,.pf-widget.error .error-state,.pf-widget.error .error-state .pf-widget-headline,.pf-widget.error .error-state .pf-widget-message,.pf-widget.error .error-state form{display:block}.pf-widget-has-recommend .pf-content-unit,.pf-widget-variant-3 .pf-content-unit{display:block;text-align:left;margin-bottom:20px;position:relative;background-color:#fff}.pf-widget-has-recommend .pf-content-unit .pf-content-unit-meta,.pf-widget-variant-3 .pf-content-unit .pf-content-unit-meta{padding:10px 15px}.pf-widget-has-recommend .pf-content-unit .pf-content-unit-meta span.pf-content-unit-info,.pf-widget-variant-3 .pf-content-unit .pf-content-unit-meta span.pf-content-unit-info{font-size:12px;display:block;margin-bottom:5px;color:#444}.pf-widget-has-recommend .pf-content-unit .pf-content-unit-meta h4,.pf-widget-variant-3 .pf-content-unit .pf-content-unit-meta h4{font-weight:500;margin:0 0 5px;line-height:1.4;color:#444}.pf-widget-has-recommend .pf-content-unit .pf-content-unit-meta p,.pf-widget-variant-3 .pf-content-unit .pf-content-unit-meta p{line-height:1.3;color:#888}.pf-widget-has-recommend .pf-content-unit .pf-content-unit-img,.pf-widget-variant-3 .pf-content-unit .pf-content-unit-img{background-size:cover;background-position:center center;background-repeat:no-repeat}.pf-widget-has-recommend .pf-content-unit:not(.stack),.pf-widget-variant-3 .pf-content-unit:not(.stack){width:95%;margin:0 auto 30px}.pf-widget-has-recommend .pf-content-unit:not(.stack) .pf-content-unit-img,.pf-widget-variant-3 .pf-content-unit:not(.stack) .pf-content-unit-img{position:absolute;display:block;height:100%;width:40%}.pf-widget-has-recommend .pf-content-unit:not(.stack) .pf-content-unit-img+.pf-content-unit-meta,.pf-widget-variant-3 .pf-content-unit:not(.stack) .pf-content-unit-img+.pf-content-unit-meta{width:60%;min-height:135px}.pf-widget-has-recommend .pf-content-unit:not(.stack) .pf-content-unit-meta,.pf-widget-variant-3 .pf-content-unit:not(.stack) .pf-content-unit-meta{padding:15px;display:block;margin:0 0 0 auto}.pf-widget-has-recommend .pf-content-unit:not(.stack) .pf-content-unit-meta span.pf-content-unit-info,.pf-widget-variant-3 .pf-content-unit:not(.stack) .pf-content-unit-meta span.pf-content-unit-info{font-size:13px}.pf-widget-has-recommend .pf-content-unit:not(.stack) .pf-content-unit-meta h4,.pf-widget-variant-3 .pf-content-unit:not(.stack) .pf-content-unit-meta h4{font-size:18px}.pf-widget-has-recommend .pf-content-unit.stack .pf-content-unit-meta h4,.pf-widget-has-recommend .pf-content-unit:not(.stack) .pf-content-unit-meta p,.pf-widget-variant-3 .pf-content-unit.stack .pf-content-unit-meta h4,.pf-widget-variant-3 .pf-content-unit:not(.stack) .pf-content-unit-meta p{font-size:14px}.pf-widget-has-recommend .pf-content-unit.stack,.pf-widget-variant-3 .pf-content-unit.stack{width:100%;display:block;text-align:left}.pf-widget-has-recommend .pf-content-unit.stack .pf-content-unit-meta p,.pf-widget-variant-3 .pf-content-unit.stack .pf-content-unit-meta p{font-size:13px}.pf-widget-has-recommend .pf-content-unit.stack .pf-content-unit-img,.pf-widget-variant-3 .pf-content-unit.stack .pf-content-unit-img{width:100%;height:135px}.pf-subscription form{width:100%;display:block;margin:0 auto}.pf-subscription form input[type=text],.pf-subscription form input[type=email]{width:100%;margin-bottom:1px}.pf-subscription form .pf-widget-btn{float:right;margin-left:5px;padding:0 16px}.pf-subscription form span{display:block;padding:2px;overflow:hidden}.pf-widget-gate .pf-widget-content,.pf-widget-modal .pf-widget-content,.pf-widget-slideout{max-height:100%;overflow-x:hidden;overflow-y:auto;box-shadow:0 4px 4px -4px rgba(0,0,0,.5)}.pf-form input.pf-field-half-width,.pf-form select.pf-field-half-width,.pf-sitegate input.pf-field-half-width,.pf-sitegate select.pf-field-half-width{width:49%;display:block;clear:none;float:left}.pf-form input.pf-field-half-width.right,.pf-form select.pf-field-half-width.right,.pf-sitegate input.pf-field-half-width.right,.pf-sitegate select.pf-field-half-width.right{float:right}.pf-form .pf-widget-btn,.pf-sitegate .pf-widget-btn{clear:both;margin-top:5px}.pf-form form.pf-custom-form>div,.pf-sitegate form.pf-custom-form>div{text-align:left;margin-bottom:10px}.pf-form .pf-form-label,.pf-sitegate .pf-form-label{font-weight:700}.pf-form .pf-widget-checkbox,.pf-form .pf-widget-radio,.pf-sitegate .pf-widget-checkbox,.pf-sitegate .pf-widget-radio{display:block;padding:4px}.pf-form .pf-widget-checkbox input,.pf-form .pf-widget-radio input,.pf-sitegate .pf-widget-checkbox input,.pf-sitegate .pf-widget-radio input{margin-right:10px}.pf-form .pf-has-label,.pf-sitegate .pf-has-label{margin-top:7px}.pf-form div.pf-form-required,.pf-form div.pf-form-required-validation,.pf-sitegate div.pf-form-required,.pf-sitegate div.pf-form-required-validation{position:relative}.pf-form div.pf-form-required-validation.bad-validation [data-required=true]:not(.pf-has-label),.pf-form div.pf-form-required-validation.bad-validation [data-validate=true]:not(.pf-has-label),.pf-form div.pf-form-required-validation.invalid [data-required=true]:not(.pf-has-label),.pf-form div.pf-form-required-validation.invalid [data-validate=true]:not(.pf-has-label),.pf-form div.pf-form-required.bad-validation [data-required=true]:not(.pf-has-label),.pf-form div.pf-form-required.bad-validation [data-validate=true]:not(.pf-has-label),.pf-form div.pf-form-required.invalid [data-required=true]:not(.pf-has-label),.pf-form div.pf-form-required.invalid [data-validate=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required-validation.bad-validation [data-required=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required-validation.bad-validation [data-validate=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required-validation.invalid [data-required=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required-validation.invalid [data-validate=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required.bad-validation [data-required=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required.bad-validation [data-validate=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required.invalid [data-required=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required.invalid [data-validate=true]:not(.pf-has-label){border:1px solid #f12626;margin:-1px}.pf-form div.pf-form-required-validation.pf-widget-checkbox-group [data-required=true],.pf-form div.pf-form-required-validation.pf-widget-radio-group,.pf-form div.pf-form-required.pf-widget-checkbox-group [data-required=true],.pf-form div.pf-form-required.pf-widget-radio-group,.pf-sitegate div.pf-form-required-validation.pf-widget-checkbox-group [data-required=true],.pf-sitegate div.pf-form-required-validation.pf-widget-radio-group,.pf-sitegate div.pf-form-required.pf-widget-checkbox-group [data-required=true],.pf-sitegate div.pf-form-required.pf-widget-radio-group{border-radius:3px}.pf-form div.pf-form-required-validation.bad-validation div.pf-invalid-flag,.pf-form div.pf-form-required-validation.invalid div.pf-required-flag,.pf-form div.pf-form-required.bad-validation div.pf-invalid-flag,.pf-form div.pf-form-required.invalid div.pf-required-flag,.pf-sitegate div.pf-form-required-validation.bad-validation div.pf-invalid-flag,.pf-sitegate div.pf-form-required-validation.invalid div.pf-required-flag,.pf-sitegate div.pf-form-required.bad-validation div.pf-invalid-flag,.pf-sitegate div.pf-form-required.invalid div.pf-required-flag{opacity:1;margin-left:10px}.pf-form div.pf-form-required div.pf-invalid-flag,.pf-form div.pf-form-required div.pf-required-flag,.pf-form div.pf-form-required-validation div.pf-invalid-flag,.pf-form div.pf-form-required-validation div.pf-required-flag,.pf-sitegate div.pf-form-required div.pf-invalid-flag,.pf-sitegate div.pf-form-required div.pf-required-flag,.pf-sitegate div.pf-form-required-validation div.pf-invalid-flag,.pf-sitegate div.pf-form-required-validation div.pf-required-flag{font-size:12px;font-weight:700;position:absolute;padding:3px 7px;display:inline;width:auto;color:#fff;background-color:#f12626;box-shadow:0 4px 4px -4px rgba(0,0,0,.5);margin-left:5px;opacity:0}.pf-form div.pf-form-required div.pf-invalid-flag span,.pf-form div.pf-form-required div.pf-required-flag span,.pf-form div.pf-form-required-validation div.pf-invalid-flag span,.pf-form div.pf-form-required-validation div.pf-required-flag span,.pf-sitegate div.pf-form-required div.pf-invalid-flag span,.pf-sitegate div.pf-form-required div.pf-required-flag span,.pf-sitegate div.pf-form-required-validation div.pf-invalid-flag span,.pf-sitegate div.pf-form-required-validation div.pf-required-flag span{position:absolute;width:0;height:0;top:6px;left:-6px;border-top:4px solid transparent;border-bottom:4px solid transparent;content:'';border-right:6px solid #f12626}.pf-form div.pf-form-required span.required,.pf-form div.pf-form-required-validation span.required,.pf-sitegate div.pf-form-required span.required,.pf-sitegate div.pf-form-required-validation span.required{color:#f12626}.pf-form.pf-widget-slideout input.pf-field-half-width,.pf-form.pf-widget-slideout select.pf-field-half-width,.pf-sitegate.pf-widget-slideout input.pf-field-half-width,.pf-sitegate.pf-widget-slideout select.pf-field-half-width{width:48%}.pf-widget-gate,.pf-widget-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);z-index:9999;text-align:center}.pf-widget-gate .pf-va-middle,.pf-widget-modal .pf-va-middle{display:table-cell;vertical-align:middle}.pf-widget-gate .pf-widget-btn,.pf-widget-modal .pf-widget-btn{font-size:16px;line-height:45px}.pf-widget-gate .pf-widget-footer,.pf-widget-modal .pf-widget-footer{text-align:center}.pf-widget-slideout .pf-widget-footer,.pf-widget-slideout.pf-widget-variant-1 .pf-widget-content .pf-widget-headline,.pf-widget-slideout.pf-widget-variant-1 .pf-widget-content .pf-widget-message,.pf-widget-slideout:not(.pf-widget-has-image) .pf-widget-content .pf-widget-headline,.pf-widget-slideout:not(.pf-widget-has-image) .pf-widget-content .pf-widget-message,.pf-widget-slideout:not(.pf-widget-has-recommend) .pf-widget-content .pf-widget-headline,.pf-widget-slideout:not(.pf-widget-has-recommend) .pf-widget-content .pf-widget-message{text-align:left}.pf-widget-gate .pf-widget-container,.pf-widget-modal .pf-widget-container{display:table;width:100%;height:100%;position:relative;top:-100vh}.pf-widget-gate .pf-widget-content,.pf-widget-modal .pf-widget-content{background-color:#f1f1f1;color:#888;width:100%;position:fixed;max-width:780px;margin:0 auto;padding:40px;border-radius:5px;top:50%;left:50%;transform:translate(-50%,-50%)}.pf-widget-gate .pf-widget-headline,.pf-widget-modal .pf-widget-headline{font-size:28px}.pf-widget-gate .pf-widget-message,.pf-widget-modal .pf-widget-message{font-size:18px;margin:0 0 30px}.pf-widget-gate.pf-subscription.pf-widget-has-branding span,.pf-widget-modal.pf-subscription.pf-widget-has-branding span,.pf-widget-slideout.pf-subscription.pf-widget-has-branding span{margin-bottom:13px}.pf-widget-gate .pf-widget-body,.pf-widget-modal .pf-widget-body{display:table;width:100%}.pf-widget-gate form input[type=text],.pf-widget-gate form input[type=email],.pf-widget-gate form input[type=date],.pf-widget-gate form select,.pf-widget-gate form textarea,.pf-widget-modal form input[type=text],.pf-widget-modal form input[type=email],.pf-widget-modal form input[type=date],.pf-widget-modal form select,.pf-widget-modal form textarea{font-size:16px}.pf-widget-gate form input[type=text],.pf-widget-gate form input[type=email],.pf-widget-gate form input[type=date],.pf-widget-gate form select,.pf-widget-modal form input[type=text],.pf-widget-modal form input[type=email],.pf-widget-modal form input[type=date],.pf-widget-modal form select{height:45px}.pf-widget-gate.opened .pf-widget-container,.pf-widget-modal.opened .pf-widget-container{top:0}.pf-widget-gate.pf-widget-has-image .pf-widget-headline,.pf-widget-gate.pf-widget-variant-2 .pf-widget-headline,.pf-widget-modal.pf-widget-has-image .pf-widget-headline,.pf-widget-modal.pf-widget-variant-2 .pf-widget-headline{margin-top:140px}.pf-widget-gate.pf-widget-has-image .pf-widget-img,.pf-widget-gate.pf-widget-variant-2 .pf-widget-img,.pf-widget-modal.pf-widget-has-image .pf-widget-img,.pf-widget-modal.pf-widget-variant-2 .pf-widget-img{float:none;position:absolute;top:20px;left:50%;margin-left:-70px;width:140px;height:140px}.pf-widget-gate.pf-subscription .pf-widget-btn,.pf-widget-modal.pf-subscription .pf-widget-btn{margin-top:2px}.pf-widget-slideout{bottom:50px;width:350px;border-radius:4px;top:auto;position:fixed;transition:translate .3s ease-in-out,opacity .3s,visibility .3s}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-gate .pf-widget-content,.pf-widget-modal .pf-widget-content{padding:40px 20px}.pf-widget-slideout{width:100%;max-width:350px}}.pf-widget-slideout .pf-widget-message{margin:0 0 20px}.pf-widget-slideout .pf-widget-btn{line-height:40px}.pf-widget-slideout .pf-widget-content{padding:30px;width:100%}.pf-widget-slideout .pf-widget-headline{font-size:20px}.pf-widget-slideout.pf-position-bottom-left,.pf-widget-slideout.pf-position-left,.pf-widget-slideout.pf-position-top-left{left:50px;translate:calc(-100% - 50px)}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-slideout.pf-position-bottom-left,.pf-widget-slideout.pf-position-left,.pf-widget-slideout.pf-position-top-left{bottom:0;left:0;translate:-100%}}.pf-widget-slideout.pf-position-bottom-right,.pf-widget-slideout.pf-position-right,.pf-widget-slideout.pf-position-top-right{left:auto;right:50px;translate:calc(100% + 50px)}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-slideout.pf-position-bottom-right,.pf-widget-slideout.pf-position-right,.pf-widget-slideout.pf-position-top-right{bottom:0;right:0;translate:100%}}.pf-widget-slideout.pf-position-left,.pf-widget-slideout.pf-position-right{bottom:auto;top:50%;transform:translateY(-50%);-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%)}.pf-widget-slideout.pf-position-top-left,.pf-widget-slideout.pf-position-top-right{bottom:auto;top:50px}.pf-widget-slideout.pf-origin-bottom{bottom:50px;translate:0 calc(100% + 50px)}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-slideout.pf-position-top-left,.pf-widget-slideout.pf-position-top-right{top:0}.pf-widget-slideout.pf-origin-bottom{bottom:0;translate:0 100%}}.pf-widget-slideout.opened{translate:0}.pf-widget-slideout .branding svg{bottom:-22px;right:-20px;width:100px}.pf-widget-bar .pf-bar-content,.pf-widget-inline.pf-widget-has-image .pf-widget-content,.pf-widget-inline.pf-widget-variant-2 .pf-widget-content,.pf-widget-slideout.pf-widget-has-image .pf-widget-content,.pf-widget-slideout.pf-widget-variant-2 .pf-widget-content{text-align:center}.pf-widget-slideout.pf-widget-has-image .pf-widget-content .pf-widget-headline,.pf-widget-slideout.pf-widget-variant-2 .pf-widget-content .pf-widget-headline{margin-top:110px}.pf-widget-slideout.pf-widget-has-image .pf-widget-img,.pf-widget-slideout.pf-widget-variant-2 .pf-widget-img{width:100px;height:100px;float:none;position:absolute;top:20px;left:50%;margin-left:-50px}.pf-widget-slideout.pf-form{width:370px}.pf-widget-slideout form:not(.pf-custom-form) input[type=email].invalid,.pf-widget-slideout form:not(.pf-custom-form) input[type=text].invalid{margin:-1px -1px 9px}.pf-push-down.opened{margin-top:59px}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-slideout.pf-form{width:100%;max-width:370px}.pf-push-down.opened{margin-top:0}}.pf-widget-bar{height:auto;padding:10px 0;min-height:59px;left:0;right:0;box-shadow:0 4px 4px -4px rgba(0,0,0,.5);transition:translate .3s ease-in-out,opacity .3s,visibility .3s}.pf-widget-bar .pf-widget-body{margin:0 20px;float:left}.pf-widget-bar .pf-widget-close{top:50%;position:absolute;margin-top:-16px;right:20px;line-height:1;margin-right:0}.pf-widget-bar .pf-widget-btn{line-height:35px}.pf-widget-bar .pf-bar-content{padding:0 40px}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-bar .pf-bar-content{padding:0 40px 0 20px}}.pf-widget-bar .pf-bar-content .pf-widget-message{text-overflow:ellipsis;max-width:100%;overflow:hidden;display:inline-block;white-space:normal;margin:6px 16px}.pf-widget-bar .pf-bar-content input[type=email],.pf-widget-bar .pf-bar-content input[type=text]{margin:0 1px;max-width:200px}.pf-widget-bar .pf-bar-content form:not(.pf-custom-form) input[type=email],.pf-widget-bar .pf-bar-content form:not(.pf-custom-form) input[type=text]{margin-bottom:0}.pf-widget-bar .pf-bar-content form:not(.pf-custom-form) input[type=email].invalid,.pf-widget-bar .pf-bar-content form:not(.pf-custom-form) input[type=text].invalid{margin:0}.pf-widget-bar .pf-bar-content>*{display:inline-block;vertical-align:middle}.pf-widget-bar.pf-position-bottom-absolute,.pf-widget-bar.pf-position-top-absolute{position:absolute}.pf-widget-bar.pf-position-top-absolute,.pf-widget-bar.pf-position-top-fixed{top:0;translate:0 -100%}.pf-widget-bar.pf-position-top-absolute .pf-bar-content,.pf-widget-bar.pf-position-top-fixed .pf-bar-content{padding-top:0}.pf-widget-bar.pf-position-bottom-fixed{bottom:0;translate:0 100%}.pf-widget-bar.pf-position-bottom-fixed,.pf-widget-bar.pf-position-top-fixed{position:fixed}.pf-widget-bar.opened.pf-position-bottom-fixed,.pf-widget-bar.opened.pf-position-top-absolute,.pf-widget-bar.opened.pf-position-top-fixed{translate:0}.pf-widget-bar.pf-widget-has-image .pf-widget-img,.pf-widget-bar.pf-widget-variant-2 .pf-widget-img{height:35px;width:35px;top:50%;margin-top:-17.5px;position:absolute}.pf-widget-bar.pf-message .pf-widget-btn,.pf-widget-bar.pf-subscription form .pf-widget-btn{margin-top:2px}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-bar.pf-widget-has-image .pf-widget-img,.pf-widget-bar.pf-widget-variant-2 .pf-widget-img{display:none}}.pf-widget-bar.pf-subscription form{width:auto}.pf-widget-bar.pf-subscription form input[type=email]{height:35px}.pf-widget-button{position:fixed;box-shadow:1px 0 4px 0 rgba(0,0,0,.5);border-radius:2px}.pf-widget-button .pf-widget-message{border:0;background-color:transparent;line-height:42px;padding:0 16px 5px;margin:0;font-weight:700;display:block;cursor:pointer;overflow:hidden;max-width:150px;white-space:nowrap;text-overflow:ellipsis;color:#888}.pf-widget-button.pf-position-left{transform-origin:left bottom;transform:rotate(90deg);left:-50px}.pf-widget-button.pf-position-right{box-shadow:-1px 0 4px 0 rgba(0,0,0,.5);transform-origin:right bottom;transform:rotate(-90deg);right:-50px}.pf-widget-button.pf-position-left,.pf-widget-button.pf-position-right{top:10%}.pf-widget-button.pf-position-bottom-left,.pf-widget-button.pf-position-top-left{left:42px}.pf-widget-button.pf-position-bottom-right,.pf-widget-button.pf-position-top-right{right:42px}.pf-widget-button.pf-position-bottom-left,.pf-widget-button.pf-position-bottom-right{bottom:-50px}.pf-widget-button.pf-position-top-left,.pf-widget-button.pf-position-top-right{top:-50px}.pf-widget-button.pf-position-top-left .pf-widget-message,.pf-widget-button.pf-position-top-right .pf-widget-message{padding:5px 16px 0}.pf-widget-button.opened.pf-position-left{left:-6px}.pf-widget-button.opened.pf-position-left:hover{left:-1px}.pf-widget-button.opened.pf-position-right{right:-6px}.pf-widget-button.opened.pf-position-right:hover{right:-1px}.pf-widget-button.opened.pf-position-bottom-left,.pf-widget-button.opened.pf-position-bottom-right{bottom:-6px;box-shadow:0 1px 4px 0 rgba(0,0,0,.5)}.pf-widget-button.opened.pf-position-bottom-left:hover,.pf-widget-button.opened.pf-position-bottom-right:hover{bottom:-1px}.pf-widget-button.opened.pf-position-top-left,.pf-widget-button.opened.pf-position-top-right{top:-6px;box-shadow:0 1px 4px 0 rgba(0,0,0,.5)}.pf-widget-button.opened.pf-position-top-left:hover,.pf-widget-button.opened.pf-position-top-right:hover{top:-1px}.pf-widget-inline{padding:20px;border-radius:2px;box-shadow:0 4px 4px -4px rgba(0,0,0,.5);transition:all 0s;position:relative}.pf-widget-inline .pf-widget-message{margin:0 0 20px}.pf-widget-inline .pf-widget-btn{transition:all 0s}.pf-widget-inline.pf-widget-has-image .pf-widget-content .pf-widget-headline,.pf-widget-inline.pf-widget-variant-2 .pf-widget-content .pf-widget-headline{margin-top:110px}.pf-widget-inline.pf-widget-has-image .pf-widget-img,.pf-widget-inline.pf-widget-variant-2 .pf-widget-img{width:100px;height:100px;float:none;position:absolute;top:20px;left:50%;margin-left:-50px}.pf-widget-inline.pf-subscription .pf-widget-btn{line-height:39px}.pf-widget-inline.pf-subscription.pf-widget-has-branding span{margin-bottom:35px}.pf-widget-inline.pf-widget-has-recommend .pf-content-unit,.pf-widget-inline.pf-widget-variant-3 .pf-content-unit{max-width:650px}.pf-widget-inline.pf-widget-has-recommend .pf-content-unit.stack,.pf-widget-inline.pf-widget-variant-3 .pf-content-unit.stack{margin:0 auto;max-width:400px}.pf-widget-inline .branding{position:relative}.pf-widget-inline .branding svg{position:absolute;bottom:-10px;right:-10px}.pf-widget-inline form:not(.pf-custom-form) input[type=email].invalid,.pf-widget-inline form:not(.pf-custom-form) input[type=text].invalid{margin:-1px -1px 9px} \ No newline at end of file +.pf-widget,.pf-widget *{box-sizing:border-box;-webkit-sizing:border-box}.pf-widget,.pf-widget .pf-widget-body{color:#888}.pf-widget .pf-widget-btn,.pf-widget .pf-widget-close,.pf-widget a{text-decoration:none;cursor:pointer}.pf-hidden,.pf-widget .pf-content-unit,.pf-widget .pf-widget-img{display:none}.pf-box-shadow{box-shadow:0 4px 4px -4px rgba(0,0,0,.5)}.pf-widget{z-index:9999;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;visibility:hidden;opacity:0;text-align:left;-moz-box-sizing:border-box;background-color:#f1f1f1;font-size:15px}.pf-widget .pf-widget-footer{font-size:12px;margin-top:10px}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget.pf-mobile-hide{display:none}}.pf-widget *{-moz-box-sizing:border-box;text-shadow:none}.pf-widget a,.pf-widget h2,.pf-widget input,.pf-widget p,.pf-widget select,.pf-widget textarea{margin:0;padding:0;border:0;background:0 0}.pf-widget .pf-widget-headline{margin:0 0 10px;color:#444;font-weight:500}.pf-widget input[type=text],.pf-widget input[type=email],.pf-widget input[type=date],.pf-widget select,.pf-widget textarea{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;border-radius:3px;font-size:14px;width:100%;padding:10px 15px;background:#fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.2);position:relative;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-sizing:border-box}.pf-widget input[type=text]::-webkit-input-placeholder,.pf-widget input[type=email]::-webkit-input-placeholder,.pf-widget input[type=date]::-webkit-input-placeholder,.pf-widget select::-webkit-input-placeholder,.pf-widget textarea::-webkit-input-placeholder{color:#a9a9a9}.pf-widget input[type=text]:-moz-placeholder,.pf-widget input[type=email]:-moz-placeholder,.pf-widget input[type=date]:-moz-placeholder,.pf-widget select:-moz-placeholder,.pf-widget textarea:-moz-placeholder{color:#a9a9a9}.pf-widget input[type=text]::-moz-placeholder,.pf-widget input[type=email]::-moz-placeholder,.pf-widget input[type=date]::-moz-placeholder,.pf-widget select::-moz-placeholder,.pf-widget textarea::-moz-placeholder{color:#a9a9a9}.pf-widget input[type=text]:-ms-input-placeholder,.pf-widget input[type=email]:-ms-input-placeholder,.pf-widget input[type=date]:-ms-input-placeholder,.pf-widget select:-ms-input-placeholder,.pf-widget textarea:-ms-input-placeholder{color:#a9a9a9}.pf-widget select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.pf-widget select::-ms-expand{display:none}.pf-widget select.default{color:#a9a9a9}.pf-widget form:not(.pf-custom-form) input[type=text],.pf-widget form:not(.pf-custom-form) input[type=email],.pf-widget form:not(.pf-custom-form) select,.pf-widget form:not(.pf-custom-form) textarea{margin-bottom:10px}.pf-widget form:not(.pf-custom-form) [data-required=true].bad-validation,.pf-widget form:not(.pf-custom-form) [data-required=true].invalid,.pf-widget form:not(.pf-custom-form) [data-validate=true].bad-validation,.pf-widget form:not(.pf-custom-form) [data-validate=true].invalid{border:1px solid #f12626}.pf-widget input[type=text],.pf-widget input[type=email],.pf-widget input[type=date],.pf-widget select{clear:both}.pf-widget textarea{resize:none}.pf-widget .pf-widget-img{border-radius:50%}.pf-widget .pf-widget-message{line-height:1.5;font-size:15px}.pf-widget .pf-widget-btn{display:inline-block;padding:0 26px;line-height:35px;font-size:14px;border-radius:5px;border:0;margin-bottom:2px}.pf-widget .error-state,.pf-widget .success-state,.pf-widget.success .pf-widget-headline,.pf-widget.success .pf-widget-message,.pf-widget.success form{display:none}.pf-widget .pf-widget-btn.pf-widget-ok{box-shadow:0 1px 1px rgba(0,0,0,.2);color:#444;background-color:#fff}.pf-widget .pf-widget-btn.pf-widget-cancel{color:#bbb;background-color:#f1f1f1}.pf-widget .pf-widget-btn+.pf-widget-btn{margin-left:5px;margin-right:5px}.pf-widget .pf-widget-close{font-size:24px;position:absolute;top:4px;line-height:1;right:0;margin-right:12px;color:#bbb;padding:0;background-color:transparent;border:0}.pf-widget.opened{visibility:visible;opacity:1}.pf-widget .branding{position:relative}.pf-widget .branding svg{position:absolute;bottom:-25px;right:-25px;fill:#888;opacity:.25;width:120px}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget .branding svg{right:-8px}}.pf-widget .pf-widget-announcement{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pf-widget .pf-widget-container:focus{outline:0}.pf-widget.success .success-state,.pf-widget.success .success-state .pf-widget-headline,.pf-widget.success .success-state .pf-widget-message,.pf-widget.success .success-state form{display:block}.pf-widget.error .pf-widget-headline,.pf-widget.error .pf-widget-message,.pf-widget.error form{display:none}.pf-widget-has-image .pf-widget-img,.pf-widget-variant-2 .pf-widget-img,.pf-widget.error .error-state,.pf-widget.error .error-state .pf-widget-headline,.pf-widget.error .error-state .pf-widget-message,.pf-widget.error .error-state form{display:block}.pf-widget-has-recommend .pf-content-unit,.pf-widget-variant-3 .pf-content-unit{display:block;text-align:left;margin-bottom:20px;position:relative;background-color:#fff}.pf-widget-has-recommend .pf-content-unit .pf-content-unit-meta,.pf-widget-variant-3 .pf-content-unit .pf-content-unit-meta{padding:10px 15px}.pf-widget-has-recommend .pf-content-unit .pf-content-unit-meta span.pf-content-unit-info,.pf-widget-variant-3 .pf-content-unit .pf-content-unit-meta span.pf-content-unit-info{font-size:12px;display:block;margin-bottom:5px;color:#444}.pf-widget-has-recommend .pf-content-unit .pf-content-unit-meta h4,.pf-widget-variant-3 .pf-content-unit .pf-content-unit-meta h4{font-weight:500;margin:0 0 5px;line-height:1.4;color:#444}.pf-widget-has-recommend .pf-content-unit .pf-content-unit-meta p,.pf-widget-variant-3 .pf-content-unit .pf-content-unit-meta p{line-height:1.3;color:#888}.pf-widget-has-recommend .pf-content-unit .pf-content-unit-img,.pf-widget-variant-3 .pf-content-unit .pf-content-unit-img{background-size:cover;background-position:center center;background-repeat:no-repeat}.pf-widget-has-recommend .pf-content-unit:not(.stack),.pf-widget-variant-3 .pf-content-unit:not(.stack){width:95%;margin:0 auto 30px}.pf-widget-has-recommend .pf-content-unit:not(.stack) .pf-content-unit-img,.pf-widget-variant-3 .pf-content-unit:not(.stack) .pf-content-unit-img{position:absolute;display:block;height:100%;width:40%}.pf-widget-has-recommend .pf-content-unit:not(.stack) .pf-content-unit-img+.pf-content-unit-meta,.pf-widget-variant-3 .pf-content-unit:not(.stack) .pf-content-unit-img+.pf-content-unit-meta{width:60%;min-height:135px}.pf-widget-has-recommend .pf-content-unit:not(.stack) .pf-content-unit-meta,.pf-widget-variant-3 .pf-content-unit:not(.stack) .pf-content-unit-meta{padding:15px;display:block;margin:0 0 0 auto}.pf-widget-has-recommend .pf-content-unit:not(.stack) .pf-content-unit-meta span.pf-content-unit-info,.pf-widget-variant-3 .pf-content-unit:not(.stack) .pf-content-unit-meta span.pf-content-unit-info{font-size:13px}.pf-widget-has-recommend .pf-content-unit:not(.stack) .pf-content-unit-meta h4,.pf-widget-variant-3 .pf-content-unit:not(.stack) .pf-content-unit-meta h4{font-size:18px}.pf-widget-has-recommend .pf-content-unit.stack .pf-content-unit-meta h4,.pf-widget-has-recommend .pf-content-unit:not(.stack) .pf-content-unit-meta p,.pf-widget-variant-3 .pf-content-unit.stack .pf-content-unit-meta h4,.pf-widget-variant-3 .pf-content-unit:not(.stack) .pf-content-unit-meta p{font-size:14px}.pf-widget-has-recommend .pf-content-unit.stack,.pf-widget-variant-3 .pf-content-unit.stack{width:100%;display:block;text-align:left}.pf-widget-has-recommend .pf-content-unit.stack .pf-content-unit-meta p,.pf-widget-variant-3 .pf-content-unit.stack .pf-content-unit-meta p{font-size:13px}.pf-widget-has-recommend .pf-content-unit.stack .pf-content-unit-img,.pf-widget-variant-3 .pf-content-unit.stack .pf-content-unit-img{width:100%;height:135px}.pf-subscription form{width:100%;display:block;margin:0 auto}.pf-subscription form input[type=text],.pf-subscription form input[type=email]{width:100%;margin-bottom:1px}.pf-subscription form .pf-widget-btn{float:right;margin-left:5px;padding:0 16px}.pf-subscription form span{display:block;padding:2px;overflow:hidden}.pf-widget-gate .pf-widget-content,.pf-widget-modal .pf-widget-content,.pf-widget-slideout{max-height:100%;overflow-x:hidden;overflow-y:auto;box-shadow:0 4px 4px -4px rgba(0,0,0,.5)}.pf-form input.pf-field-half-width,.pf-form select.pf-field-half-width,.pf-sitegate input.pf-field-half-width,.pf-sitegate select.pf-field-half-width{width:49%;display:block;clear:none;float:left}.pf-form input.pf-field-half-width.right,.pf-form select.pf-field-half-width.right,.pf-sitegate input.pf-field-half-width.right,.pf-sitegate select.pf-field-half-width.right{float:right}.pf-form .pf-widget-btn,.pf-sitegate .pf-widget-btn{clear:both;margin-top:5px}.pf-form form.pf-custom-form>div,.pf-sitegate form.pf-custom-form>div{text-align:left;margin-bottom:10px}.pf-form .pf-form-label,.pf-sitegate .pf-form-label{font-weight:700}.pf-form .pf-widget-checkbox,.pf-form .pf-widget-radio,.pf-sitegate .pf-widget-checkbox,.pf-sitegate .pf-widget-radio{display:block;padding:4px}.pf-form .pf-widget-checkbox input,.pf-form .pf-widget-radio input,.pf-sitegate .pf-widget-checkbox input,.pf-sitegate .pf-widget-radio input{margin-right:10px}.pf-form .pf-has-label,.pf-sitegate .pf-has-label{margin-top:7px}.pf-form div.pf-form-required,.pf-form div.pf-form-required-validation,.pf-sitegate div.pf-form-required,.pf-sitegate div.pf-form-required-validation{position:relative}.pf-form div.pf-form-required-validation.bad-validation [data-required=true]:not(.pf-has-label),.pf-form div.pf-form-required-validation.bad-validation [data-validate=true]:not(.pf-has-label),.pf-form div.pf-form-required-validation.invalid [data-required=true]:not(.pf-has-label),.pf-form div.pf-form-required-validation.invalid [data-validate=true]:not(.pf-has-label),.pf-form div.pf-form-required.bad-validation [data-required=true]:not(.pf-has-label),.pf-form div.pf-form-required.bad-validation [data-validate=true]:not(.pf-has-label),.pf-form div.pf-form-required.invalid [data-required=true]:not(.pf-has-label),.pf-form div.pf-form-required.invalid [data-validate=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required-validation.bad-validation [data-required=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required-validation.bad-validation [data-validate=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required-validation.invalid [data-required=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required-validation.invalid [data-validate=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required.bad-validation [data-required=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required.bad-validation [data-validate=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required.invalid [data-required=true]:not(.pf-has-label),.pf-sitegate div.pf-form-required.invalid [data-validate=true]:not(.pf-has-label){border:1px solid #f12626;margin:-1px}.pf-form div.pf-form-required-validation.pf-widget-checkbox-group [data-required=true],.pf-form div.pf-form-required-validation.pf-widget-radio-group,.pf-form div.pf-form-required.pf-widget-checkbox-group [data-required=true],.pf-form div.pf-form-required.pf-widget-radio-group,.pf-sitegate div.pf-form-required-validation.pf-widget-checkbox-group [data-required=true],.pf-sitegate div.pf-form-required-validation.pf-widget-radio-group,.pf-sitegate div.pf-form-required.pf-widget-checkbox-group [data-required=true],.pf-sitegate div.pf-form-required.pf-widget-radio-group{border-radius:3px}.pf-form div.pf-form-required-validation.bad-validation div.pf-invalid-flag,.pf-form div.pf-form-required-validation.invalid div.pf-required-flag,.pf-form div.pf-form-required.bad-validation div.pf-invalid-flag,.pf-form div.pf-form-required.invalid div.pf-required-flag,.pf-sitegate div.pf-form-required-validation.bad-validation div.pf-invalid-flag,.pf-sitegate div.pf-form-required-validation.invalid div.pf-required-flag,.pf-sitegate div.pf-form-required.bad-validation div.pf-invalid-flag,.pf-sitegate div.pf-form-required.invalid div.pf-required-flag{opacity:1;margin-left:10px}.pf-form div.pf-form-required div.pf-invalid-flag,.pf-form div.pf-form-required div.pf-required-flag,.pf-form div.pf-form-required-validation div.pf-invalid-flag,.pf-form div.pf-form-required-validation div.pf-required-flag,.pf-sitegate div.pf-form-required div.pf-invalid-flag,.pf-sitegate div.pf-form-required div.pf-required-flag,.pf-sitegate div.pf-form-required-validation div.pf-invalid-flag,.pf-sitegate div.pf-form-required-validation div.pf-required-flag{font-size:12px;font-weight:700;position:absolute;padding:3px 7px;display:inline;width:auto;color:#fff;background-color:#f12626;box-shadow:0 4px 4px -4px rgba(0,0,0,.5);margin-left:5px;opacity:0}.pf-form div.pf-form-required div.pf-invalid-flag span,.pf-form div.pf-form-required div.pf-required-flag span,.pf-form div.pf-form-required-validation div.pf-invalid-flag span,.pf-form div.pf-form-required-validation div.pf-required-flag span,.pf-sitegate div.pf-form-required div.pf-invalid-flag span,.pf-sitegate div.pf-form-required div.pf-required-flag span,.pf-sitegate div.pf-form-required-validation div.pf-invalid-flag span,.pf-sitegate div.pf-form-required-validation div.pf-required-flag span{position:absolute;width:0;height:0;top:6px;left:-6px;border-top:4px solid transparent;border-bottom:4px solid transparent;content:'';border-right:6px solid #f12626}.pf-form div.pf-form-required span.required,.pf-form div.pf-form-required-validation span.required,.pf-sitegate div.pf-form-required span.required,.pf-sitegate div.pf-form-required-validation span.required{color:#f12626}.pf-form.pf-widget-slideout input.pf-field-half-width,.pf-form.pf-widget-slideout select.pf-field-half-width,.pf-sitegate.pf-widget-slideout input.pf-field-half-width,.pf-sitegate.pf-widget-slideout select.pf-field-half-width{width:48%}.pf-widget-gate,.pf-widget-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);z-index:9999;text-align:center}.pf-widget-gate .pf-va-middle,.pf-widget-modal .pf-va-middle{display:table-cell;vertical-align:middle}.pf-widget-gate .pf-widget-btn,.pf-widget-modal .pf-widget-btn{font-size:16px;line-height:45px}.pf-widget-gate .pf-widget-footer,.pf-widget-modal .pf-widget-footer{text-align:center}.pf-widget-slideout .pf-widget-footer,.pf-widget-slideout.pf-widget-variant-1 .pf-widget-content .pf-widget-headline,.pf-widget-slideout.pf-widget-variant-1 .pf-widget-content .pf-widget-message,.pf-widget-slideout:not(.pf-widget-has-image) .pf-widget-content .pf-widget-headline,.pf-widget-slideout:not(.pf-widget-has-image) .pf-widget-content .pf-widget-message,.pf-widget-slideout:not(.pf-widget-has-recommend) .pf-widget-content .pf-widget-headline,.pf-widget-slideout:not(.pf-widget-has-recommend) .pf-widget-content .pf-widget-message{text-align:left}.pf-widget-gate .pf-widget-container,.pf-widget-modal .pf-widget-container{display:table;width:100%;height:100%;position:relative;top:-100vh}.pf-widget-gate .pf-widget-content,.pf-widget-modal .pf-widget-content{background-color:#f1f1f1;color:#888;width:100%;position:fixed;max-width:780px;margin:0 auto;padding:40px;border-radius:5px;top:50%;left:50%;transform:translate(-50%,-50%)}.pf-widget-gate .pf-widget-headline,.pf-widget-modal .pf-widget-headline{font-size:28px}.pf-widget-gate .pf-widget-message,.pf-widget-modal .pf-widget-message{font-size:18px;margin:0 0 30px}.pf-widget-gate.pf-subscription.pf-widget-has-branding span,.pf-widget-modal.pf-subscription.pf-widget-has-branding span,.pf-widget-slideout.pf-subscription.pf-widget-has-branding span{margin-bottom:13px}.pf-widget-gate .pf-widget-body,.pf-widget-modal .pf-widget-body{display:table;width:100%}.pf-widget-gate form input[type=text],.pf-widget-gate form input[type=email],.pf-widget-gate form input[type=date],.pf-widget-gate form select,.pf-widget-gate form textarea,.pf-widget-modal form input[type=text],.pf-widget-modal form input[type=email],.pf-widget-modal form input[type=date],.pf-widget-modal form select,.pf-widget-modal form textarea{font-size:16px}.pf-widget-gate form input[type=text],.pf-widget-gate form input[type=email],.pf-widget-gate form input[type=date],.pf-widget-gate form select,.pf-widget-modal form input[type=text],.pf-widget-modal form input[type=email],.pf-widget-modal form input[type=date],.pf-widget-modal form select{height:45px}.pf-widget-gate.opened .pf-widget-container,.pf-widget-modal.opened .pf-widget-container{top:0}.pf-widget-gate.pf-widget-has-image .pf-widget-headline,.pf-widget-gate.pf-widget-variant-2 .pf-widget-headline,.pf-widget-modal.pf-widget-has-image .pf-widget-headline,.pf-widget-modal.pf-widget-variant-2 .pf-widget-headline{margin-top:140px}.pf-widget-gate.pf-widget-has-image .pf-widget-img,.pf-widget-gate.pf-widget-variant-2 .pf-widget-img,.pf-widget-modal.pf-widget-has-image .pf-widget-img,.pf-widget-modal.pf-widget-variant-2 .pf-widget-img{float:none;position:absolute;top:20px;left:50%;margin-left:-70px;width:140px;height:140px}.pf-widget-gate.pf-subscription .pf-widget-btn,.pf-widget-modal.pf-subscription .pf-widget-btn{margin-top:2px}.pf-widget-slideout{bottom:50px;width:350px;border-radius:4px;top:auto;position:fixed;transition:translate .3s ease-in-out,opacity .3s,visibility .3s}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-gate .pf-widget-content,.pf-widget-modal .pf-widget-content{padding:40px 20px}.pf-widget-slideout{width:100%;max-width:350px}}.pf-widget-slideout .pf-widget-message{margin:0 0 20px}.pf-widget-slideout .pf-widget-btn{line-height:40px}.pf-widget-slideout .pf-widget-content{padding:30px;width:100%}.pf-widget-slideout .pf-widget-headline{font-size:20px}.pf-widget-slideout.pf-position-bottom-left,.pf-widget-slideout.pf-position-left,.pf-widget-slideout.pf-position-top-left{left:50px;translate:calc(-100% - 50px)}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-slideout.pf-position-bottom-left,.pf-widget-slideout.pf-position-left,.pf-widget-slideout.pf-position-top-left{bottom:0;left:0;translate:-100%}}.pf-widget-slideout.pf-position-bottom-right,.pf-widget-slideout.pf-position-right,.pf-widget-slideout.pf-position-top-right{left:auto;right:50px;translate:calc(100% + 50px)}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-slideout.pf-position-bottom-right,.pf-widget-slideout.pf-position-right,.pf-widget-slideout.pf-position-top-right{bottom:0;right:0;translate:100%}}.pf-widget-slideout.pf-position-left,.pf-widget-slideout.pf-position-right{bottom:auto;top:50%;transform:translateY(-50%);-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%)}.pf-widget-slideout.pf-position-top-left,.pf-widget-slideout.pf-position-top-right{bottom:auto;top:50px}.pf-widget-slideout.pf-origin-bottom{bottom:50px;translate:0 calc(100% + 50px)}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-slideout.pf-position-top-left,.pf-widget-slideout.pf-position-top-right{top:0}.pf-widget-slideout.pf-origin-bottom{bottom:0;translate:0 100%}}.pf-widget-slideout.opened{translate:0}.pf-widget-slideout .branding svg{bottom:-22px;right:-20px;width:100px}.pf-widget-bar .pf-bar-content,.pf-widget-inline.pf-widget-has-image .pf-widget-content,.pf-widget-inline.pf-widget-variant-2 .pf-widget-content,.pf-widget-slideout.pf-widget-has-image .pf-widget-content,.pf-widget-slideout.pf-widget-variant-2 .pf-widget-content{text-align:center}.pf-widget-slideout.pf-widget-has-image .pf-widget-content .pf-widget-headline,.pf-widget-slideout.pf-widget-variant-2 .pf-widget-content .pf-widget-headline{margin-top:110px}.pf-widget-slideout.pf-widget-has-image .pf-widget-img,.pf-widget-slideout.pf-widget-variant-2 .pf-widget-img{width:100px;height:100px;float:none;position:absolute;top:20px;left:50%;margin-left:-50px}.pf-widget-slideout.pf-form{width:370px}.pf-widget-slideout form:not(.pf-custom-form) input[type=email].invalid,.pf-widget-slideout form:not(.pf-custom-form) input[type=text].invalid{margin:-1px -1px 9px}.pf-push-down.opened{margin-top:59px}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-slideout.pf-form{width:100%;max-width:370px}.pf-push-down.opened{margin-top:0}}.pf-widget-bar{height:auto;padding:10px 0;min-height:59px;left:0;right:0;box-shadow:0 4px 4px -4px rgba(0,0,0,.5);transition:translate .3s ease-in-out,opacity .3s,visibility .3s}.pf-widget-bar .pf-widget-body{margin:0 20px;float:left}.pf-widget-bar .pf-widget-close{top:50%;position:absolute;margin-top:-16px;right:20px;line-height:1;margin-right:0}.pf-widget-bar .pf-widget-btn{line-height:35px}.pf-widget-bar .pf-bar-content{padding:0 40px}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-bar .pf-bar-content{padding:0 40px 0 20px}}.pf-widget-bar .pf-bar-content .pf-widget-message{text-overflow:ellipsis;max-width:100%;overflow:hidden;display:inline-block;white-space:normal;margin:6px 16px}.pf-widget-bar .pf-bar-content input[type=email],.pf-widget-bar .pf-bar-content input[type=text]{margin:0 1px;max-width:200px}.pf-widget-bar .pf-bar-content form:not(.pf-custom-form) input[type=email],.pf-widget-bar .pf-bar-content form:not(.pf-custom-form) input[type=text]{margin-bottom:0}.pf-widget-bar .pf-bar-content form:not(.pf-custom-form) input[type=email].invalid,.pf-widget-bar .pf-bar-content form:not(.pf-custom-form) input[type=text].invalid{margin:0}.pf-widget-bar .pf-bar-content>*{display:inline-block;vertical-align:middle}.pf-widget-bar.pf-position-bottom-absolute,.pf-widget-bar.pf-position-top-absolute{position:absolute}.pf-widget-bar.pf-position-top-absolute,.pf-widget-bar.pf-position-top-fixed{top:0;translate:0 -100%}.pf-widget-bar.pf-position-top-absolute .pf-bar-content,.pf-widget-bar.pf-position-top-fixed .pf-bar-content{padding-top:0}.pf-widget-bar.pf-position-bottom-fixed{bottom:0;translate:0 100%}.pf-widget-bar.pf-position-bottom-fixed,.pf-widget-bar.pf-position-top-fixed{position:fixed}.pf-widget-bar.opened.pf-position-bottom-fixed,.pf-widget-bar.opened.pf-position-top-absolute,.pf-widget-bar.opened.pf-position-top-fixed{translate:0}.pf-widget-bar.pf-widget-has-image .pf-widget-img,.pf-widget-bar.pf-widget-variant-2 .pf-widget-img{height:35px;width:35px;top:50%;margin-top:-17.5px;position:absolute}.pf-widget-bar.pf-message .pf-widget-btn,.pf-widget-bar.pf-subscription form .pf-widget-btn{margin-top:2px}@media screen and (max-width:736px),screen and (max-height:640px){.pf-widget-bar.pf-widget-has-image .pf-widget-img,.pf-widget-bar.pf-widget-variant-2 .pf-widget-img{display:none}}.pf-widget-bar.pf-subscription form{width:auto}.pf-widget-bar.pf-subscription form input[type=email]{height:35px}.pf-widget-button{position:fixed;box-shadow:1px 0 4px 0 rgba(0,0,0,.5);border-radius:2px}.pf-widget-button .pf-widget-message{border:0;background-color:transparent;line-height:42px;padding:0 16px 5px;margin:0;font-weight:700;display:block;cursor:pointer;overflow:hidden;max-width:150px;white-space:nowrap;text-overflow:ellipsis;color:#888}.pf-widget-button.pf-position-left{transform-origin:left bottom;transform:rotate(90deg);left:-50px}.pf-widget-button.pf-position-right{box-shadow:-1px 0 4px 0 rgba(0,0,0,.5);transform-origin:right bottom;transform:rotate(-90deg);right:-50px}.pf-widget-button.pf-position-left,.pf-widget-button.pf-position-right{top:10%}.pf-widget-button.pf-position-bottom-left,.pf-widget-button.pf-position-top-left{left:42px}.pf-widget-button.pf-position-bottom-right,.pf-widget-button.pf-position-top-right{right:42px}.pf-widget-button.pf-position-bottom-left,.pf-widget-button.pf-position-bottom-right{bottom:-50px}.pf-widget-button.pf-position-top-left,.pf-widget-button.pf-position-top-right{top:-50px}.pf-widget-button.pf-position-top-left .pf-widget-message,.pf-widget-button.pf-position-top-right .pf-widget-message{padding:5px 16px 0}.pf-widget-button.opened.pf-position-left{left:-6px}.pf-widget-button.opened.pf-position-left:hover{left:-1px}.pf-widget-button.opened.pf-position-right{right:-6px}.pf-widget-button.opened.pf-position-right:hover{right:-1px}.pf-widget-button.opened.pf-position-bottom-left,.pf-widget-button.opened.pf-position-bottom-right{bottom:-6px;box-shadow:0 1px 4px 0 rgba(0,0,0,.5)}.pf-widget-button.opened.pf-position-bottom-left:hover,.pf-widget-button.opened.pf-position-bottom-right:hover{bottom:-1px}.pf-widget-button.opened.pf-position-top-left,.pf-widget-button.opened.pf-position-top-right{top:-6px;box-shadow:0 1px 4px 0 rgba(0,0,0,.5)}.pf-widget-button.opened.pf-position-top-left:hover,.pf-widget-button.opened.pf-position-top-right:hover{top:-1px}.pf-widget-inline{padding:20px;border-radius:2px;box-shadow:0 4px 4px -4px rgba(0,0,0,.5);transition:all 0s;position:relative}.pf-widget-inline .pf-widget-message{margin:0 0 20px}.pf-widget-inline .pf-widget-btn{transition:all 0s}.pf-widget-inline.pf-widget-has-image .pf-widget-content .pf-widget-headline,.pf-widget-inline.pf-widget-variant-2 .pf-widget-content .pf-widget-headline{margin-top:110px}.pf-widget-inline.pf-widget-has-image .pf-widget-img,.pf-widget-inline.pf-widget-variant-2 .pf-widget-img{width:100px;height:100px;float:none;position:absolute;top:20px;left:50%;margin-left:-50px}.pf-widget-inline.pf-subscription .pf-widget-btn{line-height:39px}.pf-widget-inline.pf-subscription.pf-widget-has-branding span{margin-bottom:35px}.pf-widget-inline.pf-widget-has-recommend .pf-content-unit,.pf-widget-inline.pf-widget-variant-3 .pf-content-unit{max-width:650px}.pf-widget-inline.pf-widget-has-recommend .pf-content-unit.stack,.pf-widget-inline.pf-widget-variant-3 .pf-content-unit.stack{margin:0 auto;max-width:400px}.pf-widget-inline .branding{position:relative}.pf-widget-inline .branding svg{position:absolute;bottom:-10px;right:-10px}.pf-widget-inline form:not(.pf-custom-form) input[type=email].invalid,.pf-widget-inline form:not(.pf-custom-form) input[type=text].invalid{margin:-1px -1px 9px} \ No newline at end of file diff --git a/dist/pathfora.min.js b/dist/pathfora.min.js index 04afc56..8f81822 100644 --- a/dist/pathfora.min.js +++ b/dist/pathfora.min.js @@ -1 +1 @@ -!function(){"use strict";function o(o){return o.generic={className:"pathfora",branding:!1,responsive:!0,headline:"",themes:{dark:{background:"#333",headline:"#fefefe",text:"#aaa",close:"#888",actionText:"#fff",actionBackground:"#444",cancelText:"#888",cancelBackground:"#333"},light:{background:"#f1f1f1",headline:"#444",text:"#888",close:"#bbb",actionText:"#444",actionBackground:"#fff",cancelText:"#bbb",cancelBackground:"#f1f1f1"}},displayConditions:{showOnInit:!0,showOnExitIntent:!1,showDelay:0,hideAfter:0,displayWhenElementVisible:"",scrollPercentageToDisplay:0}},o.message={layout:"modal",position:"",okMessage:"Confirm",cancelMessage:"Cancel",okShow:!0,cancelShow:!0},o.subscription={layout:"modal",position:"",placeholders:{email:"Email"},okMessage:"Confirm",cancelMessage:"Cancel",okShow:!0,cancelShow:!0},o.form={layout:"modal",position:"",placeholders:{name:"Name",title:"Title",email:"Email",message:"Message",company:"Company",phone:"Phone Number",country:"Country",referralEmail:"Referral Email"},required:{name:!0,email:!0},fields:{company:!1,phone:!1,country:!1,referralEmail:!1},okMessage:"Send",okShow:!0,cancelMessage:"Cancel",cancelShow:!0},o.sitegate={layout:"gate",position:"",placeholders:{name:"Name",title:"Title",email:"Email",message:"Message",company:"Company",phone:"Phone Number",country:"Country",referralEmail:"Referral Email"},required:{name:!0,email:!0},fields:{message:!1,phone:!1,country:!1,referralEmail:!1},okMessage:"Submit",okShow:!0,cancelShow:!1,showForm:!0},o}function t(o){return o.delayedWidgets={},o.openedWidgets=[],o.initializedWidgets=[],o.prioritizedWidgets=[],o.readyWidgets=[],o.triggeredWidgets={},o.dependentDataWidgets=[],o}function e(o){return o.pageViews=0,o.timeSpentOnPage=0,o.closedWidgets=[],o.completedActions=[],o.cancelledActions=[],o.displayedWidgets=[],o.abTestingGroups=[],o}function i(){for(var o=[],t=0;t