¿Qué es la Tokenización?

La Tokenización es el proceso de protección de los datos sensibles o del PAN (principal account number) de una tarjeta mediante la sustitución de los mismos por un número generado algorítmicamente llamado token.

Se utiliza sobre todo para prevenir el fraude con tarjetas de crédito.

Esta funcionalidad permite a una web almacenar toda la información de pago de un usuario sin necesidad de mantener información sensible en el sitio, de esta forma se pueden realizar cobros periódicos o facilitar el pago en 1 Clic en tu tienda online.

Una vez creado el token, la Tokenización es irreversible, no existe ninguna relación matemática entre el número original y el token, sólo el sistema que generó el token en primera instancia es capaz de realizar el proceso inverso, de esta manera, si se sufriera una brecha en la web los datos obtenidos serían absolutamente inútiles para el ladrón.

¿Cómo funciona la tokenización?

Los tokens son creados por empresas como VISA y Mastercard, entre otras, que actúan como Token Service Providers (TSP, proveedores de tokens) y los envían a plataformas de pago móvil o de e-commerce para que puedan utilizarlos en las transacciones en lugar de utilizar los datos reales de la tarjeta de crédito del cliente.

De esta manera, cuando un usuario introduce la información de su tarjeta en una wallet virtual como Google Pay o Apple Pay, estas plataformas piden el «token» a uno de estos proveedores, el cual debe pedir primero al banco del cliente la verificación de los datos.

Una vez verificados los datos, generan el token y lo envían al dispositivo del usuario. Después de crear este número único, se vincula de forma irreversible e irreemplazable al dispositivo del cliente.

Por lo tanto, cada vez que el usuario haga un pago, la plataforma podrá autorizar la operación con sólo compartir este token, sin necesidad de exponer los datos reales de su tarjeta.

Además, gracias a que la Tokenización es una solución totalmente compatible con PCI DSS (Payment Card Industry Data Security Standard), cada vez son más las plataformas que están apostando por facilitar la adopción de este nuevo sistema de pago seguro para sus clientes.

Tokenización en la pasarela de pagos

Para entender mejor el proceso de la conversión de los datos de pago originales a token, echemos un vistazo a lo que sucede desde el momento en que un cliente utiliza su tarjeta de crédito hasta el momento en que se procesa el pago.

  1. Una tarjeta de crédito se pasa por un cajero automático o se utiliza para una transacción online.
  2. El número de la tarjeta de crédito se pasa al sistema de tokenización.
  3. El sistema de tokenización genera una secuencia de 16 caracteres aleatorios para reemplazar el número original de la tarjeta de crédito.
  4. El sistema de tokenización devuelve los 16 caracteres aleatorios recién generados a la máquina TPV o al e-commerce para reemplazar el número de la tarjeta de crédito del cliente en el sistema.

La tokenización con Truust

En Truust, el funcionamiento de la tokenización es el siguiente. La API de Truust recibe la petición de guardar la tarjeta por parte del usuario, Truust se comunica con el servicio de tokenización del banco adquiriente (RedSys, Addon Payments, etc). En ese momento se genera un token que puede ser utilizado por el comerciante para cobrar las compras subsiguientes, como se muestra en el siguiente diagrama.

tokenization process

De esta forma, tu plataforma no almacena, procesa o transmite nunca el PAN: sólo el token.
La ventaja de un servicio de tokenización fuera de la plataforma es que evita que los ataques informáticos obtengan cualquier tipo de información sensible, ya sea financiera o personal.

Ventajas de la tokenización

Las principales ventajas de implementar un servicio de tokenización son las siguientes:

  • En todo momento el banco mantiene el control de los datos de los clientes, los sistemas externos nunca tienen acceso a ellos.
  • Al no estar los tokens vinculados matemáticamente al valor original, la seguridad es máxima.
  • Facilita el pago en las siguientes visitas evitando la necesidad de volver a introducir los datos cada vez que el usuario quiera realizar una nueva compra.

La tokenización en el proceso de pago: casos de uso

El caso es que la tokenización es extraordinariamente útil para diversos tipos de transacciones online.

Podemos distinguir tres escenarios de pago en los que la tokenización está tomando un papel cada vez más importante.

  • El primer caso es para negocios que requieren almacenar los datos de las tarjetas de crédito de sus usuarios de forma segura para cobrar una suscripción o generar un pago recurrente.
  • El segundo es en tiendas online o marketplaces donde se quiere ofrecer a los usuarios checkouts con un solo clic.
  • Y el tercero para los conocidos como pagos por proximidad con el móvil (NFC / Near Field Communications), como Apple Pay y Android Pay.

A continuación, te explicamos cómo la tokenización te ayuda a protegerte en los siguientes escenarios de pago.

#1 Tokenización en el pago de suscripciones

Un servicio de reproducción de música vía streaming necesita procesar los pagos de las suscripciones de los clientes de forma mensual y recurrente. Imagina que este servicio tuviera que enviar un correo electrónico, llamar o enviar un SMS a sus usuarios cada mes para obtener los detalles de pago.

Esto produciría una sobrecarga significativa del proceso para el servicio, ya que se necesitaría mucho personal para gestionar las actualizaciones de los pagos. La experiencia de los usuarios también se vería afectada, lo que podría resultar en una mayor pérdida de clientes al decidir no pagar ese mes o, lo que es peor, perder totalmente su interés en el servicio.

Sin embargo, gracias a la tokenización, este arduo proceso será innecesario: la compañía puede recargar el pago mensualmente a sus clientes sin la necesidad de exponer la información original de la tarjeta.

Truust ofrece varias soluciones de pago a empresas de cualquier tamaño. Para más información, ponte en contacto con nuestro equipo.

#2 Tokenización en e-commerce

La Tokenización también ayuda a proteger los pagos en compras online.

Pongamos como ejemplo una web que vende carcasas para móviles.

El cliente, tras realizar una compra tiene la opción de guardar los datos de su tarjeta para futuras compras, disponiendo de un sistema integrado de tokenización los datos se convierten en tokens quedando así totalmente asegurados.

Incluso en el hipotético caso de que la web sea hackeada. Todo lo que el hacker podría ver serían los tokens, es decir, una información sin utilidad ya que no puede ser descifrada.

#3 Tokenización en los monederos virtuales móviles: Apple Pay y Android Pay

Pongamos como ejemplo la tokenización de Apple Pay.

Después de tomar una foto de tu tarjeta de crédito y guardarla en tu iPhone desde la app llamada “Wallet”, Apple envía los datos al banco o red emisora de la tarjeta, que sustituye los datos de tu tarjeta por una serie de números generados aleatoriamente (el token). Ese número aleatorio se envía de vuelta a Apple, que lo programa en el teléfono.

Esto significa que del número almacenado en el móvil no puede extraerse ningún tipo información de utilidad para los estafadores.

Tokenización vs Encriptación

Aunque la tokenización y la encriptación tienen ciertas similitudes, cuando hablamos de la protección de datos en la nube, estas tecnologías de seguridad difieren entre sí. La principal diferencia es el método de seguridad que cada una utiliza.

En pocas palabras, la tokenización utiliza un token para proteger los datos, mientras que la encriptación utiliza una clave.

Lo que esto significa es que la tokenización cambia los datos sensibles por un identificador irreversible  sin información sensible (token), y almacena de forma segura esos datos sensibles originales fuera de su entorno original.

Por el contrario, el cifrado o encriptación codifica el contenido de un elemento de datos donde reside con una clave compartida entre quien está cifrando los datos y quien necesita descifrarlos.

Para acceder a los datos originales, la tokenización intercambia el token por los datos sensibles, mientras que la encriptación decodifica los datos encriptados para revelar su forma sensible.

Ambas soluciones tienen grandes ventajas cuando se trata de almacenar de forma segura los datos de los clientes:

  • La encriptación es ideal para campos o bases de datos no estructurados de información que no se intercambian con frecuencia o se almacenan en múltiples sistemas.
  • La tokenización es ideal para datos estructurados, como los números de la Seguridad Social y de tarjetas de crédito, que deben mantenerse en archivo para verificar las identidades y ser fácilmente accesibles para su futuro uso, como las transacciones financieras y las compras online.

 

Criteria TOKENIZATION ENCRYPTION
The PAN (principal account number) is displayed X
Mathematically reversible X
Reduces the scope of the PCI X
Payment flexibility: refunds, chargebacks, recurring payments, etc. X
Key rotation required X
End-to-End Security X
Low cost per transaction X
The format is consistent with traditional credit card fields X
It is centrally managed X
Established security X

En resumidas cuentas: la Tokenización es un concepto complejo, pero es conveniente entender cómo funciona para ver la utilidad que puede tener en la industria del proceso de pagos, donde está ganando cada vez una mayor importancia. Es una emocionante revolución que hace que cualquier tipo de pago sea más seguro.

REFERENCIAS

https://searchsecurity.techtarget.com/definition/tokenization
https://medium.com/coreledger/what-is-tokenization-everything-you-should-know-1b2403a50f0e
https://www.adyen.com/knowledge-hub/guides/tokenization-payment-technology-guide#how
https://blockgeeks.com/guides/security-tokens/

Join the Truust Newsletter

<style><!-- [et_pb_line_break_holder] -->& {<!-- [et_pb_line_break_holder] --> font-size: 14px;<!-- [et_pb_line_break_holder] --> line-height: 1.6;<!-- [et_pb_line_break_holder] --> font-family: arial, helvetica, sans-serif;<!-- [et_pb_line_break_holder] --> margin: 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->* {<!-- [et_pb_line_break_holder] --> outline: 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->GLOBAL-STYLE ._form_hide {<!-- [et_pb_line_break_holder] --> display: none;<!-- [et_pb_line_break_holder] --> visibility: hidden;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->GLOBAL-STYLE ._form_show {<!-- [et_pb_line_break_holder] --> display: block;<!-- [et_pb_line_break_holder] --> visibility: visible;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form-top {<!-- [et_pb_line_break_holder] --> top: 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form-bottom {<!-- [et_pb_line_break_holder] --> bottom: 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form-left {<!-- [et_pb_line_break_holder] --> left: 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form-right {<!-- [et_pb_line_break_holder] --> right: 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->input[type="text"],<!-- [et_pb_line_break_holder] -->input[type="date"],<!-- [et_pb_line_break_holder] -->textarea {<!-- [et_pb_line_break_holder] --> padding: 6px;<!-- [et_pb_line_break_holder] --> height: auto;<!-- [et_pb_line_break_holder] --> border: #979797 1px solid;<!-- [et_pb_line_break_holder] --> border-radius: 4px;<!-- [et_pb_line_break_holder] --> color: #000000 !important;<!-- [et_pb_line_break_holder] --> font-size: 13px;<!-- [et_pb_line_break_holder] --> -webkit-box-sizing: border-box;<!-- [et_pb_line_break_holder] --> -moz-box-sizing: border-box;<!-- [et_pb_line_break_holder] --> box-sizing: border-box;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->textarea {<!-- [et_pb_line_break_holder] --> resize: none;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._submit {<!-- [et_pb_line_break_holder] --> -webkit-appearance: none;<!-- [et_pb_line_break_holder] --> cursor: pointer;<!-- [et_pb_line_break_holder] --> font-family: arial, sans-serif;<!-- [et_pb_line_break_holder] --> font-size: 14px;<!-- [et_pb_line_break_holder] --> text-align: center;<!-- [et_pb_line_break_holder] --> background: #47b972 !important;border: 0 !important;-moz-border-radius: 4px !important;-webkit-border-radius: 4px !important;border-radius: 4px !important;color: #FFFFFF !important;padding:10px !important}<!-- [et_pb_line_break_holder] -->._close-icon {<!-- [et_pb_line_break_holder] --> cursor: pointer;<!-- [et_pb_line_break_holder] --> background-image: url('https://d226aj4ao1t61q.cloudfront.net/esfkyjh1u_forms-close-dark.png');<!-- [et_pb_line_break_holder] --> background-repeat: no-repeat;<!-- [et_pb_line_break_holder] --> background-size: 14.2px 14.2px;<!-- [et_pb_line_break_holder] --> position: absolute;<!-- [et_pb_line_break_holder] --> display: block;<!-- [et_pb_line_break_holder] --> top: 11px;<!-- [et_pb_line_break_holder] --> right: 9px;<!-- [et_pb_line_break_holder] --> overflow: hidden;<!-- [et_pb_line_break_holder] --> width: 16.2px;<!-- [et_pb_line_break_holder] --> height: 16.2px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._close-icon:before {<!-- [et_pb_line_break_holder] --> position: relative;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form-body {<!-- [et_pb_line_break_holder] --> margin-bottom: 30px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form-image-left {<!-- [et_pb_line_break_holder] --> width: 150px;<!-- [et_pb_line_break_holder] --> float: left;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form-content-right {<!-- [et_pb_line_break_holder] --> margin-left: 164px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form-branding {<!-- [et_pb_line_break_holder] --> color: #fff;<!-- [et_pb_line_break_holder] --> font-size: 10px;<!-- [et_pb_line_break_holder] --> clear: both;<!-- [et_pb_line_break_holder] --> text-align: left;<!-- [et_pb_line_break_holder] --> margin-top: 30px;<!-- [et_pb_line_break_holder] --> font-weight: 100;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form-branding ._logo {<!-- [et_pb_line_break_holder] --> display: block;<!-- [et_pb_line_break_holder] --> width: 130px;<!-- [et_pb_line_break_holder] --> height: 14px;<!-- [et_pb_line_break_holder] --> margin-top: 6px;<!-- [et_pb_line_break_holder] --> background-image: url('https://d226aj4ao1t61q.cloudfront.net/hh9ujqgv5_aclogo_li.png');<!-- [et_pb_line_break_holder] --> background-size: 130px auto;<!-- [et_pb_line_break_holder] --> background-repeat: no-repeat;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form-label,<!-- [et_pb_line_break_holder] -->._form_element ._form-label {<!-- [et_pb_line_break_holder] --> font-weight: bold;<!-- [et_pb_line_break_holder] --> margin-bottom: 5px;<!-- [et_pb_line_break_holder] --> display: block;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._dark ._form-branding {<!-- [et_pb_line_break_holder] --> color: #333;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._dark ._form-branding ._logo {<!-- [et_pb_line_break_holder] --> background-image: url('https://d226aj4ao1t61q.cloudfront.net/jftq2c8s_aclogo_dk.png');<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form_element {<!-- [et_pb_line_break_holder] --> position: relative;<!-- [et_pb_line_break_holder] --> margin-bottom: 10px;<!-- [et_pb_line_break_holder] --> font-size: 0;<!-- [et_pb_line_break_holder] --> max-width: 100%;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form_element * {<!-- [et_pb_line_break_holder] --> font-size: 14px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form_element._clear {<!-- [et_pb_line_break_holder] --> clear: both;<!-- [et_pb_line_break_holder] --> width: 100%;<!-- [et_pb_line_break_holder] --> float: none;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form_element._clear:after {<!-- [et_pb_line_break_holder] --> clear: left;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form_element input[type="text"],<!-- [et_pb_line_break_holder] -->._form_element input[type="date"],<!-- [et_pb_line_break_holder] -->._form_element select,<!-- [et_pb_line_break_holder] -->._form_element textarea:not(.g-recaptcha-response) {<!-- [et_pb_line_break_holder] --> display: block;<!-- [et_pb_line_break_holder] --> width: 100%;<!-- [et_pb_line_break_holder] --> -webkit-box-sizing: border-box;<!-- [et_pb_line_break_holder] --> -moz-box-sizing: border-box;<!-- [et_pb_line_break_holder] --> box-sizing: border-box;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._field-wrapper {<!-- [et_pb_line_break_holder] --> position: relative;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._inline-style {<!-- [et_pb_line_break_holder] --> float: left;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._inline-style input[type="text"] {<!-- [et_pb_line_break_holder] --> width: 150px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._inline-style:not(._clear) + ._inline-style:not(._clear) {<!-- [et_pb_line_break_holder] --> margin-left: 20px;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] -->._form_element img._form-image {<!-- [et_pb_line_break_holder] --> max-width: 100%;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._clear-element {<!-- [et_pb_line_break_holder] --> clear: left;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._full_width {<!-- [et_pb_line_break_holder] --> width: 100%;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form_full_field {<!-- [et_pb_line_break_holder] --> display: block;<!-- [et_pb_line_break_holder] --> width: 100%;<!-- [et_pb_line_break_holder] --> margin-bottom: 10px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->input[type="text"]._has_error,<!-- [et_pb_line_break_holder] -->textarea._has_error {<!-- [et_pb_line_break_holder] --> border: #F37C7B 1px solid;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->input[type="checkbox"]._has_error {<!-- [et_pb_line_break_holder] --> outline: #F37C7B 1px solid;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._error {<!-- [et_pb_line_break_holder] --> display: block;<!-- [et_pb_line_break_holder] --> position: absolute;<!-- [et_pb_line_break_holder] --> font-size: 13px;<!-- [et_pb_line_break_holder] --> z-index: 10000001;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._error._above {<!-- [et_pb_line_break_holder] --> padding-bottom: 4px;<!-- [et_pb_line_break_holder] --> bottom: 39px;<!-- [et_pb_line_break_holder] --> right: 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._error._below {<!-- [et_pb_line_break_holder] --> padding-top: 4px;<!-- [et_pb_line_break_holder] --> top: 100%;<!-- [et_pb_line_break_holder] --> right: 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._error._above ._error-arrow {<!-- [et_pb_line_break_holder] --> bottom: 0;<!-- [et_pb_line_break_holder] --> right: 15px;<!-- [et_pb_line_break_holder] --> border-left: 5px solid transparent;<!-- [et_pb_line_break_holder] --> border-right: 5px solid transparent;<!-- [et_pb_line_break_holder] --> border-top: 5px solid #F37C7B;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._error._below ._error-arrow {<!-- [et_pb_line_break_holder] --> top: 0;<!-- [et_pb_line_break_holder] --> right: 15px;<!-- [et_pb_line_break_holder] --> border-left: 5px solid transparent;<!-- [et_pb_line_break_holder] --> border-right: 5px solid transparent;<!-- [et_pb_line_break_holder] --> border-bottom: 5px solid #F37C7B;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._error-inner {<!-- [et_pb_line_break_holder] --> padding: 8px 12px;<!-- [et_pb_line_break_holder] --> background-color: #F37C7B;<!-- [et_pb_line_break_holder] --> font-size: 13px;<!-- [et_pb_line_break_holder] --> font-family: arial, sans-serif;<!-- [et_pb_line_break_holder] --> color: #fff;<!-- [et_pb_line_break_holder] --> text-align: center;<!-- [et_pb_line_break_holder] --> text-decoration: none;<!-- [et_pb_line_break_holder] --> -webkit-border-radius: 4px;<!-- [et_pb_line_break_holder] --> -moz-border-radius: 4px;<!-- [et_pb_line_break_holder] --> border-radius: 4px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._error-inner._form_error {<!-- [et_pb_line_break_holder] --> margin-bottom: 5px;<!-- [et_pb_line_break_holder] --> text-align: left;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._button-wrapper ._error-inner._form_error {<!-- [et_pb_line_break_holder] --> position: static;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._error-inner._no_arrow {<!-- [et_pb_line_break_holder] --> margin-bottom: 10px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._error-arrow {<!-- [et_pb_line_break_holder] --> position: absolute;<!-- [et_pb_line_break_holder] --> width: 0;<!-- [et_pb_line_break_holder] --> height: 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._error-html {<!-- [et_pb_line_break_holder] --> margin-bottom: 10px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->GLOBAL-STYLE .pika-single {<!-- [et_pb_line_break_holder] --> z-index: 10000001 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media all and (min-width: 320px) and (max-width: 667px) {<!-- [et_pb_line_break_holder] --> GLOBAL-STYLE ::-webkit-scrollbar {<!-- [et_pb_line_break_holder] --> display: none;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> & {<!-- [et_pb_line_break_holder] --> margin: 0;<!-- [et_pb_line_break_holder] --> width:100%;<!-- [et_pb_line_break_holder] --> min-width:100%;<!-- [et_pb_line_break_holder] --> max-width:100%;<!-- [et_pb_line_break_holder] --> box-sizing: border-box;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> * {<!-- [et_pb_line_break_holder] --> -webkit-box-sizing: border-box;<!-- [et_pb_line_break_holder] --> -moz-box-sizing: border-box;<!-- [et_pb_line_break_holder] --> box-sizing: border-box;<!-- [et_pb_line_break_holder] --> font-size: 1em;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._form-content {<!-- [et_pb_line_break_holder] --> margin: 0;<!-- [et_pb_line_break_holder] --> width: 100%;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._form-inner {<!-- [et_pb_line_break_holder] --> display: block;<!-- [et_pb_line_break_holder] --> min-width: 100%;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._form-title,<!-- [et_pb_line_break_holder] --> ._inline-style {<!-- [et_pb_line_break_holder] --> margin-top: 0;<!-- [et_pb_line_break_holder] --> margin-right: 0;<!-- [et_pb_line_break_holder] --> margin-left: 0;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._form-title {<!-- [et_pb_line_break_holder] --> font-size: 1.2em;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._form_element {<!-- [et_pb_line_break_holder] --> margin: 0 0 20px;<!-- [et_pb_line_break_holder] --> padding: 0;<!-- [et_pb_line_break_holder] --> width:100%;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._form-element,<!-- [et_pb_line_break_holder] --> ._inline-style,<!-- [et_pb_line_break_holder] --> input[type="text"],<!-- [et_pb_line_break_holder] --> label,<!-- [et_pb_line_break_holder] --> p,<!-- [et_pb_line_break_holder] --> textarea:not(.g-recaptcha-response) {<!-- [et_pb_line_break_holder] --> float: none;<!-- [et_pb_line_break_holder] --> display: block;<!-- [et_pb_line_break_holder] --> width: 100%;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._row._checkbox-radio label {<!-- [et_pb_line_break_holder] --> display: inline;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._row,<!-- [et_pb_line_break_holder] --> p,<!-- [et_pb_line_break_holder] --> label {<!-- [et_pb_line_break_holder] --> margin-bottom: 0.7em;<!-- [et_pb_line_break_holder] --> width: 100%;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._row input[type="checkbox"],<!-- [et_pb_line_break_holder] --> ._row input[type="radio"] {<!-- [et_pb_line_break_holder] --> margin: 0 !important;<!-- [et_pb_line_break_holder] --> vertical-align: middle !important;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._row input[type="checkbox"] + span label {<!-- [et_pb_line_break_holder] --> display: inline;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._row span label {<!-- [et_pb_line_break_holder] --> margin: 0 !important;<!-- [et_pb_line_break_holder] --> width: initial !important;<!-- [et_pb_line_break_holder] --> vertical-align: middle !important;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._form-image {<!-- [et_pb_line_break_holder] --> max-width: 100%;<!-- [et_pb_line_break_holder] --> height: auto !important;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> input[type="text"] {<!-- [et_pb_line_break_holder] --> padding-left: 10px;<!-- [et_pb_line_break_holder] --> padding-right: 10px;<!-- [et_pb_line_break_holder] --> font-size: 16px;<!-- [et_pb_line_break_holder] --> line-height: 1.3em;<!-- [et_pb_line_break_holder] --> -webkit-appearance: none;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> input[type="radio"],<!-- [et_pb_line_break_holder] --> input[type="checkbox"] {<!-- [et_pb_line_break_holder] --> display: inline-block;<!-- [et_pb_line_break_holder] --> width: 1.3em;<!-- [et_pb_line_break_holder] --> height: 1.3em;<!-- [et_pb_line_break_holder] --> font-size: 1em;<!-- [et_pb_line_break_holder] --> margin: 0 0.3em 0 0;<!-- [et_pb_line_break_holder] --> vertical-align: baseline;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> button[type="submit"] {<!-- [et_pb_line_break_holder] --> padding: 20px;<!-- [et_pb_line_break_holder] --> font-size: 1.5em;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> ._inline-style {<!-- [et_pb_line_break_holder] --> margin: 20px 0 0 !important;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->& {<!-- [et_pb_line_break_holder] --> position: relative;<!-- [et_pb_line_break_holder] --> text-align: left;<!-- [et_pb_line_break_holder] --> margin: 25px auto 0;<!-- [et_pb_line_break_holder] --> padding: 20px;<!-- [et_pb_line_break_holder] --> -webkit-box-sizing: border-box;<!-- [et_pb_line_break_holder] --> -moz-box-sizing: border-box;<!-- [et_pb_line_break_holder] --> box-sizing: border-box;<!-- [et_pb_line_break_holder] --> *zoom: 1;<!-- [et_pb_line_break_holder] --> background: ##dbf2f7 !important;<!-- [et_pb_line_break_holder] --> border: 0px solid #B0B0B0 !important;<!-- [et_pb_line_break_holder] --> width: 500px;<!-- [et_pb_line_break_holder] --> -moz-border-radius: 0px !important;<!-- [et_pb_line_break_holder] --> -webkit-border-radius: 0px !important;<!-- [et_pb_line_break_holder] --> border-radius: 0px !important;<!-- [et_pb_line_break_holder] --> color: #000000 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form-title {<!-- [et_pb_line_break_holder] --> font-size: 22px;<!-- [et_pb_line_break_holder] --> line-height: 22px;<!-- [et_pb_line_break_holder] --> font-weight: 600;<!-- [et_pb_line_break_holder] --> margin-bottom: 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->&:before,<!-- [et_pb_line_break_holder] -->&:after {<!-- [et_pb_line_break_holder] --> content: " ";<!-- [et_pb_line_break_holder] --> display: table;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->&:after {<!-- [et_pb_line_break_holder] --> clear: both;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._inline-style {<!-- [et_pb_line_break_holder] --> width: auto;<!-- [et_pb_line_break_holder] --> display: inline-block;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._inline-style input[type="text"],<!-- [et_pb_line_break_holder] -->._inline-style input[type="date"] {<!-- [et_pb_line_break_holder] --> padding: 10px 12px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._inline-style button._inline-style {<!-- [et_pb_line_break_holder] --> position: relative;<!-- [et_pb_line_break_holder] --> top: 27px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._inline-style p {<!-- [et_pb_line_break_holder] --> margin: 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._inline-style ._button-wrapper {<!-- [et_pb_line_break_holder] --> position: relative;<!-- [et_pb_line_break_holder] --> margin: 27px 12.5px 0 20px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->._form-thank-you {<!-- [et_pb_line_break_holder] --> position: relative;<!-- [et_pb_line_break_holder] --> left: 0;<!-- [et_pb_line_break_holder] --> right: 0;<!-- [et_pb_line_break_holder] --> text-align: center;<!-- [et_pb_line_break_holder] --> font-size: 18px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media all and (min-width: 320px) and (max-width: 667px) {<!-- [et_pb_line_break_holder] --> ._inline-form._inline-style ._inline-style._button-wrapper {<!-- [et_pb_line_break_holder] --> margin-top: 20px !important;<!-- [et_pb_line_break_holder] --> margin-left: 0 !important;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --> #_form_9_ ._form_1 { width:100%; background-color:#dbf2f7; padding:10px; }<!-- [et_pb_line_break_holder] --></style><!-- [et_pb_line_break_holder] --><form method="POST" action="https://truust4124.activehosted.com/proc.php" id="_form_9_" class="_form _form_9 _inline-form " novalidate><!-- [et_pb_line_break_holder] --> <input type="hidden" name="u" value="9" /><!-- [et_pb_line_break_holder] --> <input type="hidden" name="f" value="9" /><!-- [et_pb_line_break_holder] --> <input type="hidden" name="s" /><!-- [et_pb_line_break_holder] --> <input type="hidden" name="c" value="0" /><!-- [et_pb_line_break_holder] --> <input type="hidden" name="m" value="0" /><!-- [et_pb_line_break_holder] --> <input type="hidden" name="act" value="sub" /><!-- [et_pb_line_break_holder] --> <input type="hidden" name="v" value="2" /><!-- [et_pb_line_break_holder] --> <div class="_form-content"><!-- [et_pb_line_break_holder] --> <div class="_form_element _x91769852 _full_width _clear" ><!-- [et_pb_line_break_holder] --> <div class="_form-title"><!-- [et_pb_line_break_holder] --> Get the latest articles & insights<!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> <div class="_form_element _x42104337 _full_width " ><!-- [et_pb_line_break_holder] --> <label class="_form-label"><!-- [et_pb_line_break_holder] --> Email*<!-- [et_pb_line_break_holder] --> </label><!-- [et_pb_line_break_holder] --> <div class="_field-wrapper"><!-- [et_pb_line_break_holder] --> <input type="text" name="email" placeholder="Your email" required/><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> <div class="_form_element _field8 _full_width " ><!-- [et_pb_line_break_holder] --> <div class="_row"><!-- [et_pb_line_break_holder] --> <label class="_form-label"><!-- [et_pb_line_break_holder] --> </label><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> <input type="hidden" name="field[8][]" value="~|"><!-- [et_pb_line_break_holder] --> <div class="_row _checkbox-radio"><!-- [et_pb_line_break_holder] --> <input id="field_8I accept terms of service." type="checkbox" name="field[8][]" value="I accept terms of service." required><!-- [et_pb_line_break_holder] --> <span><!-- [et_pb_line_break_holder] --> <label for="field_8I accept terms of service."><!-- [et_pb_line_break_holder] --> I accept terms of service.*<!-- [et_pb_line_break_holder] --> </label><!-- [et_pb_line_break_holder] --> </span><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> <div class="_form_element _field9 _full_width " ><!-- [et_pb_line_break_holder] --> <div class="_row"><!-- [et_pb_line_break_holder] --> <label class="_form-label"><!-- [et_pb_line_break_holder] --> </label><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> <input type="hidden" name="field[9][]" value="~|"><!-- [et_pb_line_break_holder] --> <div class="_row _checkbox-radio"><!-- [et_pb_line_break_holder] --> <input id="field_9I agree to receive commercial information." type="checkbox" name="field[9][]" value="I agree to receive commercial information." required><!-- [et_pb_line_break_holder] --> <span><!-- [et_pb_line_break_holder] --> <label for="field_9I agree to receive commercial information."><!-- [et_pb_line_break_holder] --> I agree to receive commercial information.*<!-- [et_pb_line_break_holder] --> </label><!-- [et_pb_line_break_holder] --> </span><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> <div class="_button-wrapper _full_width"><!-- [et_pb_line_break_holder] --> <button id="_form_9_submit" class="_submit" type="submit"><!-- [et_pb_line_break_holder] --> Sign up<!-- [et_pb_line_break_holder] --> </button><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> <div class="_clear-element"><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> <div class="_form-thank-you" style="display:none;"><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --></form><script type="text/javascript"><!-- [et_pb_line_break_holder] -->window.cfields = {"8":"i_accept_terms_of_service","9":"i_accept_comercial_information_from_truust"};<!-- [et_pb_line_break_holder] -->window._show_thank_you = function(id, message, trackcmp_url) {<!-- [et_pb_line_break_holder] --> var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');<!-- [et_pb_line_break_holder] --> form.querySelector('._form-content').style.display = 'none';<!-- [et_pb_line_break_holder] --> thank_you.innerHTML = message;<!-- [et_pb_line_break_holder] --> thank_you.style.display = 'block';<!-- [et_pb_line_break_holder] --> if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {<!-- [et_pb_line_break_holder] --> // Site tracking URL to use after inline form submission.<!-- [et_pb_line_break_holder] --> _load_script(trackcmp_url);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if (typeof window._form_callback !== 'undefined') window._form_callback(id);<!-- [et_pb_line_break_holder] -->};<!-- [et_pb_line_break_holder] -->window._show_error = function(id, message, html) {<!-- [et_pb_line_break_holder] --> var form = document.getElementById('_form_' + id + '_'), err = document.createElement('div'), button = form.querySelector('button'), old_error = form.querySelector('._form_error');<!-- [et_pb_line_break_holder] --> if (old_error) old_error.parentNode.removeChild(old_error);<!-- [et_pb_line_break_holder] --> err.innerHTML = message;<!-- [et_pb_line_break_holder] --> err.className = '_error-inner _form_error _no_arrow';<!-- [et_pb_line_break_holder] --> var wrapper = document.createElement('div');<!-- [et_pb_line_break_holder] --> wrapper.className = '_form-inner';<!-- [et_pb_line_break_holder] --> wrapper.appendChild(err);<!-- [et_pb_line_break_holder] --> button.parentNode.insertBefore(wrapper, button);<!-- [et_pb_line_break_holder] --> document.querySelector('[id^="_form"][id$="_submit"]').disabled = false;<!-- [et_pb_line_break_holder] --> if (html) {<!-- [et_pb_line_break_holder] --> var div = document.createElement('div');<!-- [et_pb_line_break_holder] --> div.className = '_error-html';<!-- [et_pb_line_break_holder] --> div.innerHTML = html;<!-- [et_pb_line_break_holder] --> err.appendChild(div);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] -->};<!-- [et_pb_line_break_holder] -->window._load_script = function(url, callback) {<!-- [et_pb_line_break_holder] --> var head = document.querySelector('head'), script = document.createElement('script'), r = false;<!-- [et_pb_line_break_holder] --> script.type = 'text/javascript';<!-- [et_pb_line_break_holder] --> script.charset = 'utf-8';<!-- [et_pb_line_break_holder] --> script.src = url;<!-- [et_pb_line_break_holder] --> if (callback) {<!-- [et_pb_line_break_holder] --> script.onload = script.onreadystatechange = function() {<!-- [et_pb_line_break_holder] --> if (!r && (!this.readyState || this.readyState == 'complete')) {<!-- [et_pb_line_break_holder] --> r = true;<!-- [et_pb_line_break_holder] --> callback();<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> head.appendChild(script);<!-- [et_pb_line_break_holder] -->};<!-- [et_pb_line_break_holder] -->(function() {<!-- [et_pb_line_break_holder] --> if (window.location.search.search("excludeform") !== -1) return false;<!-- [et_pb_line_break_holder] --> var getCookie = function(name) {<!-- [et_pb_line_break_holder] --> var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));<!-- [et_pb_line_break_holder] --> return match ? match[2] : null;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> var setCookie = function(name, value) {<!-- [et_pb_line_break_holder] --> var now = new Date();<!-- [et_pb_line_break_holder] --> var time = now.getTime();<!-- [et_pb_line_break_holder] --> var expireTime = time + 1000 * 60 * 60 * 24 * 365;<!-- [et_pb_line_break_holder] --> now.setTime(expireTime);<!-- [et_pb_line_break_holder] --> document.cookie = name + '=' + value + '; expires=' + now + ';path=/';<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> var addEvent = function(element, event, func) {<!-- [et_pb_line_break_holder] --> if (element.addEventListener) {<!-- [et_pb_line_break_holder] --> element.addEventListener(event, func);<!-- [et_pb_line_break_holder] --> } else {<!-- [et_pb_line_break_holder] --> var oldFunc = element['on' + event];<!-- [et_pb_line_break_holder] --> element['on' + event] = function() {<!-- [et_pb_line_break_holder] --> oldFunc.apply(this, arguments);<!-- [et_pb_line_break_holder] --> func.apply(this, arguments);<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> var _removed = false;<!-- [et_pb_line_break_holder] --> var form_to_submit = document.getElementById('_form_9_');<!-- [et_pb_line_break_holder] --> var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> var getUrlParam = function(name) {<!-- [et_pb_line_break_holder] --> var regexStr = '[?&]' + name + '=([^&#]*)';<!-- [et_pb_line_break_holder] --> var results = new RegExp(regexStr, 'i').exec(window.location.href);<!-- [et_pb_line_break_holder] --> return results != undefined ? decodeURIComponent(results[1]) : false;<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> for (var i = 0; i < allInputs.length; i++) {<!-- [et_pb_line_break_holder] --> var regexStr = "field[(d+)]";<!-- [et_pb_line_break_holder] --> var results = new RegExp(regexStr).exec(allInputs[i].name);<!-- [et_pb_line_break_holder] --> if (results != undefined) {<!-- [et_pb_line_break_holder] --> allInputs[i].dataset.name = window.cfields[results[1]];<!-- [et_pb_line_break_holder] --> } else {<!-- [et_pb_line_break_holder] --> allInputs[i].dataset.name = allInputs[i].name;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> var fieldVal = getUrlParam(allInputs[i].dataset.name);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> if (fieldVal) {<!-- [et_pb_line_break_holder] --> if (allInputs[i].type == "radio" || allInputs[i].type == "checkbox") {<!-- [et_pb_line_break_holder] --> if (allInputs[i].value == fieldVal) {<!-- [et_pb_line_break_holder] --> allInputs[i].checked = true;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> } else {<!-- [et_pb_line_break_holder] --> allInputs[i].value = fieldVal;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> var remove_tooltips = function() {<!-- [et_pb_line_break_holder] --> for (var i = 0; i < tooltips.length; i++) {<!-- [et_pb_line_break_holder] --> tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> tooltips = [];<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> var remove_tooltip = function(elem) {<!-- [et_pb_line_break_holder] --> for (var i = 0; i < tooltips.length; i++) {<!-- [et_pb_line_break_holder] --> if (tooltips[i].elem === elem) {<!-- [et_pb_line_break_holder] --> tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);<!-- [et_pb_line_break_holder] --> tooltips.splice(i, 1);<!-- [et_pb_line_break_holder] --> return;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> var create_tooltip = function(elem, text) {<!-- [et_pb_line_break_holder] --> var tooltip = document.createElement('div'), arrow = document.createElement('div'), inner = document.createElement('div'), new_tooltip = {};<!-- [et_pb_line_break_holder] --> if (elem.type != 'radio' && elem.type != 'checkbox') {<!-- [et_pb_line_break_holder] --> tooltip.className = '_error';<!-- [et_pb_line_break_holder] --> arrow.className = '_error-arrow';<!-- [et_pb_line_break_holder] --> inner.className = '_error-inner';<!-- [et_pb_line_break_holder] --> inner.innerHTML = text;<!-- [et_pb_line_break_holder] --> tooltip.appendChild(arrow);<!-- [et_pb_line_break_holder] --> tooltip.appendChild(inner);<!-- [et_pb_line_break_holder] --> elem.parentNode.appendChild(tooltip);<!-- [et_pb_line_break_holder] --> } else {<!-- [et_pb_line_break_holder] --> tooltip.className = '_error-inner _no_arrow';<!-- [et_pb_line_break_holder] --> tooltip.innerHTML = text;<!-- [et_pb_line_break_holder] --> elem.parentNode.insertBefore(tooltip, elem);<!-- [et_pb_line_break_holder] --> new_tooltip.no_arrow = true;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> new_tooltip.tip = tooltip;<!-- [et_pb_line_break_holder] --> new_tooltip.elem = elem;<!-- [et_pb_line_break_holder] --> tooltips.push(new_tooltip);<!-- [et_pb_line_break_holder] --> return new_tooltip;<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> var resize_tooltip = function(tooltip) {<!-- [et_pb_line_break_holder] --> var rect = tooltip.elem.getBoundingClientRect();<!-- [et_pb_line_break_holder] --> var doc = document.documentElement, scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0));<!-- [et_pb_line_break_holder] --> if (scrollPosition < 40) {<!-- [et_pb_line_break_holder] --> tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _below';<!-- [et_pb_line_break_holder] --> } else {<!-- [et_pb_line_break_holder] --> tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _above';<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> var resize_tooltips = function() {<!-- [et_pb_line_break_holder] --> if (_removed) return;<!-- [et_pb_line_break_holder] --> for (var i = 0; i < tooltips.length; i++) {<!-- [et_pb_line_break_holder] --> if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> var validate_field = function(elem, remove) {<!-- [et_pb_line_break_holder] --> var tooltip = null, value = elem.value, no_error = true;<!-- [et_pb_line_break_holder] --> remove ? remove_tooltip(elem) : false;<!-- [et_pb_line_break_holder] --> if (elem.type != 'checkbox') elem.className = elem.className.replace(/ ?_has_error ?/g, '');<!-- [et_pb_line_break_holder] --> if (elem.getAttribute('required') !== null) {<!-- [et_pb_line_break_holder] --> if (elem.type == 'radio' || (elem.type == 'checkbox' && /any/.test(elem.className))) {<!-- [et_pb_line_break_holder] --> var elems = form_to_submit.elements[elem.name];<!-- [et_pb_line_break_holder] --> if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {<!-- [et_pb_line_break_holder] --> no_error = elem.checked;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> else {<!-- [et_pb_line_break_holder] --> no_error = false;<!-- [et_pb_line_break_holder] --> for (var i = 0; i < elems.length; i++) {<!-- [et_pb_line_break_holder] --> if (elems[i].checked) no_error = true;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if (!no_error) {<!-- [et_pb_line_break_holder] --> tooltip = create_tooltip(elem, "Please select an option.");<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> } else if (elem.type =='checkbox') {<!-- [et_pb_line_break_holder] --> var elems = form_to_submit.elements[elem.name], found = false, err = [];<!-- [et_pb_line_break_holder] --> no_error = true;<!-- [et_pb_line_break_holder] --> for (var i = 0; i < elems.length; i++) {<!-- [et_pb_line_break_holder] --> if (elems[i].getAttribute('required') === null) continue;<!-- [et_pb_line_break_holder] --> if (!found && elems[i] !== elem) return true;<!-- [et_pb_line_break_holder] --> found = true;<!-- [et_pb_line_break_holder] --> elems[i].className = elems[i].className.replace(/ ?_has_error ?/g, '');<!-- [et_pb_line_break_holder] --> if (!elems[i].checked) {<!-- [et_pb_line_break_holder] --> no_error = false;<!-- [et_pb_line_break_holder] --> elems[i].className = elems[i].className + ' _has_error';<!-- [et_pb_line_break_holder] --> err.push("Checking %s is required".replace("%s", elems[i].value));<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if (!no_error) {<!-- [et_pb_line_break_holder] --> tooltip = create_tooltip(elem, err.join('<br/>'));<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> } else if (elem.tagName == 'SELECT') {<!-- [et_pb_line_break_holder] --> var selected = true;<!-- [et_pb_line_break_holder] --> if (elem.multiple) {<!-- [et_pb_line_break_holder] --> selected = false;<!-- [et_pb_line_break_holder] --> for (var i = 0; i < elem.options.length; i++) {<!-- [et_pb_line_break_holder] --> if (elem.options[i].selected) {<!-- [et_pb_line_break_holder] --> selected = true;<!-- [et_pb_line_break_holder] --> break;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> } else {<!-- [et_pb_line_break_holder] --> for (var i = 0; i < elem.options.length; i++) {<!-- [et_pb_line_break_holder] --> if (elem.options[i].selected && !elem.options[i].value) {<!-- [et_pb_line_break_holder] --> selected = false;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if (!selected) {<!-- [et_pb_line_break_holder] --> elem.className = elem.className + ' _has_error';<!-- [et_pb_line_break_holder] --> no_error = false;<!-- [et_pb_line_break_holder] --> tooltip = create_tooltip(elem, "Please select an option.");<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> } else if (value === undefined || value === null || value === '') {<!-- [et_pb_line_break_holder] --> elem.className = elem.className + ' _has_error';<!-- [et_pb_line_break_holder] --> no_error = false;<!-- [et_pb_line_break_holder] --> tooltip = create_tooltip(elem, "This field is required.");<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if (no_error && elem.name == 'email') {<!-- [et_pb_line_break_holder] --> if (!value.match(/^[+_a-z0-9-'&=]+(.[+_a-z0-9-']+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,})$/i)) {<!-- [et_pb_line_break_holder] --> elem.className = elem.className + ' _has_error';<!-- [et_pb_line_break_holder] --> no_error = false;<!-- [et_pb_line_break_holder] --> tooltip = create_tooltip(elem, "Enter a valid email address.");<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if (no_error && /date_field/.test(elem.className)) {<!-- [et_pb_line_break_holder] --> if (!value.match(/^dddd-dd-dd$/)) {<!-- [et_pb_line_break_holder] --> elem.className = elem.className + ' _has_error';<!-- [et_pb_line_break_holder] --> no_error = false;<!-- [et_pb_line_break_holder] --> tooltip = create_tooltip(elem, "Enter a valid date.");<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> tooltip ? resize_tooltip(tooltip) : false;<!-- [et_pb_line_break_holder] --> return no_error;<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> var needs_validate = function(el) {<!-- [et_pb_line_break_holder] --> return el.name == 'email' || el.getAttribute('required') !== null;<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> var validate_form = function(e) {<!-- [et_pb_line_break_holder] --> var err = form_to_submit.querySelector('._form_error'), no_error = true;<!-- [et_pb_line_break_holder] --> if (!submitted) {<!-- [et_pb_line_break_holder] --> submitted = true;<!-- [et_pb_line_break_holder] --> for (var i = 0, len = allInputs.length; i < len; i++) {<!-- [et_pb_line_break_holder] --> var input = allInputs[i];<!-- [et_pb_line_break_holder] --> if (needs_validate(input)) {<!-- [et_pb_line_break_holder] --> if (input.type == 'text') {<!-- [et_pb_line_break_holder] --> addEvent(input, 'blur', function() {<!-- [et_pb_line_break_holder] --> this.value = this.value.trim();<!-- [et_pb_line_break_holder] --> validate_field(this, true);<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> addEvent(input, 'input', function() {<!-- [et_pb_line_break_holder] --> validate_field(this, true);<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> } else if (input.type == 'radio' || input.type == 'checkbox') {<!-- [et_pb_line_break_holder] --> (function(el) {<!-- [et_pb_line_break_holder] --> var radios = form_to_submit.elements[el.name];<!-- [et_pb_line_break_holder] --> for (var i = 0; i < radios.length; i++) {<!-- [et_pb_line_break_holder] --> addEvent(radios[i], 'click', function() {<!-- [et_pb_line_break_holder] --> validate_field(el, true);<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> })(input);<!-- [et_pb_line_break_holder] --> } else if (input.tagName == 'SELECT') {<!-- [et_pb_line_break_holder] --> addEvent(input, 'change', function() {<!-- [et_pb_line_break_holder] --> validate_field(this, true);<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> } else if (input.type == 'textarea'){<!-- [et_pb_line_break_holder] --> addEvent(input, 'input', function() {<!-- [et_pb_line_break_holder] --> validate_field(this, true);<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> remove_tooltips();<!-- [et_pb_line_break_holder] --> for (var i = 0, len = allInputs.length; i < len; i++) {<!-- [et_pb_line_break_holder] --> var elem = allInputs[i];<!-- [et_pb_line_break_holder] --> if (needs_validate(elem)) {<!-- [et_pb_line_break_holder] --> if (elem.tagName.toLowerCase() !== "select") {<!-- [et_pb_line_break_holder] --> elem.value = elem.value.trim();<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> validate_field(elem) ? true : no_error = false;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if (!no_error && e) {<!-- [et_pb_line_break_holder] --> e.preventDefault();<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> resize_tooltips();<!-- [et_pb_line_break_holder] --> return no_error;<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> addEvent(window, 'resize', resize_tooltips);<!-- [et_pb_line_break_holder] --> addEvent(window, 'scroll', resize_tooltips);<!-- [et_pb_line_break_holder] --> window._old_serialize = null;<!-- [et_pb_line_break_holder] --> if (typeof serialize !== 'undefined') window._old_serialize = window.serialize;<!-- [et_pb_line_break_holder] --> _load_script("//d3rxaij56vjege.cloudfront.net/form-serialize/0.3/serialize.min.js", function() {<!-- [et_pb_line_break_holder] --> window._form_serialize = window.serialize;<!-- [et_pb_line_break_holder] --> if (window._old_serialize) window.serialize = window._old_serialize;<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> var form_submit = function(e) {<!-- [et_pb_line_break_holder] --> e.preventDefault();<!-- [et_pb_line_break_holder] --> if (validate_form()) {<!-- [et_pb_line_break_holder] --> // use this trick to get the submit button & disable it using plain javascript<!-- [et_pb_line_break_holder] --> document.querySelector('#_form_9_submit').disabled = true;<!-- [et_pb_line_break_holder] --> var serialized = _form_serialize(document.getElementById('_form_9_'));<!-- [et_pb_line_break_holder] --> var err = form_to_submit.querySelector('._form_error');<!-- [et_pb_line_break_holder] --> err ? err.parentNode.removeChild(err) : false;<!-- [et_pb_line_break_holder] --> _load_script('https://truust4124.activehosted.com/proc.php?' + serialized + '&jsonp=true');<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> return false;<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> addEvent(form_to_submit, 'submit', form_submit);<!-- [et_pb_line_break_holder] -->})();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --></script>